Changes in 1.1.5 (Jul 16, 2011)
- Fixed excessive output permissions while compress/decompress
is in progress (bug #807536)
Changes in 1.1.4 (Apr 22, 2011)
- Fixed hang on decompress with --ignore-trailing-garbage=1 when
producer is interrupted on trailing garbage (bug #762464)
- Added example to help for decompression piped to tar (bug #746806)
- Fixed typo in Trailing Garbage printed message (bug #746799)
Changes in 1.1.3 (Mar 27, 2011)
- Print trailing garbage errors even when in quiet mode (bug #743635)
- Default extension on decompress of .tbz2 changed to .tar for
bzip2 compatibility (bug #743639)
- Fixed hang on decompress with --ignore-trailing-garbage=1 and higher
numCPU (e.g. > 2) (bug #740502)
Changes in 1.1.2 (Feb 19, 2011)
- Fix directdecompress segfault when destination file can't be
opened (e.g. read-only) (bug #717852)
- Implemented --ignore-trailing-garbage feature (bug #594868)
- Fixed hang on decompress of some truncated archives (bug #590225)
- Pulled an error check out of normal logic block for clarity
- Debug print added after BZ2_bzDecompress to track it's return code.
- A debug print fixed in queue::remove
- Increased max memory usage limit from 1GB to 2GB
- If no -m switch given on command line, default max memory limit
will now automatically increase from 100 MB to minimum amount
of memory required to support the number of CPUs requested
- Improved performance when output buffer is full
- Fixed bug which caused hang while decompressing prematurely
truncated bzip2 stream
- Consumer_decompress throttling modified to prevent potential
deadlock/infinite loop in certain situations (Thanks to Laszlo
Ersek for finding and helping track down the cause of this bug)
- Fixed deadlock bug and performance issue when consumer working
with long bzip2 sequences (Thanks to Tanguy Fautre for finding)
- Fixed error message for block size range (max size was wrong)
- Moved #include <pthread.h> from pbzip2.cpp to pbzip2.h to fix
OS/2 compiler issue
Changes in 1.1.1 (Apr 17, 2010)
- Modified decompression to use low-level libbz2 API to improve
performance of long bzip2 streams of large single-stream bzip2
blocks
- This release should now decompress files created with bzip2
at least as fast as bzip2 or slightly faster
- Handle decompression of long bzip2 streams incrementally
instead of loading whole stream in memory at once
- Fixed issue in safe_cond_timed_wait which caused segmentation
fault when compiled in DEBUG mode
- Fixed issue with Sun Studio compiler - required explicit
declaration of static const members in .cpp
Changes in 1.1.0 (Mar 13, 2010)
- Added support for multi-threaded decompression using STDIN/pipes
- Added code to support throttling compression to prevent memory
exhaustion with slow output pipe
- Added -m switch to specify max memory usage amount before
throttling starts (default 100MB)
- Fixed bug that did not allow command line parameters to be used
when compressing data from STDIN
- Added long options to man page and -h output
- Added --loadavg, --read long options
- Added support for CPU detection on Win32
- Major improvements to protection of shared variables, error and
signal handling, program termination
- Added -S switch for thread stack size customization
(needs USE_STACKSIZE_CUSTOMIZATION defined when compiling)
- Fixed command line parsing bug for -b, -p, -m switches
- Fixed infinite loop when fileWriter fails to create output
file at start
- Fixed bug that deleted input filename (with .bz2 extension for
compression and without .bz2 extension for decompression) when
a user interrupts process with CTRL-C while outputting to STDOUT
- Fixed bug where 0 byte files were not processed properly when
data input from STDIN
- Ignores fwrite return and passes chown errors in writeFileMetaData
if effective uid root
- OutputBuffer usage redesigned as fixed-size circular buffer
- Lots of minor bugs fixed (see AUTHORS or pbzip2.cpp for full details)
- Special thanks to Yavor Nikolov for providing the majority of
contributions to this release and a significant amount of testing
+ doveadm altmove: Added -r parameter to move mails back to primary storage.
- v2.0.14: Index reading could have eaten a lot of memory in some situations
- doveadm index no longer affects future caching decisions
- mbox: Fixed crash during mail delivery when mailbox didn't yet have GUID
assigned to it.
- zlib+mbox: Fetching last message from compressed mailboxes crashed.
- lib-sql: Fixed load balancing and error handling when multiple hosts are
used.
LinCity-NG is a City Simulation Game.
It is a polished and improved version of the classic LinCity game.
Within the scope of the GoTM project at happypenguin we have created a new
iso-3D graphics engine, with a completely redone and modern GUI.
Changelog:
In Gothic (Sans-serif) family
* Fix glyphs in Unicode : 0020-668f, 9b4d-ffff (first check)
* Fix glyphs in SJIS : second check completed
In Minchi (Serif) family
* Fix glyphs in Unicode : 0020-668f, 9b4d-ffff (first check)
* Fix glyphs in SJIS : second check completed
- Replace the HOMEPAGE with the url used in the document
such as README etc.
- Drop minoura@ from MAINTAINER as per his request on twitter.
Brief summary of Gauche 0.9.2:
[New Features]
* Case mapping and character properties are fully supported,
compatible to R6RS and R7RS draft (both based on Unicode
standard). Character-wise case mapping (char-upcase etc.) and
property queries (char-alphabetic?, char-general-category,
etc.) are built-in. Context-aware string case mapping
(string-upcase etc.) is provided in the new text.unicode
module. (Note: srfi-13's string-upcase etc. are unchanged;
they are defined to use simple case mappings.) The text.unicode
module also provides conversion between utf-8/utf-16 and
Unicode codepoints.
* Windows binary distribution is now in MS installer (*.msi)
format, created with WiX. It's safer than the previous *.exe
format created by NSIS, which had a bug that smashes PATH
settings when it is too long.
* A convenient wrapper for atomic execution is added in
gauche.threads. See this intro post.
* Benchmarking utilities resembles to Perl's Benchmark module is
now available in gauche.time. See this post for an
introduction.
* with-lock-file: A long-awaited feature to use lock files
conveniently. It is in file.util module.
* Added full support of srfi-60, integer bitwise operations.
* gauche.cgen: Some API that Gauche uses to generate C code
become public. See the manual for the details.
[Incompatibile Changes]
* control.thread-pool: add-job! now takes timeout argument. If it
is omitted and the job queue is full, add-job! blocks. It is a
change from 0.9.1, in which add-job! returns immediately in
such case. To get the same behavior, pass 0 explicitly to the
timeout argument. The argument order of wait-all is also
changed to take timeout optional argument first. In 0.9.1 it
never timeouts.
* If --enable-multibyte flag is given to ./configure without
explicit encoding, we now assume utf-8. It used to be
euc-jp. This is for the consistency. We don't think this change
affects many, for the document has always been told to give
explicit encoding name for this option.
* The --enable-ipv6 configure option is turned on by default. It
shouldn't cause problems on modern OSes. If you ever get a compile
error in gauche.net module on a platform that lacks modern API,
specify --disable-ipv6 option to ./configure.
* (This is an internal change of undocumented feature. We mention
it just in case if some extension packages depend on this.) In
the initialization code generated by genstub or precomp, it
used to be possible to refer to the current module by mod. Now
you should use Scm_CurrentModule() instead. Also,
gauche.cgen.unit now doesn't include <gauche.h> automatically.
[Improvements]
* The compiler is improved to avoid creating a closure at
execution time when it doesn't close local environment. For
example, (map (^x (* x x)) lis) doesn't create a closure;
instead, the internal lambda is compiled as if it is a
toplevel-defined procedure. (Yeah, it's a simple lambda
lifting. We didn't do it since it could slow down the
compiler. Now the compiler is efficient enough to handle it.)
* Supports zero or multi-argument unquote/unquote-splicing, as
defined in R6RS.
* sys-exec and sys-fork-and-exec now supports :detached keyword
argument to make the child process detached from the parent's
process group.
* Buliltin reverse and reverse! takes optional list-tail
argument.
* A new builtin procedure map* that can deal with dotted list.
* Common Lisp-like ecase macro is added.
* The extended lambda formals (:key, :optional, etc) are now
available in define-method as well.
* New built-in function sys-clearenv, useful to fork subprocess
securely.
* rxmatch-case accepts (else => proc) form, just like case.
* Socket address objects (e.g. <sockaddr-un>) can now be compared
by equal? based on its content. Useful to put them in a
hashtable, for example.
* gauche.uvector: A new procedure uvector-copy! that can copy any
type of uvectors.
* gauche.test: A new test expected result constructor test-one-of
allows to check if the test result matches any one of possible
outcomes.
* control.thread-pool: Now a pool raises <thread-pool-shut-down>
condition if the pool has already be shut down and no longer
accepting new jobs. terminate-all now takes :cancel-queued-jobs
keyword argument to stop the pool immediately, instead of
waiting for all the jobs to be finished. Canceled jobs are
marked as killed . New APIs: thread-pool-results,
thread-pool-shut-down?.
* rfc.json: Allow construct-json to take optional output port for
the consistency.
* rfc.uri: A new procedure uri-merge that can be resolve a
relative uri in regart to a base uri.
* rfc.cookie: Recognize :http-only cookie attribute introduced in
RFC6265.
* Now the tilde `~' expansion of sys-normalize-pathname works on
Windows as well to refer to the current user's home directory;
it tries environment variables heuristically to find it. To
refer to other user's home directory by ~user is still only
available on Unix platforms, though.
* util.combinations: combinations is optimized to handle leaf
cases efficiently.
[Bux fixes]
* Fixed a bug that the number parser hangs when reading
2.2250738585072012e-308.
* Integer multiplication routine had a code that depended on
undefined behavior of C; it worked on gcc but revealed the bug
on clang-llvm.
* Fixed a module bug on the visibility of bindings of extended
modules.
* gauche.parameter: Fixed a couple of bugs on parameter objects.
* Numeric comparison procedures such as < didn't work correctly
when more than four arguments were given. The bug was
introduced by incorrect optimization.
* Fixed bugs in lognot, logand, logior and logxor, which crashed
when non-integer ratinoal numbers are passed.
* port->string, port->string-list: These procedures returned
prematurely when the input contains an illegal byte sequence
for internal encoding. Now they return an incomplete string
instead.
* srfi-1: Some srfi-1 procedures that are built-in were not
exported, causing errors when you wanted to import them
selectively, e.g. (use srfi-1 :only (fold)).
* util.queue: Fixed list->queue to work.
* binary.pack: Fixed a bug that the result may be truncated if
the input contains byte sequences that can be interpreted as
invalid character multibyte sequences.
* srfi-42: Fixed a hygiene bug; the previous versions failed when
only toplevel macros are imported using :only import option.
* rfc.json: Fixed a bug that didn't escape double-quotes in the
string, and didn't handle empty array.
* Coding-aware ports didn't count lines correctly in CR-only or
CRLF line endings.
* Fixed a problem that caused crash after changing metaclasses of
a class metaobject. An additional protection mechanism is in
place in the class metaobject so that it won't be in an
inconsistent state unexpectedly.
* Fixed sys-setenv in which you couldn't omit the overwrite
argument, even if it was described optional.
* Fixed build problem of gauche.net on Solaris.
* Fixed a bug in gauche-package that caused an error when
*load-path* contained a nonexistent path.
* Fixed a bug in string comparison routine that surfaces in a
special architecture.
* The printed output of <time> was incorrect when its value was
negative.
* There was a bug in the reader it reads ().() incorrectly.
* Fixed a bug in format to allow ~* to position after the last
argument.
* Fixed GC compliation problem on OSX Lion.
* The default thread-handling model in MySQL Server executes statements using
one thread per client connection.
* Commercial distributions of MySQL now include two plugins that enable MySQL
Server to use external authentication methods to authenticate MySQL users
* Important Change: Replication: The RESET SLAVE statement has been extended
with an ALL keyword.
* A new utility, mysql_plugin, enables MySQL administrators to manage which
plugins a MySQL server loads.
* Bugs fixed.
Changelog:
+ Vacation extension: finally added support for using the original
recipient in vacation address check. It is also possible to disable
the recipient address check entirely. Check doc/vacation.txt for
configuration information.
+ Include extension: made limits on the include depth and the total
number of included scripts configurable. Check doc/include.txt for
configuration information.
+ Implemented ihave extension. This allows checking for the availability
of Sieve language extensions at 'runtime'. Actually, this is checked
at compile time. At runtime the interpreter checks whether extensions
that were not previously available are still unavailable. If the
situation changed, the script is re-compiled and the ihave tests are
evaluated again.
+ Sieve: optimized compilation of tests that yield constant results
(i.e. known at compile tme), such as 'true' and 'false'. No code is
produced anymore for script sections that are never executed. Also,
semantics are not verified anymore in uncompiled script sections.
+ Made vnd.dovecot.debug extension available to the LDA plugin instead
of only the command line tools.
+ Sieve: redirect action now adds X-Sieve-Redirected-From header
(mainly for people using SPF/SRS).
- Sieve: fixed bug in handling flags and keywords; in case of error an
assertion was triggered.
- Script storage: improved handling of unconfigured user home directory.
Originally this would produce an unhelpful error message.
- Imap4flags extension: prevent forcibly enabling imap4flags when
imapflags is enabled.
- Fixed various -Wunused-but-set-variable compiler warnings.
- Include extension: forgot to check variable identifier syntax for
'global' command.
- Sieve: fixed debug mode; no messages were logged in some situations.
- sievec tool: forgot to enable -D (debug) parameter.