Berkeley DB 4.7.25 Change Log
Database or Log File On-Disk Format Changes:
1. The log file format changed in 4.7.
New Features:
1. The lock manager may now be fully partitioned, improving performance
on some multi-CPU systems. [#15880]
2. Replication groups are now architecture-neutral, supporting
connections between differing architectures (big-endian or
little-endian, independent of structure padding). [#15787] [#15840]
3. Java: A new Direct Persistence Layer adds a built-in Plain Old Java
Object (POJO)-based persistent object model, which provides support
for complex object models without compromises in performance. For an
introduction to the Direct Persistence Layer API, see Getting Started
with Data Storage. [#15936]
4. Add the DB_ENV->set_intermediate_dir_mode method to support the
creation of intermediate directories needed during recovery. [#15097]
5. The DB_ENV->failchk method can now abort transactions for threads,
which have failed while blocked on a concurrency lock. This
significantly decreases the need for database environment recovery
after thread of control failure. [#15626]
6. Replication Manager clients now can be configured to monitor the
connection to the master using heartbeat messages, in order to
promptly discover connection failures. [#15714]
7. The logging system may now be configured to pre-zero log files when
they are created, improving performance on some systems. [#15758]
Database Environment Changes:
1. Restructure aborted page allocation handling on systems without an
ftruncate system call. This enables the Berkeley DB High Availability
product on systems, which do not support ftruncate. [#15602]
2. Fix a bug where closing a database handle after aborting a transaction
which included a failed open of that handle could result in
application failure. [#15650]
3. Fix minor memory leaks when closing a private database environment.
[#15663]
4. Fix a bug leading to a panic of "unpinned page returned" if a cursor
was used for a delete multiple times and deadlocked during one of the
deletes. [#15944]
5. Optionally signal processes still running in the environment before
running recovery. [#15984]
Concurrent Data Store Changes:
None.
General Access Method Changes:
1. Fix a bug where closing a database handle after aborting a transaction
which included a failed open of that database handle could result in
application failure. [#15650]
2. Fix a bug that could cause panic in a database environment configured
with POSIX-style thread locking, if a database open failed. [#15662]
3. Fix bug in the DB->compact method which could cause a panic if a
thread was about to release a page while another thread was truncating
the database file. [#15671]
4. Fix an obscure case of interaction between a cursor scan and delete
that was prematurely returning DB_NOTFOUND. [#15785]
5. Fix a bug in the DB->compact method where if read-uncommitted was
configured, a reader reading uncommitted data my see an inconsistent
entry between when the compact method detects an error and when it
aborts the enclosing transaction. [#15856]
6. Fix a bug in the DB->compact method where a thread of control mail
fail if two threads are compacting the same section of a Recno
database. [#15856]
7. Fix a bug in DB->compact method, avoid an assertion failure when zero
pages can be freed. [#15965]
8. Fix a bug return a non-zero error when DB->truncate is called with
open cursors. [#15973]
9. Fix a bug add HANDLE_DEAD checking for DB cursors. [#15990]
10. Fix a bug to now generate errors when DB_SEQUENCE->stat is called
without first opening the sequence. [#15995]
11. Fix a bug to no longer dereference a pointer into a hash structure,
when hash functionality is disabled. [#16095]
Btree Access Method Changes:
None.
Hash Access Method Changes:
1. Fix a bug where a database store into a Hash database could
self-deadlock in a database environment configured for the Berkeley DB
Concurrent Data Store product, and with a free-threaded DB_ENV or DB
handle. [#15718]
Queue Access Method Changes:
1. Fix a bug that could cause a put or delete of a queue element to
return a DB_NOTGRANTED error, if blocked. [#15933]
Recno Access Method Changes:
1. Expose db_env_set_func_malloc, db_env_set_func_realloc, and
db_env_set_func_free through the Windows API for the DB dll. [#16045]
C-specific API Changes:
None.
Java-specific API Changes:
1. Fix a bug where enabling MVCC on a database through the Java API was
ignored. [#15644]
2. Fixed memory leak bugs in error message buffering in the Java API.
[#15843]
3. Fix a bug where Java SecondaryConfig was not setting
SecondaryMultiKeyCreator from the underlying db handle [OTN FORUM}
4. Fix a bug so that getStartupComplete will now return a boolean instead
of an int. [#16067]
5. Fix a bug in the Java API, where Berkeley DB would hang on exit when
using replication. [#16142]
Direct Persistence Layer (DPL), Bindings and Collections API:
1. A new Direct Persistence Layer adds a built-in Plain Old Java Object
(POJO)-based persistent object model, which provides support for
complex object models without compromises in performance. For an
introduction to the Direct Persistence Layer API, see Getting Started
with Data Storage. [#15936]
2. Fixed a bug in the remove method of the Iterator instances returned
by the StoredCollection.iterator method in the collections package.
This bug caused ArrayIndexOutOfBoundsException in some cases when
calling next, previous, hasNext or hasPrevious after calling remove.
(Note that this issue does not apply to StoredIterator instances
returned by the StoredCollection.storedIterator method.) This bug was
reported in this forum thread:
http://forums.oracle.com/forums/thread.jspa?messageID=2187896
[#15858]
3. Fixed a bug in the remove method of the StoredIterator instances
returned by StoredCollection.storedIterator method in the collections
package. If the sequence of methods next-remove-previous was called,
previous would sometimes return the removed record. If the sequence of
methods previous-remove-next was called, next would sometimes return
the removed record. (Note that this issue does not apply to Iterator
instances returned by the StoredCollection.iterator method.) [#15909]
4. Fixed a bug that causes a memory leak for applications where many
Environment objects are opened and closed and the CurrentTransaction
or TransactionRunner class is used. The problem was reported in this
JE Forum thread:
http://forums.oracle.com/forums/thread.jspa?messageID=1782659 [#15444]
5. Added StoredContainer.areKeyRangesAllowed method. Key ranges and the
methods in SortedMap and SortedSet such as subMap and subSet are now
explicitly disallowed for RECNO and QUEUE databases -- they are only
supported for BTREE databases. Before, using key ranges in a RECNO or
QUEUE database did not work, but was not explicitly prohibited in the
Collections API. [#15936]
Tcl-specific API Changes:
1. The Berkeley DB Tcl API does not attempt to avoid evaluating input as
Tcl commands. For this reason, it may be dangerous to pass unreviewed
user input through the Berkeley DB Tcl API, as the input may
subsequently be evaluated as a Tcl command. To minimize the
effectiveness of a Tcl injection attack, the Berkeley DB Tcl API in
the 4.7 release routine resets process' effective user and group IDs
to the real user and group IDs. [#15597]
RPC-specific Client/Server Changes:
None.
Replication Changes:
1. Fix a bug where a master failure resulted in multiple attempts to
perform a "fast election"; subsequent elections, when necessary, now
use the normal nsites value. [#15099]
2. Replication performance enhancements to speed up failover. [#15490]
3. Fix a bug where replication could self-block in a database environment
configured for in-memory logging. [#15503]
4. Fix a bug where replication would attempt to read log file version
numbers in a database configured for in-memory logging. [#15503]
5. Fix a bug where log files were not removed during client
initialization in a database configured for in-memory logging.
[#15503]
6. The 4.7 release no longer supports live replication upgrade from the
4.2 or 4.3 releases, only from the 4.4 and later releases. [#15602]
7. Fix a bug where replication could re-request missing records on every
arriving record. [#15629]
8. Change the DB_ENV->rep_set_request method to use time, not the number
of messages, when re-requesting missed messages on a replication
client. [#15629]
9. Fix a minor memory leak on the master when updating a client during
internal initialization. [#15634]
10. Fix a bug where a client error when syncing with a new replication
group master could result in an inability to ever re-join the group.
[#15648]
11. Change dbenv->rep_set_request to use time-based values instead of
counters. [#15682]
12. Fix a bug where a LOCK_NOTGRANTED error could be returned from the
DB_ENV->rep_process_message method, instead of being handled
internally by replication. [#15685]
13. Fix a bug where the Replication Manager would reject a fresh
connection from a remote site that had crashed and restarted,
displaying the message: "redundant incoming connection will be
ignored". [#15731]
14. The Replication Manager now supports dynamic negotiation of the best
available wire protocol version, on a per-connection basis. [#15783]
15. Fix a bug, which could lead to slow performance of internal
initialization under the Replication Manager, as evidenced by "queue
limit exceeded" messages in verbose replication diagnostic output.
[#15788]
16. Fix a bug where replication control message were not portable between
replication clients with different endian architectures. [#15793]
17. Add a configuration option to turn off Replication Manager's special
handling of elections in 2-site groups. [#15873]
18. Fix a bug making it impossible to call replicationManagerAddRemoteSite
in the Java API after having called replicationManagerStart. [#15875]
19. Fix a bug where the DB_EVENT_REP_STARTUPDONE event could be triggered
too early. [#15887]
20. Fix a bug where the rcvd_ts timestamp is reset when the user just
changes the threshold. [#15895]
21. Fix a bug where the master in a 2-site replication group might wait
for client acknowledgement, even when there was no client connected.
[#15927]
22. Fix a bug, clean up and restart internal init if master log is gone.
[#16006]
23. Fix a bug, ignore page messages that are from an old internal init.
[#16075] [#16059]
24. Fix a bug where checkpoint records do not indicate a database was a
named in-memory database. [#16076]
25. Fix a bug with in-memory replication, where we returned with the log
region mutex held in an error path, leading to self-deadlock. [#16088]
26. Fix a bug which causes the DB_REP_CHECKPOINT_DELAY setting in
rep_set_timeout() to be interpreted in seconds, rather than
microseconds. [#16153]
XA Resource Manager Changes:
1. Fix a bug where the DB_ENV->failchk method and replication in general
could fail in database environments configured for XA. [#15654]
Locking Subsystem Changes:
1. Fix a bug causing a lock or transaction timeout to not be set properly
after the first timeout triggers on a particular lock id. [#15847]
2. Fix a bug that would cause a trap if DB_ENV->lock_id_free was passed
an invalid locker id. [#16005]
3. Fix a bug when thread tracking is enabled where an attempt is made to
release a mutex that is not lock. [#16011]
Logging Subsystem Changes:
1. Fix a bug, handle zero-length log records doing HA sync with in-memory
logs. [#15838]
2. Fix a bug that could cause DB_ENV->failcheck to leak log region
memory. [#15925]
3. Fix a bug where the abort of a transaction that opened a database
could leak log region memory. [#15953]
4. Fix a bug that could leak memory in the DB_ENV->log_archive interface
if a log file was not found. [#16013]
Memory Pool Subsystem Changes:
1. Fix multiple MVCC bugs including a race, which could result in
incorrect data being returned to the application. [#15653]
2. Fixed a bug that left an active file in the buffer pool after a
database create was aborted. [#15918]
3. Fix a bug where there could be uneven distribution of pages if a
single database and multiple cache regions are configured. [#16015]
4. Fix a bug where DB_MPOOLFILE->set_maxsize was dropping the wrong mutex
after open. [#16050]
Mutex Subsystem Changes:
1. Fix a bug where mutex contention in database environments configured
for hybrid mutex support could result in performance degradation.
[#15646]
2. Set the DB_MUTEX_PROCESS_ONLY flag on all mutexes in private
environments, they can't be shared and so we can use the faster,
intra-process only mutex implementations [#16025]
3. Fix a bug so that mutexes are now removed from the environment
signature if mutexes are disabled. [#16042]
Transaction Subsystem Changes:
1. Fix a bug that could cause a checkpoint to selfblock attempting to
flush a file, when the file handle was closed by another thread during
the flush. [#15692]
2. Fix a bug that could cause DB_ENV->failcheck to hang if there were
pending prepared transactions in the environment. [#15925]
3. Prepared transactions will now use the sync setting from the
environment. Default to flushing the log on commit (was nosync).
[#15995]
4. If __txn_getactive fails, we now return with the log region mutex
held. This is not a bus since __txn_getactive cannot really fail.
[#16088]
Utility Changes:
1. Update db_stat with -x option for mutex stats
2. Fix an incorrect assumption about buffer size when getting an overflow
page in db_verify. [#16064]
Configuration, Documentation, Sample Application, Portability and Build
Changes:
1. Fix an installation bug where the Berkeley DB PHP header file was not
installed in the correct place.
2. Merge the run-time configuration sleep and yield functions. [#15037]
3. Fix Handle_DEAD and other expected replication errors in the C++
sample application ReqQuoteExample.cpp. [15568]
4. Add support for monotonic timers. [#15670]
5. Fix bugs where applications using the db_env_func_map and
db_env_func_unmap run-time configuration functions could not join
existing database environments, or open multiple DB_ENV handles for a
single environment. [#15930]
6. Add documentation about building Berkeley DB for VxWorks 6.x.
7. Remove the HAVE_FINE_GRAINED_LOCK_MANAGER flag, it is obsolete in 4.7.
8. Fix a bug in ex_rep, add a missing break which could cause a segment
fault.
9. Fix build warnings from 64 bit Windows build. [#16029]
10. Fix an alignment bug on ARM Linux. Force the assignment to use
memcpy. [#16125]
11. Fix a bug in the Windows specific code of ex_sequence.c, where there
was an invalide printf specifier. [#16131]
12. Improve the timer in ex_tpcb to use high resolution timers. [#16154]
13. Mention in the documentation that env->open() requires DB_THREAD to be
specified when using repmgr. [#16163]
14. Disable support for mmap on Windows CE. The only affect is that we do
not attempt to mmap small read only databases into the mpool. [#16169]
add a 'gen-symfile' target for regenerating the libtool
export symfile. This should be run upon updating the package.
While here, silence needless autotools warnings and update
sse2 conditional in hacks.mk.
Changes since 0.11.8:
Add depth 30 formats to pixman_format_supported_source.
[sse2] Change pixman-sse to pass __mm128i args as
pointers, so as not to
Use CopyAreasse2, plus a compatibility fix
Use hidden attribute for private functions when
compiling with Sun Studio
Minor portability fixes
Post-release version-bump
Update RELEASING and release targets in Makefile.am
Fix typo in sse2 configure logic
TODO
Don't require GCC 4.2 on x86-64
Bug 16921. MMX and SSE2 intrinsics not enabled when
compiling with Intel'
Remove use of MMX extensions.
Be consistent in naming SSE2 related things SSE2
A few other renamings of SSE->SSE2
Rename pixman-sse.h pixman-sse2.h
Make sure pixman-combine{32,64}.h are disted
Use error instead of #error in a couple of other places
Check for __sun || __sun in pixman.h. Update TODO
Bump release
Update RELEASING
Add sys/inttypes.h include for AIX
Changes:
awesome-menu: match string mode and autocomplete
tasklist: add tags as cache element (FS#227)
awesomerc: fix subprocess (FS#193)
awesomerc: fix default path in menu launching
Revert "awesomerc: fix xterm -e in case of others terms"
mouse: fix client snapping
1877 7.2.001 Mac: pseudo-ttys don't work properly on Leopard
1462 7.2.002 leaking memory when displaying menus
3663 7.2.003 typo in translated message, message not translated
3413 7.2.004 Cscope help message is not translated
4638 7.2.005 a few problems when profiling
1552 7.2.006 HTML files are not recognized by contents
16735 7.2.007 (extra) minor issues for VMS
1947 7.2.008 wrong window count when using :bunload in a BufHidden autocmd
2245 7.2.009 can't compile with Perl 5.10 on MS-aindows
5415 7.2.010 "K" in Visual mode does not properly escape all characters
7.2.010 fixes http://www.rdancer.org/vulnerablevim-K.html
Changes with APR-util 1.3.4
*) Fix a memory leak introduced in r683756 and a free call to a non malloced
pointer in the case that the platform has no threads.
[Jeff Trawick, Ruediger Pluem]
Changes with APR-util 1.3.3
*) Add Berkeley DB 4.7 support.
[Arfrever Frehtes Taifersar Arahesis <arfrever.fta gmail.com>]
*) PostgreSQL rows (internally) start from zero, not one. Account for it in
row fetching function. [Bojan Smojver]
*) Detection of PostgreSQL may fail if LIBS contains all libs returned by
pg_config. Use it only as the last resort. [Bojan Smojver]
*) When searching for DSOs, look in apr-util-APU_MAJOR_VERSION subdirectory
of each component of APR_DSOPATH. PR 45327
[Joe Orton, William Rowe, Bojan Smojver]
*) Give MySQL DBD driver reconnect option. PR 45407
[Bojan Smojver]
Changes with APR-util 1.3.2
*) Fix parameter parsing error in ODBC DBD driver. [Tom Donovan]
*) Older OpenLDAP implementations may have ldap_set_rebind_proc() with two
args. Provide detection code and alternative implementation.
[Ruediger Pluem]
*) Use pool memory when setting DBD driver name into the hash.
[Bojan Smojver]
Changes with APR-util 1.3.1
*) Add ODBC DBD Driver. [Tom Donovan]
*) Fix build of the FreeTDS and MySQL drivers. [Bojan Smojver]
*) Fix build failure for no modules (--disable-dso). [Jean-Frederic Clere]
*) Fix win32 build failure for no modules (empty DBD_LIST). [William Rowe]
Changes with APR-util 1.3.0
*) apr_reslist: destroy all resources in apr_cleanup (don't give up on error).
PR 45086 [Nick Kew]
*) Add apr_brigade_split_ex for reusing existing brigades in situation where
brigades need to be split often during the lifetime of a pool.
[Ruediger Pluem]
*) Amend apr_reslist to expire resources whose idle time exceeds ttl.
PR 42841 [Tom Donovan, Nick Kew, Ruediger Pluem]
*) Modularize ldap's stub with the dbd dso modular structure, and teach
the apu dso's to respect the system specific shared lib path var.
To link to an application without ldap libs, query
`apu-1-config --avoid-ldap --libs` (in addition to the usual linker
queries for compiling and linking). [William Rowe]
*) Support building DBD drivers as DSOs by default; use --disable-util-dso
flag to configure to use static link. [Joe Orton, Bojan Smojver]
*) All DBD drivers now count rows from 1, which affects PostgreSQL and MySQL
drivers in particular. Using row number zero is an error.
[Bojan Smojver]
*) Add support for OpenLDAP's ability to support a directory of
certificate authorities. [Eric Covener]
*) Better error detection for bucket allocation failures.
[Jim Jagielski]
*) Ensure that the LDAP code can compile cleanly on platforms that do
not define the LDAP_OPT_REFHOPLIMIT symbol, most specifically Windows.
[Victor <victorjss@gmail.com>, Graham Leggett]
*) Fix the setting of LDAP_OPT_SSL on Win2k, which expects a pointer to
the value LDAP_OPT_ON, and not the value itself. XP works with both.
[Victor <victorjss@gmail.com>]
*) Fix a regression in apr_brigade_partition that causes integer overflows
on systems where apr_off_t > apr_size_t. [Ruediger Pluem]
*) Ensure that apr_uri_unparse does not add scheme to URI if
APR_URI_UNP_OMITSITEPART flag is set. PR 44044
[Michael Clark <michael metaparadigm.com>]
*) Add an LDAP rebind implementation so that authentication can be
carried through referrals. [Paul J. Reder]
*) Fix the make test target in the spec file. [Graham Leggett]
*) Introduce apr_dbd_open_ex() [Bojan Smojver]
*) Make md5 hash files portable between EBCDIC and ASCII platforms
[David Jones]
*) Add limited apr_dbd_freetds driver (MSSQL and Sybase) [Nick Kew]
*) Commit relicensed apr_dbd_mysql driver to /trunk/ [Nick Kew]
*) Support BerkeleyDB 4.6. [Arfrever Frehtes Taifersar Arahesis]
*) Support Tivoli ITDS LDAP client library. [Paul Reder]
*) Portably implement testdate's long-time constants to solve
compilation faults where #LL isn't valid. [Curt Arnold]
*) Use buffered I/O with SDBM. [Joe Schaefer]
*) Unify parsing of prepared statements and add binary argument functions
to DBD [Bojan Smojver with help from many on the APR list]
*) Rewrite detection of expat in configure to fix build on e.g. biarch
Linux platforms. PR 28205. [Joe Orton]
*) Add apr_thread_pool implementation. [Henry Jen <henryjen ztune.net>]
*) Add support for Berkeley DB 4.5 to the configure scripts.
[Garrett Rooney]
*) Allow apr_queue.h to be included before other APR headers.
PR 40891 [Henry Jen <henryjen ztune.net>]
*) Fix precedence problem in error checking for sdbm dbm back end.
PR 40659 [Larry Cipriani <lvc lucent.com>]
*) Add an apr_reslist_acquired_count, for determining how many outstanding
resources there are in a reslist. [Ryan Phillips <ryan trolocsis.com>]
*) Provide folding in autogenerated .manifest files for Win32 builders
using VisualStudio 2005 [William Rowe]
*) Implement DBD transaction modes
[Bojan Smojver with help from many on the APR list]
*) Implement prepared statement support in SQLite3 DBD driver
[Bojan Smojver]
*) Add get (column) name to apr_dbd API
[Bojan Smojver <bojan rexursive.com>] and
[Chris Darroch <chrisd pearsoncmg com>]
*) Make the DBD autoconf-glue use LDFLAGS instead of LIBS in several
places, fixing some configure issues on Solaris.
[Henry Jen <henryjen ztune.net>]
*) Make apr_dbd.h work as a stand alone header, without needing other
files to be included before it. [Henry Jen <henryjen ztune.net>]
*) On platforms that use autoconf stop automatically linking against
apr-iconv when an apr-iconv source dir is found in ../apr-iconv.
Instead, add a --with-apr-iconv option to configure that lets you
specify the relative path to your apr-iconv source directory.
[Garrett Rooney]
*) APR_FIND_APU macro now supports customisable detailed checks on
each installed apr-util. [Justin Erenkrantz, Colm MacCárthaigh]
*) APR_FIND_APU macro no longer checks /usr/local/apache2/
[Colm MacCárthaigh]
*) Add apr_dbd_oracle driver [Nick Kew and Chris Darroch]
Changes for APR 1.3.3
*) Rename apr_pool_create_core to apr_pool_create_unmanaged and
deprecate the old API name. It better reflects the scope and usage
of this function. [Mladen Turk]
*) Use proper return code for fcntl-based apr_proc_mutex_trylock()
on platforms that return EACCES instead of EAGAIN when the lock
is already held (AIX, HP-UX).
[Eric Covener]
*) Fix APR_PID_T_FMT detection on Solaris. PR 45513
[Rainer Jung <rainer.jung kippdata.de>]
Changes for APR 1.3.2
*) Fix getservbyname_r() detection. [Ruediger Pluem]
Changes for APR 1.3.1
*) Fix win32 apr.hw to pick up XP/2003 TCP/IP multicast constants and
revert to IPV6 disabled-by-default (a change present only in 1.3.0).
[William Rowe]
*) Fix autoconf cached detection of atomic builtins. [Jim Jagielski]
*) Use thread safe versions of getservbyname(). [Bojan Smojver]
*) Use thread safe getpass_r on Netware. [Guenter Knauf]
Changes for APR 1.3.0
*) Fix Solaris poll failure. PR 43000
[Henry Jen <henryjen ztune.net>]
*) apr_getservbyname(): Use proper method for converting port
to host byte order. PR 44903.
[Chris Taylor <ctaylor wadeford.plus.com>]
*) Use /dev/urandom in preference to /dev/random as entropy source
for apr_generate_random_bytes. PR 44881. [Bojan Smojver]
*) Implement apr_proc_wait_all_procs for windows.
The implementation uses tool help library present
on Windows 2000 and later. APR_ENOTIMPL is returned
on platforms missing tool help from kernel32.dll.
[Mladen Turk]
*) Introduce apr_pool_pre_cleanup_register() for registering
a cleanup that is called before any subpool is destroyed
within apr_pool_clear or apr_pool_destroy.
This allows to register a cleanup that will notify subpools
about its inevitable destruction.
[Mladen Turk]
*) Introduce apr_pool_create_core_ex() for creation of standalone
pools without parent. This function should be used for short
living pools, usually ones that are created and destroyed
either in a loop or inside function call. Since the pools
created with this function doesn't have a parent they must
be explicitly destroyed when done.
[Mladen Turk]
*) Fix return value when apr_pollset_poll interrupted.
PR 42580 [Basant Kumar Kukreja <basant.kukreja sun.com>]
*) Add missing semi-colon in Win9x code path of apr_file_open that breaks
Win9X Debug builds. PR 44329. [Curt Arnold]
*) z/OS: return standard apr_status_t codes from apr_dso_load()
and apr_dso_sym(). [David Jones <oscaremma gmail.com>]
*) Fix the make test target in the spec file. [Graham Leggett]
*) Fix DSO-related crash on z/OS caused by incorrect memory
allocation. [David Jones <oscaremma gmail.com>]
*) Implement Darwin-semantic (9.0.0 and later) sendfile support.
Use writev in lieu of hdtr vecs since how Darwin counts the
data is undocumented. [Geoff Greer <angryparsley mipsisrisc.com>,
William Rowe, Jim Jagielski]
*) Implemented the APR_FOPEN_SPARSE flag, permits win32 to create
sparse data files. Also bestow apr_fileinfo_t csize field for
Windows versions 2000 and later, which helps in the detection
that a sparse file is truly in use (see test/testlfs.c for an
example, because different filesystems can vary in behavior
even on an OS supporting sparse files). [William Rowe]
*) Corrected for Darwin and others to toggle APR_HAS_LARGE_FILES
where large off_t's are enabled without any extra defines, hints
or additional functions. This is binary compatible, but apps
may need to be recompiled to take full advantage depending on how
they detect this feature. [William Rowe]
*) Implement apr_atomic_casptr() and apr_atomic_xchgptr() for z/OS.
[David Jones <oscaremma gmail.com>]
*) Introduce apr_file_pipe_create_ex() to portably permit one pipe
end or another to be entirely blocking for non-APR applications
(e.g. stdio streams) and the other (or both ends) non blocking,
with a timeout of 0 by default.
[William Rowe]
*) apr_procattr_io_set() on Windows: Set non-blocking pipe handles
to a default timeout of 0, following the Unix default. No effect
on pipe handles configured to block. PR 43522.
[Eric Covener <covener gmail.com>]
*) apr_file_write() on Windows: Fix return code when writing to a non-
blocking pipe would have blocked. PR 43563.
[Eric Covener <covener gmail.com>]
*) Introduce APR_NO_FILE as an option to apr_procattr_io_set() for any
of the three stdio streams to cause the corresponding streams to be
closed to the child process. This becomes effective in 1.3.0 across
platforms (equivilant to APR_NO_PIPE in 1.2.x except on Win32.)
[William Rowe]
*) Solve WinNT inherited pipe leaks by mutexing apr_proc_create calls,
on WinNT (not WinCE, nor 9x) so that we toggle the inherited state
of the stdin/out/err pipes. All other file handles are treated as
not-inherited until apr_file_dup2'ed a std handle of this process,
or while they are used by apr_proc_create. [William Rowe]
*) Define the Mac OS/X filesystem_encoding as utf-8 (in previous
releases the interpretation would vary). [Branko Čibej]
*) Add table cloning (deep copy) convenience function.
[Davi Arnaut]
*) Rework the WIN32 CV code to signal the condition only if one or
more threads are blocked on the condition variable. If no threads
are waiting on the condition variable, nothing happens. The change
also eliminates the thundering-herd problem of the manual-reset
event, which (theoretically) wakes up all threads waiting on. Now
the behavior of the CV's should be the same on Unix and win32
platforms. PR 42305. [Davi Arnaut]
*) Define SEM_FAILED if it isn't already defined, as the proc mutex
code already does it. Also search for the sem_open function in
the realtime library. (This fixes HP-UX sem_open detection).
[Davi Arnaut]
*) Define the _HPUX_SOURCE feature test macro to obtain maximum
functionality.
PR 42261. [Davi Arnaut]
*) Stop invoking the testshm* helpers upon 'make test' invocation.
[Kurt Miller <kurt intricatesoftware.com>]
*) Register a cleanup only if APR_FILE_NOCLEANUP was not flagged in
apr_file_mktemp. [Brian J. France <list firehawksystems.com>]
*) Numerous build fixes for non-GCC builds and GCC builds on Win32,
as well as WinCE builds. [Davi Arnaut <davi haxent.com.br>,
Curt Arnold <carnold apache.org>, John Mark Vandenberg,
Kouhei Sutou <kou cozmixng.org>, William Rowe]
*) Discard file buffers when running cleanups for exec.
PR 41119. [Davi Arnaut <davi haxent.com.br>, Bojan Smojver]
*) Improve thread safety of assorted file_io functions.
PR 42400. [Davi Arnaut <davi haxent.com.br>]
*) Add the apr_pollcb API as an alternative more efficient method
of polling sockets, compared to apr_pollset. [Paul Querna]
*) Fix possible crash in apr_pool_initialize() when built with
verbose pool debugging. PR 41063.
[Peter Steiner <peter.steiner+apache hugwi.ch>]
*) Fix --disable-ipv6 build on platforms with getifaddrs().
PR 39199. [Joe Orton]
*) Correctly retrieve 'empty' environment values with apr_env_get
on Win32 (e.g. "VAR="), and added validation to testall suite.
PR 40764. [Issac Goldstand <margol beamartyr.net>]
*) Portably check for EEXIST in mktemp code. PR 40818
[Kenneth Golomb <KGolomb TradeCard.com>]
*) Fix apr_socket_recvfrom() to ensure the peer's address is returned
through the "from" parameter. [Joe Orton]
*) Fix error checking in kqueue, epoll and event port versions of
apr_pollset_create. PR 40660, 40661, 40662
[Larry Cipriani <lvc lucent.com>]
*) Add some documentation on the format matched by apr_fnmatch.
[David Glasser <glasser mit.edu>]
*) Add apr_hash_clear. [Daniel L. Rall <dlr apache.org>]
*) Don't try to build apr_app.c on MinGW.
[Matthias Miller <Blog outofhanwell.com>]
*) Fix the timeout converstion in apr_pollset with the KQueue
backend. [Marco Molteni <mmolteni cisco.com>]
*) Support MinGW. [John Vandenberg, Justin Erenkrantz]
*) Implement apr_thread_yield on Unix in terms of pthread_yield or
sched_yield. [Keisuke Nishida <keisuke.nishida gmail.com>]
*) Provide folding in autogenerated .manifest files for Win32 builders
using VisualStudio 2005 [William Rowe]
*) Utilise Solaris' native atomic_* functions for apr_atomics
where appropriate. [Colm MacCárthaigh]
*) Make apr_socket_recvfrom initialize the port field in the from
sockaddr. PR 39325 [Anthony Minessale <anthmct yahoo.com>]
*) NetBSD: Avoid leaving zombie process when using apr_signal()
to ignore SIGCHLD. PR 36750. [Todd Vierling <tv pobox.com>]
*) Implement support for apr_proc_mutex_trylock() on Unix platforms.
PR 38785. [Chris Darroch <chrisd pearsoncmg.com>]
*) APR_FIND_APR macro now supports customisable detailed checks on
each installed apr. [Justin Erenkrantz, Colm MacCárthaigh]
*) APR_FIND_APR macro no longer checks /usr/local/apache2/
[Colm MacCárthaigh]
*) Add APR_POLLSET_NOCOPY option to apr_pollset API to eliminate
O(n)-time lookup in apr_pollset_remove() (currently implemented
only for epoll). [Brian Pane]
*) Add apr_file_buffer_set() and apr_file_buffer_size_get() functions
to support variable buffer sizes with APR file handles.
[Colm MacCárthaigh]
*) Add apr_file_open_flags_std[err|out|in]() functions.
[Colm MacCárthaigh]
*) stdio: apr_file_open_std[err|out|in]() functions now set the APR_WRITE
or APR_READ flag as appropriate. [Colm MacCárthaigh]
*) multicast: apr_mcast_*() no longer return APR_ENOTIMPL when invoked
for non-UDP/RAW sockets. The caller is expected to ensure that the
socket-type is suitable for multicast. [Colm MacCárthaigh]
*) Add apr_sockaddr_ip_getbuf() function. [Joe Orton]
*) Fix handling of %pI in apr_psprintf. [Joe Orton]
*) Provide APR_VERSION_AT_LEAST() macro for applications which
want to enable features based on a required level of APR.
[Jeff Trawick]
*) jlibtool: Teach to use static libraries with -static.
[Justin Erenkrantz]
*) Fix checks for alloca() support in configure. PR 13037.
[Noah Misch <noah cs.caltech.edu>]
*) Add %pm support to apr_snprintf() for printing the error string
corresponding to an apr_status_t value. [Joe Orton]
*) Add APR_ARRAY_IDX() and APR_ARRAY_PUSH() convenience macros to
apr_tables.h. [Garrett Rooney]
Changes in 1.4.5-stable:
o Fix connection keep-alive behavior for HTTP/1.0
o Fix use of freed memory in event_reinit; pointed out by Peter Postma
o Constify struct timeval * where possible; pointed out by Forest Wilkinson
o allow min_heap_erase to be called on removed members; from liusifan.
o Rename INPUT and OUTPUT to EVRPC_INPUT and EVRPC_OUTPUT. Retain INPUT/OUTPUT aliases on on-win32 platforms for backwards compatibility.
o Do not use SO_REUSEADDR when connecting
o Fix Windows build
o Fix a bug in event_rpcgen when generated fixed-sized entries
Changes in 1.4.4-stable:
o Correct the documentation on buffer printf functions.
o Don't warn on unimplemented epoll_create(): this isn't a problem, just a reason to fall back to poll or select.
o Correctly handle timeouts larger than 35 minutes on Linux with epoll.c. This is probably a kernel defect, but we'll have to support old kernels anyway even if it gets fixed.
o Fix a potential stack corruption bug in tagging on 64-bit CPUs.
o expose bufferevent_setwatermark via header files and fix high watermark on read
o fix a bug in bufferevent read water marks and add a test for them
o introduce bufferevent_setcb and bufferevent_setfd to allow better manipulation of bufferevents
o use libevent's internal timercmp on all platforms, to avoid bugs on old platforms where timercmp(a,b,<=) is buggy.
o reduce system calls for getting current time by caching it.
o fix evhttp_bind_socket() so that multiple sockets can be bound by the same http server.
o Build test directory correctly with CPPFLAGS set.
o Fix build under Visual C++ 2005.
o Expose evhttp_accept_socket() API.
o Merge windows gettimeofday() replacement into a new evutil_gettimeofday() function.
o Fix autoconf script behavior on IRIX.
o Make sure winsock2.h include always comes before windows.h include.
2.11:
Aaron Plattner (8):
Move hardware cursor initialization to after AcquireDisplay.
G80: Fix some ROP bugs.
G80: Log the i2c port number for LVDS, when there is one.
Fix warnings.
Bug #15309: Set the pixel clock even if the hardware doesn't
think it needs it.
More chips names.
One more missing GPU name.
Bump to 2.1.11.
Alan Coopersmith (2):
Fix pciaccess READ_LONG to work with Sun compilers
Print error message when pci_device_map_range fails
2.12:
The last release had an unfortunate bug that caused
CPUToScreenColorExpandFill to treat transparent pixels as black instead.
Sorry about that!
- -- Aaron
Aaron Plattner (2):
G80: Fix a CPUToScreenColorExpandFill bug introduced by commit 2e0416c.
Bump to 2.1.12.
2.5.0:
- Windows binaries are now cross-built using mingw on Linux
- import various fixes from Python 2.6 version
- Connection has new method iterdump() that allows you to create a script file
that can be used to clone a database
- the docs are now built using Sphinx and were imported from Python 2.6's
sqlite3 module
- Connection.enable_load_extension(enabled) to allow/disallow extension
loading. Allows you to use fulltext search extension, for example ;-)
- Give the remaining C functions used in multiple .c source files the pysqlite_
prefix.
- Release GIL during sqlite3_prepare() calls for better concurrency.
- Automatically download the SQLite amalgamation when building statically.
2.4.1:
- Made unicode strings for the database parameter in connect() work again
- Removed bad defaults from setup.cfg
2.4.0:
- Implemented context managers. pysqlite's connections can now be used as
context managers with Python 2.5 or later:
from __future__ import with_statement
from pysqlite2 import dbapi2 as sqlite
con = sqlite.connect(":memory:")
con.execute("create table person (id integer primary key, firstname varchar unique)")
# Successful, con.commit() is called automatically afterwards
with con:
con.execute("insert into person(firstname) values (?)", ("Joe",))
# con.rollback() is called after the with block finishes with an exception, the
# exception is still raised and must be catched
try:
with con:
con.execute("insert into person(firstname) values (?)", ("Joe",))
except sqlite.IntegrityError:
print "couldn't add Joe twice"
- pysqlite connections can now be created from APSW connections. This enables
users to use APSW functionality in applications using the DB-API from
pysqlite:
from pysqlite2 import dbapi2 as sqlite
import apsw
apsw_con = apsw.Connection(":memory:")
apsw_con.createscalarfunction("times_two", lambda x: 2*x, 1)
# Create pysqlite connection from APSW connection
con = sqlite.connect(apsw_con)
result = con.execute("select times_two(15)").fetchone()[0]
assert result == 30
con.close()
Caveat: This will only work if both pysqlite and APSW are dynamically
linked against the same SQLite shared library. Otherwise you will
experience a segfault.
- Fixed shuffled docstrings for fetchXXX methods.
- Workaround for SQLite 3.5.x versions which apparently return NULL for
"no-operation" statements.
- Disable the test for rollback detection on old SQLite versions. This prevents
test failures on systems that ship outdated SQLite libraries like MacOS X.
- Implemented set_progress_handler for progress callbacks from SQLite. This is
particularly useful to update GUIs during long-running queries. Thanks to
exarkun for the original patch.
2008-08-30 Jody Goldberg
* Release 0.6.5
2008-08-08 Jean Brefort
* docs/reference/Makefile.am: add API version to DOC_MODULE. [#522096]
2008-07-27 Morten Welinder
* goffice/utils/go-format.c (go_format_get_family): If a number
format has both a date and a time part, it's a date format. Fixes
#545016.
2008-07-21 Jean Brefort
* goffice/graph/gog-style.c: (gog_style_font_sax_save): use
gsf_xml_out_add_cstr instead of gsf_xml_out_add_cstr_unchecked.
[#543986]
2008-07-13 Jean Brefort
* goffice/graph/gog-plot-engine.c:
(gog_plot_type_service_finalize),
(gog_trend_line_service_finalize),
(gog_trend_line_service_class_init): fix memory leaks. [#542506]
2008-07-08 Jody Goldberg
* autogen.sh : back port updated gtk-doc check.
2008-07-07 Emmanuel Pacaud
Fix keyboard activation of the add menu in the graph guru.
* goffice/graph/gog-child-button.c (gog_child_button_init): connect to
toggled signal.
(ensure_menu): new, to be shared by toggled in button-press signal
handlers.
(gog_child_button_toggled_cb): new.
(gog_child_button_press_event_cb): new.
2008-06-30 Morten Welinder
* goffice/math/go-math.c (go_math_init): Check for buggy
valgrind (finitel problem) and limp on.
2008-06-20 Jean Brefort
* goffice/graph/gog-style.c: (gog_style_create_cairo_pattern): fixed
gradients coordinates.
* goffice/gtk/go-gradient-selector.c:
(go_gradient_swatch_render_func): ditto.
2008-06-13 Rob Staudinger
* goffice/gtk/go-color-palette.c (make_colored_menu_item): Use plain
menu items for toolbar overflow image menu item proxies, so they are
displayed correctly with gtk-menu-images=0, fixes#537541.
* goffice/gtk/go-combo-pixmaps.c (go_menu_pixmaps_add_element): ditto.
2008-06-03 Jean Brefort
* goffice/utils/go-marker.c: (go_marker_render): set dashes to NULL,
fixes#536276.
2008-05-30 Jean Brefort
* goffice/graph/gog-renderer.c: (_draw_circle),
(gog_renderer_draw_circle), (gog_renderer_stroke_circle),
(gog_renderer_fill_circle): new utilities.
* goffice/graph/gog-renderer.h: ditto.
* pixmaps/Makefile.am: add new pixmaps for box-plots
excluding outliers.
* pixmaps/chart_boxplot_2_1.png: ditto.
* pixmaps/chart_boxplot_2_1.svg: ditto.
* pixmaps/chart_boxplot_2_2.png: ditto.
* pixmaps/chart_boxplot_2_2.svg: ditto.
* plugins/plot_boxes/gog-boxplot-prefs.glade: add new properties.
* plugins/plot_boxes/gog-boxplot.c: (cb_outliers_changed),
(cb_ratio_changed), (gog_box_plot_pref),
(gog_box_plot_set_property), (gog_box_plot_get_property),
(gog_box_plot_class_init), (gog_box_plot_init),
(gog_box_plot_view_render), (gog_box_plot_series_update),
(gog_box_plot_series_finalize), (gog_box_plot_series_class_init):
ditto, fixes#534642.
* plugins/plot_boxes/plot-types.xml.in: new boxplots sub-types.
* plugins/plot_xy/gog-xy.c: (gog_xy_view_render): use
gog_renderer_draw_circle for bubbles.
2008-05-24 Jean Brefort
* goffice/graph/gog-plot-engine.c: fixed services (de)activation.
* goffice/graph/gog-plot-engine.h: ditto.
v1.15
- change internal behavior when SSL handshake failed (like when verify
callback returned an error) in the hope to fix spurios errors in
t/auto_verify_hostname.t
Version 0.8.1
-------------
Fixes:
* Ensure directories exist before reading them - bug #15755
* Close files and clean up behind us - bug #15654
* Fix potential crash when no info page exists - bug #15274 (Saleem Abdulrasool)
* Remove longopts to make non-linux work properly - bug #11839
- These options should be unused in normal operation
* If $USERNAME isn't set (MacOS), use a default name - bug #14872
* Fix potential crasher on mangled info dir file - bug #12515
Dom:
* Revitalize gio support.
Jody:
* Add MS OOX support to gsf-vba-dump.
* Extend the utility wrappers for GsfInfile.
* Be more forgiving of corrupt ole2.
* Add additional MS OpenPkg support to facilitate pivots.
* gtk-doc improvements.
* Make the VBA extractor more accessible.
* Extensions for the xml parser to allow modularization.
Morten:
* Use g_base64_-routines from glib when available.
* When gio is available, do not link in gnomevfs.
* Add self-check for the benefit of __arm__.
* Version 1.10 (released 2008-08-27)
** idn: accept -n as short form for --nfkc.
Before '-k' was used as the short form, but all documentation has said
'-n'. We now accept both short forms, and -n remains the documented
short form. Reported by John McGowan <jmcgowan@inch.com> in
<http://lists.gnu.org/archive/html/help-libidn/2008-08/msg00000.html>.
** Fix compiler warnings.
** Update gnulib files.
** Update translations.
** API and ABI is backwards compatible with the previous version.
ORBit2-2.14.14
- portability
+ Fix build on win32 (Tor)
+ Mac OS/X fixes (Jules Colding)
- bug fixes
+ use ORBIT_SOCKETDIR to propagate the socket dir to children
wherever possible: has two benefits: speeds up ORBit2 launch,
and allows root owned apps to talk to the user's AT. (Mike Gorse)
+ other linc2 fixes (Michael, Mike)
+ Cleanups (JP, Jules Colding, dmacks at netspace org)
=========================== 0.8.11 ========================
2008-06-02 Tor Lillqvist <tml@novell.com>
Bug 536165 - Make libIDL correctly parse cl's pre-processor output
* lexer.l: Further change needed when using MSVC's cl.exe as the
preprocessor. Patch by Marcelo Vanzin.
2008-05-19 Tor Lillqvist <tml@novell.com>
Bug 522697 - Patch: make libIDL work with Microsoft's compilers
Patch by Marcelo Vanzin, applied with modifications.
* configure.in: Define Automake confitional OS_WIN32.
* Makefile.am: Use --export-symbols libIDL.def on Windows.
* Makefile.msc.in: Significant changes. Build a DLL with the same
name as libtool does. Use pkg-config.
* util.c: Make it work also in the !HAVE_CPP_STDIN && !HAVE_SYMLINK case.
* util.h: Make __IDL_tmp_filename const.
* include/libIDL/IDL.h.in: Rework the dllimport logic. Use
LIBIDL_VAR to decorate imported variables, similar to
GLIB_VAR. Unlike Marcelo's patch, I decided not to decorate
functions. Maybe later I can be convinced it would be a good idea,
but for now just use the .def file to export them and let them be
imported automatically.
* README.win32
* libIDL.def: Update.
2008-03-18 Christian Persch <chpe@gnome.org>
* configure.in: Update glib version req. Bug #517088, patch by
Mart Raudsepp.
[ General ]
* Do no longer install the file iso_3166.tab in /usr/share/iso-codes
[ ISO-639 ]
* ISO 639-2/B code deprecated in favor of ISO 639-2/T code for
Croatian and Serbian (2008-06-28)
* Some name changes
[ ISO-639-3 ]
* Update to 2008-08-04
[ ISO-3166 translations ]
* Portuguese updated by Miguel Figueiredo
* Indonesian updated by Andhika Padmawan (TP)
[ ISO-3166-2 translations ]
* Simplified Chinese by LI Daobing (TP)
[ ISO-639-3 translations ]
* French updated by Christian Perrier
* Simplified Chinese by LI Daobing
[ ISO-639 translations ]
* Dutch updated by Freek de Kruijf (TP)
* Finnish updated by Tommi Vainikainen (TP)
* Esperanto updated by Edmund GRIMLEY EVANS (TP)
* Xhosa updated by Friedel Wolff
* French updated by Christian Perrier
[ ISO-4217 translations ]
* Finnish updated by Tommi Vainikainen (TP)
* Norwegian Nynorsk updated by Edmund GRIMLEY EVANS (TP)
* Danish updated by Joe Hansen (TP)
[ ISO-15924 translations ]
* Spanish updated by Juan Cuquejo Mira (TP)
2.7.1: Sep 1 2008
* Portability fix: Borland C fix (Moritz Both)
* Bug fixes: python serialization wrappers, XPath QName corner
case handking and leaks (Martin)
* Improvement: extend the xmlSave to handle HTML documents and trees
* Cleanup: python serialization wrappers
2.7.0: Aug 30 2008
* Documentation: switch ChangeLog to UTF-8, improve mutithreads
and xmlParserCleanup docs
* Portability fixes: Older Win32 platforms (Rob Richards), MSVC
porting fix (Rob Richards), Mac OS X regression tests (Sven
Herzberg), non GNUCC builds (Rob Richards), compilation on
Haiku (Andreas F�rber)
* Bug fixes: various realloc problems (Ashwin), potential
double-free (Ashwin), regexp crash, icrash with invalid whitespace
facets (Rob Richards), pattern fix when streaming (William
Brack), various XML parsing and validation fixes based on the
W3C regression tests, reader tree skipping function fix (Ashwin),
Schemas regexps escaping fix (Volker Grabsch), handling of
entity push errors (Ashwin), fix a slowdown when encoder cant
serialize characters on output
* Code cleanup: compilation fix without the reader, without
the output (Robert Schwebel), python whitespace (Martin), many
space/tabs cleanups, serious cleanup of the entity handling
code
* Improvement: switch parser to XML-1.0 5th edition, add parsing
flags for old versions, switch URI parsing to RFC 3986, add
xmlSchemaValidCtxtGetParserCtxt (Holger Kaelberer), new hashing
functions for dictionnaries (based on Stefan Behnel work),
improve handling of misplaced html/head/body in HTML parser,
better regression test tools and code coverage display, better
algorithms to detect various versions of the billion laughts
attacks, make arbitrary parser limits avoidable as a parser
option
1.0.4:
Alan Coopersmith:
SVR4 (including Solaris) puts gethostbyname_r in libnsl instead of libc
Version bump: 1.0.4
Damien Thébault:
Bug 17314: libXau's Makefile.am should have proper man creation rules
Daniel Drake:
Bug #11097: libXau COPYING fix (add missing copyright dates)