Python 2.3 is now well and truly in bugfix-only mode; no new features
are being added, and only security critical bugs have been fixed.
This release addresses a number of cases interpreter might have
crashed in certain boundary conditions.
What's New in Python 2.3.7?
===========================
*Release date: 11-Mar-2008*
What's New in Python 2.3.7c1?
===========================
*Release date: 02-Mar-2008*
Core and builtins
-----------------
- Added checks for integer overflows, contributed by Google. Some are
only available if asserts are left in the code, in cases where they
can't be triggered from Python code.
What's New in Python 2.3.6?
===========================
*Release date: 01-NOV-2006*
What's New in Python 2.3.6c1?
=============================
*Release date: 25-OCT-2006*
Core and builtins
-----------------
- Patch #1541585: fix buffer overrun when performing repr() on
a unicode string in a build with wide unicode (UCS-4) support.
This is the problem described in security advisory PSF-2006-001.
Extension modules
-----------------
- Apply fix for potential heap overflow in PCRE code (CAN-2005-2491).
Library
-------
- The email package has improved RFC 2231 support, specifically for
recognizing the difference between encoded (name*0*=<blah>) and non-encoded
(name*0=<blah>) parameter continuations. This may change the types of
values returned from email.message.Message.get_param() and friends.
Specifically in some cases where non-encoded continuations were used,
get_param() used to return a 3-tuple of (None, None, string) whereas now it
will just return the string (since non-encoded continuations don't have
charset and language parts).
Also, whereas % values were decoded in all parameter continuations, they are
now only decoded in encoded parameter parts.
* New module DBUS interfaces to the D-Bus message bus system.
See <http://clisp.cons.org/impnotes/dbus.html> for details.
* New function EXT:PROBE-PATHNAME can figure out whether the existing
pathname refers to a file or a directory.
See <http://clisp.cons.org/impnotes/files.html#probe-path> for details.
* New function EXT:CANONICALIZE lets you easily canonicalize a value
before processing it.
See <http://clisp.cons.org/impnotes/macros3.html#canonicalize> for details.
* New user variable CUSTOM:*REOPEN-OPEN-FILE* controls CLISP behavior
when opening an already open file.
See <http://clisp.cons.org/impnotes/open.html#reopen> for details.
* New SETFable function OS:FILE-SIZE extends FILE-LENGTH to pathname
designators and lets you change file size.
See <http://clisp.cons.org/impnotes/syscalls.html#file-size> for details.
New function OS:USER-SHELLS returns the list of legal user shells.
See <http://clisp.cons.org/impnotes/syscalls.html#user-shells> for details.
New SETFable functions OS:HOSTID and OS:DOMAINNAME.
See <http://clisp.cons.org/impnotes/syscalls.html#hostid> for details.
* Module readline has been upgraded to readline 5.2
(older versions 5.0 and 5.1 are, of course, still supported).
See <http://clisp.cons.org/impnotes/readline-mod.html> for details.
* LOAD now uses DIRECTORY only for wild *LOAD-PATHS* components, thus
speeding up the most common cases and preventing the denial-of-service
attack whereas CLISP would not start if a file with a name
incompatible with *PATHNAME-ENCODING* is present in USER-HOMEDIR-PATHNAME.
* ROOM now prints some GC statistics and returns the same values as GC.
See <http://clisp.cons.org/impnotes/environment-enq.html#room> for details.
* New user variable CUSTOM:*HTTP-LOG-STREAM* controls EXT:OPEN-HTTP logging.
See <http://clisp.cons.org/impnotes/macros3.html#http-log-stream> for details.
* Bug fixes:
+ Comparison of floats and rationals never underflows. [ 2014262 ]
+ When failing to convert a huge LONG-FLOAT to a RATIONAL, signal an
ARITHMETIC-ERROR instead of blowing the stack. [ 2015118 ]
+ Restored TYPECODES g++ compilation [ 2015118 ], which allowed fixing
a few GC-safety bugs.
+ Fixed a segfault when signaling some UNBOUND-VARIABLE errors in some
interpreted code on MacOS X (introduced in 2.46). [ 2020784 ]
Thanks to Vladimir Tzankov <vtzankov@gmail.com>.
+ Fixed input after switching a :DOS stream to binary. [ 2022362 ]
+ Support circular objects in EQUAL and EQUALP hash-tables. [ 2029069 ]
+ Avoid C namespace pollution. [ 2146126 ]
+ Fix timeout precision in NEW-CLX. [ 2188102 ]
* ANSI compliance:
+ The sets of declaration and type names are disjoint.
+ FLET, LABELS and MACROLET respect declarations.
Embryo implements a C like scripting language used in various parts of
the Enlightenment project, namely Edje. Embryo allows scripting
capabilities in places that otherwise wouldn't support basic
programming structures such as in Edje EDCs.
ECMAScript is a standardized language also known variously as JavaScript,
JScript, and LiveScript. SEE is a library that provides a parser and runtime
environment for this language. It conforms to ECMAScript Edition 3, and to
JavaScript 1.5, with some compatibility switches for earlier versions of
JavaScript and Microsoft's JScript.
explaining that this should prevent a repeat of the current problem where
binary perl packages built for 5.8.8 can be installed together with
perl 5.10.0 without any warning/error. By the perl numbering scheme,
perl 5.12.0 will be the next maintenance version which installs modules
in a different path than what's used for 5.10.0.
The contents of perl itself doesn't change as a result of this change,
so no revision bump, but a revision bump for all packages which depend
directly on perl is forthcoming, as a workaround for the 5.8.8 -> 5.10.0
transition.
at using p5-* packages built with the new perl from being installed
together with an older version of perl. The p5-* packages will not
work because the new and old perls install modules in different
directories. As a consequence, bump package revision.
Don't call pkg_info to get the installed Emacs version; always use the
version matching EMACS_TYPE set by users. Be DEPENDS to it. This should
address pkg/37146 by Aleksey Cheusov.
While here convert some emacs lisp packages to user-destdir.
A large number of packages have had their internal regression tests
run successfully with this update, including mod_perl for Apache.
Pkgsrc changes: a number of our local patches are no longer needed.
Upstream changes from version 5.8.8:
# Core Enhancements
* The feature pragma
* New -E command-line switch
* Defined-or operator
* Switch and Smart Match operator
* Regular expressions
* say()
* Lexical $_
* The _ prototype
* UNITCHECK blocks
* New Pragma, mro
* readdir() may return a "short filename" on Windows
* readpipe() is now overridable
* Default argument for readline()
* state() variables
* Stacked filetest operators
* UNIVERSAL::DOES()
* Formats
* Byte-order modifiers for pack() and unpack()
* no VERSION
* chdir, chmod and chown on filehandles
* OS groups
* Recursive sort subs
* Exceptions in constant folding
* Source filters in @INC
* New internal variables
* Miscellaneous
* UCD 5.0.0
* MAD
* kill() on Windows
# Incompatible Changes
* Packing and UTF-8 strings
* Byte/character count feature in unpack()
* The $* and $# variables have been removed
* substr() lvalues are no longer fixed-length
* Parsing of -f _
* :unique
* Effect of pragmas in eval
* chdir FOO
* Handling of .pmc files
* $^V is now a version object instead of a v-string
* @- and @+ in patterns
* $AUTOLOAD can now be tainted
* Tainting and printf
* undef and signal handlers
* strictures and dereferencing in defined()
* (?p{}) has been removed
* Pseudo-hashes have been removed
* Removal of the bytecode compiler and of perlcc
* Removal of the JPL
* Recursive inheritance detected earlier
# Modules and Pragmata
* Upgrading individual core modules
* Pragmata Changes
* New modules
* Selected Changes to Core Modules
# Utility Changes
# New Documentation
# Performance Enhancements
* In-place sorting
* Lexical array access
* XS-assisted SWASHGET
* Constant subroutines
* PERL_DONT_CREATE_GVSV
* Weak references are cheaper
* sort() enhancements
* Memory optimisations
* UTF-8 cache optimisation
* Sloppy stat on Windows
* Regular expressions optimisations
# Installation and Configuration Improvements
* Configuration improvements
* Compilation improvements
* Installation improvements
* New Or Improved Platforms
# Selected Bug Fixes
# New or Changed Diagnostics
# Changed Internals
* Reordering of SVt_* constants
* Elimination of SVt_PVBM
* New type SVt_BIND
* Removal of CPP symbols
* Less space is used by ops
* New parser
* Use of const
* Mathoms
* AvFLAGS has been removed
* av_* changes
* $^H and %^H
* B:: modules inheritance changed
* Anonymous hash and array constructors
...
See 'perldoc perldelta' or http://perldoc.perl.org/perldelta.html
for explanation of each of these points.
Changes between 3.3.0 and 3.4.0:
- Fixes to the MinGW build.
- PCRE 7.7
- Bug fix for bitwise-or use [Joerg Wittenberger]
- Bug fix in thread-terminate! [thanks to Joerg Wittenberger]
- Cygwin build patched to put the runtime libraries in the right place.
[thanks to Nathan Thern]
- added support for out-of-tree compilation (via the SRCDIR variable)
[thanks to Ivan Shmakov]
- bug fix for (string->number "/")
- support for selective procedure profiling in the compiler
- unit utils: moved file- and pathname-related procedures to unit files
- new unit files