Requested by Matthew Mondor, who contributed description of changes.
Since 10.4.1, changes were made in the following areas:
- Better cross-compile support, including with C++ compilers
- FFI from interpreted code now requires libffi
- Compiler now shipped as a single FASL file, cmp.fas
- Various fixes, notably in handling of:
LIST/LIST*, foreign arrays and structures, optimization annotations,
pathnames (logical pathnames and case), RENAME-FILE, READ,
the debugger, ANSI CL function declarations, DECLAIM, DEFMACRO,
EXPT, ASDF, rational math
- Performance optimizations in the following areas:
SETF expansions, AREF/ASET, unboxing, sequence functions, LOOP,
ASSERT, use of long-long and long-double where possible,
reworked compilation policies, EXT:MAKE-FOREIGN-DATA-FROM-ARRAY
- Other new features:
EXT:WITH-BACKEND
See http://ecls.cvs.sourceforge.net/viewvc/ecls/ecl/src/CHANGELOG?revision=1.793
for more details, or src/CHANGELOG in the source.
John Marino, originally per PR pkg/44436, slightly updated
for i386/amd64, comes with a bootstrap which doesn't need an Ada compiler
on the pkg build system (fetches a bootstrap binary from MASTER_SITE)
There seems to be some incompatibility with the binutils/libgcc_s
on NetBSD-current, leading to warnings. Not fatal, but should be
investigated.
5.3.5 was released due to a critical issue and the previous suhosin
patch still applies. Prior art of this can be seen in OpenBSD's and
FreeBSD's ports.
ok@ wiz
Pkgsrc changes:
o Remove local patch which is no longer needed.
o Adapt PLIST to changes in the set of installed files.
Upstream changes:
- Core
+ A new embedding API is available in "parrot/api.h" and documented in
docs/pdd/pdd10_embedding.pod .
+ Packfile PMCs were refactored and can now be used to produce runnable
bytecode.
+ Packfile manipulation code now throws embedder-friendly exceptions rather
than printing error details directly to stderr.
+ Unicode support for file IO, environment variables, program names, and
command-line parameters was improved.
+ An experimental gdb pretty-printers in tools/dev for Parrot STRINGs and
PMCs is now available. (gdb 7.2 or later and Python are required)
+ c2str.pl and pmc2c.pl improvements result in a noticeably faster build.
+ Bugs in our Digest::sha256 library and bit-related dynamic ops were fixed
by GCI student Nolan Lum. Both now work correctly on 32 and 64 bit
systems.
- Languages
+ ;)XD - OMeta for Winxed https://github.com/plobsing/ohm-eta-wink-kzd
- Community
+ tree-optimization by GSoC student Tyler L. Curtis joined the nest and now
lives at http://github.com/parrot/tree-optimization .
+ Plumage now lives at http://github.com/parrot/plumage and is installable.
+ Christmas went as scheduled. The Parrot team does not take credit for
this event.
- Documentation
+ HTML documentation generation has been rewritten and greatly simplified.
+ We have improved documentation in docs/project/git_workflow.pod about
keeping a fork of parrot.git in sync.
+ Translations of our README in various languages are now in the
docs/translation directory, thanks to Google Code-In students.
- Tests
+ A better way to write "todo" tests with Parrot's Test::More was implemented
by GCI student Fernando Brito.
+ Major increases in test coverage of many core PMCs, dynamic PMCs and
dynamic opcodes resulted from GCI and the intrepid students it attracted.
+ Jonathan "Duke" Leto set up Debian Linux x86_64 and sparc32 smokers
in the GCC Compile Farm, which continually submit smoke reports with
a variety of configuration options and compilers. Thanks, GCC!
+ Makefile dependency checking is now automatically tested, resulting in a
more reliable parallel build.
+ Coverage tests were improved for platforms with and without Devel::Cover.
0.91.0
======
* Update note [important]:
You need to rebuild rep-gtk and sawfish against this version of
librep, because of an ABI-change.
Your lisp files have to be byte-compiled again, too.
* Halfway improved `debug-on-error' and `backtrace-on-error' [Teika
Kazura]
* When you evaluate a closure interactively, the module it belongs
to is printed, too. [Teika kazura]
* Improved functions' docstring support [Teika Kazura]
* New function `subr-structure' [Teika Kazura]
* Major documentation revision [Teika kazura]
* `define-special-variable' is replaced by `defvar-setq' [Teika
kazura]
* Makefile's uninstall rule has been fixed [Christopher Bratusek]
0.90.6
======
* renamed `file-uid-p' to `file-uid' and `file-gid-p' to `file-gid'
[Christopher Bratusek]
* Minor doc improvements [Teika Kazura]
* improved specfile [Kim B. Heino]
* Process execution failure emits better message. [Teika Kazura]
* Security fix for ASP.NET (XSP / mod_mono) source code disclosure
(CVE-2010-4225)
* Backport ParallelFx improvements from master (jlaval)
* Fix state check for short-circuiting with SupportRecursion in
ReaderWriterLockSlim #655361 (jlaval)
* Increment Count even on single-processor in SpinWait.
Fix#624849. (jlaval)
* Update ThreadLocal to use default(T) for initialization with
parameterless ctor. Fix#658689. (jlaval)
* Add fix for VAX floating point handling (Bug #53682), r307192 from
PHP's repositry. (It is in PHP 5.2.17 but not in 5.3.5).
06 Jan 2011, PHP 5.3.5
- Fixed Bug #53632 (infinite loop with x87 fpu). (Scott, Rasmus)
(multimedia/mediatomb and multimedia/avidemux) were confirmed as
working with the non-threaded version, and broken (spinning CPU)
with the threaded one, after the 1.8.0 update.
Changes in 1.8.8 (since 1.8.7)
* Bugs fixed
** Fix possible buffer overruns when parsing numbers
** Fix random number generator on 64-bit platforms
Previously the `scm_c_random' function would crash or return only 32-bit
worth of randomness. In addition, the new `scm_c_random64' function
explicitly returns 64 bits of randomness.
** Add missing range checks in `vector-move-left!' and `vector-move-right!'
Previously these procedures could write past the end of a vector.
** Avoid clash with system setjmp/longjmp on IA64
** Don't dynamically link an extension that is already registered
** Fix `wrong type arg' exceptions with IPv6 addresses
** Fix typos in `(srfi srfi-19)'
** Have `(srfi srfi-35)' provide named struct vtables
** Fix C documentation extraction ("snarfing") with recent GCC versions
** Fix some Interix build problems
** Fix Tru64 build problems
** Fix GC-related build issues on Solaris 10 x86 with Sun Studio 12
** Several small documentation fixes
* Use $(CC) for LDSHARED on NetBSD and DragonFly like any other.
Fixes PR#42598 for that libpython will be linked with sufficient flags.
Bump PKGREVISION.
No standard changelog provided from upstream, some bits scattered here:
* http://www.mozilla.org/js/spidermonkey/release-notes/JS_170.html
* https://developer.mozilla.org/En/SpiderMonkey/1.8
pkgsrc changes:
* Threading support (and dependency on devel/nspr) is now optional
(enabled by default). Threaded Spidermonkey may not be desirable
for e.g. server-side JavaScript usage.
* Unicode strings support optional.
* Rudimental OpenSolaris/Solaris 11 config file provided.
Release Candidate note:
Spidermonkey 1.8.0 RC1 was the last version ever released as
a standalone distribution, and is generally being used by the JavaScript
community nowaways, if needed. In the future, ripping Spidermonkey
out of the Mozilla tarball may be attempted too, to update the package
to 1.9.x.
alternative from mk/jpeg.buildlink3.mk
This allows selection of an alternative jpeg library (namely the x86 MMX,
SSE, SSE2 accelerated libjpeg-turbo) via JPEG_DEFAULT=libjpeg-turbo, and
follows the current standard model for alternatives (fam, motif, fuse etc).
The mechanical edits were applied via the following script:
#!/bin/sh
for d in */*; do
[ -d "$d" ] || continue
for i in "$d/"Makefile* "$d/"*.mk; do
case "$i" in *.orig|*"*"*) continue;; esac
out="$d/x"
sed -e 's;graphics/jpeg/buildlink3\.mk;mk/jpeg.buildlink3.mk;g' \
-e 's;BUILDLINK_PREFIX\.jpeg;JPEGBASE;g' \
< "$i" > "$out"
if cmp -s "$i" "$out"; then
rm -f "$out"
else
echo "Edited $i"
mv -f "$i" "$i.orig" && mv "$out" "$i"
fi
done
done
Pkgsrc changes:
o Adapt PLIST to changes in the set of installed files
o Adjust one patch to match the changed source
Upstream changes:
- Core
+ Just In Time native call frame generation using LibFFI
+ PIR op find_codepoint is no longer experimental, it is now supported
+ Several public functions in libparrot have been brought up to standard
naming conventions.
+ Improved linked-list implementation in GC
+ set_addr opcode is being replaced with the new set_label opcode
in core libraries
+ Removed deprecated CodeString PMC
+ Added close, is_closed, read, readline methods to Socket
+ Added experimental MappedByteArray PMC type
+ Added Parrot_warn_experimental, to warn the user about experimental features
+ Code for frontend executables moved from src/ to frontend/
+ Support for chunked receive in LWP library.
+ Added a "quickcover" make target
- Languages
+ PIRC
- left the nest and is currently at https://github.com/parrot/pirc/
+ Community
- Our README was translated into the following languages
by Google Code-In students and mentors:
Polish README.polski
Spanish README.espanol
German README.deutsch
- Documentation
- Tests
+ Test coverage increase on PMCs: String, Integer, NameSpace,
Complex, EventHandler
+ 'make quickcover' target added to speed up most essential
parts of coverage analysis
+ 'tools/dev/headerizer.pl' refactored to improve maintainability
(no change in functionality)
- to do this, and make the result runnable on pre-thumb arm, change
upstreams assembler snippets and stubs to use "mov pc,reg" instead
of the return/call-to-thumb-friendly "bx reg", which is not available
in non-thumb-enabled arm CPUs. Whether this is the way to go, or a
seperate "armt" architecture for ocaml is needed, needs to be discussed
with upstream.
Resulting compiler, when running its selftest suite, has 6 errors less than
the same on i386. Unison compiled natively with this passes its self-test.
Boomerang is a programming language for writing lenses--well-behaved
bidirectional transformations--that operate on ad-hoc, textual data
formats. Every lens program, when read from left to right, describes
a function that maps an input to an output; when read from right
to left, the very same program describes a "backwards" function
that maps a modified output, together with the original input, back
to a modified input.
Lenses have been used to solve problems across a wide range of
areas in computing including: in data converters and synchronizers,
in parsers and pretty printers, in picklers and unpicklers, in
structure editors, in constraint maintainers for user interfaces,
in software model transformations, in schema evolution, in tools
for managing system configuration files, and in databases where
they provide updatable views.
PHP 5.2.16 Released!
The PHP development team would like to announce the immediate availability of
PHP 5.2.16. This release marks the end of support for PHP 5.2. All users of
PHP 5.2 are encouraged to upgrade to PHP 5.3.
This release focuses on addressing a regression in open_basedir implementation
introduced in 5.2.15 in addition to fixing a crash inside PDO::pgsql on data
retrieval when the server is down. All users who have upgraded to 5.2.15 and
are utilizing open_basedir are strongly encouraged to upgrade to 5.2.16 or
5.3.4.
To prepare for upgrading to PHP 5.3, now that PHP 5.2's support ended, a
migration guide available on http://php.net/migration53, details the changes
between PHP 5.2 and PHP 5.3.
For a full list of changes in PHP 5.2.16 see the ChangeLog at
http://www.php.net/ChangeLog-5.php#5.2.16.
ChangeLog:
Version 5.2.16
16-Dec-2010
* Fixed bug #53517 (segfault in pgsql_stmt_execute() when postgres is
down). (gyp at balabit dot hu)
* Fixed bug #53516 (Regression in open_basedir handling). (Ilia)
New in Gauche 0.9.1: Major Feature Enhancements
+ New Features
o Extended formals: Built-in lambda, define etc. can
recognize optional and keyword arguments, a la Common Lisp.
o Enhanced module mechanism: Now you can rename, choose,
or add prefix to the symbols when importing other modules.
o Efficient record types: A new module gauche.record provides
ERR5RS (srfi-99) compatible record types. It is also upper
compatible to srfi-9 records.
o More support for multithreaded applications: Thread-safe
queue is added to util.queue, and thread-pool feature is
provided by the new module control.thread-pool.
Continuations can be passed between threads.
o Partial continuations.
o Enhanced Windows support.
o New module: crypt.bcrypt: A module for Blowfish password hashing.
o New module: srfi-98: portable environment variable lookup support.
o New module: gauche.mop.propagate: Making object composition simpler.
o New module: rfc.json: JSON parsing and construction.
+ Changes
o The directory structure for Gauche installation has changed so
that we can keep binary compatibility for the extension
modules throughout 0.9.x releases.
o Now it is an error to pass a keyword argument that isn't
expected by the callee. It used to be a warning.
o Regular expression re{,M} now means the same as re{0,M},
which is compatible to Oniguruma.
+ Improvements
o The compiler and the runtime got optimized more.
The compiler now knows more about built-in procedures, and tries
compile-time constant folding and/or inlining more aggressively.
For example, sxml.ssax can parse XML document a lot faster.
o ^ can be used in place of lambda, allowing more concise code.
There's also convenience macros ^a, ^b, ... ^z and ^_ as
abbreviations of lambda (a) etc.
o ~ is added for universal accessing operator. (~ x y) is the same
as (ref x y), and (~ x y z) is the same as (ref (ref x y) z),
and so on. It can be used with generalized setter, e.g.
(set! (~ array i) x).
o define-syntax, let-syntax, and letrec-syntax are enhanced so that
they can take a general expression in rhs, as far as it yields
a syntactic transformer.
o gauche.process: I/O redirection handling in run-process becomes
more flexible.
o rfc.http module now supports https connection (unix platforms only).
Currently it relies on an external program (stunnel).
o A new procedure current-load-path allows the program to know
the file name it is being loaded from.
o A new procedure .$ is introduced as an alternative name of compose.
o Regular expressions now got read-write invariance. Some internal
regexp routines are made public, giving users an easy way
to construct and analyze regexp programatically.
o rfc.822: New procedure: rfc822-date->date.
o file.util: The procedure temporary-directory now became a parameter
so that you can switch it when necessary. The default value is taken
from (sys-tmpdir), which determines temporary directory in the
recommended way of the platform; esp., it works on Windows native
platforms. home-directory works on Windows, too.
Procedures null-device and console-device are added to make it easier
to write portable script across Unix and Windows platforms.
o util.queue: New proceduers: any-in-queue, every-in-queue.
o gauche.parseopt: When let-args encounters a command-line option
that doesn't match any spec, it now raises a condition of type
<parseopt-error> instead of <error>. The application can capture
the condition to handle invalid command-line arguments.
o gauche.uvector: New procedure uvector-size to obtain number of octets
actually to be written out when the given uvector is written out
by write-block.
o dbm: A new procedure dbm-type->class allows an application to load
appropriate dbm implementation at runtime. Utility scripts dbm/dump
and dbm/restore are provided for easier backup and migration.
o Procedure slot-pop! is added for the consistency with other
*-push!/pop! API pairs.
o When ref is used for object slot access, it can take default value
in case the slot is unbound.
o Made (set! (ref list k) value) work.
o New procedures delete-keywords, delete-keywords!, tree-map-map,
tree-map-for-each.
o unwind-protect allows multiple handlers, as in CL.
o sqrt now returns an exact number if the argument is exact and
the result can be computed exactly. Also, R6RS's exact-integer-sqrt
is added.
o gauche.parameter: Parameters can be used with generalized set!.
o The default-endian parameter is moved from binary.io module
to the core, so that this parameter controls default endian
of binary I/O in general. For example, read-block! and write-block
of the gauche.uvector module now uses the value of this parameter
as the default. A new procedure native-endian is added to retrieve
the platform's native endianness.
o More R6RS procedures: inexact, exact, real-valued?, rational-valued?,
integer-valued?, div, mod, div0, mod0.
A number of bug fixes.
BufferedReader.readLine (while building wip/jdk15)
KAFFE_BUGGY_NETBSD_SIGWAIT is only required in older NetBSD releases, and
in fact breaks NetBSD 5
Bump PKGREVISION
many thanks
New in version 1.0.45
* enhancement: ~/ and ~user/ are treated specially in pathnames.
* enhancement: ASDF has been updated to version 2.010.
* optimization: mutated closed-over variables that are only accessed
by DYNAMIC-EXTENT closures (currently only FLET and LABELS functions
declared to be DYNAMIC-EXTENT) are stored directly in their containing
stack frame, rather than allocating a VALUE-CELL (#586103).
* optimization: UNWIND-PROTECT cleanup functions are now declared
DYNAMIC-EXTENT.
Bug fixes.
New in version 1.0.44
* enhancement: RUN-PROGRAM accepts :EXTERNAL-FORMAT argument
to select the external-format for its :INPUT, :OUTPUT, AND
:ERROR :STREAMs.
* enhancement: ALLOCATION-INFORMATION also provides the page
the object resides on.
* enhancement: default dynamic-space size can be configured at
build-time without touching source, using the --dynamic-space-size
argument to make.sh.
* enhancement: DESCRIBE recognizes symbols naming optimization
policy qualities, and mentions ALWAYS-BOUND declarations.
* enhancement: ATOMIC-INCF now supports AREF of
(SIMPLE-ARRAY SB-EXT:WORD (*)) as a place.
* enhancement: ASDF has been updated to 2.009.
* enhancement: the system detects known type-erros in calls better,
signalling a full warning about violated proclaimed FTYPEs and
violations of derived FTYPEs within the same file, including self-calls.
* enhancement: new function: SB-EXT:DELETE-DIRECTORY is now provided.
* optimization: constant-folding exploits numeric and character types,
in addition member types.
* optimization: numeric, character and member types that are inhabited
by exactly one value are tested with EQL.
* optimization: more conditional branches are eliminated during IR1.
Branches are simplified before performing if/if-conversion,
and simple equivalent branches (that only read the same constant
or variable) are merged.
* improvements to the Windows port:
+ change: canonical unparsing form for pathname namestrings now
uses / as directory separator. NATIVE-NAMESTRING still uses \
as the separator.
+ bug fix: stackoverwriting due to incorrect usage of PeekConsoleInput
on Windows. (thanks to Kalyanov Dmitry)
+ bug fix: build now works on cygwin with GCC 4.x installed.
+ bug fix: run-sbcl.sh now works on Cygwin. (thanks to Kalyanov Dmitry)
Bug fixes.
New in version 1.0.43
* incompatible change: FD-STREAMS no longer participate in the
serve-event event-loop by default. (#316072)
+ In addition to streams created by explicit calls to MAKE-FD-STREAM
this affects streams from CL:OPEN.
+ Streams from SOCKET-MAKE-STREAM still participate in
serve-event by default, but this is liable to change:
applications needing serve-event for socket streams
should explicitly request it using :SERVE-EVENTS T in the call.
* enhancement: SB-EXT:WORD type is provided for use with
SB-EXT:ATOMIC-INCF &co.
* enhancement: CLOS effective method functions and defclass slot
typechecking function now have debug names for use in backtraces
and profiles.
* enhancement: ASDF has been updated to version 2.004.
* enhancement: symbols are printed using fully qualified names
in several error and warning messages which are often associated
with package conflicts or mixups (#622789, thanks to Attila Lendvai)
Bug fixes.
Requested in PR pkg/44076
Changes since previous package:
Wed Jul 7 10:51:12 MDT 2010
src/data.c, src/format.c, src/p1output.c: "invisible" tweaks to
silence warnings seen in compilation under Ubuntu; version.c not changed.
Fri Aug 27 09:14:17 MDT 2010
format.c: make sizeof(buf) depend on MAXNAMELEN to fix a bug with long
names. Update mswin/f2c.exe.gz accordingly.
Fri Sep 3 16:03:24 MDT 2010
fc: have "-m ..." modify CC rather than CFLAGS (to affect linking).
The PHP development team is proud to announce the immediate release of PHP
5.3.4. This is a maintenance release in the 5.3 series, which includes a large
number of bug fixes.
Security Enhancements and Fixes in PHP 5.3.4:
* Fixed crash in zip extract method (possible CWE-170).
* Paths with NULL in them (foo\0bar.txt) are now considered as invalid
(CVE-2006-7243).
* Fixed a possible double free in imap extension (Identified by Mateusz
Kocielski). (CVE-2010-4150).
* Fixed NULL pointer dereference in
ZipArchive::getArchiveComment. (CVE-2010-3709).
* Fixed possible flaw in open_basedir (CVE-2010-3436).
* Fixed MOPS-2010-24, fix string validation. (CVE-2010-2950).
* Fixed symbolic resolution support when the target is a DFS share.
* Fixed bug #52929 (Segfault in filter_var with FILTER_VALIDATE_EMAIL with
large amount of data) (CVE-2010-3710).
Key Bug Fixes in PHP 5.3.4 include:
* Added stat support for zip stream.
* Added follow_location (enabled by default) option for the http stream
support.
* Added a 3rd parameter to get_html_translation_table. It now takes a charset
hint, like htmlentities et al.
* Implemented FR #52348, added new constant ZEND_MULTIBYTE to detect zend
multibyte at runtime.
* Multiple improvements to the FPM SAPI.
* Over 100 other bug fixes.
For users upgrading from PHP 5.2 there is a migration guide available here,
detailing the changes between those releases and PHP 5.3.
For a full list of changes in PHP 5.3.4, see the ChangeLog. For source
downloads please visit our downloads page, Windows binaries can be found on
windows.php.net/download/.
The PHP development team would like to announce the immediate
availability of PHP 5.2.15. This release marks the end of support for
PHP 5.2. All users of PHP 5.2 are encouraged to upgrade to PHP 5.3.
This release focuses on improving the security and stability of the
PHP 5.2.x branch with a small number, of predominatly security fixes.
Security Enhancements and Fixes in PHP 5.2.15:
* Fixed extract() to do not overwrite $GLOBALS and $this when using
EXTR_OVERWRITE.
* Fixed crash in zip extract method (possible CWE-170).
* Fixed a possible double free in imap extension.
* Fixed possible flaw in open_basedir (CVE-2010-3436).
* Fixed NULL pointer dereference in
ZipArchive::getArchiveComment. (CVE-2010-3709).
* Fixed bug #52929 (Segfault in filter_var with FILTER_VALIDATE_EMAIL with
large amount of data).
Key enhancements in PHP 5.2.15 include:
* Fixed bug #47643 (array_diff() takes over 3000 times longer than php
5.2.4).
* Fixed bug #44248 (RFC2616 transgression while HTTPS request through proxy
with SoapClient object).
* To prepare for upgrading to PHP 5.3, now that PHP 5.2's support ended, a
migration guide available on http://php.net/migration53, details the changes
between PHP 5.2 and PHP 5.3.
For a full list of changes in PHP 5.2.15 see the ChangeLog at
http://www.php.net/ChangeLog-5.php#5.2.15.
Changes from 3.1.7 to 3.1.8
---------------------------
1. The zero flag no longer applies to %c and %s; apparently the standards
changed at some point.
2. Updated to latest infrastructure: Autoconf 2.65, Automake 1.11.1,
libtool 2.2.6b, Bison 2.4.2.
3. Failure to open a socket is no longer a fatal error.
4. dfa.h and dfa.c are now more-or-less in sync with GNU grep, for the first
time in many years.
5. Gawk no longer includes its own copy of libsigsegv but it will use it if
installed on the build system. The --disable-libsigsegv configure option
is now gone.
6. The ' flag (%'d) is now just ignored on systems that can't support it.
7. Lots of bug fixes, see the ChangeLog.
Ficl is a complete programming language interpreter designed to be
embedded into other systems (including firmware based ones) as
a command, macro, and development prototype language.
Ficl stands for "Forth Inspired Command Language".
changes:
-added regression-test suite
-two new compiler error messages, E990 and E994
-floating-point library is now automatically included if a program NEXTs
to labels in the range 5000-5999
-misc fixes
Local pkgsrc changes are minimal: date change and checksum updates.
Upstream changes are ... many, please refer to
http://pcc.ludd.ltu.se/
for pointers to the buck tracker and list of resolves issues.
natively (that is, only to byte-code).
This consists of two parts:
a) a patch to ocamldoc/Makefile to make it create the man pages using
the interpreted ocamldoc - this exists for both types of architectures,
so is safe. (This will be sent up-stream).
b) move a common shared library file to the common PLIST, and a lot of
files (natively compiled versions of the ML modules and natively compiled
versions of a few binaries) to PLIST.opt.
This has been build-tested on i386 (cross-compiled from amd64) and on
arm. unison builds and works.
"make test" shows the same amount of passed and failed tests (mostly
non-found libraries) as before; but this needs more investigation.
An additional issue to solve (with upstream) is that there's no easy way
to run the part of the test suite that would work on byte-code-only
architectures.
New in 5.11.9
Lots of changes. Mostly relevant to (semantic) web.
Also some Windows enhancements, such as better errors from sockets
and portability of extended file operations library.
New in 5.11.8
This version is exactly the same as version 5.10.2.
Mostly a bugfixing release.
New 5.11.7
Lots of stuff. The highlight is on environment issues (PlDoc, PceEmacs),
but there is a lot of other stuff as well.
If you use PlDoc, be aware that the previous release has a security issue.
New in 5.11.6
Many bug fixes and big speedup for some RDF applications (notably
those involving many graphs). The rest are mainly minor issues.
New in 5.11.5
This is a bug-fix release. This version also includes some of
the results of the ISO WG17 meeting in Edinburgh.
There is a modification to absolute_file_name/3 with regard to
directory handling.
There is -hopefully- a fix for a weird conflict around Bool when
compiling using Macports.
Pkgsrc changes:
o Copy FreeBSD's method to determine physical memory (fixed upstream
in later versions)
o Adapt to changes in the installed contents.
Upstream changes:
- Core
+ We are on github now! https://github.com/parrot/parrot
+ Configure, build and test subsystems were made Git-aware
+ New parrot_config key 'osvers' which contains
Operating System Version information
+ Updated to the latest nqp-rx
+ A proper exception is now thrown on IO read errors
+ Garbage Collector optimizations and memory leak fixes
+ Deprecated charset ops were removed
+ Configure system learned to detect IPv6
+ The mk_language_shell and create_language scripts have not yet been
ported to Git.
- Documentation
+ How To Use Git to work on Parrot
https://github.com/parrot/parrot/blob/master/docs/project/git_workflow.pod
+ Git Terminology
https://github.com/parrot/parrot/blob/master/docs/project/git_terminology.pod
- Platforms
- Testing
+ Increased coverage on: String, FixedBooleanArray, PMCProxy, LexPad
- Community
+ Macports portfile updated to 2.6.0
+ A Fedora package for PL/Parrot ( postgresql-plparrot ) was created
This package allows you to write stored procedures for PostgreSQL in
PIR or Rakudo Perl 6 http://pl.parrot.org
+ Parrot Foundation is teaming up with The Perl Foundation and taking
part in Google Code-In 2010.
Assume maintainership.
Changes since version 21:
V27
- Fixed REPOSITION-FILE FILE-SIZE and FILE-POSITION.
They used to use single precision offset. Now use double as specified.
- Delete object directories in Makefile clean.
- Fixed "Issue 4: Filehandle remains locked upon INCLUDE error".
http://code.google.com/p/pforth/issues/detail?id=4&can=1
- Fixed scrambled HISTORY on 64-bit systems. Was using CELL+ but really needed 4 +.
- Fixed floating point input. Now accepts "1E" as 1.0. Was Issue #2.
- Fixed lots of warning and made code compatible with C89 and ANSI. Uses -pedantic.
- Use fseek and ftell on WIN32 instead of fseeko and ftello.
- Makefile is now more standard. Builds in same dir as Makefile. Uses CFLAGS etc.
- Add support for console IO with _WATCOMC_
- Internal CStringToForth and ForthStringToC now take a destination size for safety.
- Run units tests for CStringToForth and ForthStringToC if PF_UNIT_TESTS is defined.
V26 5/20/2010
- 64-bit support for M* UM/MOD etc by Aleksej Saushev. Thanks Aleksej!
V25 5/19/2010
- Added 64-bit CELL support contributed by Aleksej Saushev. Thanks Aleksej!
- Added "-x c" to Makefile CCOPTS to prevent confusion with C++
- Allow space after -d command line option.
- Restore normal tty mode if pForth dictionary loading fails.
V24 2/20/09
- Fixed Posix IO on Mac. ?TERMINAL was always returning true.
- ACCCEPT now emits a space at end of line before output.
- Fixed RESIZE because it was returning the wrong address.
V23 8/4/2008
- Removed -v option from mkdir in build/unix/Makefile. It was not supported on FreeBSD.
Thank you Alexsej Saushev for reporting this.
V23 7/20/2008
- Reorganized for Google Code project.
V22 (unreleased)
- Added command line history and cursor control words.
- Sped up UM* and M* by a factor of 3. Thanks to Steve Green for suggested algorithm.
- Modified ACCEPT so that a line at the end of a file that does NOT have a line
terminator will now be processed.
- Use _getch(), _putch(), and _kbhit() so that KEY, EMIT and ?TERMINAL will work on PC.
- Fixed : foo { -- } 55 ; - Was entering local frame but not exiting. Now prints error.
- Redefined MAKE_ID to protect it from 16 bit ints
- John Providenza says "If you split local variables onto 2 lines, PForth crashes." Fixed. Also allow \
- Fixed float evaluation in EVALUATE in "quit.fth".
- Flush register cache for ffColon and ffSemiColon to prevent stack warnings from ;
- Set RUBY_API_VERSION after RUBY_VERSION has decided.
- Change old RUBY_DOCDIR and RUBY_EXAMPLESDIR to RUBY_DOC and RUBY_EG in
comment.
- Fix shared libraries PLIST to support Mac OS X with introducing RUBY_SLEXT:
Shared library => .dylib
Extension library => .bundle
- Improve PRINT_PLIST_AWK to handle new shared libraries.
No functional change shoud be done and fix PR pkg/44050.
Main changes:
Includes a new tactic (nsatz, standing for Hilbert's NullStellensatz, that
extends ring to systems of polynomial equations) and a few new libraries (a
certification of mergesort, a new library of finite sets with computational and
logical contents separated).
This version also comes with many improvements of existing features, especially
regarding the tactics, the module system, extraction, the type classes, the
program command, libraries, coqdoc. Here is an excerpt:
* new operator <+ for conveniently chaining application of functors
* new round of extension of the modular library of arithmetic
* support for matching terms with binders in Ltac,
* linking notations in coqdoc,
* quote tactic now working on arbitrary expressions,
* Lemma and co accept parameters that are automatically introduced,
* interactive proofs in module types,
* a beautifying coqc option for pretty-printing files
See the file CHANGES for a full log of changes.
Scala 2.8.1 has been designed to be fully binary compatible with
the previous version 2.8.0. It includes many bug fixes and contains
many small improvements and fixes, particularly concerning Scaladoc.
See http://www.scala-lang.org/node/8102 for more details.
Required for the upcoming graphics/shotwell port.
Upstream changes:
Vala 0.10.1
released on October 26, 2010
Changes
* Remove outdated GTK+ 3 bindings.
* Many bug fixes and binding updates.
Vala 0.10.0
released on September 18, 2010
Changes
* Port GIR parser and writer to GIR version 1.2.
* Update GLib bindings to 2.26 branch.
* Bug fixes.
Vala 0.9.8
released on September 4, 2010
Changes
* Add --fatal-warnings commandline option.
* Deprecate string.len () in favor of string.length.
* Deprecate use of D-Bus GLib in favor of GDBus.
* Many bug fixes and binding updates.
Vala 0.9.7
released on August 19, 2010
Changes
* Fix regression introduced by codegen refactoring.
Vala 0.9.6
released on August 18, 2010
Changes
* Drop deprecated support for assigning to construct properties.
* Some refactoring in the code generator.
* Bug fixes in bindings and vapigen.
Vala 0.9.5
released on August 9, 2010
Changes
* Add version suffix to support parallel installation.
* Define VALA_X_Y according to compiler version.
* Enable version header by default.
* Add vala.m4 with VALA_CHECK_PACKAGES macro.
* Add gedit-2.20 bindings (Andrea Del Signore).
* Add tokyocabinet bindings (Evan Nemerson).
* Various improvements to the Dova profile.
* Many bug fixes and binding updates.
Vala 0.9.4
released on July 27, 2010
Changes
* Append documentation comments to generated C files.
* Skip <doc> tags in .gir files.
* Various improvements to the Dova profile.
* Many bug fixes and binding updates.
Vala 0.9.3
released on July 14, 2010
Changes
* Support newlines in double quoted string literals.
* Add experimental support for main blocks.
* Add experimental vala tool to compile and run code.
* Initial support for generic delegates.
* Support using GClosure for delegate parameters.
* Support GBoxed-based memory management.
* Improvements to the .gir reader and writer.
* Various improvements to the Dova profile.
* Many bug fixes and binding updates.
Vala 0.9.2
released on June 20, 2010
Changes
* Initial support for GDBus-based clients and servers.
* Support implicit and explicit GVariant casts.
* Add support for [Deprecated] attribute.
* Add GenericArray as alternative binding to GPtrArray.
* Add gdk-pixbuf-3.0, gdk-3.0, gdk-x11-3.0, and gtk+-3.0 bindings.
* Updates to the GLib bindings.
* Many bug fixes.
Vala 0.9.1
released on June 7, 2010
Changes
* Support constants in enums.
* Deprecate +=/-= syntax to connect/disconnect signal handlers.
* Add experimental support for Dova profile.
* Update Genie parser (Jamie McCracken).
* Add clutter-gst-1.0 bindings (Ali Sabil).
* Add gdu and gdu-gtk bindings.
* Add libesmtp bindings (Adrien Bustany).
* Add mx-1.0 bindings (Evan Nemerson).
* Add orc-0.4 bindings (Fabian Deutsch).
* Add rest-extras-0.6 bindings (Adrien Bustany).
* Updates to the GLib, GStreamer, Linux, SQLite, and other bindings.
* Many bug fixes.
Vala 0.8.1
released on April 21, 2010
Changes
* Support constants in enums.
* Add clutter-gst-1.0 bindings (Ali Sabil).
* Add gdu and gdu-gtk bindings.
* Many bug fixes and binding updates.
Vala 0.8.0
released on March 31, 2010
Changes
* Infer type arguments when calling generic methods.
* Support `in' operator for arrays.
* Add experimental support for regular expression literals.
* Add experimental support for chained relational expressions.
* Add va_list support.
* Add clutter-gtk-0.10 bindings (Gordon Allott).
* Add gdl-1.0 bindings (Nicolas Joseph).
* Add gstreamer-app-0.10 bindings (Sebastian Dröge).
* Add gstreamer-cdda-0.10 bindings (Sebastian Dröge).
* Add gudev-1.0 bindings (Jim Nelson).
* Add libgda-report-4.0 bindings (Shawn Ferris).
* Add libgvc (graphviz) bindings (Martin Olsson).
* Add purple bindings (Adrien Bustany).
* Many bug fixes and binding updates.
New in Yap-6.2.0:
YAP now includes the ProbLog language, developed at Leuven.
Better compatibility with SWI-Prolog, YAP now includes most
of the SWI web stuff, the constraint solvers, the plunit code,
and the Java and python interfaces.
The MYDDAS SQL and odbc interfaces are now integrated and
enabled by default.
YAP also now includes support for rational numbers, a lot of new
math operations, lots of bug fixes, a few engine optimisations.
New libraries include Neumerkel's lambda library, a first step
at coinduction support, and Nicos excellent R-interface.
The co-routing code has been totally cleaned up.
Changes in Yap-6.0.7:
NEW: YAP_SetYAPFlag (request from Theo Mantadelis).
NEW: support div/2 as per WG17.
FIXED: restore from / file should just try that file.
FIXED: bad things can happen to P when user code is called (obs from Ingo Thon).
NEW: coinduction.yap.
FIXED: remove leftover files including two lib*.a (obs from Bernd Gutmann).
FIXED: Make clean should result in recompiling all *.o (obs from Bernd Gutmann).
NEW: Ulrich Neumerkel's lambda library.
DELETE: ^/2 and ^/3 as grammar built-ins.
FIXED: make install in clpqr was broken if we used local install_sh .
DELETE: atan/2 arithmetic function, use atan2/2 instead (WG17).
FIXED: compilation in Solaris was broken because of conflict in declaration of gethostname.
FIXED: acyclic_term/1 is now built-in (WG17).
NEW: subsumes_term/2 (WG17).
Pkgsrc changes:
o Adapt to changes in the set of installed files.
Upstream changes:
Parrot 2.9.1 News:
- This is a bugfix release to address an excessive slowdown in
the Rakudo Perl 6 build. If you run out of memory on a box with
< 512 MB physical RAM, please report it to us.
Parrot 2.9.0 News:
- Core
+ Parrot and Rakudo's build and tests can now be run under the profiling
runcore
+ IPv6 is now detected, laying the groundwork for future networking
improvements
+ mk_language_shell.pl and create_language.pl no longer require an
installed parrot
+ String PMC's 'reverse' method is now faster and supports all encodings
+ improvements and simplifications in internal string processing
+ Added API for adding STRINGs to the gc root set
+ Speed up ord, substr, index and string comparison opcodes
- Testing
+ "make smoke" supports parallel testing by honoring TEST_JOBS
+ Added tests for Socket PMC, StringBuilder PMC, ByteBuffer PMC,
mk_language_shell.pl, create_language.pl
+ Fixed "Configure.pl" about missing tests
+ Parrot and Rakudo Perl 6 now have access to the GCC Compile Farm
+ Testing on Darwin/PPC
- Git Migration
+ Most developer tools have been ported to Git
+ Majority of developer docs have been written for Git
- Platforms
+ Parrot can now be built on Minix
* libc++ and LLDB are major new additions to the LLVM collective.
* LLVM 2.8 now has pretty decent support for debugging optimized code.
You should be able to reliably get debug info for function arguments,
assuming that the value is actually available where you have stopped.
* A new 'llvm-diff' tool is available that does a semantic diff of .ll files.
* The MC subproject has made major progress in this release. Direct .o file
writing support for darwin/x86[-64] is now reliable and support for other
targets and object file formats are in progress.
* The memcpy, memmove, and memset intrinsics now take address space qualified
pointers and a bit to indicate whether the transfer is "volatile" or not.
* Per-instruction debug info metadata is much faster and uses less memory by
using the new DebugLoc class.
* LLVM IR now has a more formalized concept of "trap values", which allow the
optimizer to optimize more aggressively in the presence of undefined behavior,
while still producing predictable results.
* LLVM IR now supports two new linkage types (linker_private_weak and
linker_private_weak_def_auto) which map onto some obscure MachO concepts.
* The optimizer now has support for updating debug information as it goes.
A key aspect of this is the new llvm.dbg.value intrinsic. This intrinsic
represents debug info for variables that are promoted to SSA values
(typically by mem2reg or the -scalarrepl passes).
* The JumpThreading pass is now much more aggressive about implied value
relations, allowing it to thread conditions like "a == 4" when a is known to
be 13 in one of the predecessors of a block. It does this in conjunction with
the new LazyValueInfo analysis pass.
* The new RegionInfo analysis pass identifies single-entry single-exit regions
in the CFG. You can play with it with the "opt -regions analyze" or "opt
-view-regions" commands.
* The loop optimizer has significantly improved strength reduction and analysis
capabilities. Notably it is able to build on the trap value and signed
integer overflow information to optimize <= and >= loops.
* The CallGraphSCCPassManager now has some basic support for iterating within
an SCC when a optimizer devirtualizes a function call. This allows inlining
through indirect call sites that are devirtualized by store-load forwarding
and other optimizations.
* The new -loweratomic pass is available to lower atomic instructions into
their non-atomic form. This can be useful to optimize generic code that
expects to run in a single-threaded environment.
This version is compatible with the ocaml 3.12.0 in tree
Fix pkg/43956 and pkg/43957
Changes:
Camlp5 Version 5.15:
* [09 Aug 10] Updated compatibility for OCaml current version 3.12.1.
* [09 Aug 10] Upgraded compatibility for OCaml released version 3.12.0.
* [29 Jul 10] Added ability to write AST quotations with a colon before
the '<' (e.g. "<:expr:< foo >>") which, in pattern position, generates
a binding of the variable "loc" at the top node:
1/ normal usage (still working):
"fun [ <:expr< x >> -> 0 ]"
which is equivalent to:
"fun [ MLast.ExLid _ (Ploc.VaVal "x") -> 0 ]
2/ new usage:
"fun [ <:expr:< x >> -> 0 ]"
which is equivalent to:
"fun [ MLast.ExLid loc (Ploc.VaVal "x") -> 0 ]
* [21 Jun 10] Added compatibility for OCaml trunk version 3.13.0.
* [29 Apr 10] Fixed bug in pr_depend.cmo: a.B.c did not add module B.
Camlp5 Version 5.14:
* [28 Apr 10] Updated compatibility for OCaml current version 3.12.0.
* [31 Mar 10] Fixed bug in pr_o.cmo: error message when using "#use"
Pkgsrc changes:
o Adapt to new package contents.
Upstream changes:
- Core
+ Inlined hashing and comparison functions
+ Hash memory allocation moved from system malloc to lazy allocated
+ Avoided infinite catching of exceptions while dying from exception
+ Some svn fixes
+ Added a check for duplicate vtable entries in PMCs
+ Building Parrot with Perl 5.12 and gcc-4.5 / g++-4.5
+ Eliminated cruft left over after dynops_mapping
+ Improved charset and string encoding
+ Better organisation of programs by reposition it to "tools/build"
and "tools/release"
+ Implemented Exception clone vtable function
+ Added experimental function Parrot_getpid and getpid method
+ --gc-threshold command line argument added, which controls the %
of memory wasted by the GC
+ Closed a lot of tickets
- Testing
+ Added more core pmc tests
+ Rearranged some tests with C coverage
+ We now have Smolder back, at http://smolder.parrot.org . Submit
reports with "make smoke"
+ skip_all implementation in Parrot's Test::More completed
- GitMigration
+ Set up a test site for github trac plugin at http://mksig.org/trac/
+ Code of Trac plugin at github is on http://github.com/cotto/github-trac
+ Parrot is now mirrored on github at http://github.com/parrot/parrot
- Compilers
+ Fixed problem with imcc HLL in load_bytecode difference between
loading a pbc and compiling a pir
pkgsrc changes:
- updating bundled modules
* threads from 1.75 to 1.78
* threads::shared from 1.32 to 1.33
* Math::BigInt from 1.89_01 to 1.95 (without test merges)
Upstream changes of avove modules
>>> threads <<<
1.78 Wed Sep 22 17:21:22 2010
- Handle missing signal handler in thread (threads bug #60460)
1.77 Fri Mar 26 13:36:33 2010
- Fix race condition in t/threads.t (threads bug #55633)
1.76 Tue Mar 9 14:02:43 EST 2010
- Handle magic on arg to ->object() (bug #73330)
- Make ->object(threads->tid()) work like ->self() (bug #73330)
- Noted memory consumption issue in POD
- Added reusable thread pool example
>>> threads::shared <<<
1.33 Tue Mar 9 14:03:47 EST 2010
- Handle shared object reference during global destruction
- Document that changing array length via $#array doesn't work
>>> Math::BigInt <<<
2010-09-03 v1.90 rafl
* fix bnok() for k==0 and k==n-1
2010-09-10 v1.91 rafl
* fix various documentation bugs
2010-09-10 v1.92 rafl
* re-upload v1.91 with a fixed SIGNATURE
2010-09-13 v1.93 rafl
* Depend on perl >= 5.6.2
* Remove obsolete core test directory boilerplate
* Convert from Test to Test::More
2010-09-13 v1.94 rafl DEVELOPMENT RELEASE
* Attempt to fix Math::BigInt::Lite failures
2010-09-14 v1.95 rafl
* Re-upload v1.94 as a stable release
* fix a typo in patch-am
* MESSAGE.SunOS is not required since the previous bump,
because "sunaudiodev" module will not be installed anymore.
* install 2to3 script with version suffix (and ALTERNATIVES)
to avoid conflict with future python version.
Bump PKGREVISION.
Pkgsrc changes:
o Adapt to changes in installed files, and a new perl script.
Upstream changes:
- Core
+ cleanups in packfile and freeze/thaw handling
+ Hash optimizations that improve HLL startup and run time
+ As always, many bug fixes and other optimizations
- Runtime
+ some runtime library cleanups
- Testing
+ added more tests to improve coverage
+ new codingstd test for documentation in .pmc files
- Documentation
+ added documentation to .pmc files (some still missing but headers in place)
+ general documentation improvements and bringing up-to-date
- NQP-rx
+ Updated version included from http://github.com/perl6/nqp-rx includes
speed improvements
Contributed by Peter Bex via IRC.
Changes in 4.6.0
- the licenses used in all components of the core system have
been collected in the LICENSE file (Thanks to Peter Bex)
- Added new compiler option `-no-module-registration' which
omits generation of module registration code, even when
generation of import libraries has not been enabled
- running `chicken' without arguments now hints at the
existence of `csi' and `csc'
- `caar', `cdar' and `cddr' generate faster code
- calls to `list', `vector' and the internal structure
allocation primitive that take 1 to 8 arguments generate
faster code
- `chicken-install' now checks the version of the setup
configuration file `setup.defaults'
- added option `-exact' to `chicken-status' and `chicken-uninstall',
which treats the pattern argument as the literal name of the
extension to be listed/deinstalled
- `assert' shows line-number information, if available
(suggested by Alejandro Forero Cuervo)
- interpreted code records the lexical-environment at call-
sites, which can in case of an error be inspected with the
new `,c', `,f' and `,g' csi toplevel commands
- the evaluation-result history in `csi' can be inspected and
cleared (to reduce memory load) with the toplevel commands
`,h' and `,ch'
- unit `data-structures': deprecated `left-section' and
`right-section'
- fixed bug that caused the static syntax-environment of
syntax exported by a module to be incomplete
- module `setup-api': Documented the `version>=?' and
`extension-name-and-version' proceedures
- unit `posix': `utc-time->seconds' is considerably
faster on Mac OS X (thanks to Jim Ursetto);
added new procedure `file-type'
- the `time' macro now shows the correct number of minor
garbage collections
- the immediate-object check inside the marking procedure
of the garbage collector has been manually inlined which
results in a significant GC speedup, depending on memory
load
- unit `srfi-18' and `scheduler': various bugfixes (thanks
to Joerg Wittenberger)
- unit `srfi-4': bugfix in 8-bit vector allocation routines
(thanks to Kon Lovett)
- added `-:H' runtime option to dump heap state on exit
- fixed missing change in Makefile.cygwin (thanks to John Cowan)
- fixed bug in `let-optionals' macro that caused problems when the
rest-variable was actually named `rest' (thanks to Alejandro
Forero Cuervo)
- when Scheme files are translated to C++ or Objective-C, `csc'
will register the feature-identifiers `chicken-scheme-to-c++'/
`chicken-scheme-to-objc' ar compile-time
- fixed bug in expansion of `#!key' parameters in lambda-lists
- debug-output for forcing finalizers on exit goes to stderr now
(thanks to Joerg Wittenberger)
- the installation routines for extensions automatically add
version-number information if none is given in the extension
property list (suggested by Alejandro Forero Cuervo)
- `standard-extension' accepts `#f' now for the version number
and will use the version that has been obtained via
`chicken-install'
- `fifo?', `symbolic-link?', `directory?', `regular-file?', `socket?',
`character-device?' and `block-device?' now accepts file-descriptors
or filenames
- `find-files' takes keyword arguments, now (including the options
to process dotfiles and ignore symbolic links); the old argument
signature is still supported but deprecated
- removed dependency on `symbol-append' in some macros used in
srfi-4.scm to be able to compile the system with older chickens
- fixed bug in script that generates development snapshot
- added build-variable `TARGET_FEATURES', which can be used to pass
extra options enabling or disabling fetures for a system configured
for cross-compilation
- added compiler and interpreter option `-no-feature FEATURENAME' that
disables predefined feature identifiers
- code compiled with interrupts disabled will not emit inline files
for global inlining since they may execute in a context where
interrupts are enabled
- the `setup.defaults' file that holds download sources for
`chicken-install' now allows aliases for locations
- CHICKEN systems build from cross-compilation now by default
transparently build and install extensions for both the host
and target parts of the cross-compilation setup; the options
`-host' and `-target' can now be used to selectively build
an extensions for the host- and the target system, respectively
- also added `-host' and `-target' options to `chicken-status' and
`chicken-uninstall'
- `chicken-install' now respects the `http_proxy' environment variable
(contributed by Stephen Eilert)
- the `srfi-4' library unit has been heavily cleaned up and optimized
- optimization-level 3 now enables global inlining
- fixed the case that declarations listing global identifiers did not
correctly rename them
- deprecated `-N' option shortcut for `-no-usual-integrations' option in
`csc'
- `csi' now offers a toplevel command `,e' for invoking an external
editor (suggested by Oivind Binde)
- the `describe' command in `csi' now detects many circular lists
(contributed by Christian Kellermann)
- `csi' doesn't depend on the `srfi-69' library unit anymore
- when a closing sequence delimiter is missing or incorrect, the
reader also reports the starting line of the sequence
- the reader signals an error when a file contains certain characters
that indicate that it is a binary file
- procedure-information shown by the printer for procedures is now
corrected for some library procedures that where missing the correct
information; `getter-with-setter' copies procedure-information objects
into the newly created accessor procedure, if available
- calls to some known pure standard- or extended procedures are removed, if
the procedures are called with side-effect free arguments and the
result is not used (this can also by enabled for user procedures with
the `constant' declaration)
- fixed some build-system bugs related to installation
- fixed a problem in the C runtime code that prevented it to be compileable
without a configuration header-file
- the makefile-target to build a bootstrapping `chicken' executable
performs multi-stage build now
- changed error message when required extension is out of date (thanks to
Mario Goulart)
- documented library units loaded by default in `csi' (thanks to Moritz
Heidkamp)
- added `boot-chicken' makefile target to simplify bootstrapping
the system from sources and documented this in the README
(suggested by Jim Ursetto)
- CHICKEN can now be built on haiku (contributed by Chris Roberts)
- on Solaris, the system can be compiled with the SunPro C compiler
(thanks to Semih Cemiloglu)
- removed the `-disable-warnings' compiler option and `disable-warnings'
declaration specifier
- `fx/' and `fxmod' generate now faster code in safe mode
- cleaned up manual pages
- slightly optimized variable- and procedure-access
- in the compiler `-debug-level 2' implies `-scrutinize'
- internal compiler-transformation for `for-each' and `map'
apply now with any expression as the procedure argument
- the compiler warns about non-intrinsic exported toplevel variables
which are declared to be safe
- `csc' didn't handle the `-verbose' option (thanks to Mario Goulart)
- the `,d' command in `csi' now detects circular lists (thanks to
Christian Kellermann)
- strings passed to C runtime functions and which are converted to
0-terminated C strings are now checked for not containing embedded
`\0' characters (thanks to Peter Bex)
- errors in user-defined record printers are caught and shown in the
output instead of throwing an error to avoid endless recursion when
an error message is printed
- a feature identifier named `chicken-MAJOR.MINOR' is now defined
to simplify conditionalization of code on the CHICKEN version
- `getter-with-setter' copies the lambda-information (if available) from
the getter to the generated procedure
- `time' uses a somewhat more concise output format and outputs timing
information to stderr instead of stdout
- added a new chapter on cross-development to the manual
- added the `safe-globals' declaration specifier
- split up manual chapter `Modules and macros' into two chapters
(named `Modules' and `Macros', respectively - suggested by
Mario Goulart)
- the last 5 non-precompiled regular expressions are now internally
cached in compiled form, which speeds up repeated matching of
the same uncompiled regular expression dramatically
- added the new procedure `yes-or-no?' to the `utils' library unit
- added a `bench' makefile target that runs some non-trivial
benchmark programs
- added `install-target' and `install-dev' makefile target for
installing only target system libraries in cross-mode and
development files (static libraries and headers)
- added `[-]no-procedure-checks-for-toplevel-bindings' compiler
option and declaration
- usage of unimported syntax in modules gives more usable
error messages; in particular, used but unimported FFI forms are
now detected
- invalid syntactic forms (mostly `()') encountered by the compiler
or interpreter show the contextual form containing the expression,
or, if indicated by the context warns about missing imports
- simplified manual pages of all core tools - they now refer to
the output shown by invoking `<tool> -help'
- added new option `-feature FEATURE' to `chicken-install' tool
to pass feature-identifiers to invocations of `csc'
- removed deprecated `-host-extension' option from `chicken-install'
- `chicken-status' in a system built for cross-compilation now
lists extensions installed in the target prefix, unless the
new `-host' option is given on the command line
- `chicken-uninstall' in a system built for cross-compilation now
removes extensions installed in the target prefix, unless the
new `-host' option is given on the command line
- added missing entry for `finite?' to the `chicken' module
exports
- added new procedure `port-closed?' to the `library' unit
(contributed by Peter Bex)
- added new procedure `symbol-append' to the library unit
- the compiler-option `-optimize-level 0' is equivalent to
`-no-compiler-syntax -no-usual-integrations`
- internal rewritings of `map' and `for-each' ensure correct
evaluation order of the arguments and does a better job
at detecting non-list arguments (thanks to Jim Ursetto)
- `void' now takes arbitrary arguments and ignores them
- deprecated `noop' (from the `data-structures' unit) which
is now replaced by `void'
- the `time' macro now performs a major garbage collection
before executing the contained expressions and writes
the timings in a more compact format to the port given
by `(current-error-port)' instead of the standard output
port
- definitions of the form `(define define ...)' and
`(define-syntax define-syntax ...)' now trigger an error,
as required by R5RS (thanks to Jeronimo Pellegrini and Alex
Shinn)
- deprecated `random-seed' from the `extras' unit, since it
is identical to `randomize'
- added new procedure `create-temporary-directory' to the
`files' unit
- deprecated the optional path separator argument to
`make-pathname'
- slightly improved the performance of keyword argument
processing
- removed the deprecated `canonical-path' and `current-environment'
procedures from the `posix' unit
- warnings that mostly refer to programming style issues are
now coined `notes' and are only shown in the interpreter
or when debug-mode is enabled or when scrutiny is enabled
when compiling
ruby18-base-1.8.7.302
ruby19-base-1.9.2pl0
* Now patches of ruby-gdm, ruby-curses, ruby-readline and ruby-tk
are gathered to lang/ruby18-base and lang/ruby19-base.
Ruby's patchlevel N reflect as "plN" instead of ".N" from Ruby 1.9.
ruby18-base-1.8.7.302
ruby19-base-1.9.2pl0
Still Ruby 1.9.2pl0 support is disabled.
* Introduce RUBY_API_VERSION.
* RUBY_BUILD_RDOC and RUBY_BUILD_RI controls build of rdoc/ri. But,
currently ruby18-base and ruby19-base according to PKG_OPTION.
* Define rubygem supporting macros.
* RUBY_HAS_ARCHLIB is deprecated.
* Many directory macros are changed to relative path against PREFIX and
some of them are their name.
* Many directory macro, such as GEM_DOCDIR and GEM_LIBDIR are changed
to relative path against PREFIX.
* RUBYGEM_OPTIONS could be set from pkgsrc's Makefile.
* RUBY_BUILD_RDOC and RUBY_BUILD_RI controls build of rdoc/ri. But,
currently ruby18-base and ruby19-base according to PKG_OPTION.
* Assume name of commands gem18/rake18 or gem19/rake19.
* GEM_BUILD's default has changed from rake to gemspec. Most of rubygem
based pacakges would be installed via gem command.
* USE_RAKE controls the needs of the rake command.
* MASTER_SITES now use http://rubygems.org/downloads/ first.
* Check existence of GEM_DOCDIR before execute find(1).
* Deprecate RUBYGEM_PKGPREFIX which was defined the same as RUBY_PKGPREFIX
in long term.
* PRIVILEGED_STAGES isn't set "clean" any more.
misc/rubygems/rubygem.mk will be removed later.
Upstream changes:
Incompatible Changes
There are no changes intentionally incompatible with 5.12.1.
If any exist, they are bugs and reports are welcome.
Core Enhancements
Other than the bug fixes listed below, there should be no
user-visible changes to the core language in this release.
Modules and Pragmata
New Modules and Pragmata
This release does not introduce any new modules or pragmata.
Pragmata Changes
In the previous release, no VERSION; statements triggered a bug
which could cause feature bundles to be loaded and strict mode
to be enabled unintentionally.
Updated Modules
Carp
Upgraded from version 1.16 to 1.17.
Carp now detects incomplete caller() overrides and avoids using bogus
@DB::args. To provide backtraces, Carp relies on particular behaviour
of the caller built-in. Carp now detects if other code has overridden
this with an incomplete implementation, and modifies its backtrace
accordingly. Previously incomplete overrides would cause incorrect
values in backtraces (best case), or obscure fatal errors (worst case)
This fixes certain cases of Bizarre copy of ARRAY caused by modules
overriding caller() incorrectly.
CPANPLUS
A patch to cpanp-run-perl has been backported from CPANPLUS 0.9004.
This resolves [perl #55964] and [perl #57106], both of which related
to failures to install distributions that use Module::Install::DSL.
File::Glob
A regression which caused a failure to find CORE::GLOBAL::glob after
loading File::Glob to crash has been fixed. Now, it correctly falls
back to external globbing via pp_glob.
File::Copy
File::Copy::copy(FILE, DIR) is now documented.
File::Spec
Upgraded from version 3.31 to 3.31_01.
Several portability fixes were made in File::Spec::VMS: a colon is now
recognized as a delimiter in native filespecs; caret-escaped
delimiters are recognized for better handling of extended filespecs;
catpath() returns an empty directory rather than the current
directory if the input directory name is empty; abs2rel() properly
handles Unix-style input.
Utility Changes
* perlbug now always gives the reporter a chance to change the email
address it guesses for them.
* perlbug should no longer warn about uninitialized values when using
the -d and -v options.
Changes to Existing Documentation
* The existing policy on backward-compatibility and deprecation has
been added to perlpolicy, along with definitions of terms like
deprecation.
* "srand" in perlfunc's usage has been clarified.
* The entry for "die" in perlfunc was reorganized to emphasize its role
in the exception mechanism.
* Perl's INSTALL file has been clarified to explicitly state that Perl
requires a C89 compliant ANSI C Compiler.
* IO::Socket's getsockopt() and setsockopt() have been documented.
* alarm()'s inability to interrupt blocking IO on Windows has been
documented.
* Math::TrulyRandom hasn't been updated since 1996 and has been removed
as a recommended solution for random number generation.
* perlrun has been updated to clarify the behaviour of octal flags to
perl.
* To ease user confusion, $# and $*, two special variables that were
removed in earlier versions of Perl have been documented.
* The version of perlfaq shipped with the Perl core has been updated
from the official FAQ version, which is now maintained in the
briandfoy/perlfaq branch of the Perl repository at
git://perl5.git.perl.org/perl.git.
Installation and Configuration Improvements
Configuration improvements
* The d_u32align configuration probe on ARM has been fixed.
Compilation improvements
* An "incompatible operand types" error in ternary expressions when
building with clang has been fixed.
* Perl now skips setuid File::Copy tests on partitions it detects to
be mounted as nosuid.
Selected Bug Fixes
* A possible segfault in the T_PRTOBJ default typemap has been fixed.
* A possible memory leak when using caller() to set @DB::args has been
fixed.
* Several memory leaks when loading XS modules were fixed.
* unpack() now handles scalar context correctly for %32H and %32u,
fixing a potential crash. split() would crash because the third item
on the stack wasn't the regular expression it expected.
unpack("%2H", ...) would return both the unpacked result and the
checksum on the stack, as would unpack("%2u", ...). [perl #73814]
* Perl now avoids using memory after calling free() in pp_require when
there are CODEREFs in @INC.
* A bug that could cause "Unknown error" messages when
"call_sv(code, G_EVAL)" is called from an XS destructor has been fixed.
* The implementation of the open $fh, '>' \$buffer feature now supports
get/set magic and thus tied buffers correctly.
* The pp_getc, pp_tell, and pp_eof opcodes now make room on the stack
for their return values in cases where no argument was passed in.
* When matching unicode strings under some conditions inappropriate
backtracking would result in a Malformed UTF-8 character (fatal)
error. This should no longer occur. See [perl #75680]
Platform Specific Notes
AIX
* README.aix has been updated with information about the XL C/C++ V11
compiler suite.
Windows
* When building Perl with the mingw64 x64 cross-compiler incpath,
libpth, ldflags, lddlflags and ldflags_nolargefiles values in
Config.pm and Config_heavy.pl were not previously not being set
correctly because, with that compiler, the include and lib
directories are not immediately below $(CCHOME).
VMS
* git_version.h is now installed on VMS. This was an oversight in
v5.12.0 which caused some extensions to fail to build.
* Several memory leaks in stat() have been fixed.
* A memory leak in Perl_rename() due to a double allocation has been
fixed.
* A memory leak in vms_fid_to_name() (used by realpath() and
realname()) has been fixed.
Pkgsrc changes:
o Adapt to new content being installed (PLIST) and new perl script
which needs tweaking.
Upstream changes:
- Core
+ Plug some memory leaks
+ As always, bug fixes and some optimizations
- Runtime
+ added (experimental) URI::Escape
- Testing
+ Improved test coverage of core parrot
- Documentation
+ Updated the Squaak tutorial to use modern NQP-rx and PCT
- Platforms
+ The Fedora package 'parrot-devel' install the files for syntax-highlighting
and automatic indenting for the vim editor
- NQP-rx
+ Updated version included from http://github.com/perl6/nqp-rx includes
new or improved: regex backtracking, named assertions, interactive mode,
and setting (a minimal but useful runtime library)
What's New in Python 2.6.6?
===========================
*Release date: 2010-08-24*
Core and Builtins
-----------------
Library
-------
What's New in Python 2.6.6 rc 2?
================================
*Release date: 2010-08-16*
Library
-------
- Issue #9600: Don't use relative import for _multiprocessing on Windows.
- Issue #8688: Revert regression introduced in 2.6.6rc1 (making Distutils
recalculate MANIFEST every time).
- Issue #5798: Handle select.poll flag oddities properly on OS X.
This fixes test_asynchat and test_smtplib failures on OS X.
- Issue #9543: Fix regression in socket.py introduced in Python 2.6.6 rc 1
in r83624.
Extension Modules
-----------------
- Issue #7567: Don't call `setupterm' twice.
Tests
-----
- Issue #9568: Fix test_urllib2_localnet on OS X 10.3.
- Issue #9145: Fix test_coercion failure in refleak runs.
- Issue #8433: Fix test_curses failure caused by newer versions of
ncurses returning ERR from getmouse() when there are no mouse
events available.
What's New in Python 2.6.6 rc 1?
================================
*Release date: 2010-08-03*
Core and Builtins
-----------------
- Issue #6213: Implement getstate() and setstate() methods of utf-8-sig and
utf-16 incremental encoders.
- Issue #8271: during the decoding of an invalid UTF-8 byte sequence, only the
start byte and the continuation byte(s) are now considered invalid, instead
of the number of bytes specified by the start byte.
E.g.: '\xf1\x80AB'.decode('utf-8', 'replace') now returns u'\ufffdAB' and
replaces with U+FFFD only the start byte ('\xf1') and the continuation byte
('\x80') even if '\xf1' is the start byte of a 4-bytes sequence.
Previous versions returned a single u'\ufffd'.
- Issue #9058: Remove assertions about INT_MAX in UnicodeDecodeError.
- Issue #8941: decoding big endian UTF-32 data in UCS-2 builds could crash
the interpreter with characters outside the Basic Multilingual Plane
(higher than 0x10000).
- Issue #8627: Remove bogus "Overriding __cmp__ blocks inheritance of
__hash__ in 3.x" warning. Also fix "XXX undetected error" that
arises from the "Overriding __eq__ blocks inheritance ..." warning
when turned into an exception: in this case the exception simply
gets ignored.
- Issue #4108: In urllib.robotparser, if there are multiple 'User-agent: *'
entries, consider the first one.
- Issue #9354: Provide getsockopt() in asyncore's file_wrapper.
- In the unicode/str.format(), raise a ValueError when indexes to arguments are
too large.
- Issue #3798: Write sys.exit() message to sys.stderr to use stderr encoding
and error handler, instead of writing to the C stderr file in utf-8
- Issue #7902: When using explicit relative import syntax, don't try
implicit relative import semantics.
- Issue #7079: Fix a possible crash when closing a file object while using
it from another thread. Patch by Daniel Stutzbach.
- Issue #1533: fix inconsistency in range function argument
processing: any non-float non-integer argument is now converted to
an integer (if possible) using its __int__ method. Previously, only
small arguments were treated this way; larger arguments (those whose
__int__ was outside the range of a C long) would produce a TypeError.
- Issue #8417: Raise an OverflowError when an integer larger than sys.maxsize
is passed to bytearray.
- Issue #8329: Don't return the same lists from select.select when no fds are
changed.
- Raise a TypeError when trying to delete a T_STRING_INPLACE struct member.
- Issue #1583863: An unicode subclass can now override the __unicode__ method.
- Issue #7507: Quote "!" in pipes.quote(); it is special to some shells.
- Issue #7544: Preallocate thread memory before creating the thread to avoid
a fatal error in low memory condition.
- Issue #7820: The parser tokenizer restores all bytes in the right if
the BOM check fails.
- Issue #7072: isspace(0xa0) is true on Mac OS X
C-API
-----
- Issue #5753: A new C API function, :cfunc:`PySys_SetArgvEx`, allows
embedders of the interpreter to set sys.argv without also modifying
sys.path. This helps fix `CVE-2008-5983
<http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-5983>`_.
Library
-------
- Issue #8447: Make distutils.sysconfig follow symlinks in the path to
the interpreter executable. This fixes a failure of test_httpservers
on OS X.
- Issue #7092: Fix the DeprecationWarnings emitted by the standard library
when using the -3 flag. Patch by Florent Xicluna.
- Issue #7395: Fix tracebacks in pstats interactive browser.
- Issue #1713: Fix os.path.ismount(), which returned true for symbolic links
across devices.
- Issue #8826: Properly load old-style "expires" attribute in http.cookies.
- Issue #1690103: Fix initial namespace for code run with trace.main().
- Issue #5294: Fix the behavior of pdb's "continue" command when called
in the top-level debugged frame.
- Issue #5727: Restore the ability to use readline when calling into pdb
in doctests.
- Issue #6719: In pdb, do not stop somewhere in the encodings machinery
if the source file to be debugged is in a non-builtin encoding.
- Issue #8048: Prevent doctests from failing when sys.displayhook has
been reassigned.
- Issue #8015: In pdb, do not crash when an empty line is entered as
a breakpoint command.
- Issue #7909: Do not touch paths with the special prefixes ``\\.\``
or ``\\?\`` in ntpath.normpath().
- Issue #5146: Handle UID THREAD command correctly in imaplib.
- Issue #5147: Fix the header generated for cookie files written by
http.cookiejar.MozillaCookieJar.
- Issue #8198: In pydoc, output all help text to the correct stream
when sys.stdout is reassigned.
- Issue #1019882: Fix IndexError when loading certain hotshot stats.
- Issue #8471: In doctest, properly reset the output stream to an empty
string when Unicode was previously output.
- Issue #8397: Raise an error when attempting to mix iteration and regular
reads on a BZ2File object, rather than returning incorrect results.
- Issue #8620: when a Cmd is fed input that reaches EOF without a final
newline, it no longer truncates the last character of the last command line.
- Issue #7066: archive_util.make_archive now restores the cwd if an error is
raised. Initial patch by Ezio Melotti.
- Issue #5006: Better handling of unicode byte-order marks (BOM) in the io
library. This means, for example, that opening an UTF-16 text file in append
mode doesn't add a BOM at the end of the file if the file isn't empty.
- Issue #3704: cookielib was not properly handling URLs with a / in the
parameters.
- Issue #4629: getopt raises an error if an argument ends with = whereas getopt
doesn't except a value (eg. --help= is rejected if getopt uses ['help='] long
options).
- Issue #7895: platform.mac_ver() no longer crashes after calling os.fork()
- Issue #5395: array.fromfile() would raise a spurious EOFError when an
I/O error occurred. Now an IOError is raised instead. Patch by chuck
(Jan Hosang).
- Issue #1555570: email no longer inserts extra blank lines when a \r\n
combo crosses an 8192 byte boundary.
- Issue #9164: Ensure sysconfig handles dupblice archs while building on OSX
- Issue #7646: The fnmatch pattern cache no longer grows without bound.
- Issue #9136: Fix 'dictionary changed size during iteration'
RuntimeError produced when profiling the decimal module. This was
due to a dangerous iteration over 'locals()' in Context.__init__.
- Fix extreme speed issue in Decimal.pow when the base is an exact
power of 10 and the exponent is tiny (for example,
Decimal(10) ** Decimal('1e-999999999')).
- Issue #9130: Fix validation of relative imports in parser module.
- Issue #9128: Fix validation of class decorators in parser module.
- Issue #7673: Fix security vulnerability (CVE-2010-2089) in the audioop
module, ensure that the input string length is a multiple of the frame size
- Issue #6589: cleanup asyncore.socket_map in case smtpd.SMTPServer constructor
raises an exception.
- Issue #9125: Add recognition of 'except ... as ...' syntax to parser module.
- Issue #9085: email package version number bumped to its correct
value of 4.0.2 (same as it was in 2.5).
- Issue #9075: In the ssl module, remove the setting of a ``debug`` flag
on an OpenSSL structure.
- Issue #5610: feedparser no longer eats extra characters at the end of
a body part if the body part ends with a \r\n.
- Issue #8924: logging: Improved error handling for Unicode in exception text.
- Fix codecs.escape_encode to return the correct consumed size.
- Issue #6470: Drop UNC prefix in FixTk.
- Issue #8833: tarfile created hard link entries with a size field != 0 by
mistake.
- Issue #1368247: set_charset (and therefore MIMEText) now automatically
encodes a unicode _payload to the output_charset.
- Issue #7150: Raise OverflowError if the result of adding or subtracting
timedelta from date or datetime falls outside of the MINYEAR:MAXYEAR range.
- Issue #6662: Fix parsing of malformatted charref (&#bad;), patch written by
Fredrik Håård
- Issue #1628205: Socket file objects returned by socket.socket.makefile() now
properly handles EINTR within the read, readline, write & flush methods.
The socket.sendall() method now properly handles interrupted system calls.
- Issue #3924: Ignore cookies with invalid "version" field in cookielib.
- Issue #6268: Fix seek() method of codecs.open(), don't read or write the BOM
twice after seek(0). Fix also reset() method of codecs, UTF-16, UTF-32 and
StreamWriter classes.
- Issue #5640: Fix Shift-JIS incremental encoder for error handlers different
than strict
- Issue #8782: Add a trailing newline in linecache.updatecache to the last line
of files without one.
- Issue #8729: Return NotImplemented from collections.Mapping.__eq__ when
comparing to a non-mapping.
- Issue #5918: Fix a crash in the parser module.
- Issue #8688: Distutils now recalculates MANIFEST everytime.
- Issue #7640: In the new `io` module, fix relative seek() for buffered
readable streams when the internal buffer isn't empty. Patch by Pascal
Chambon.
- Issue #5099: subprocess.Popen.__del__ no longer references global objects,
leading to issues during interpreter shutdown.
- Issue #8681: Make the zlib module's error messages more informative when
the zlib itself doesn't give any detailed explanation.
- Issue #8674: Fixed a number of incorrect or undefined-behaviour-inducing
overflow checks in the audioop module.
- Issue #8571: Fix an internal error when compressing or decompressing a
chunk larger than 1GB with the zlib module's compressor and decompressor
objects.
- Issue #8573: asyncore _strerror() function might throw ValueError.
- Issue #8483: asyncore.dispatcher's __getattr__ method produced confusing
error messages when accessing undefined class attributes because of the cheap
inheritance with the underlying socket object.
- Issue #4265: shutil.copyfile() was leaking file descriptors when disk fills.
Patch by Tres Seaver.
- Issue #8621: uuid.uuid4() returned the same sequence of values in the
parent and any children created using ``os.fork`` on MacOS X 10.6.
- Issue #8313: traceback.format_exception_only() encodes unicode message to
ASCII with backslashreplace error handler if str(value) failed
- Issue #8567: Fix precedence of signals in Decimal module: when a
Decimal operation raises multiple signals and more than one of those
signals is trapped, the specification determines the order in which
the signals should be handled. In many cases this order wasn't
being followed, leading to the wrong Python exception being raised.
- Issue #7865: The close() method of :mod:`io` objects should not swallow
exceptions raised by the implicit flush(). Also ensure that calling
close() several times is supported. Initial patch by Pascal Chambon.
- Issue #8581: logging: removed errors raised when closing handlers twice.
- Issue #4687: Fix accuracy of garbage collection runtimes displayed with
gc.DEBUG_STATS.
- Issue #8354: The siginterrupt setting is now preserved for all signals,
not just SIGCHLD.
- Issue #8577: distutils.sysconfig.get_python_inc() now makes a difference
between the build dir and the source dir when looking for "python.h" or
"Include".
- Issue #8464: tarfile no longer creates files with execute permissions set
when mode="w|" is used.
- Issue #7834: Fix connect() of Bluetooth L2CAP sockets with recent versions
of the Linux kernel. Patch by Yaniv Aknin.
- Issue #6312: Fixed http HEAD request when the transfer encoding is chunked.
It should correctly return an empty response now.
- Issue #8086: In :func:`ssl.DER_cert_to_PEM_cert()`, fix missing newline
before the certificate footer. Patch by Kyle VanderBeek.
- Issue #8549: Fix compiling the _ssl extension under AIX. Patch by
Sridhar Ratnakumar.
- Issue #2302: Fix a race condition in SocketServer.BaseServer.shutdown,
where the method could block indefinitely if called just before the
event loop started running. This also fixes the occasional freezes
witnessed in test_httpservers.
- Issue #5103: SSL handshake would ignore the socket timeout and block
indefinitely if the other end didn't respond.
- The do_handshake() method of SSL objects now adjusts the blocking mode of
the SSL structure if necessary (as other methods already do).
- Issue #5238: Calling makefile() on an SSL object would prevent the
underlying socket from being closed until all objects get truely destroyed.
- Issue #7943: Fix circular reference created when instantiating an SSL
socket. Initial patch by Péter Szabó.
- Issue #8108: Fix the unwrap() method of SSL objects when the socket has
a non-infinite timeout. Also make that method friendlier with applications
wanting to continue using the socket in clear-text mode, by disabling
OpenSSL's internal readahead. Thanks to Darryl Miles for guidance.
- Issue #8484: Load all ciphers and digest algorithms when initializing
the _ssl extension, such that verification of some SSL certificates
doesn't fail because of an "unknown algorithm".
- Issue #4814: timeout parameter is now applied also for connections resulting
from PORT/EPRT commands.
- Issue #3817: ftplib.FTP.abort() method now considers 225 a valid response
code as stated in RFC-959 at chapter 5.4.
- Issue #5277: Fix quote counting when parsing RFC 2231 encoded parameters.
- Issue #8179: Fix macpath.realpath() on a non-existing path.
- Issue #8310: Allow dis to examine new style classes.
- Issue #7667: Fix doctest failures with non-ASCII paths.
- Issue #7624: Fix isinstance(foo(), collections.Callable) for old-style
classes.
- Issue #7512: shutil.copystat() could raise an OSError when the filesystem
didn't support chflags() (for example ZFS under FreeBSD). The error is
now silenced.
- Issue #3890, #8222: Fix recv() and recv_into() on non-blocking SSL sockets.
Also, enable the SSL_MODE_AUTO_RETRY flag on SSL sockets, so that blocking
reads and writes are always retried by OpenSSL itself.
- Issue #6544: fix a reference leak in the kqueue implementation's error
handling.
- Issue #7774: Set sys.executable to an empty string if argv[0] has been
set to an non existent program name and Python is unable to retrieve the real
program name
- Issue #6906: Tk should not set Unicode environment variables on Windows.
- Issue #1054943: Fix unicodedata.normalize('NFC', text) for the Public Review
Issue #29
- Issue #7494: fix a crash in _lsprof (cProfile) after clearing the profiler,
reset also the pointer to the current pointer context.
- Issue #4961: Inconsistent/wrong result of askyesno function in tkMessageBox
with Tcl/Tk-8.5.
- Issue #7356: ctypes.util: Make parsing of ldconfig output independent of
the locale.
Extension Modules
-----------------
- Fix memory leak in ssl._ssl._test_decode_cert.
- Issue #9422: Fix memory leak when re-initializing a struct.Struct object.
- Issue #7900: The getgroups(2) system call on MacOSX behaves rather oddly
compared to other unix systems. In particular, os.getgroups() does
not reflect any changes made using os.setgroups() but basicly always
returns the same information as the id command.
os.getgroups() can now return more than 16 groups on MacOSX.
- Issue #9277: Fix bug in struct.pack for bools in standard mode
(e.g., struct.pack('>?')): if conversion to bool raised an exception
then that exception wasn't properly propagated on machines where
char is unsigned.
- Issue #7384: If the system readline library is linked against
ncurses, do not link the readline module against ncursesw. The
additional restriction of linking the readline and curses modules
against the same curses library is currently not enabled.
- Issue #2810: Fix cases where the Windows registry API returns
ERROR_MORE_DATA, requiring a re-try in order to get the complete result.
Build
-----
- Issue #8854: Fix finding Visual Studio 2008 on Windows x64.
- Issue #3928: os.mknod() now available in Solaris, also.
- Issue #8175: --with-universal-archs=all works correctly on OSX 10.5
- Issue #6716: Quote -x arguments of compileall in MSI installer.
- Issue #1628484: The Makefile doesn't ignore the CFLAGS environment
variable anymore. It also forwards the LDFLAGS settings to the linker
when building a shared library.
Tests
-----
- Issue #7849: Now the utility ``check_warnings`` verifies if the warnings are
effectively raised. A new private utility ``_check_py3k_warnings`` has been
backported to help silencing py3k warnings.
- Issue #8672: Add a zlib test ensuring that an incomplete stream can be
handled by a decompressor object without errors (it returns incomplete
uncompressed data).
- Issue #8629: Disable some test_ssl tests, since they give different
results with OpenSSL 1.0.0 and higher.
- Issue #8576: Remove use of find_unused_port() in test_smtplib and
test_multiprocessing. Patch by Paul Moore.
- Issue #7027: regrtest.py keeps a reference to the encodings.ascii module as a
workaround to #7140 bug
- Issue #3864: Skip three test_signal tests on freebsd6 because they fail
if any thread was previously started, most likely due to a platform bug.
- Issue #8193: Fix test_zlib failure with zlib 1.2.4.
Documentation
-------------
- Issue #9255: Document that the 'test' package is for internal Python use
only.
- Issue #8909: Added the size of the bitmap used in the installer created by
distutils' bdist_wininst. Patch by Anatoly Techtonik.
INSTALL_PROGRAM and INSTALL_SCRIPT.
They reflect to Ruby's Config::CONFIG constant which contains
various configuration parametes which would be used when installing
extention modules including ruby gems.
Setting INSTALL explicitly reset the line in mk/configure/gnu-configure.mk.
CONFIGURE_ENV+= ac_given_INSTALL=${INSTALL:Q}\ -c\ -o\ ${BINOWN}\ -g\ ${BINGRP}
Should be fix PR pkg/43684 and pkg/43687.
Bump PKGREVISION.
We intentionally wire down the 'libswanted' list in the package Makefile, so
don't let the hints file add new libraries that may be found outside Pkgsrc
control.
Fixes build on Gentoo and SuSE systems, and possibly other Linux systems too
that might have stray -lgdbm_compat libraries lying around.
changes in sbcl-1.0.42 relative to sbcl-1.0.41
* build changes
** Cross-compilation host is now specified to make.sh using
command-line argument --xc-host=<command> instead of a positional
argument. (thanks to Daniel Herring)
** Install location can be specified to make.sh using command-line
argument --prefix=<path>. (lp#550889s, thanks to Daniel Herring)
* optimization: The default implementation of
COMPUTE-DISCRIMINATING-FUNCTION does much less wasted work.
* enhancement: Explicit memory barrier operations are now available for use
by multithreaded code. See documentation for details.
* enhancement: Experimental support for threading on Linux/PPC.
* bug fix: RENAME-PACKAGE returns the package. (Thanks to Eric Marsden)
* bug fix: EXPT signals an error if first argument is a zero and second
argument is a floating point zero. (lp#571581, thanks to Roman Marynchak)
* bug fix: DEFTYPE signals an error for non-list lambda-lists.
(lp#576594, thanks to Roman Marynchak)
* bug fix: make ASDF-INSTALL compatible with the now-included ASDF2.
(lp#612998, reported by Phil Hargett; patch from Jim Wise)
* support packages from other than default channels
* replace deprecated function usage in pear_plist.php
* generate filelist from installed registry, to support "install as" files.
tested with all pear pacakgs in pkgsrc.
pkgsrc changes:
- preparing for databases/p5-gdbm (using Makefile.common)
- supporting external access to perl install dirs (dirs.mk)
- fixing some errors/warnings from pkglint
- adding conflict to packages of CPAN modules which are in Perl5 code
on the one hand and are broken with perl-5.10+
Bumping PKGREVISION (dependencies changed, rebuild highly recommended).
Recursive rebuild is not required.
pkgsrc changes,
* Update base pear packages:Archive_Tar-1.3.7 (recommented)
* Remove ${FILESDIR}/pear.sh, same as bundled one.
* set LICENSE=2-clause-bsd
* add user-destdir support
Upstream Changelog:
* svntag improvements, tag package files passed into the command and better
directory checks [dufuz]
* rely on Structures_Graph minimum version instead of recommended version
[saltybeagle]
* Fix Bug #12613: running go-pear.phar from C:\ fails [dufuz]
* Fix Bug #14841: Installing pear into directory with space fails [dufuz]
* Fix Bug #16644: pear.bat returns syntax error when parenthesis are in install
path. [dufuz] [patch by bwaters (Bryan Waters)]
* Fix Bug #16767: Use of Depreciated HTML Attributes in the Exception class
[dufuz] [patch by fuhrysteve (Stephen J. Fuhry)]
* Fix Bug #16864: "pear list-upgrades -i" issues E_WARNINGS [dufuz] [patch by
rquadling (Richard Quadling)]
* Fix Bug #17220: command `pear help` outputs to stderr instead of stdout
[dufuz]
* Fix Bug #17234: channel-discover adds port to HTTP Host header [dufuz]
* Fix Bug #17292: Code Coverage in PEAR_RunTest does not work with namespaces
[sebastian]
* Fix Bug #17359: loadExtension() fails over missing dl() when used in
multithread env [dufuz]
* Fix Bug #17378: pear info $package fails if directory with that name exists
[dufuz]
0.90.5
======
* Byte compiler bugfix in docstring loss [Teika Kazura]
Practical effect: Previously, if a user byte-compile files, then
the docstring is lost in sawfish-config. This is fixed.
Details: Loss of docstring happened only if (1) byte compiler is
not given `--write-docs', so only byte-compilation by user (2)
defvar is invoked within macro definition, including `defcustom' in
Sawfish. Plain defvar was not affected by this bug. It was
because in 'trans-defvar' in lisp/rep/vm/compiler/rep.jl, the
docstring is stored in a wrong property `variable-documentation'.
It is corrected to `documentation'.
Symbol `variable-documentation' is not used elsewhere, including
Sawfish and emacs' sawfish-mode.
* Our own implementation of dlmalloc is disabled since 2002, as it
breaks librep on several architectures. From this version on, we
don't ship it. [Kim B. Heino]
* Our own implementation of alloca/memcmp is not needed, rely on
libcs instead. [Kim B. Heino]
* Majorly improved the debian and rpm packaging scripts [Christopher
Bratusek] [Kim B. Heino]
* Install headers to $includedir/rep/ instead of $includedir/
[Christopher Bratusek]
* Autotools improvements (Makefile, autogen.sh & Co.) [Christopher
Bratusek]
* Added `file-gid-p' function for getting the gid of a file
[Christopher Bratusek]
* Added `file-uid-p' function for getting the uid of a file
[Christopher Bratusek]
0.90.4
======
* Library version bumped to 9.4.1
* Use $prefix/lib instead of $prefix/libexec
* Fixups for OpenBSD [Jasper Lievisse Adriaanse]
* Don't hardcode /usr in manpage installation path
0.90.3
======
* Added `file-executable-p' function
* Improved spec-file [Kim B. Heino]
* Improved ebuild [Fuchur, Christopher Bratusek]
* Fallback check for ffi, if there's no libffi.pc [Vincent Untz]
* Removed rep-config script (use librep.pc instead)
* Added man-pages for `rep', `repdoc', `rep-remote' and
`rep-xgettext' [Debian]
* Added debian packaging scripts based on the official ones
0.90.2
======
* Fixed a major defunct with prin1 + utf8 [Timo Korvola]
* Fixed descriptions of formats %s and %S in streams.c
0.90.1
======
* Properly terminate the rep interpreter [Jürgen Hötzel]
* Use readline history in interactive mode [Jürgen Hötzel]
* Tar file-handler does now support XZ compressed tarballs
* Tar file-handler does now support LZMA compressed tarballs
* Improved regex for parsing tar output in the file-handler [Alexey
I. Froloff]
* We do now correctly check for libffi
* Improved libffi-binding [Alexey I. Froloff]
* Updated librep.sym for missing entries [Alexey I. Froloff]
* Fixed an incomplete definition
* Added -L$prefix to libs section of the .pc file
* No C++ style comments in C code
to trigger/signal a rebuild for the transition 5.10.1 -> 5.12.1.
The list of packages is computed by finding all packages which end
up having either of PERL5_USE_PACKLIST, BUILDLINK_API_DEPENDS.perl,
or PERL5_PACKLIST defined in their make setup (tested via
"make show-vars VARNAMES=..."), minus the packages updated after
the perl package update.
sno@ was right after all, obache@ kindly asked and he@ led the
way. Thanks!
Pkgsrc changes:
o Adapt PLIST and Makefile to what's in the package source and what
is now being installed.
Upstream changes:
* Core
o Added ByteBuffer PMC to allow direct byte manipulation
o Modified some PMC vtable functions to reduce complexity,
simplifying coverage.
o Modified PAST to generate symbolic PASM constants in PIR output.
o General STRING API cleanups
o Increased test coverage of core PMCs
o Fixed up 'exit' opcode, added CONTROL_EXIT exception type.
o Experimental 'unroll' opcode renamed to 'finalize'
* NQP-rx
o Added proper support for multisubs and multimethods
o Fixed sigspace handling ** quantifier in regexes
o Added \e strings
o Added use of inversion lists for charclass lists in regexes
* Platforms
o EPEL (Extra Packages for Enterprise Linux) packages for
RHEL6.beta are available
* Begin moving towards Lorito, the ops refactor to enable pervasive
self-hosting and JIT compilation.
o All ops are now built with the self-hosted opsc compiler.
o For more Information about Lorito see:
+ http://trac.parrot.org/parrot/wiki/Lorito
+ http://trac.parrot.org/parrot/wiki/LoritoRoadmap
Pkgsrc changes:
- Adjust some patches
- Remove patches integrated upstream
- Use Perl's "Policy.sh" framework (along the way remove some patches)
- Link in an enterprise friendly way on HPUX
- in buildlink3.mk bump minimum required pkgsrc Perl version to
5.12.0
- placate some pkglint warnings
Upstream changes:
- From version 5.12.1 announce
This release contains minor bug fixes and updates of several core
modules, as well as minor documentation updates. It should be fully
backward compatible with Perl 5.12.0.
- From version 5.12.0 announce:
Perl 5.12.0 represents approximately two years of development since
version 5.10.0 and contains over 750,000 lines of changes across over
3,000 files from over 200 authors and committers.
[...]
Notable changes in Perl 5.12 include:
* Perl now conforms much more closely to the Unicode standard.
Additionally, this release includes an upgrade to version
5.2 of the standard.
* New experimental APIs allow developers to extend Perl with
"pluggable" keywords and syntax.
* Perl now has a better sense of time and will be able to keep
accurate time well past the "Y2038" barrier.
* New syntax allows developers to specify package version numbers
directly in "package" statements
* Perl now warns the user about the use of deprecated features
by default.
- For a complete list of changes see included perl5120delta(1) and
perl5121delta(1) or http://perldoc.perl.org/perl5120delta.html and
http://perldoc.perl.org/perl5121delta.html
Some of the highlights in release 3.12 are:
* Polymorphic recursion is supported, using explicit type
declarations on the recursively-defined identifiers.
* First-class modules: module expressions can be embedded as
values of the core language, then manipulated like any other
first-class value, then projected back to the module level.
* New operator to modify a signature a posteriori: S with type
t := tau denotes signature S where the t type component is
removed and substituted by the type tau elsewhere.
* New notations for record expressions and record patterns:
{ lbl } as shorthand for { lbl = lbl }, and { ...; _ } marks
record patterns where some labels were intentionally omitted.
* Local open let open ... in ... now supported by popular demand.
* Type variables can be bound as type parameters to functions;
such types are treated like abstract types within the
function body, and like type variables (possibly generalized)
outside.
* The module type of construct enables to recover the module
type of a given module.
* Explicit method override using the method! keyword, with
associated warnings and errors.
Changes in 5.11.4:
* ADDED: library coinduction.pl, after discussion with Gopal Gupta.
* CLEANUP: Share more of the Makefiles between Windows and the rest
* FIXED: destruction of a queue if a thread is waiting to write
* FIXED: error by current_blob/2.
* MODIFIED: incorrect handling of (^)/2 in setof/3 and bagof/3.
The new version should now fully comply to ISO. As of now,
- The predicate ^/2 no longer exists
- ^ is only handled by bagof/setof if it appears
directly at the toplevel of the 2nd argument.
E.g., the following is NOT allowed:
setof(X, (foo(X); Y^foo(Y)), L).
Code must be rewritten. At runtime, problems are signalled
by ^/2 being undefined. compile-time analysis can be achieved using
gxref/0 (or check/0 for quick-and-dirty).
* FIXED: GC error when nesting (if->then/*no-else*/) inside \+.
Thanks to test-case by Keri Harris.
* FIXED: retractall(x(X,X)). Roberto Tiella.
Changes in 5.11.3:
* FIXED: Top level now performs expand_goal/2 *after* correcting the
goal.
* MODIFIED: PL_CUTTED -> PL_PRUNED. Kept PL_CUTTED as a #define for
compatibility.
* FIXED: Correctly read RDF/XML that is in UTF-8 on Windows.
* ENHANCED: Faster enumeration of subjects for writing small RDF gaphs
* ENHANCED: Better sizing of the hash-tables.
* CLEANUP: Use size_t in many places for RDF-DB
* ADDED: RDF-DB index on +,+,+. This provides a significant speedup in
loading databases with multiple objects on the same SP.
* ADDED: Syntax closer to ISO with set_prolog_flag(iso,true).
See Prolog flag iso for a detailed description.
* MAINT: Fix compilation under -DO_DEBUG. Andy Valencia.
* FIXED: Syntax: proper bracketing of arguments
* MODIFIED: Simpler syntax within { }.
According to 6.3.6 the term within curly brackets is read with
priority 1201, so no extra parentheses are needed.
Changes in 5.11.2:
* ADDED: lang_equal/2 to RDF library to test language equality. Jacco
van Ossenbruggen
* FIXED: Error from http_absolute_location/3 if an alias is not
defined.
* FIXED: Avoid error in edit/1 hook if an HTTP path-alias is undefined.
* ADDED: Just-in-time creation of thread-pools for the HTTP server
using the new hook
http:create_pool/1. Cleanup of the code for faster spawning of
worker-threads.
* MODIFIED: Threaded server defaults: keep-alive-timeout is now 2
seconds (was 5)
and the worker-count is now 5 (was 2). Worker-count is increased
because many
servers need it as since version 5.9.x there is hardly a price for
more workers.
* ADDED: option hide_children(Bool) to make prefix handlers hide their
children
and allow http_delete_handler to delete a handler-by-id.
* PORT: Realise set_end_of_file in Windows version
* ENHANCED: Implement safe-locking of the RDF persistent database
* ADDED: set_end_of_stream/1.
* PORT: Fix for MS VS2010 compilation. Degski.
* ADDED: lang_matches/2 to library(rdf_db)
* FIXED: url_to_filename/2 in rdf_persistency was broken due to
steadfastness
fix in DCG (commit 1a1a5699). Jacco van Ossenbruggen.
* FIXED: list_settings/0. Li Li.
* FIXED: handling of = and contains in xpath. Carsten van Weelden.
* ADDED: library(semweb/sparql_client) providing a SPARQL client API.
* ENHANCED: Layout for listing where the body resides in another
module.
* ENHANCED: Provide style pldoc(Id) with each PlDoc handler
* ADDED: reply_html_page/3: re-stylable HTML pages
* FIXED: Possible crash in cleanup handlers.
See comment above discardChoicesAfter() for more details.
* ENHANCED: Make it possible to give syntax-warnings with exact
positions.
* ADDED: Warnings for missing quotes for , and |
* MODIFIED: Stricter list syntax. E.g. [a,b|c,d] or [a|b|c] are now
illegal.
In the unlikely case this was intended, the term after the bar (|)
must be
enclosed in brackets. I.e. [a,b|(c,d)] or [a|(b|c)].
* FIXED: Syntax: proper quoting of | and ,
* PORT: Improve behavioral consistency between 32-bit and 64-bit
allocation
* FIXED: Memory leak for threads allocating chunks of 512 bytes. Matt
Lilley.
* ADDED: computing SHA incrementally. Ivan Shmakov
* INSTALL: Item#567: make check of xpce loading user's .plrc
* FIXED: steadfastness in DCG translation. Item#379
* FIXED: Item#559: hanging system in GC. Only affects 32-bit platforms
when doing GC on large stacks that have >8Mb chunks of continuous
garbage. Ulrich Neumerkel.
* DOC: errors for atom_length/2. Ulrich Neumerkel.
* ADDED: Library(http/js_write) to embed JavaScript calls into HTML
pages
* FIXED: Processing of stack-limit options in thread_create/3. Jacco.
* FIXED: Avoid direct access to private predicates of module error.
* ADDED: rdf_reachable/5, providing a distance limit and returning the
distance.
* ADDED: rdf_is_resource/1 and rdf_is_literal/1 for completeness.
* FIXED: Thread-creation if ulimit -s == infinite.
* FIXED: Do not skip character after . in turtle parser. Lourens van
der Meij.
* PORT: Windows snprintf --> _snprintf
* MODIFIED: On systems that provide getrlimit(), the default
C-stack-size of
created threads is the same as that of the main thread. This was
already
the default on Linux, but not on e.g. MacOS.
* ADDED: statistics(c_stack, StackSize) to query the system (C-)stack
limit.
For consistency, thread_create now also accepts c_stack as parameter.
This patch also cleans some type-issues with regard to stack-size
specification and removes 2Gb limit for Win64 due to the use of long.
* ADDED: Skos prefix
* ADDED: http_server_property/2. This patch also does some cleanup to
the meta-predicate declarations for the multi-threaded HTTP server.
* FIXED: Check for integer overflows in numeric-arguments for
format-specifiers
* FIXED: Possible buffer overflow on format('~200f', [1]). Mike
Elston.
* ADDED: library(http/http_openid), supporting OpenID consumers and a
server.
* ADDED: library(http/http_host) to obtain the public hostname of our
HTTP service
* CLEANUP: Stricter type-checking in load_files/2. Discussion on
comp.lang.prolog.
* FIXED: Old naming conventions. Julian Zubek.
* FIXED: Atom-GC for blobs that do not have PL_BLOB_UNIQUE. Samer
Abdallah.
* ADDED: Allow for selective importing of operators in use_module/2.
After discussion with Vitor.
* PORT: Do not use chrpath if the kernel is not a shared object
* PORT: Some type-issues in socket libs (nonblockio.c)
I do not think any of these could have been fatal. They just produce
alarming messages from the compiler.
Changes in 5.11.1:
* PORT: Windows: make fake EWOULDBLOCK error compatible with new def in
VS2010
* PORT: Fix download of Windows prerequisites for Windows 7. Degski.
* ADDED: Support for "406 Not Acceptable" responses in the HTTP server.
* INSTALL: make prepare check all checked-out modules, regardless of
-a.
* FIXED: Cleanup after uncaught stack-overflow exceptions. Paul
Singleton.
* DOC: Fixed code for skeleton client. Mike Elston.
* FIXED: ?= for cases where the arguments do not unify. Marco Montali.
* FIXED: Possible crash on stack-shift in cleanup handler. Jochem
Liem.
* FIXED: Possibly wrong association of $and in frozen/2. Samer
Abdallah.
* FIXED: Handling option register_namespaces(true) in rdf_load/2.
Vangelis Vassiliadis.
* MODIDIED: rdf_assert/4 now discards *complete* duplicates (incl
source).
* PORT: Avoid including termios.h into pl-os.h to localise the
dependencies
and (hopefully) make the system compile on Solaris.
* PORT: Get prototype for posix_openpt(), avoiding warning
* PORT: Move time-dependencies where they are needed; use POSIX
clock_gettime() if it is provided.
* DOC: Enhance comments of rb_insert/4 and rb_insert_new/4.
* MODIFIED: Make rdf_meta/1 module-aware. This means that calls are
only expanded if they resolve to the exact predicate that is declared
using rdf_meta. This might break code relying on the old behaviour
that expansion took place regardless of the module.
It is possible to get a warning on calls that used to be expanded
and are now not using this call before *loading* the program:
?- debug(rdf_meta).
The new code also expands NS:Local appearing literally in the head
of rdf_meta-declared clauses.
Pkgsrc changes:
o Now pass the --optimize flag to configure
o Pull in devel/gmp/buildlink3.mk so that multi-precision arithmetic
is enabled (and gets testing)
o Adapt PLIST and Makefile to what's present and being installed
Upstream changes:
- Core
+ Various long-standing bugs in IMCC were fixed
+ STRINGs are now immutable.
+ use STRINGNULL instead of NULL when working with strings
+ Fixed storage of methods in the NameSpace PMC
+ Added :nsentry flag to force method to be stored in the NameSpace
+ Added StringBuilder and PackfileDebug PMCs
+ Added experimental opcodes find_codepoint and unroll
- Compilers
+ Fixed reporting of line numbers in IMCC
+ Removed deprecated NQP compiler, replaced with new NQP-RX
+ Removed NCIGen compiler
- Deprecations
+ Tools to distribute on CPAN were removed
+ Deprecated dynpmcs have been removed to external repositories
+ Removed RetContinuation PMC
+ Removed CGoto, CGP, and Switch runcores
- Tests
+ Many tests for the extend/embed interface were added
+ done_testing() is now implemented in Test::More
- Tools
+ The fakexecutable tapir is renamed parrot-prove
+ Performance fixes to the pbc_to_exe tool
+ Fix data_json to work outside of trunk
+ The dynpmc GzipHandle (zlib wrapper) was added
+ The library Archive/Tar.pir was added.
+ The library Archive/Zip.pir was added.
+ The libraries LWP.pir, HTTP/Message.pir & URI.pir were added.
- Miscellaneous
+ Six Parrot-related projects accepted to GSoC
+ Improve use of const and other compiler hints
executable of a Python script, from Helge Muehlmeier per pkgsrc-wip
This pkg abuses Python distutils in a non-portable way, so I've
added a hack which relinks the startup code behind setuptools'
back. This is easier than patching the setup.py script into doing trt.
Changes in Version 2.8.0 (14-Jul-2010)
Scala 2.8.0 is a significantly innovative release, which
contains a large amount of fixes and introduces many new
features:
* Redesigned collection library
* New array implementation, manifests for polymorphic arrays
* Type specialization
* Named and default arguments
* Package objects
* Beefed up Scala Swing libraries, better documentation
* Revamped REPL
* Implicits changes
* Improved equality
* Packrat parser combinators
* Improved XML library
* Type constructor inference
* Improved Annotations
* Enhanced actors
* Support for continuations
Internal improvements
* New presentation compiler
* New build manager
* Speed improvements
Additional tools
* Scaladoc 2
* Sbaz 2
* Scalap
* Scala IDE for Eclipse
Changes:
Version 1.39
Drew Yao fixed buffer overflow problems in mk_sharp_const.
Version 1.38
Interim release until the rewrite, mostly incorporating modifications from
Kevin Cozens. Small addition for Cygwin in the makefile, and modifications
by Andrew Guenther for Apple platforms.
Version 1.37
Joe Buehler submitted reserve_cells.
Version 1.36
Joe Buehler fixed a patch in the allocator.
Alexander Shendi moved the comment handling in the scanner, which
fixed an obscure bug for which Mike E had provided a patch as well.
Kevin Cozens has submitted some fixes and modifications which have not
been incorporated yet in their entirety.
3.9.0
=====
* Prerelease of the 4.0.0 that will be R6RS compliant.
* The doc directory temporary removed from distrib.
The old docs obsolete and new is not ready.
* Simple R6RS-like library manager implemented.
"load" function removed (use "import" syntax instead).
* the ksi module system removed in a favour of new R6RS library system.
* `psyntax.ss' that implemented 'syntax-case' in older revisions of the ksi, was removed.
As a result, only core syntax evaluated by ksi.
And ksi core is not a R6RS core :-(
* '(gensym)' generate (almost) unique symbol names.
As a part of generated symbol name used a 'session_id' that is initialized at startup.
So, each ksi invocation has its own 'session_id'.
This can help (in a future) to hardly optimize the scheme code evaluation
Now the 'session_id' is initialized with random bits converted to readable string.
* the "do" syntax, "delay" syntax and "force" function was removed from the ksi core.
* the 'struct Ksi_Environ' and companions was rewriten almost completly.
Now the environment has the name, the export list
and the hashtab that maps the symbol to the value
A value can be a plain value (the symbol is a variable) or a syntax value.
If a symbol is bound to a syntax value, it can not be defined, assigned or
used in any other case except in a intented syntax form
As a special case, if a symbol is bound to a syntax value and the value is a procedure,
the procedure is applyed to the form before evaluating it.
(Look at 'ksi_defsyntax()' and 'ksi_compile()' for details).
This mechanics is intended for low-level macros (as "define-macro!")
and derived forms such as 'cond', 'case', etc.
The normal sanitary macro system planned ;-).
* All packed-in-the-pointer objects was removed.
Such objects as 'ksi_nil', 'ksi_false' and so on,
are implemented as a pointers to a memory location
that allocated when initializing the ksi library.
Do not be suprized the error if you use its before calling `ksi_init()'.
* The 'struct Ksi_Char' (added) is internal representation of a character now.
(first step to unicode).
* the GMP library used for exact arithmetics now.
As a result, the ksi supports the exact rational numbers now.
* The short integers was removed. Bignums are the only exact numbers now.
And predefined constans 'ksi_zero', 'ksi_one', etc was removed too.
(Use 'ksi_long2num()' in C code)
* A flonum has real and imag part always, and so, a flonum is a complex number now.
But 'real?' returns #t if imaginary part is zero
and 'number->string' do not print "+0.0i" if imaginary part is zero.
(This is not what R6RS requires but alas, it is the ksi)
* balanced comments are writen within "#| |#" construct now
(not with "#! !#" as in the previous revisions of the ksi).
The sequence "#!<identifier>" used for the reader directives now.
In addition, to support the scheme scripts, the sequence "#! " (note whitespace)
and "#!/" in the very begin of a file supposed as a one-line comment.
* Reader now case-sensitive by default, as required R6RS.
Use the "#!fold-case" directive to switch the reader to the case-insensitive mode,
and "#!no-fold-case" to switch to the case-sensitive mode back.
* By default, the reader parses postfix keyword notation, such as "key:".
"#!keyword-prefix" switches the reader to prefix mode, such as ":key",
and "#!keyword-postfix" switches the reader back to postfix mode.
* By default, the reader do not parses the old ksi keyword notation, such as "#:key".
Use the "#!keyword-sharp" directive to switch the old mode on,
and "#!no-keyword-sharp" to switch off.
* "#!r6rs" directive switches the reader to the R6RS mode,
and "#!ksi" directive switches the reader to the default mode back.
In the r6rs mode:
-- the keywords are not parsed at all;
-- any sequence that starts with digit, '+', '-', '.', tried to be parsed as a number
and, if cannot, exception raised.
Otherwice the sequence is parsed as a symbol.
In the ksi mode:
-- the keywords are parsed;
-- any sequence, that starts with digit, or '+', '-', '.' folowed by digit,
tried to be parsed as a number and, if cannot, exception raised.
Otherwice the sequence is parsed as a symbol.
So, the sequence like '+x' is parsed as symbol in the ksi mode, but raise exception in the r6rs mode.
Note that in the previous revisions of the ksi, any sequence,
that cannot be parsed as a number, was considered as a symbol (never exception raised).
3.5.1
=====
* bugfixes
* (Windows) ksi dll name has version info now.
3.5.0
=====
* code refactoring
Continuation barriers now block only downward continuation jumps
and allow escapes through full continuations
Changed internal-definition handling to allow expressions mixed
with definitions
Added support for subprocesses as new process groups
Added support for best-effort termination of subprocess by a
custodian
Added flreal-part, flimag-part, make-flrectangular, and unsafe
variants
Added fl->eact-integer, fl->fx, and unsafe-fl->fx
Added #:async-apply option to _fun
Added chaperone-evt
Added identifier-prune-to-source-module
Changed apply binding to enable lower-level optimizations
Upgraded to libffi 3.0.9+
Highlights:
- configure system rewritten and simplified
- better emulation of SWI, especially of C-interface, allows:
o port of SWI packages: sgml and plunit work better, clib, RDF,
zlib and http seem to be working well, semweb compiles
o better integration with C: it is now possible to call YAP from JPL
reliably (all tests in the demos/java directory succeed in Linux)
o it is now possible to create a stream with SWI routines and use
YAP IO (parser, writer) on it
o pyswip: YAP now includes a version of the pyswip package for
experimentation: all the demos seem to be work (YAP must be compiled
as a dynamic library)
- compilation in Sun and NetBSD
- YAP can now handle very, very large terms in compiled clauses.
- several new builtins
- improve thread implementation, especially locking in IO routines and indexing
o fix C thread interface
- fix odbc support in MYDDAS
- fix overflow in ==
- fix bad call to subsumes/2
- new version of trie library, developed by Theo and Ricardo
Changes in sbcl-1.0.41 relative to sbcl-1.0.40:
* optimization: validity of observed keyword initargs to MAKE-INSTANCE is
cached, leading to many fewer expensive calls to
COMPUTE-APPLICABLE-METHODS.
* optimization: in the (unoptimized) general method for MAKE-INSTANCE on a
CLASS argument, search for and call an appropriate optimized ctor function
if it exists.
* bug fix: WRITE always returns the correct value.
NEWS FROM 3.2.1 TO 3.2.2
o Fixes to gst-remote.
o Fixes to the Emacs mode.
o Fixes to compilation warnings.
o Generational GC is broken on SPARC and is now disabled.
o When compiling a 32-bit version on a 64-bit system, detection of
which packages to install was improved.
NEWS FROM 3.2 TO 3.2.1
o All built-in packages can be disabled with a configure option like
--disable-gdbm or --disable-complex.
o All tools support --verbose.
o Fixed bugs in the distributed gnu-smalltalk.pc file.
o Improved portability to Solaris.
o Many bug fixes to UDP sockets. In particular, daragrams received from
a socket can be placed directly onto another socket using #nextPut:.
o Many improvements to VisualGST.
o Each test in the testsuite has a 1-minute timeout.
o The undocumented DynamicVariable class in GNU Smalltalk 3.2 is now
documented, but it had a small change in the implementation. The
#defaultValue class method is not present anymore, and is replaced by
#valueIfAbsent:. Subclasses can override #value to obtain the
effect of #valueIfAbsent:.
The class has also been rewritten and is much faster now.
NEWS FROM 3.1 TO 3.2
Backwards-incompatible bug fixes and changes:
o Collection>>#anyOne gives an error if the receiver is empty.
o "aNumber raisedToInteger: 0" will raise an exception if and only if
aNumber is not a floating-point value. This was backwards in previous
versions.
o Interval>>#first and Interval>>#last give an error if the interval is
empty (i.e. if start > stop and the step is positive, or start < stop
and the step is negative).
o SequenceableCollection>>#sortBy: was renamed to #sort:. The old message
is _not_ provided for backwards-compatibility.
o The semantics of recursive directory descent were adjusted as follows:
1) the '.' and '..' directory entries are not passed; 2) for #do:, the
file is passed directly (3.1 used to pass another recursive decorator);
3) before the descent starts, the directory itself is passed to the block.
o The XML parser will ignore whitespace if placed in non-validating mode.
o The suggested way to instantiate an XML parser is now using
"SAXParser defaultParserClass", which will work with either of the
two available parsers (the existing Smalltalk parsers, and the Expat
bindings; see below).
New features (base classes):
o Floating-point rounding to integer is now correct also for very
large numbers; fix contributed by Nicolas Cellier.
o Methods have been added to Integer to print numbers with padding
to a specified width.
o New FilePath methods #owner:, #group:, #owner:group: allow setting
a file's owner and group.
o Sending mode, file time and owner setters to a recursive directory
decorator (such as `Directory working all') sets the mode/time/owner
on all files under the path.
o Speedups for hashed collections
o String>>#subStrings: accepts a single separator character or also, in
accordance with ANSI, a String holding a list of separators.
o The old instance-based exception handling has been removed. Standard
ANSI class-based exceptions have been available since GNU Smalltalk 1.8.2.
o The text-based #inspect method is now available also as
Object>>#examine and Object>>#examineOn:, so that it will also work
on arbitrary streams and will be available when a GUI is loaded.
Contributed by Stefan Schmiedl.
New features (tools):
o gst-convert can emit Squeak fileouts.
o New graphical interface VisualGST, loaded with gst-browser. The old
browser is still available, but obsolete.
o New ProfilerTools package for callgraph profiling of Smalltalk programs.
A companion gst-profile tool will create profiles in callgrind-compatible
format. Contributed by Derek Zhou.
o Packages can be downloaded and updated directly from the network. The
repository of packages is at http://smalltalk.gnu.org/project; the
repository holds the location of the package.xml files, which point to
the svn or git URL of the code.
In order to download a package with git, version 1.6.2 is required.
o SUnit supports expected failures.
New features (VM):
o Fixes in garbage collection heuristics provide improved performance on
programs allocating many long-lived objects. Contributed by Derek Zhou.
o Floating-point numbers are now read correctly.
o In idle times, GNU Smalltalk will perform incremental garbage
collection. When it finishes, GNU Smalltalk will consume zero CPU.
o Mostly rewritten Windows port. It should mostly work except for
sockets. The socket code will be rewritten (for all platforms)
for 3.3 anyway.
o Support for one-way become (Object>>#becomeForward:)
o The millisecond clock uses CLOCK_MONOTONIC where available.
New features (packages):
o Many improvements to the Gtk bindings.
o NetClients supports ESMTP commands.
o New goodie, the SandstoneDb object persistence framework.
o Swazoo upgraded to version 2.2, plus local fixes.
o The Complex package uses numerically stable algorithms
o The Continuations package provides delimited continuations via
BlockClosure>>#shift and BlockClosure>>#reset. Both methods accept
a block (1-arg for shift, 0-arg for reset).
o An XML pull parser is included as package XML-PullParser. The package
is based on the VisualWorks and Squeak pull parsers by Anthony Blakey
and Ken Treis.
o In addition to the validating XML parser, a non-validating Expat-based
parser is available in package XML-Expat. The Expat parser is
experimental, but it is very fast and supports both pull and push
operation.
Bug fixes:
o Code running as a Generator now honors exception handlers outside the
Generator block.
o Fixed copying of Dictionary to not share the underlying associations.
o Fixed ##() expressions that return a block
o EPIPE is handled correctly.
o Running on kernels without SOCK_CLOEXEC support will not fail
even if the VM was compiled on a kernel that supported it.
o The Sockets package failed to initialize when the machine was not
connected to the network; this has been fixed.
o The Transcript now uses a RecursionLock. This fixes crashes when
an exception occurred while printing a backtrace.
Miscellaneous:
o GNU Smalltalk now does not rely anymore on specific (old) versions
of libtool.
o GNU Smalltalk tries to enable Emacs modes automatically on systems
that support a site-lisp/site-start.d directory.
o REPL autocompletion includes all symbols including unary messages
(and variable names).
o Process-local variables are now stored in an IdentityDictionary rather
than a LookupTable.