Version 6.3 - June 9 2014
[CHANGES]
New facilities:
o htags-server: A private HTTP/CGI web server for a hyper-text
generated by htags(1).
o gtags.conf: New project based configuration mechanism.
You can make a configuration file for each project.
This is Leo Liu's idea.
o gtags, htags: New environment variables which have default
options for each command: GTAGS_OPTIONS, HTAGS_OPTIONS
o global: Added support of GREP_COLORS environment variable.
o global: Added new options:
-F (--first-match), -M (--match-case), -E (--extended-regexp)
[DEPRECATED FEATURES]
The following features of htags(1) are now deprecated.
They will be removed in the future.
o The -c (--compact) option.
o The --system-cgi option.
o The --overwrite-key option.
o The -x (--xhtml[=version]) option.
All files will be 1.0.
o The following configuration variables:
colorize-warned-line (substitute: --colorize-warned-line)
gzipped_suffix
htags_options (substitute: HTAGS_OPTIONS)
ncol (substitute: -n, --line-number [n])
normal_suffix (will be always '.html')
no_order_list (substitute: --no-order-list)
script_alias
tabs (substitute: --tabs n)
xhtml_version (will be always 1.0)
[FIXED BUGS]
o global: The highlight of symbols in library paths does not
work. Now it works.
o htags: Htags with the --suggest option didn't find GTAGS
in the obj directories. Now it works.
Version 1.6.12rc01 [June 6, 2014]
Relocated new code from 1.6.11beta06 in png.c to a point after the
declarations (Max Stepin).
Version 1.6.12rc02 [June 7, 2014]
Changed file permissions of contrib/tools/intgamma.sh,
test-driver, and compile from 0644 to 0755 (Cosmin).
Version 1.6.12rc03 [June 8, 2014]
Ensure "__has_attribute()" macro exists before trying to use it with
old clang compilers (MacPorts Ticket #43939).
Version 1.6.12 [June 12, 2014]
No changes.
Tests now work without installing package first.
Changes since previous package:
4.9.0.1
- Runtime library
- C_MINOR_VERSION changed to 9; feature identifier chicken-4.8 => chicken-4.9
4.9.0
- Security fixes
- CVE-2014-3776: read-u8vector! no longer reads beyond its buffer when
length is #f (thanks to Seth Alves).
- CVE-2013-4385: read-string! no longer reads beyond its buffer when
length is #f.
- CVE-2013-1874: ./.csirc is no longer loaded from the current directory
upon startup of csi, which could lead to untrusted code execution.
(thanks to Florian Zumbiehl)
- CVE-2013-2024: On *nix, the qs procedure now single-quotes everything
instead of relying on a blacklist of shell characters to be escaped.
On Windows, it properly duplicates double-quote characters. (thanks
to Florian Zumbiehl)
- CVE-2013-2075: Use POSIX poll() in other places where select() was
still being used. (thanks to Florian Zumbiehl and Joerg Wittenberger)
- CVE-2012-6122: Use POSIX poll() on systems where available. This avoids a
design flaw in select(); it supports no more than FD_SETSIZE descriptors.
- Core libraries
- Fix subvector when the TO optional argument equals the given vector
length (#1097)
- Unit extras now implicitly depends on ports. ports no longer
implicitly depends on extras. This may break programs which don't
use modules and forgot to require ports but use procedures from it.
- Support has been added for the space-safe R7RS macro "delay-force".
- Export file-type from the posix unit (thanks to Alan Post).
- SRFI-4 s8vectors now work correctly in compiled code on PowerPC and ARM.
- thread-join! now works correctly even if the waiting thread was
prematurely woken up by a signal.
- unsetenv has been fixed on Windows.
- The process procedure has been fixed on Windows.
- Nonblocking behaviour on sockets has been fixed on Windows.
- Possible race condition while handling TCP errors has been fixed.
- The posix unit will no longer hang upon any error in Windows.
- resize-vector no longer crashes when reducing the size of the vector.
- Distinct types for boolean true and false have been added to the
scrutinizer.
- Fixed bugs in string-trim-right, string-index-right and
string-skip-right, from SRFI-13
- read-line no longer returns trailing CRs in rare cases on TCP ports (#568)
- write and pp now correctly use escape sequences for control characters
(thanks to Florian Zumbiehl)
- posix: memory-mapped file support for Windows (thanks to "rivo")
- posix: find-file's test argument now also accepts SRE forms.
- numerator and denominator now accept inexact numbers, as per R5RS
(reported by John Cowan).
- Implicit $VAR- and ~-expansion in pathnames have been deprecated (#1001)
- Fixed EINTR handling in process-wait and when reading from file ports.
- Irregex is updated to 0.9.2, which includes bugfixes and faster submatches.
- Compile-time expansions for "[sf]printf" are slightly more efficient.
- Removed the deprecated "always?", "never?", "shuffle" and "none?" procedures.
- Fixed problem "make-pathname" that returned an absolute path if given
a relative one without a directory argument.
- The implementation of promises has been made more efficient.
- Removed the deprecated "c-runtime", "null-pointer?" and "pointer-offset"
procedures.
- The deprecated alias "mutate-procedure" for "mutate-procedure!" has
been removed.
- On 64-bit systems the feature identifier "64bit" is registered.
- "process-fork" accepts an optional argument that specifies
wether other threads should be terminated in the child process.
- The "signal/bus" signal identifier was missing.
- Added setter-procedure for "signal-mask".
- Added "recursive-hash-max-length" and "recursive-hash-max-depth"
parameters (srfi-69).
- Platform support
- CHICKEN can now be built on AIX (contributed by Erik Falor)
- CHICKEN can now be built on GNU Hurd (contributed by Christian Kellermann)
- Basic support has been added for building Android and iOS binaries (see
the "README" file for caveats and pitfalls) (contributed by Felix Winkelmann
from bevuta IT GmbH)
- Added support for 64-bit Windows (consult the "README" file for more
information).
- Runtime system
- finalizers on constants are ignored in compiled code because compiled
constants are never GCed (before, the finalizer would be incorrectly
invoked after the first GC). (Reported by "Pluijzer")
- The call trace buffer is now also resizable at runtime via ##sys#resize-trace-buffer.
- C_zap_strings and ##sys#zap-strings (undocumented) have been deprecated.
- Special events in poll() are now handled, avoiding hangs in threaded apps.
- When invoking procedures with many rest arguments directly (not via APPLY),
raise an error when argument count limit was reached instead of crashing.
- When the maximum allowed heap size is reached, panic instead of crashing.
- The code generated for mutating data destructively is partially inlined
and thus slightly more efficient.
- Fixed incorrect code in the foreign argument conversion for
"unsigned-integer64" (#955). For unsigned-integer, integer64 and
unsigned-integer64, disallow floating-point numbers. Fix behavior
on 32-bit systems.
- On systems that provide sigprocmask(2), segmentation violations, illegal
instruction signals, bus errors and floating-point exceptions are now caught
and trigger normal error-processing (including a backtrace). The handling
of these so called "serious" signals can be disabled by passing the
"-:S" runtime option to executables.
- Reclamation of unused interned symbols (enabled with the "-:w" runtime option)
works much better now.
- Build system
- The tests can now be run without having to first install CHICKEN.
- Fixed a dependency problem that made it impossible to build the distribution
tarball on Windows with the mingw compiler.
- Increased the "binary compatibility version" to 7.
- Tools
- "csc"
- "-z origin" is now passed as a linker option on FreeBSD when
compiling for deployment (thanks to Jules Altfas & Vitaly Magerya)
- "-deploy" works now on FreeBSD (thanks to Jules Altfas and
Vitaly Magerya), OpenBSD and NetBSD (see README for NetBSD).
- added "-oi"/"-ot" options as alternatives to "-emit-inline-file"
and "-emit-type-file", respectively; "-n" has been deprecated.
- .c/.o files are no longer overwritten when they have the same basename
as a Scheme source file (i.e. "csc foo.scm foo.c -o foo" works now).
- "chicken-install"
- "-deploy" now correctly installs dependencies of
deployed eggs under the deployment directory instead of globally.
- Full URI syntax is now supported for proxy environment variables
(thanks to Michele La Monaca)
- "chicken-status"
- Added -eggs command line option to list installed eggs
- misc
- Removed the deprecated "-v" options (use "-version" instead) in various
core programs.
- The runtime linker path for compiled executables was not set correctly
on FreeBSD systems. This has now been fixed.
- Removed the deprecated "make" and "make/proc" facility from the
"setup-api" module; also removed the deprecated "required-extension-version"
and "required-chicken-version" procedures.
- Syntax
- Added the aliases "&optional" and "&rest" as alternatives to "#!optional"
and "#!rest" in type-declarations (suggested by Joerg Wittenberger).
- Vectors, SRFI-4 number vectors and blobs are now self-evaluating for
R7RS compatibility. Being literal constants, they are implicitly quoted.
- For R7RS compatibility, named character literals #\escape and #\null are
supported as aliases for #\esc and #\nul. WRITE will output R7RS names.
- The CASE form accepts => proc syntax, like COND (as specified by R7RS).
- letrec* was added for R7RS compatibility. Plain letrec no longer behaves
like letrec*.
- Compiler
- the "inline" declaration does not force inlining anymore as recursive
inlining could lead to non-termination of the compiler (thanks to
Andrei Barbu).
- Type-analysis ("scrutiny") is enabled by default now, unless
"-optimize-level 0" or "-no-usual-integrations" is given.
- The "-scrutinize" compiler option has been deprecated.
- A new lightweight flow-analysis pass ("lfa2") has been added.
Enable by passing the "-lfa2" option to the compiler.
- The deprecated options "-disable-warning", "-heap-growth", "-heap-shrinkage"
and "-heap-initial-size" have been removed.
- Removed the deprecated "constant" declaration.
- Removed the deprecated "-lambda-lift" and "-unboxing" compiler options.
- Removed the deprecated "-V" compiler option.
- Generated names for formal parameters of foreign functions are slightly
more informative.
- Unused references to variables that name intrinsics can be removed.
- In the flow-analysis pass, matching of combinations of "list"/"list-of" and
"or" types with has been made more reliable.
- Fixed various bugs in the type database.
- Syntax expander
- added "require-extension-for-syntax" and "use-for-syntax".
- Extended syntactic definitions are now available by default in all
evaluated code, particularly in code evaluated at runtime in compiled
applications.
- Removed the deprecated variant "(define-compiler-syntax (NAME . LLIST) BODY ...)"
of "define-compiler-syntax".
- C API
- Deprecated C_get_argument[_2] and C_get_environment_variable[_2] functions.
- Removed the deprecated "__byte_vector" type.
Upstream changes:
-----------------
1.9.0 2014-06-08
[Bug] #965: Tweak IO flushing behavior when in linewise
(& thus parallel) mode so interwoven output is less frequent.
Thanks to @akidata for catch & patch.
[Feature] #741: Add env.prompts dictionary, allowing users to set
up custom prompt responses (similar to the built-in sudo prompt
auto-responder.) Thanks to Nigel Owens and David Halter for the patch.
[Feature] #1082: Add pty passthrough kwarg to upload_template.
[Support]: Modified packaging data to reflect that Fabric requires
Paramiko < 1.13 (which dropped Python 2.5 support.)
[Support] #1105: Enhance setup.py to allow Paramiko 1.13+ under
Python 2.6+. Thanks to to @Arfrever for catch & patch.
[Support] #1106: Fix a misleading/ambiguous example snippet in the fab
usage docs to be clearer. Thanks to @zed.
[Feature] #1101: Reboot operation now supports custom command.
Thanks to Jonas Lejon.
[Feature] #938: Add an env var env.effective_roles specifying roles used
in the currently executing command. Thanks to Piotr Betkier for the patch.
[Feature] #1078: Add .command and .real_command attributes to local
return value.
Thanks to Alexander Teves (@alexanderteves) and Konrad Hałas (@konradhalas).
1.8.4 2014-06-08
[Support] #1105: Enhance setup.py to allow Paramiko 1.13+ under Python
2.6+. Thanks to to @Arfrever for catch & patch.
[Bug] #898: Treat paths that begin with tilde “~”
as absolute paths instead of relative.
Thanks to Alex Plugaru for the patch and Dan Craig for the suggestion.
1.8.3 2014-03-21
[Support]: Modified packaging data to reflect that Fabric requires
Paramiko < 1.13 (which dropped Python 2.5 support.)
Upstream changes:
-----------------
:release:`1.14.0 <2014-05-07>`
------------------------------
🐛`-` paramiko.file.BufferedFile.read incorrectly returned text
strings after the Python 3 migration, despite bytes being more
appropriate for file contents
(which may be binary or of an unknown encoding.) This has been addressed.
Note
paramiko.file.BufferedFile.readline continues to return strings,
not bytes, as "lines" only make sense for textual data.
It assumes UTF-8 by default.
This should fix this issue raised on the Obnam mailing list.
Thanks to Antoine Brenner for the patch.
🐛`-` Added self.args for exception classes. Used for unpickling.
Related to (Fabric #986, Fabric #714). Thanks to Alex Plugaru.
🐛`-` Fix logging error in sftp_client for filenames containing
the '%' character. Thanks to Antoine Brenner.
🐛`308` Fix regression in dsskey.py that caused sporadic
signature verification failures. Thanks to Chris Rose.
:support:`299` Use deterministic signatures for ECDSA keys for
improved security. Thanks to Alex Gaynor.
:support:`297` Replace PyCrypto's Random with os.urandom for
improved speed and security. Thanks again to Alex.
:support:`295` Swap out a bunch of PyCrypto hash functions with use of
hashlib. Thanks to Alex Gaynor.
:support:`290` (also :issue:`292`) Add support for building universal
(Python 2+3 compatible) wheel files during the release process.
Courtesy of Alex Gaynor.
:support:`284` Add Python language trove identifiers to setup.py.
Thanks to Alex Gaynor for catch & patch.
🐛`235` Improve string type testing in a handful of spots
(e.g. s/if type(x) is str/if isinstance(x, basestring)/g.)
Thanks to @ksamuel for the report.
:release:`1.13.0 <2014-03-13>`
------------------------------
:feature:`16` Python 3 support! Our test suite passes under Python 3,
and it (& Fabric's test suite) continues to pass under Python 2.
Python 2.5 is no longer supported with this change!
The merged code was built on many contributors' efforts, both code &
feedback. In no particular order, we thank Daniel Goertzen, Ivan
Kolodyazhny, Tomi Pieviläinen, Jason R. Coombs, Jan N. Schulze,
@Lazik, Dorian Pula, Scott Maxwell, Tshepang Lekhonkhobe, Aaron Meurer,
and Dave Halter.
:support:`256 backported` Convert API documentation to Sphinx, yielding
a new API docs website to replace the old Epydoc one.
Thanks to Olle Lundberg for the initial conversion work.
🐛`-` Use constant-time hash comparison operations where possible,
to protect against timing-based attacks. Thanks to Alex Gaynor for the patch.
:release:`1.12.2 <2014-02-14>`
------------------------------
:feature:`58` Allow client code to access the stored SSH server banner via
Transport.get_banner <paramiko.transport.Transport.get_banner>.
Thanks to @Jhoanor for the patch.
🐛`252` (Fabric #1020) Enhanced the implementation of ProxyCommand to
avoid a deadlock/hang condition that frequently occurs at Transport
shutdown time. Thanks to Mateusz Kobos, Matthijs van der Vleuten and
Guillaume Zitta for the original reports and to Marius Gedminas for
helping test nontrivial use cases.
🐛`268` Fix some missed renames of ProxyCommand related error classes.
Thanks to Marius Gedminas for catch & patch.
🐛`34` (PR :issue:`35`) Fix SFTP prefetching incompatibility with some
SFTP servers regarding request/response ordering.
Thanks to Richard Kettlewell.
🐛`193` (and its attentant PRs :issue:`230` & :issue:`253`) Fix SSH
agent problems present on Windows. Thanks to David Hobbs for initial
report and to Aarni Koskela & Olle Lundberg for the patches.
:release:`1.12.1 <2014-01-08>`
------------------------------
🐛`225 (1.12+)` Note ecdsa requirement in README. Thanks to Amaury
Rodriguez for the catch.
🐛`176` Fix AttributeError bugs in known_hosts file (re)loading.
Thanks to Nathan Scowcroft for the patch & Martin Blumenstingl for the
initial test case.
Upstream changes:
-----------------
* Release 0.11 (10 Mar 2014)
Add signature-encoding functions "sigencode_{strings,string,der}_canonize"
which canonicalize the S value (using the smaller of the two possible
values). Add "validate_point=" argument to VerifyingKey.from_string()
constructor (defaults to True) which can be used to disable time-consuming
point validation when importing a pre-validated verifying key. Drop python2.5
support (untested but not explicitly broken yet), update trove classifiers.
[Changes for 0.73 - Wed Jun 5 23:44:57 CST 2013]
* Properly redo the previous fix using File::Spec->file_name_is_absolute.
[Changes for 0.72 - Wed Jun 5 23:19:02 CST 2013]
* Only allow loading Digest::* from absolute paths in @INC,
by ensuring they begin with \ or / characters.
Contributed by: Florian Weimer (CVE-2013-2145)
[Changes for 0.71 - Tue Jun 4 18:24:10 CST 2013]
* Constrain the user-specified digest name to /^\w+\d+$/.
* Avoid loading Digest::* from relative paths in @INC.
Contributed by: Florian Weimer (CVE-2013-2145)
[Changes for 0.70 - Thu Nov 29 01:45:54 CST 2012]
* Don't check gpg version if gpg does not exist.
This avoids unnecessary warnings during installation
when gpg executable is not installed.
Contributed by: Kenichi Ishigaki
[Changes for 0.69 - Fri Nov 2 23:04:19 CST 2012]
* Support for gpg under these alternate names:
gpg gpg2 gnupg gnupg2
Contributed by: Michael Schwern
- COUCHDB-2200: support Erlang/OTP 17.0 #35e16032
- Fauxton: many improvements in our experimental new user interface,
including switching the code editor from CodeMirror to Ace as well
as better support for various browsers.
- Add the max_count option (UUIDs Configuration) to allow rate-limiting
the amount of UUIDs that can be requested from the /_uuids handler
in a single request (CVE 2014-2668).
- COUCHDB-1986: increase socket buffer size to improve replication speed
for large documents and attachments, and fix tests on BSD-like systems.
- COUCHDB-1953: improve performance of multipart/related requests.
- COUCHDB-2221: verify that authentication-related configuration settings
are well-formed.
- COUCHDB-1922: fix CORS exposed headers.
- Rename proxy_authentification_handler to proxy_authentication_handler.
- COUCHDB-1795: ensure the startup script clears the pid file on termination.
- COUCHDB-1962: replication can now be performed without having write access
to the source database, the replication checkpoint interval is now
configurable.
- COUCHDB-2025: add support for SOCKS5 proxies for replication.
- COUCHDB-1930: redirect to the correct page after submitting a new document
with a different ID than the one suggested by Futon.
- COUCHDB-1923: add support for attachments and att_encoding_info options
(formerly only available on the documents API) to the view API.
- COUCHDB-1647: for failed replications originating from a document
in the _replicator database, store the failure reason in the document.
- A number of improvements for the documentation.
Changes since 3.3.1:
server
------
bug fixes
26180 prevent certain operations (including queue creation and deletion)
blocking until a connection closes when the socket limit is reached
(since 2.7.0)
26227 fix incorrect log message about config file location when running as
a Windows service, changing RABBITMQ_CONFIG_FILE and not reinstalling
the service (since 3.3.0)
26172 ensure slave queue does not hang if the GM process crashes at queue
startup (since 2.6.0)
26178 prevent error logger crash in rare circumstances (since 3.3.0)
26184 prevent small log messages being needlessly truncated (since 3.3.0)
26226 ensure rabbitmqctl status does not crash if invoked while Mnesia is
starting or stopping (since 3.0.0)
26200 fix garbled SSL log messages (since 3.0.3)
26203 prevent spurious log message if slave queue crashes early (since 3.2.2)
management plugin
-----------------
bug fixes
26197 fix garbled error message if importing JSON definitions file with invalid
input (since 2.1.0)
26209 ensure reasons for authentication failure are always logged (since 2.1.0)
enhancements
25376 add documentation on the JSON schema returned by GET queries
shovel plugin
-------------
bug fixes
26219 fix creation of dynamic shovels using direct connection URLs through
rabbitmqctl (since 3.3.1)
26176 prevent deadlock deleting virtual host with active dynamic shovel on
single core machine (since 3.3.0)
federation plugin
-----------------
bug fixes
26176 prevent deadlock deleting virtual host with active federation link on
single core machine (since 3.0.0)
shovel-management plugin
------------------------
bug fixes
26165 ensure the status of static shovels is correctly shown (since 3.3.1)
LDAP plugin
-----------
bug fixes
26190 fix crash when LDAP uses SSL and nothing else does (since 2.3.0)
auth-mechanism-ssl plugin
-------------------------
bug fixes
25550 allow use of both certificate and password based authentication at the
same time (since 2.3.0)
MQTT plugin
-----------
bug fixes
26194 prevent hang on broker shutdown when there are active MQTT connections
(since 3.0.0)
26189 fix connection crash on shutdown if the connection starts very early
(since 3.0.0)
STOMP plugin
------------
bug fixes
25550 allow use of both certificate and password based authentication at the
same time (since 2.3.0)
Java client
-----------
bug fixes
26187 ensure network recovery delay is used when recovering from all types of
exception (since 3.3.0)
26188 ensure TopologyRecoveryException includes cause's message (since 3.3.0)
26196 fix Javadoc for ConnectionFactory.setSocketConfigurator()
Erlang client
-------------
bug fixes
26160 declare xmerl application dependency (since 3.3.0)
Changes in 0.96.2
-----------------
* Ensure batchSize is used in cursor GETMORE operations with `aggregate`.
* Ensure enough buffer space is allocated for incoming RPC when buffering
from a stream.
* Require libbson 0.8.2 for more robust `bson_next_power_of_two()` when
using `size_t` and BCON compilation fix with C++.
* Handle cursor id's that are not 64-bit values in response from
`aggregate` command.
* Handle upsert on MongoDB < 2.6 when _id does not contain an `ObjectId`.
* Use 100 for default batchSize in `aggregate` command.
Changes in 0.96.0
-----------------
This release includes much new documentation, which can be found at
http://docs.mongodb.org/ecosystem/drivers/c/.
Additionally, this release improves support for various exotic systems.
Solaris 10 is supported much better on SPARC and x86_64 based systems.
Some workarounds for mixed-mode sharded-clusters have been added to improve
resiliency when rolling upgrades are performed.
Build improvements have been added to help us detect SASL and SSL
implementations on platforms that do not support pkg-config. This should
simplify building for some of you.
We've added some more logging to SASL authentication to help debug
authentication failures.
A bug causing an abort() when SSL is used and a server is down has been fixed.
We've renamed various _delete() functions to _remove() to provide consistency
with other MongoDB drivers.
You can now specify SSL options for client pools.
-D_REENTRANT is always defined now on Solaris to help with errno detection.
This may not have been done before if using a non-GCC platform with pthreads.
A bug was fixed where timeouts could have been 1000x longer than expected
due to failure to convert from microseconds to milliseconds.
A bug was fixed with authentication in sharded cluster and replica set
scenarios.
1.4.17 - 11 June 2014, Ludovic Rousseau
- Add support of
. Feitian R502
. Free Software Initiative of Japan Gnuk Token
. German Privacy Foundation Crypto Stick v2.0
. HID Global veriCLASS Reader
. HID OMNIKEY 5025-CL
. Identive Technologies Multi-ISO HF Reader - USB
. OMNIKEY 5421
. OMNIKEY AG 3121 USB
. udea MILKO V1.
- Fix support of O2 Micro Oz776. The reader is limited to 9600 bps
- some minor bugs removed
Changes in 0.8.2
----------------
* A fix for BCON when used from C++.
* Change bson_next_power_of_two() to accept size_t. This should not be
an ABI break since it is static inline.
Changes in 0.8.0
----------------
This cycle includes much, much more documentation for your perusing. There is
much more cross-referencing and structure for your navigation pleasure.
We've improved support for Libbson on a few more exotic platforms. SPARC
support is looking pretty good these days.
You'll also find some new examples in this release to help you get started a
bit faster. If there is something you'd like to see, just ask!
There are a few ABI breaks this cycle, as we are well on the road to a 1.0 and
would like things as clean as possible. I anticipate a few more during the next
couple of cycles, but we will try to keep them to a minimum. With that said,
you *WILL* need to recompile your application against 0.8.0.