* Interpreter cloning, threads, and concurrency
* Lexically scoped warning categories
* Unicode and UTF-8 support
* Support for interpolating named characters
* "our" declarations
* Support for strings represented as a vector of ordinals
* Improved Perl version numbering system
* New syntax for declaring subroutine attributes
* File and directory handles can be autovivified
* open() with more than two arguments
* 64-bit support
* Large file support
* Long doubles
* "more bits"
* Enhanced support for sort() subroutines
* C<sort $coderef @foo> allowed
* File globbing implemented internally
* POSIX character class syntax [: :] supported
* Improved C<qw//> operator
* pack() format 'Z' supported
* pack() format modifier '!' supported
* pack() and unpack() support counted strings
* Comments in pack() templates
* Weak references
* Binary numbers supported
* Lvalue subroutines
* Some arrows may be omitted in calls through references
* Boolean assignment operators are legal lvalues
* exists() is supported on subroutine names
* exists() and delete() are supported on array elements
* Pseudo-hashes work better
* Automatic flushing of output buffers
* Better diagnostics on meaningless filehandle operations
* Where possible, buffered data discarded from duped input filehandle
* eof() has the same old magic as <>
* binmode() can be used to set :crlf and :raw modes
* C<-T> filetest recognizes UTF-8 encoded files as "text"
* system(), backticks and pipe open now reflect exec() failure
* Improved diagnostics
* Diagnostics follow STDERR
* syswrite() ease-of-use
* Better syntax checks on parenthesized unary operators
* Bit operators support full native integer width
* Improved security features
* C<require> and C<do> may be overridden
* $^X variables may now have names longer than one character
* New variable $^C reflects C<-c> switch
* New variable $^V contains Perl version as a string
* Optional Y2K warnings
* Modules
* Pragmata
* dprofpp
* find2perl
* h2xs
* perlcc
* perldoc
* The Perl Debugger
* Simple sort() using { $a <=> $b } and the like are optimized
* Optimized assignments to lexical variables
* Faster subroutine calls
* -Dusethreads means something different
* New Configure flags
* Threadedness and 64-bitness now more daring
* Long Doubles
...
See 'perldoc perldelta' for a full list.
improved address book handling, more reliable mailbox backend. The code
has however some experimental and unfinished features enabled so be warned!
The POP problems some people experienced have not been really addressed
yet.
Changes are:
* Added color-counting and palette-building capability
* Added "-fix" option, for fixing bad CRC's and other correctable
conditions.
* Write sBIT.alpha=1 when adding an opaque alpha channel and sBIT is
present.
* Identify the erroneous 2615-byte sRGB monitor profile being written by
Photoshop 5.5, which causes many apps to crash, and replace it
with an sRGB chunk.
* Added a check for input and output on different devices before
rejecting the output file as being the same as the input file
based on inode.
* Added some UCITA language to the disclaimer.
* Reduced scope of Try/Catch blocks to avoid nesting them, and removed
returns from within the Try blocks, where they are not allowed.
* Removed direct access to the png structure when possible
* Removes extra IDAT chunks (such as found in some POV-ray PNGs) with a
warning instead of bailing out.
* Removed the old setjmp interface entirely.
* RGB to Grayscale conversion is more accurate (15-bit instead of 8-bit)
and now uses only integer arithmetic.
* Changed "Compressed" to "Uncompressed" in help for -itxt.
* Stifled some compiler warnings
* Add test on stat_buf.st_size to verify fpin==fpout, because stat in
MSVC++6.0 standard version returns stat_buf.st_ino=0 for all files
* Revised pngcrush.h to make it easier to control PNG_ZBUF_SIZE and
PNG_NO_FLOATING_POINT_SUPPORTED from a makefile.
* Restored ability to enter "replace_gamma" value as a float even when
floating point arithmetic is not enabled.
* Enabled removing tEXt, zTXt, or iTXt chunks by chunk type
* Removed definition of TOO_FAR from pngcrush.h
* Uses new libpng error handler; if a file has errors, pngcrush now will
continue on and compress the remaining files instead of bailing
out.
shell script for scotty (and tkined, while here) to real honest-to-God
binary executables from interpreted shell scripts. This is so that
the #!/usr/pkg/bin/scotty construct can be allowed to work.
The problem is that our execve(2) does not permit an interpreted
script to be used as an interpreter (this is currently undocumented,
but that will be fixed shortly). The symptom is that the scotty
script (tcl code) gets fed to the shell.
Full list of changes available at http://www.sulaco.org/mp3/history.html,
but highlights include:
- Faster Huffman encoding routines
- faster pow() code.
- faster FFT routines
- new scalefac data structure - improves performance!
- Fitlers based on polyphase filterbank. should be slightly better
since the responce is independent of the blocktype, and they are
slightly faster.
+ many bugfixes
the Python DB-API module. Also, note backwards compatibility issue.
Important changes for 3.0
Remove strlen() call from pglarge_write() and get size from object.
(Richard@Bouska.cz)
Add a little more error checking to the quote function in the wrapper
Add extra checking in _quote function
Wrap query in pg.py for debugging
Add DB-API 2.0 support to pgmodule.c (andre@via.ecp.fr)
Add DB-API 2.0 wrapper pgdb.py (andre@via.ecp.fr)
Correct keyword clash (temp) in tutorial
Clean up layout of tutorial
Return NULL values as None (rlawrence@lastfoot.com) (WARNING: This will
cause backwards compatibility issues.)
Change None to NULL in insert and update
Change hash-bang lines to use /usr/bin/env
Clearing date should be blank (NULL) not TODAY
Quote backslashes in strings in _quote (brian@CSUA.Berkeley.EDU)
Expanded and clarified build instructions (tbryan@starship.python.net)
Make code thread safe (Jerome.Alet@unice.fr)
Add README.distutils (mwa@gate.net & jeremy@cnri.reston.va.us)
Many fixes by chifungfan@yahoo.com, tony@printra.net, jeremy@alum.mit.edu
and others to get the final version ready to release.
Changes are:
Changed sprintf() to strcpy() in png_write_sCAL_s() to work without STDIO
Added data_length parameter to png_decompress_chunk() function
Revised documentation to remove reference to abandoned png_free_chnk functions
Fixed an error in png_rgb_to_gray_fixed()
Revised example.c, usage of png_destroy_write_struct().
Renamed makefile.ibmvac3 to makefile.ibmc, added libpng.icc IBM project file
Added a check for info_ptr->free_me&PNG_FREE_TEXT when free'ing text in png.c
Simplify png_sig_bytes() function to remove use of non-ISO-C strdup().
Added png_data_freer() function.
In the code that checks for over-length tRNS chunks, added check of
info_ptr->num_trans as well as png_ptr->num_trans (Matthias Benckmann)
Check for existing data and free it if the free_me flag is set, in png_set_*()
and png_handle_*().
Only define PNG_WEIGHTED_FILTERS_SUPPORTED when PNG_FLOATING_POINT_SUPPORTED
is defined.
Changed several instances of PNG_NO_CONSOLE_ID to PNG_NO_STDIO in pngrutil.c
and mentioned the purposes of the two macros in libpng.txt/libpng.3.
Revised png_set_iCCP() and png_set_rows() to avoid prematurely freeing data.
Add checks in png_set_text() for NULL members of the input text structure.
Removed superfluous prototype for png_set_itxt from png.h
Removed "else" from pngread.c, after png_error(), and changed "0" to "length".
Changed several png_errors about malformed ancillary chunks to png_warnings.
Added png_pass-* arrays to pnggccrd.c when PNG_USE_LOCAL_ARRAYS is defined.
Relocated paragraph about png_set_background() in libpng.3/libpng.txt
and other revisions (Matthias Benckmann)
Relocated info_ptr->free_me to restore binary compatibility with libpng-1.0.5
(breaks compatibility with libpng-1.0.6).
Relocated info_ptr->free_me, png_ptr->free_me, and other info_ptr and
png_ptr members to restore binary compatibility with libpng-1.0.5
(breaks compatibility with libpng-1.0.6).
Rearranged some members at the end of png_info and png_struct, to put
unknown_chunks_num and free_me within the original size of the png_structs
and free_me, png_read_user_fn, and png_free_fn within the original png_info,
because some old applications allocate the structs directly instead of
using png_create_*().
Added documentation of user memory functions in libpng.txt/libpng.3
Modified png_read_png so that it will use user_allocated row_pointers
if present, unless free_me directs that it be freed, and added description
of the use of png_set_rows() and png_get_rows() in libpng.txt/libpng.3.
Added PNG_LEGACY_SUPPORTED macro, and #ifdef out all new (since version
1.00) members of png_struct and png_info, to regain binary compatibility
when you define this macro. Capabilities lost in this event
are user transforms (new in version 1.0.0),the user transform pointer
(new in version 1.0.2), rgb_to_gray (new in 1.0.5), iCCP, sCAL, sPLT,
the high-level interface, and unknown chunks support (all new in 1.0.6).
This was necessary because of old applications that allocate the structs
directly as authors were instructed to do in libpng-0.88 and earlier,
instead of using png_create_*().
Added makefile.intel and updated makefile.watcom (Pawel Mrochen)
Overloaded png_read_init() and png_write_init() with macros that convert
calls to png_read_init_2() or png_write_init_2() that check the version
and structure sizes.
Made PNG_NO_ITXT_SUPPORTED the default setting, to avoid memory overrun
when old applications fill the info_ptr->text structure directly.
Added PNGAPI macro, and added it to the definitions of all exported functions.
Relocated version macro definitions ahead of the includes of zlib.h and
pngconf.h in png.h.
Made PNG_NO_CONSOLE_IO the default condition when PNG_BUILD_DLL is defined.
Use MSC _RPTn debugging instead of fprintf if _MSC_VER is defined.
Added png_access_version_number() function.
Check for mask&PNG_FREE_CHNK (for TEXT, SCAL, PCAL) in png_free_data().
Expanded libpng.3/libpng.txt information about png_data_freer().
Changed pnggccrd.c and pngvcrd.c to handle bad adaptive filter types as
warnings instead of errors, as pngrutil.c does.
Set the PNG_INFO_IDAT valid flag in png_set_rows() so png_write_png()
will actually write IDATs.
Made the default PNG_USE_LOCAL_ARRAYS depend on PNG_DLL instead of WIN32.
Make png_free_data() ignore its final parameter when freeing data that can
have multiple instances (text, sPLT, unknowns).
Removed info_ptr->valid tests from png_free_data(), as in version 1.0.5.
Added png_set_invalid() function.
Fixed incorrect illustrations of png_destroy_write_struct() in example.c.
Revised the deliberately erroneous Linux setjmp code in pngconf.h to produce
fewer error messages.
Set each pointer to NULL after freeing it in png_free_data().
Worked around a problem in pngconf.h; AIX's strings.h defines an "index"
macro that conflicts with libpng's png_color_16.index. (Dimitri Papadapoulos)
Added PNG_NO_POINTER_INDEXING macro to use array-indexing instead of pointer
indexing in pngrutil.c and pngwutil.c to accommodate a buggy compiler.
Added a check for overlength PLTE chunk in pngrutil.c.
Added PNG_NO_POINTER_INDEXING macro to use array-indexing instead of pointer
indexing in pngrutil.c and pngwutil.c to accommodate a buggy compiler.
Added a warning in png_decompress_chunk() when it runs out of data.
Revised the copyright/disclaimer/license notice.
Corrected the definition of PNG_TRANSFORM_INVERT_ALPHA (0x0400 not 0x0200)
Added PNG_USE_DLL macro.
Added "msvc" and contrib/msvctest directories with MSVC++ project files
(Simon-Pierre Cadieux) and contrib/visupng directory (Willem van Schaik).
Removed leading underscores from "_PNG_H" and "_PNG_SAVE_BSD_SOURCE" macros.
Fixed bugs in pngwrite.c and pngwutil.c that prevented writing iCCP chunks.
Revised the definition of "trans_values" in libpng.3/libpng.txt
README.SSL update by Marko Asplund <aspa@hip.fi>
Added cookie example to lwpcook.pod
HTTP::Date::str2time returns undef on failure instead
of an empty list as suggested by Markus B Krüger <markusk@pvv.org>
$request->uri($uri) will now always store a copy of the $uri.
HTTP::Status: Added status codes from RFC 2616 and RFC 2518 (WebDAV)
LWP::RobotUA will not parse robots.txt unless content type and
content sample looks right.
LWP::UserAgent: Deal with multiple WWW-Authenticate headers.
Patch by Hugo <hv@crypt.compulink.co.uk>
$ua->proxy can now return the old proxy settings without
destroying the old one.
Based on patch by Benjamin Low <ben@snrc.uow.edu.au>
LWP::Protocol::http update
- don't terminate header parsing on bad headers
- extra_sock_opts
- preparations for keep alive support
- method CONNECT
WWW::RobotRules deal with various absolute URIs in the
disallow lines.
Makefile.PL: Make sure we have HTML::TokeParser
Added HTML::Form to the distribution.
LWP::Protocol::http: Kill any Connection header
LWP::MediaTypes: Fixed builtin html/text mapping.
Added bz2 to suffixEncoding
URI::WithBase (and URI::URL) now support $u->new_abs constructor.
URI::WithBase->new("foo", "URI::URL") bug fixed.
QNX file support by Norton Allen <allen@huarp.harvard.edu>.
Support for rsync:-URI by Dave Beckett <D.J.Beckett@ukc.ac.uk>