changes in sbcl-1.0.48 relative to sbcl-1.0.47:
* incompatible change: SB!KERNEL:INSTANCE-LAMBDA, deprecated for over five
years, is now no longer supported.
* enhancement: read() and write() have been added to SB-POSIX.
* enhancement: types of DEFSTRUCT constructors are proclaimed more
accurately, allowing better typechecking of call-sites.
* enhancement: errors during compile-time-too processing (i.e. EVAL-WHEN)
are no longer caught. (reverted to pre 1.0.34 behaviour)
* optimization: slightly faster ISQRT. (lp#713343)
* bug fix: better support for Solaris /bin/sh in sh-based tests.
* bug fix: TRACE behaves better when attempting to trace undefined
functions. (lp#740717)
* bug fix: missed optimizations for (FUNCALL (LAMBDA ...) ...) in comparison
to (FUNCALL #'(LAMBDA ...) ...).
* bug fix: ((LAMBDA ...) ...) forms with invalid argument counts resulted in
a compile-time error. (lp#720382)
* bug fix: forms such as (FUNCALL (FUNCTION NAME OOPS) ...) were compiled
without complaints.
* bug fix: less verbose source forms for functions from EVAL. (lp#747485)
* bug fix: sense of SLOT-BOUNDP-USING-CLASS was inverted in a MAKE-INSTANCE
optimization. (regression from 1.0.45.18/1.0.46.15)
* bug fix: package locks did not protects against compile-time side-effects
of DEFUN. (lp#675584)
* bug fix: --dynamic-space-size argument is validated more carefully.
(lp#721457)
* bug fix: memory fault from printing a malformed simple-condition.
(lp#705690)
* bug fix: redefining classes so that slot-definition classes change now
engages the obsolete instance protocol. (lp#766271)
* bug fix: constant improper lists could break source coverage recording.
(lp#767959)
* bug fix: compiling calls to eg. MEMBER with massive constant list arguments
could exhaust stack.
Update mawk to 1.3.4.20100625
Major changes in this release of mawk:
20100625
+ correct translation of octal and hex escapes for system regular
expression library.
+ modify configure script to support --program-suffix, etc.
+ add Debian package scripts, for "mawk-cur".
+ add RPM spec-file.
+ move release- and patch-level values from version.c to patchlev.h
to simplify packaging scripts.
20100618
+ correct translation of "^{" pattern for system regular expression
library (report by Elias Pipping).
+ fix sentence fragment in README (report by Elias Pipping).
20100507
+ cleanup gcc warnings for 64-bit platform, e.g., use size_t rather
than unsigned, etc.
+ fix warnings from clang --analyze
+ update/improve configure script
+ modify CF_GCC_VERSION to ignore stderr, e.g., from c89 alias
+ modify CF_GCC_WARNINGS, moving -W and -Wall into the list to check,
since c89 alias for gcc complains about these options.
+ add --disable-leaks and related options, for testing.
+ add lint rule to makefile.
+ add configure-check for ctags to work with pkgsrc.
+ amend change of array.w, fixes a regression in "delete" (report by
Heiner Marxen).
20100419
+ modify split() to handle embedded nulls in the string to split, e.g.,
BEGIN{s="a\0b"; print length(s); n = split(s,f,""); print n}
(report by Morris Lee).
+ modify array.w to update table pointers in the special case where
an array is known to have string-indices, but is later indexed via
integers. The problem occurs when the array grows large enough to
rehash it, e.g.,
BEGIN{a["n"];for(i=1;i<1000;++i)printf "%d\n", a[i]; }
(report by Morris Lee).
+ increase size of reference-count for strings to unsigned. It was an
unsigned short, which prevented using arrays larger than 64k, e.g.,
BEGIN{for(i = 1; i <= 65550; ++i){if(i >= 65534 && i<=65537) print i; s[i] = "a"}; delete s;}
(report by Morris Lee).
+ add special case for Solaris 10 (and up) to configure check
CF_XOPEN_SOURCE
+ refactored configure check CF_REGEX
20100224
+ add a configure check for large files (report by Sean Kumar).
+ modify check in collect_RE() to show the actual limit value, e.g.,
MIN_SPRINTF-2 used for built-in regular expressions.
+ increase MIN_SPRINTF, used as limit on regular-expression size, to
match the MAX_SPLIT value, i.e., slightly more than doubling the size
(report by Markus Gnam).
+ further modify makefile to build outside the source-tree.
+ modify makefile and mawktest to use relative path again, since the
existing script did not work with openSUSE's build (patch by Guido
Berhoerster).
+ fix makefile's .c.i rule, which lacked CPP definition.
+ update mawktest.bat script to more/less correspond with mawktest,
for Win32 console except where echo command does not handle the
required quoting syntax.
+ add vs6.mak, for Visual Studio 6.
+ modify mawktest script to report results from all tests, rather than
halting on the first failure.
+ add limit-check after processing match(test, "[^0-9A-Za-z]") to
ensure the internal trailing null of the test-string is not mistaken
for part of the string, i.e., RSTART, RLENGTH are computed correctly
(report by Markus Gnam).
+ modify parsing of -W option to use comma-separated values, e.g.,
"-Wi,e" for "-Winteractive" and "-Werror".
+ add timestamp to scancode.c, to help manage revisions.
+ improve configure macro CF_XOPEN_SOURCE, making it remove possibly
conflicting definitions before adding new ones.
+ update config.guess and config.sub
> patches by Jan Psota:
+ improve buffering for -Winteractive option.
+ allow multiple single-character flags after -W, e.g., "-Wie" for
"-Winteractive" and "-Werror" to permit these to be passed on a
"#"-line of a shell script, e.g.,
#!/usr/bin/mawk -Wie
> patches by Jonathan Nieder:
+ add new M_SAVE_POS and M_2JC operation codes (states) to the
built-in regular expression engine. Use these to reimplement
m* (closure), to provide a way to avoid infinite looping on
matches against empty strings. This change requires
reimplementing
the workaround for gawk's noloop1 testcase from 20090726.
+ improve buffer-overflow check for string_buff.
+ fix collect_RE to treat "[^]]" as a character class (meaning "not a
closing bracket") but "[^^]]" not as one. This also requires
initializing the local "start of character class" variable to NULL
rather than the beginning of the string, to avoid an invalid array
access when collecting expressions such as "^text".
+ within a character class and not followed by a :, ., or ~, a "[" is
just like any other character. This way, you can tell mawk to scan
for a literal [ character with "mawk /[[]/", and you can scan for a [
or ] with "mawk /[][]/". Also clean up the relevant loop in
do_class() to make it a bit more readable.
+ outside a character class, a "]" is just like any other character.
+ prevent do_class() from scanning past the end, e.g., if the
terminating zero byte was escaped.
+ fix regular-expression parsing when a right parenthesis ")" is
found without a preceding left parenthesis.
+ fix resetting of position stack when backtracking.
+ modify regular-expression engine to avoid exponential running time
for some regular expression matches in which the first match mawk
finds extends to the end of the string. This is a new fix for the
gawk noloop2 test, added here for regression testing.
List of user-visible changes in GNU Smalltalk
NEWS FROM 3.2.3 TO 3.2.4
o Autoload is extended to allow plugging in arbitrary loaders.
o Array items in a CStruct didn't work, this is fixed now.
o DLD could have problems when the same library was requested multiple
times.
o Errors in the bind() system call were not detected correctly; this
has been fixed.
o Fixes for platforms with 113-bit long doubles.
o Fixes to Delay in the presence of delays with the exact same expiration.
o Fixes to the HTTP package, including correct flushing of POST requests
and doesNotUnderstand exceptions when the host did not exist.
o GLUT bindings now build correctly under Windows.
o Many smalltalk-mode improvements.
o New methods: TextCollector>>#critical:,
o nil can be passed to a C function accepting a #cObjectPtr (i.e.
void **) argument.
o SocketAddress>>#allByName: returns nil now, instead of an empty array,
when getaddrinfo succeeds but returns no address for the requested
address class.
o SocketAddress>>#byName: returns addresses for the default address class
when the receiver is SocketAddress (and not a subclass).
o Support for older versions of GnuTLS.
o Swazoo's static content serving was broken and has been fixed.
o The GST_PACKAGE macro supports having multiple .la files in its last
argument. gst-package's --prepare option was broken and has been fixed.
o The NetClients exception ProtocolError now includes the erroneous
response. Similarly, the package includes ProtocolNotification which
is used, for example, for HTTP redirects.
o Updated the Squeak/Pharo fileout parser.
o Updated VisualGST.
-----------------------------------------------------------------------------
NEWS FROM 3.2.2 TO 3.2.3
o Class attributes can have more than 1 keyword.
o Documented #byteArrayOut C call argument passing mode.
o Fixed crash when an invalid UnicodeString was created using
#changeClassTo:
o Fixed deadlock with #atEnd and two-way pipes.
o Fixed bugs when adding instance variables to an existing class.
o Fixed Socket>>#isPeerAlive falsely returning true.
o Fixed some bugs in UTF-7 conversion.
o FreeBSD port and 64-bit Darwin port. The latter requires a
pre-installed libsigsegv.
o "gst-convert -f squeak" reads binary selectors with more than two
characters; however they should be shortened with rewrite rules
to use the output.
o gst-doc can generate sensible documentation for a package if
some of its prerequisite are not loaded, even if some of the
package's classes subclass from the prerequisite.
o GTK+ bindings are generated correctly for newer versions of GLib
(tested up to 2.26).
o If found, pre-installed libsigsegv, libffi and libltdl are used by
default.
o Improvements for Emacs mode. Installation of Emacs mode detects
Debian's /etc/emacs/site-start.d, and a --with-lispstartdir option
is provided for distributions that are not Red Hat- or Debian-based.
o Machine-specific optimizations for x86-64, and other microoptimizations
resulting in small but consistent performance improvements.
o More out of memory conditions are detected.
o New methods: ByteArray>>#castTo:, ByteArray>>#asCData,
String>>#asCData, UndefinedObject>>#inheritsFrom:
o New goodie: Announcements.
o Number class>>#readFrom: can parse numbers in scientific notation.
o Package descriptions do not need to include a <file> item for each
<filein> item. However, it is still possible to include them for
backwards compatibility, and it is possible to include a source file
as both <filein> and <built-file> (so that gst-package --dist will
skip it).
o Packages can be downloaded using HTTPS if GnuTLS libraries are
present.
o Performance statistics printed by -V are now correct.
o Scoped methods ("A class >> a") can be used in an "A class [ ... ]"
block.
o Semaphore>>#wait returns nil if the wait was interrupted externally
(e.g. from Process>>#resume).
o String>>#asCData: and String>>#asCData NULL-terminate their output.
o Support for timeouts when waiting on a Semaphore.
o Swazoo supports SCGI. Its configuration however is still manual,
since the Seaside and Iliad adaptors do not know about it.
o Updated VisualGST.
* Google Native Client Support
* New Profiler engine
* Faster socket stack
* Improved Parallel Framework
* SGen Precise Stack Scanning and Many performance improvements.
* Unified MonoTouch/Monodroid runtime support
* Cecil/Light
* New C# Compiler backend (can now use any custom mscorlib)
* VB Compiler can now compile to both 2.0 and 4.0 profiles.
* Supports ASP.NET MVC3, Razor and new WebPages.
* New WebMatrix.Data database API.
* Improved OSX Mono
* F# and IronRuby
What's New in Python 2.4.6?
===========================
*Release date: 19-Dec-2008*
What's New in Python 2.4.6c1?
=============================
*Release date: 13-Dec-2008*
Core and builtins
-----------------
- Issue #4469: Prevent expandtabs() on string and unicode
objects from causing a segfault when a large width is passed
on 32-bit platforms. CVE-2008-5031.
- Issue #4317: Fixed a crash in the imageop.rgb2rgb8() function.
- Issue #4230: Fix a crash when a class has a custom __getattr__ and an
__getattribute__ method that deletes the __getattr__ attribute.
- Apply security patches from Apple. CVE-2008-2315.
- Issue #2620: Overflow checking when allocating or reallocating memory
was not always being done properly in some python types and extension
modules. PyMem_MALLOC, PyMem_REALLOC, PyMem_NEW and PyMem_RESIZE have
all been updated to perform better checks and places in the code that
would previously leak memory on the error path when such an allocation
failed have been fixed.
- Issue #1179: Fix CVE-2007-4965 and CVE-2008-1679, multiple integer
overflows in the imageop and rgbimgmodule modules.
- Issue #2586: Fix CVE-2008-1721, zlib crash from
zlib.decompressobj().flush(val) when val is not positive.
- Issues #2588, #2589: Fix potential integer underflow and overflow
conditions in the PyOS_vsnprintf C API function. CVE-2008-3144.
- Issue #2587: In the C API, PyString_FromStringAndSize() takes a signed size
parameter but was not verifying that it was greater than zero. Values
less than zero will now raise a SystemError and return NULL to indicate a
bug in the calling C code. CVE-2008-1887.
- Security Issue #2: imageop did not validate arguments correctly and could
segfault as a result. CVE-2008-4864.
Extension Modules
-----------------
Library
-------
Tests
-----
Build
-----
Tools/Demos
-----------
- Tools/faqwiz/move-faqwiz.sh: Fix unsecure use of temporary files.
changes in sbcl-1.0.47 relative to sbcl-1.0.46:
* bug fix: fix mach port rights leaks in mach exception handling code on
darwin/x86 and /x86-64. (thanks to Willem Oudshoorn for motivation and the
initial patch)
* enhancement: --script muffles style-warnings and compiler notes. (lp#677779)
* enhancement: redefinition warnings for macros from different files. (lp#434657)
* enhancement: better MACHINE-VERSION on Darwin x86 and x86-64. (lp#668332)
* enhancement: (FORMAT "foo" ...) and similar signal a compile-time warning. (lp#327223)
* enhancement: no more "in: LAMBDA NIL" messages from the compiler for forms
processed using EVAL -- now the appropriate toplevel form is reported instead.
* enhancement: more legible style-warnings for inappropriate IGNORE and IGNORABLE
declarations. (lp#726331)
* enhancement: :NOT-NULL option has been added to alien C-STRING type to indicate
that NIL/NULL is excluded from the type.
* enhancement: SB-INTROSPECT:MAP-ROOT allows mapping over pointers contained in
arbitrary objects.
* optimization: SLOT-VALUE &co are faster in the presence of SLOT-VALUE-USING-CLASS
and its compatriots.
* optimization: core startup time is reduced by 30% on x86-64. (lp#557357)
* bug fix: SB-DEBUG:BACKTRACE-AS-LIST guards against potentially leaking
stack-allocated values out of their dynamic-extent. (lp#310175)
* bug fix: attempts to use SB-SPROF for wallclock profiling on threaded
x86-64 builds caused a type-error.
* bug fix: calling COMPILE with something else than a lambda-expression as the
second argument reports a more sensible error. (lp#718905)
* bug fix: invalid combinations of :PREDICATE and :TYPE options in DEFSTRUCT
are detected. (lp#520607)
* bug fix: constant keyword argument checking didn't take :ALLOW-OTHER-KEYS
into account.
* bug fix: SLOT-BOUNDP information is correct during MAKE-INSTANCE in the
presence of (SETF SLOT-VALUE-USING-CLASS) and SLOT-BOUNDP-USING-CLASS
methods. (regression from 1.0.45.18)
* bug fix: INITIALIZE-INSTANCE :AROUND methods supplying initargs via
CALL-NEXT-METHOD work correctly. (regression from 1.0.45.19)
* bug fix: several foreign functions accepting string also accepted NIL and
consequently caused a memory fault at 0 now signal a type-error instead.
(lp#721087)
* bug fix: under rare circumstances, constraint propagation could rewrite a
variable reference to refer to a variable not in scope, causing an error
during physical environment analysis when attempting to close over the
variable. (lp#551227)
* bug fix: SIMPLE-CONDITION :FORMAT-CONTROL defaults to NIL.
definitions which do things behind the client pkgs back, in particular
manipulate the library search path
It is well possible that this causes some fallout, but I hope it
will be small and can be dealt with on a per-pkg basis.
(partly) suggested by Mark Davies on tech-pkg
Highlights composed by Matthew Sporleder.
Changes in R14B02 (http://www.erlang.org/download/otp_src_R14B02.readme)
- It is now possible to use Erlang specifications and types
in EDoc documentation
- All tests in Erlang/OTP have been converted to be run with
Common Test as the backend instead of Test Server.
- From this release, the previously experimental halfword
emulator is now official
- Dependency generation for Makefiles has been added to the
compiler and erlc
- Add a --fullpath option to Dialyzer (include version 2.4.2)
- Many fixes in erts
- Remove hipe constants pool
- Partial support for recursive structs and unions
- It is now possible to use SSH to sign and verify binary data.
- typer has been rewritten
Changes R14B01 (http://www.erlang.org/download/otp_src_R14B01.readme)
- New ETS option compressed, to enable a more compact storage
format at the expence of heavier table operations
- There is now a new function inet:getifaddrs/0 modeled after
C library function getifaddrs() on BSD and Linux that reports
existing interfaces and their addresses on the host
- Multiple crashes and infinite loops fixed
- AES CTR encryption support in crypto
- erl_call: remove get_hostent
- The Erlang VM now supports Unicode filenames
- New ETS option compressed
Changes in R14B (http://www.erlang.org/download/otp_src_R14B.readme)
- Large parts of the ethread library have been rewritten.
- The changed API of the ethread library has also caused
modifications in the Erlang runtime system.
- Some Built In Functions (BIFs) are now autoimported
- Added erlang:system_info(build_type)
- A number of memory leaks in the crypto NIF library have been fixed
- erl_call: fix multiple buffer overflows
- NIF 64-bit integer support
- Removed some potential vulnerabilities from the Erlang Port
Mapper Daemon (epmd)
- Replaced the old http client api module (http) with the new,
httpc in the users guide.
- inet6 improvements
- ssh fixes
- many ssl improvements/fixes
- wx crash fix
Changes in R14A (http://www.erlang.org/download/otp_src_R14A.readme)
- R14A is a major new release of Erlang/OTP.
- The module binary from EEP31 (and EEP9) is implemented
- It is now possible for the user to provide specific callback
modules that handle test configuration data
- New NIF features
- Receive statements that can only read out a newly created
reference are now specially optimized so that it will execute
in constant time regardless of the number of messages in the
receive queue for the process.
- The run_test script has been replaced by a program (with the
same name) which can be executed without explicit installation
- eprof has been reimplemented with support in the Erlang
virtual machine and is now both faster (i.e. slows down the
code being measured less) and scales much better
Changes in R13B04 (http://www.erlang.org/download/otp_src_R13B04.readme)
- Many documentation and documentation build improvements
- cross-compile/build improvements
- buffer overflow fix
- telnet keep alive fixes
- compiler crash on boolean ifs
- -Werror for erlc fixed
- macro overloading implemented
- the crypto module now supports Blowfish
- explicit top directories in archive files are now optional
- add lock profiling tool: lcnt
- httpd methods "PUT" and "DELETE" now allowed + others fixes
to resolver routine
- compression supported when copying between mnesia nodes
Notable changes in 5.11.18
--------------------------
Experimental extension to run the development tools in a
separate thread, so you can edit away while your program runs.
Notable changes in 5.11.17
--------------------------
Fix error with quoted wide atoms. This causes write/read to fail
for any term that contains an atom that needs quotes and has
Unicode points >= 256.
This also contains the copy_term/2 patch to exploit sharing ...
Notable changes in 5.11.16
--------------------------
Unicode handling is certainly a step forward wrt. character
classification. Unicode symbols have been modified to `glue'
like ==, =<, etc.
Finally, there is per-thread CPU statistics for MacOS
Finally, selection handling in the Windows console is a bit better.
Trail-stack usage is now significantly less.
Notable changes in 5.11.15
--------------------------
Revert the change to write_canonical/1
Notable changes in 5.11.14
--------------------------
There is a lot of mostly small fixes. The most notably are changes
to the ODBC interface, which now supports Unicode (at least for queries,
not for all aspects). It's got a new option to ODBC connections:
the encoding. The default should work fine on Windows and UTF-8 based
Unix databases. Thanks to Matt Lilley and Carlo Capelli.
There is quite some reorganisation in the sources due to work on sharing
most of the OS interface and I/O between YAP and SWI and make the setup
of packages such that the makefiles can be shared between SWI and YAP.
Notable changes in 5.11.13
--------------------------
This version fixes some more issues in =@=/2, various minor issues
and may have big impact on trail-stack usage of your program.
It also fixes the reported socket issue with XPCE on Win64.
Notable changes in 5.11.12
--------------------------
This contains some quite important fixes, avoiding simply wrong
answers as well as some crashes. Besides the usual small stuff,
it has two important rewrites:
- Standard order comparison now avoids recursion using the C-stack.
This is a bit of a trial. Timing shows that processing last-argument
nested terms is about 10% slower and other nesting is about 50% faster
and no longer causes uncrontrolled stack-overflows. This is promising,
but the amount of work is considerable, notably for this case, where
the possibility of comparison to raise an exception is new.
- =@=/2 is completely rewritten. If you are looking for a challenge,
there is one in the current version of =@=/2 (variant/2). The
implementation is in src/pl-prims.c and the test cases in
src/Tests/core/test_term.pl. =@=/2 has gone through some
iterations. If all is right, the current version
- Fails as soon as it finds a difference, without processing
a whole term.
- Handles rational trees (cyclic terms).
- Deals with variables shared between the argument terms.
Notable changes in 5.11.11
--------------------------
Top level now reveals the internal `sharing' of subterms in answer
substitutions. This notably deals with cyclic terms.
Notable changes in 5.11.10
--------------------------
Floats are no longer printed through the C-library printf using %g.
Instead, Prolog write writes a float such that reading it back
recontructs a float that is bitwise equivalent (==) to the input.
This is based on a library by David M. Gay. The output routine uses
the same rules on when to use exponential notation as the GNU C-library's
%g format. It prints as few as possible digits to reach == equivalence,
but this is typically more than it used to print. If you want fewer digits,
use format/3 (e.g., ~6f) or round (A is round(F*10000)/10000, write(A)).
rdf_reachable/2 now, like rdf_has/3, respects defined RDF predicate properties.
In addition, it provides look-ahead which ensures deterministic success on
the last answer. This means that rdf_reachable(A, owl:sameAs, B) (with either
or both A and B instantiated) behaves as expected and much more efficiently.
There are a lot of changes to quoted syntax, notably for 0'<char> and
some for quoted atoms. Except for \e being read as 27 (esc), all sensible
previously valid input is parsed consistently (I wouldn't be surprised if
it is possible to construct cases where you get different output, but I
would be surprised if any real program is affected). See mailinglist for
details.
This is the beta of the first release of pcc since almost forever. The
main architectures supported are i386 and amd64, other targets may have
less functionality.
Update reviewed by Alistair G. Crooks.
* Type Based Alias Analysis (TBAA) is now implemented and turned on by default
in Clang. This allows substantially better load/store optimization in some
cases. TBAA can be disabled by passing -fno-strict-aliasing.
* This release has seen a continued focus on quality of debug information. LLVM
now generates much higher fidelity debug information, particularly when
debugging optimized code.
* Inline assembly now supports multiple alternative constraints.
* A new backend for the NVIDIA PTX virtual ISA (used to target its GPUs) is
under rapid development. It is not generally useful in 2.9, but is making
rapid progress.