Changes from previous:
0.93 Fri Feb 11 17:13:02 EST 2011
- When slurping MARCXML records (e.g., via MARC::Batch), can
now handle XML files that use a prefix
to refer to the http://www.loc.gov/MARC21/slim namespace.
- If trying to parse a MARCXML record that has omitted
the <record> wrapper element, throw an exception
with a more meaningful error message.
- adjusted copyright statement further to meet Debian requirements
(RT#48333)
- set license in Makefile.PL
* If a search token (on the right-hand side of the MATCH operator) in FTS4
begins with "^" then that token must be the first in its field of the
document. ** Potentially Incompatible Change **
* Added options SQLITE_DBSTATUS_CACHE_HIT and SQLITE_DBSTATUS_CACHE_MISS to the
sqlite3_db_status() interface.
* Removed support for SQLITE_ENABLE_STAT2, replacing it with the much more
capable SQLITE_ENABLE_STAT3 option.
* Enhancements to the sqlite3_analyzer utility program, including the --pageinfo
and --stats options and support for multiplexed databases.
* Enhance the sqlite3_data_count() interface so that it can be used to determine
if SQLITE_DONE has been seen on the prepared statement.
* Added the SQLITE_FCNTL_OVERWRITE file-control by which the SQLite core
indicates to the VFS that the current transaction will overwrite the entire
database file.
* Increase the default lookaside memory allocator allocation size from 100 to
128 bytes.
* Enhanced the query planner so that it can factor terms in and out of OR
expressions in the WHERE clause in an effort to find better indices.
* Added the SQLITE_DIRECT_OVERFLOW_READ compile-time option, causing overflow
pages to be read directly from the database file, bypassing the page cache.
* Remove limits on the magnitude of precision and width value in the format
specifiers of the sqlite3_mprintf() family of string rendering routines.
* Fix a bug that prevent ALTER TABLE ... RENAME from working on some virtual
tables in a database with a UTF16 encoding.
* Fix a bug in ASCII-to-float conversion that causes slow performance and
incorrect results when converting numbers with ridiculously large exponents.
* Fix a bug that causes incorrect results in aggregate queries that use
multiple aggregate functions whose arguments contain complicated expressions
that differ only in the case of string literals contained within those
expressions.
* Fix a bug that prevented the page_count and quick_check pragmas from working
correctly if their names were capitalized.
* Fix a bug that caused VACUUM to fail if the count_changes pragma was engaged.
* Fix a bug in virtual table implementation that causes a crash if an FTS4
table is dropped inside a transaction and a SAVEPOINT occurs afterwards.
pkgsrc changes:
* Added LICENSE to package and options
* Pre-create neede volatile directories
* Improve the NetBSD rc.d script
0.43
* updated ruby code build to take sitearch into account during includes
* updated ruby code to map STR2CSTR to StringValuePtr for ruby 1.9
* updated to use rudiments' updated signalclasses
* replaced calls to fork() and exit() with process class calls
* updated ruby detection in configure script
* added a test for Python.h to the configure script
* updated tcl detection
* updated db2 detection
* added sed command to remove -arch args from perl build (for osx)
* added charset support for all db's who's client libraries support them
* updated detection of various languages and db's on various platforms
* added getting started with odbc doc
* updated faq with info about result sets from stored procedures
0.42
* fixed a bug causing cursor id's not to get set for some db's
* updated configure script to look for client64 in addition to client
for oracle intantclient on x86_64
* added setTimeout to all API's
* applied some patches from Alexey Leontev
* bumped BINDVARLENGTH up to 64
* applied Renat Sabitov's scaler -debug patch and 11g configure patch
* applied Stephan van Egmond's sqlrsh history patch
* added configure test for gmake, use it to find ruby.h
* applied mingang@taobao.com's scaler patch for -debug
* added getting started notes for Oracle 11.2 on Fedora Core 12
* added test for mdb_sql_run_query and code to use it if it's there
* fixed a bug that caused ping to fail after reconnecting to sybase
* added configure test for xsubpp
* fixed perl dbi inout bind problem
* fixed code that was adding a NULL terminator to oracle clob values
* applied several patches from Renat Sabitov
* applied dynamic cursor patch from Cal Heldenbrand
* applied Claudio Freire's normalized matching and xmlparsing patches
* fixed sqlite connection to use sqlite3_malloc/free
* update freetds connection to get tds version with ct_config if
TDS_VERSION_NO doesn't exist
* applied a fix for a bug that could cause a crash when a cursor is reused
* fixed a shutdown race condition in connection daemons
* moved common startup/shutdown code for connection daemons up into
static methods/variables of the sqlrconnection_svr class
* fixed a crash in the oracle connection daemon where OCIHandleFree was
getting called on define handles that weren't created by OCIHandleAlloc
* removed rebuild target from Makefiles
* updated tests
* refactored main() method for connections
* added searches for ruby1.8, ruby19 and ruby1.9 in configure script
* fixed a bug that caused addresses="" to cause the sqlr-listener not to start
* added entries to FAQ about oracle instantclient and ubunu /bin/dash
* updated postgresql tests to use bpchar rather than char(20) for
fetching results of stored procedure
* renamed interbase.create.sh to firebird.create.sh
* fixed a bug that could overrun the postgresql bind array
* fixed bug that caused connection daemon sockets to be double-freed on
shutdown after a suspended session
* precision/scale in output bind buffers is initialized now
* debugstring buffers are no longer build when debug is turned off
* fixed id vs. index bug when requesting a cursor and binding a cursor
* refactored JNI code a bit, fixed getIntField/getLongField problem that
caused problems on 64-bit machines
* applied patch to make python api return decimals and integers, not
just strings, refactored some of it
* fixed dump tran docs in getting started with sybase to use sa
* updated sybase connection to use length of cursor name rather than
CS_NULLTERM to work around an odd, inconsistent bug that would
cause the connection to hang sometimes
* connections not spawned by scaler don't signal on the semaphore used
by the scaler to wait for a connection to start now
* updated bind var docs
* updated faq
* fixed a bug where binding an oracle cursor didn't reset some values
and would cause subsequent cursor binds to fail
* added note to docs about configuring sybase to dump transactions at each
checkpoint
* applied Renat Sabitov's patch to kill scaler-started connections which fail
to signal on sem(8) because they either crashed or got hung up trying
to start
* fixed a bug in the mysql drop-in lib that could cause the client to run out
of cursors
* added a mapping between sqlite3_free and sqlite_freemem
* added a fix for a race condition in the scaler
* fixed a postgresql bind memory leak
* applied Renat's ruby DESTDIR patch and updated helper scripts to
remove $(DESTDIR) from all the variables that it outputs
* applied Renat's patch to handle semaphore failures in forked listeners
during shutdown
* applied Renat's patch to move connection counting for scaler-spawned
connections entirely into scaler itself
* applied Renat's patch to reap children more regularly and refactored it
a little
* fixed distclean to remove perl .pm files
* changed maxsessioncount default to 0, updated docs, examples
0.41
* added configure test for ruby.h
* added a couple of new functions to the mysql drop-in library
* updated mysql drop-in lib docs explaining how to use with PHP
* added documentation for timequeries params
* if SQLConnectW isn't supported, ODBC driver uses non-unicode calls
* added maxsessioncount parameter and connections use it to override
ttl and bleed off
* applied Renat Sabitov's output bind patch
* added mysql last_insert_id() note to FAQ
* made it so oracle_home doesn't need to be set if oracle_sid is
specified in tnsnames.ora format
0.40
* fixed readline detection in configure script
* fixed an uninitialized variable in sqlr-import
* changed clientSession() to call endSessionCommand() instead of endSession()
so endSessionInternal() would be called every time
* fixed debug option in sqlr-import and sqlr-export
* fixed postgresql typemangling=no option
* set dbversion to unknown if sp_version wasn't found in freetds/sybase
* output bind variables' null indicator is reset now
* updated postgresql typemangling
* included Jesse Wagner's oracle 11g acsite patch
* added +1 to inbindvars[i].valuesize for CLOB's to make sure the NULL
terminator is included
* postgresql connection uses PQparameterStatus if PQserverVersion doesn't
exist and runs "select version()" if PQparameterStatus doesn't exist;
to get the db version
* added mysql-5.1 drop-in replacement lib
* fixed a bug that caused result set data not to be cleaned up before a cursor
is reused as a bind cursor
* changed string bind length to uint32_t from uint16_t
* added clearBinds() call after executeQuery() in perl dbi driver
* began work on an ODBC driver
* added serverVersion and clientVersion methods
* incorporated Alfred Fazio's python api patches
* fixed a bug where cursors might not get aborted when a client disconnects
* made shared memory segment group-readable
* applied Renaud Amar's HAVE_MYSQL_OPT_RECONNECT patch
* added ODBC driver to spec file
* added DESTDIR= to .pc files
* made freetds use single-quote for escape character, other db's use backslash
* made sqlr-export/import use &##; for non-printable characters, &, < and >
* fixed scaler; supports -localstatedir option properly now
* fixed many it's -> its typos in the documentation
* changed debug so that only one binary is built and it's selected at runtime
* integrated erlang api
* added -localstatedir to sqlr-stop
* fixed mysql (with statement api) relogin problems
* removed non-functional config app
* added Oracle 11g on fc9 document
* added ASE 15.0.2 installation doc
* made it possible to only bind to port, not socket
* added test for tdsver.h
0.39
* removed oracle7 support
* added OCI_OBJECT to oracle environment init
* added some more error codes to oracle's dead connection test
* connections don't decrement connection count when they fail to log in now :)
* added -silent option to connections that scaler uses so they don't spew
login errors if the db is down
* fixed a bug that disabled scaling if maxlisteners was -1 (the default, which
means no maximum)
* freetds, db2 connection don't detach before logging in any more
* added reloginatstart config parameter
* fixed sendLob for oracle<8i
* applied Johnny Luong's postgresql drop-in lib patch
* applied Jason McClellen's perl dbi raise-error patch
* sybase/freetds use CS_SEVERITY instead of msgp->severity now
* added 64 bit sybase tests
* postgresql only uses PQexecPrepared if PQprepare also exists
* set LANG=POSIX before running ruby/make so sed's would work on non-us
locales
* documented how to use mysql stored procedure output parameters
* applied james@thoughtpatterns.com's perl null bind patch
* applied Tim Bunce's perl dbi driver patch
* suppress error message of cat $ORACLE_HOME/lib/sysliblist in configure
script
* added support for stored procedures which return result sets to sybase
connection
* added support for stored procedures which return result sets to freetds
connection but it doesn't actually return anything
* documented how to use sybase stored procedure result sets
* fixed a bug that caused zope to get an exception when result sets are empty
* configure looks for instantclient if it can't find anything in
ORACLE_HOME, added --with-oracle-instantclient-prefix option
* added sybase ASE 15 install doc
* fixed a bug that caused the router connection to return a max of 10 rows
* applied Chris Coyle's mysql auto-reconnect patch
* modified countBindVariables to exclude :'s and @'s if it finds $'s or ?'s
* applied some of Tim Bunce's DBI patches
* added pid cleanup to init script similar to patch supplied by Ragnar Rova
* added validBind() method which will return whether a bind
variable is in the query or not
* fixed Yeb Havinga's db-tier authentication bug
* added timequeries option
* added support for Oracle OS-authentication
* added some new FAQ's
* mysql connection calls commit() before running the first query after
each new client connection
* fixed a crash in the router involving "fake begin's"
* documented msql transaction weirdness and db2 relogin issues
* added /opt/csw to configure script search path
* improved filtering out of -x arguments in perl/ruby make commands
* added -lruby, -lperl, -lpython, etc for OS X
0.38
* implemented mysql_stmt function support in mysql connection
* fixed mysql_autocommit detection
* fixed missing self before __getRow and __getRowRange in python db driver
* implemented query filtering and routing
* interbase/firebird dead-db/relogin works now
* added test for 0 length result set to PySQLRDB's fetchmany method
* added mysql_config sanity test to configure script
* NULL's are escaped in fake input BLOB binds now
* query router works pretty well now
* applied Sharpinskiy Dmitry's odbc unicode patch
* integrated Devananda's statistics gathering code
* added support for mysql stored procedures
* integrated Devananda's mysql result set updates
* sqlrelay.conf.example installed as $datadir/examples/sqlrelay.conf now
* integrated Andreas Behr's listener crash patch
* removed erroneous reference to sqlrcon_errormessage in php pear db
* another multibyte clob fix
* added "delimiter" command to sqlrsh to change delimiter from ; to whatever
* removed msql support
* added db2 9.1 installation doc
* added firebird 2.0 installation docs
* router connection overrides authtier=database
* fixed a bug where clients would hang if they requested a cursor when
none were available
* added some additional mdb 5 checks to configure script
* added iconv const char parameter check to configure script
* the main listener doesn't listen for clients until all of the connections
have started now
* added notes about tcp_tw_recycle/tcp_tw_reuse in tuning doc
* ping causes the connection to relogin if it returns false now
* added iconv include/library find to configure script
* fixed sqlrlistener so forked listeners don't remove the pid file
* switched oracle 8 column size variable type from sb4 to ub2
* if maxqueuelength>maxlisteners then scaling isn't used
Packaged by tnozaki@, some minor improvements by me.
Perl binding for Redis database which is in-memory hash store with support for
scalars, arrays and sets and disk persistence.
Changes from previous:
0.47 2011-09-26T17:12:07Z
- Use of the deprecated `catch` functionality now warns on every call,
rather than just the first call from a given caller.
0.46 2011-07-17T00:47:49
- Eliminated "Use of qw(...) as parentheses is deprecated" warning in
test when running on Perl 5.14.
- Properly `local`ing `$$` in the `t/base.t` test so that it doesn't die
on Perl 5.15. Thanks to Andreas J. Koenig for the report and diagnosis
and to Nicholas Clark for the fix.
- Duplicate paragraphs removed from `README.md` thanks to Ask Bjørn
Hansen.
- The `catch` functionality is deprecated. It will warn once for each
caller to keep log verbosity down. In the next release, it will warn
for every call. The release after that, it will be removed altogether.
0.45 2011-05-10T21:44:08
- Fixed crash when `in_txn()` was called before an actual connection
was established.
- Strongly recommend setting `AutoCommit` to true in the documentation.
Setting `AutoCommit` to false defeats the scoping behavior of `txn()`
and therefore should not be used.
- Nested exception handling now works properly in nested calls to
`run()` in fixup mode and in nested calls to `txn()` in all modes.
Thanks to Mark Lawrence for the report (RT #66974).
0.44 2011-03-20T01:04:59
- Fixed bug with the MySQL driver introduced by the auto-reconnection
fix in 0.43. Sorry for the lame mistake. [Lee Aylward]
0.43 2011-03-17T20:03:16
- DBIx::Connector now sets the DBI `RaiseError` parameter to true in
`new()` if neither it nor `HandleError` has been specified. This is to
increase the likelihood that exception handling will be properly
triggered in `run()`, `txn()`, and `svp()`. Documentation has also
been added to emphasize the importance of setting `RaiseError` or
`HandleError` appropriately.
- Documented that `AutoInactiveDestroy` is set to true in `new()` if it
is not specified. It's important tht this attribute be true in forking
environments.
- After connecting to the database, the MySQL driver,
DBIx::Connector::Driver::mysql, now always sets the
`mysql_auto_reconnect` attribute to false. This is to prevent MySQL's
auto-reconnection feature from interfering with DBIx::Connector's
auto-reconnection functionality in `fixup` mode. Thanks to Karen
Etheridge and Peter Rabbitson for the report.
- Removed mention of the use of the `catch` function from Try::Tiny,
since it is no longer compatible to use passing the exception-handling
function. Just using `catch =>` instead, which is cleaner-looking
anyway (RT #65196).
0.42 2010-12-17T18:35:54
- If a catch block died, the exception was not being propagated. That
is, if a catch block threw an exception, DBIx::Connector ate it, and
any calling code would not be able to catch it. This was a pretty
serious bug; upgrading is strongly recommended for anyone using catch
blocks.
- When `run()`, `txn()`, or `svp()` was called recursively from within a
second fixup execution, it was not respecting the fact that it was
recursive and could try to start a transaction again. This happened
*only* when a fixup run found that the database was disconnected and
successfully re-connected, so it's a pretty rare condition.
0.41 2010-12-08T21:02:32
- `connect()` no longer returns a disconnected database handle. Thanks
to John Siracusa for the spot (Issue #6).
- Added `disconnect_on_destroy()`, which can be used to disable
disconnecting the database handle when the connector object is
destroyed. Suggested by John Siracusa.
- bug #3418610 [interface] Links in navigation when
$cfg['MainPageIconic'] = false
- bug #3418849 [interface] Inline edit shows dropdowns even after closing
- bug [view] View renaming did not work
- bug [navi] Wrong icon for view (MySQL 5.5)
- bug #3420229 [doc] Missing documentation section
- bug #3423725 [pdf] Broken PDF file when exporting database to PDF
- [core] Allow to set language in URL
- bug #3425184 [doc] Fix links to PHP documentation
- bug #3426031 [export] Export to bzip2 is not working
* Replication: Previously, replication slaves could connect to the master
server only through master accounts that use native authentication. Now
replication slaves can also connect through master accounts that use
nonnative authentication (except Windows native authentication) if the
required client-side plugin is installed on the slave side in the directory
named by the slave plugin_dir system variable.
* MEMORY table creation time is now available in the CREATE_TIME column of the
INFORMATION_SCHEMA.TABLES table and the Create_time column of SHOW TABLE
STATUS output.
* InnoDB Storage Engine: This fix improves the performance of instrumentation
code for InnoDB buffer pool operations.
* InnoDB Storage Engine: Data from BLOB columns could be lost if the server
crashed at a precise moment when other columns were being updated in an
InnoDB table.
* InnoDB Storage Engine: Lookups using secondary indexes could give incorrect
matches under a specific set of conditions. The conditions involve an index
defined on a column prefix, for a BLOB or other long column stored outside
the index page, with a table using the Barracuda file format.
* InnoDB Storage Engine: This fix corrects cases where the MySQL server could
hang or abort with a long semaphore wait message. (This is a different issue
than when these symptoms occurred during a CHECK TABLE statement.)
* Internal conversion of zero to binary and back could yield a result with
incorrect precision.
* Valgrind warnings generated by filesort operations were fixed.
* mysqld_safe did not properly check for an already running instance of mysqld.
* The help message for mysql_install_db did not indicate that it supports the
--defaults-file, --defaults-extra-file and --no-defaults options.
* An assertion designed to detect zero-length sort keys also was raised when
the entire key set fit in memory.
* myisampack could create corrupt FULLTEXT indexes when compressing tables.
* A linking problem prevented the FEDERATED storage engine plugin from loading.
Changes from previous:
0.764 (10.18.2011) - John Siracusa <siracusa@gmail.com>
* Use ENGINE=InnoDB instead of TYPE=InnoDB in MySQL table creation
statements to avoid an incompatibility with MySQL 5.5 (RT 71757)
0.763 (12.30.2010) - John Siracusa <siracusa@gmail.com>
* Support for Rose::DB::Object 0.794
* Return from rollback() early if AutoCommit is set.
Changes from previous:
1.001013
- fixed functionality in last release by more deeply cloning parameters, which
prevents bad things when parameters get deleted in the wrong places. Also
be sure we clear state properly after a dump.
1.001012
- Added new method 'available_config_sets' which returns and caches a list of
all the json set configs found in the 'config_dir' directory. This was added
to make it easier when you need to dump all the fixtures programatically.
- Added method 'dump_config_sets' to let you dump more than one set at a time
more easily
- Added method 'dump_all_config_sets' which helps automate dumping all your
current config sets to a directory.
1.001011
- Added an excludes resultsource option to the ->dump({all=>1,...}) feature
- Allow you to directly set a configuration via a Perl HashRef instead of a
JSON file. Useful for testing and when you have simple or generated configs.
- New option to force use of ->create rather than ->populate.
- Fixed a bug in the test suite that would fail on certain JSON parsers
Welcome to phpMyAdmin 3.4.6, a bugfix and minor security release.
Please refer to the upcoming PMASA-2011-15 and -16 announcements on
http://www.phpmyadmin.net/home_page/security/.
GNU `dbm' is a library of functions implementing a hashed database
on a disk file. The software was written by Philip A. Nelson.
This is the optional dbm and ndbm API compatibility library and headers.
Change log:
This is the changelog file for the POCO C++ Libraries.
Release 1.4.2p1 (2011-09-24)
============================
- On Linux, the RTLD_DEEPBIND option is no longer passed to dlopen().
This change was introduced in 1.4.2 to solve a specific problem one customer
was having. Unfortunately, it leads to problems with RTTI.
- It's now possible to pass flags (SHLIB_GLOBAL, SHLIB_LOCAL) to
Poco::SharedLibrary::load() (and the constructor implicitly calling load()),
controlling the mode flags (RTLD_GLOBAL, RTLD_LOCAL) passed to dlopen().
On platforms not using dlopen(), these flags are ignored.
- fixed SF# 3400267: Path_WIN32.cpp bug
Release 1.4.2 (2011-08-28)
==========================
- added Poco::DateTimeFormat::ISO8601_FRAC_FORMAT
- added new Poco::DateTimeFormatter and Poco::DateTimeParser format specifier:
%s for seconds with optional fractions of a second
- fixed a problem with ioctl() on BSD platforms (including OS X) where the
second argument to ioctl() is unsigned long instead of int, causing bad
things on a OS X 64-bit kernel.
- fixed a potential endless loop when enumerating IPv6 network addresses
(reported by Laurent Carcagno)
- new compile-time config option on Windows to set thread names in
debugger. Enable with -DPOCO_WIN32_DEBUGGER_THREAD_NAMES. Available
only in debug builds.
- Cipher can now create Base64 and HexBinary encoded output without linefeeds
(suitable for use in cookies, etc.)
- added Poco::Path::popFrontDirectory()
- improved VxWorks support
- IPv6 fixes: added proper scope id handling in IPAddress, SocketAddress
and related classes.
- Added Poco::Net::ServerSocket::bind6() which allows control over the
IPPROTO_IPV6/IPV6_V6ONLY socket option.
- Removed Poco::MD2Engine class due to licensing issues (the
license for the MD2 code from RSA only allows non-commercial
use). Note that the MD4 and MD5 code from RSA does not have
this issue.
- fixed a Net HTTP client testsuite issue where some tests might
have failed due to prematurely aborted connections by
the HTTPTestServer.
- Poco::Net::SocketAddress: when there is more than one address
returned by a DNS lookup for a name, IPv4 addresses will be
preferred to IPv6 ones.
- NetworkInterface::list() now also returns IPv4 interfaces on Windows when
built with -DPOCO_HAVE_IPv6
- XMLWriter: fixed a bug with attribute namespaces (no namespace prefix
written if attribute namespace is the same as element namespace)
- fixed SF# 3378588: Mismatched new[]/delete (in RSAEncryptImpl and
RSADecryptImpl)
- fixed SF# 3212954 (OpenSSLInitializer::uninitialize() crash) and
SF# 3196862 (Static OpenSSLInitializer instance causes Windows
deadlocks) by removing the static Poco::Crypto::OpenSSLInitializer
instance. Automatic OpenSSL initialization is now done through
Poco::Crypto::Cipher, Poco::Crypto::CipherKey,
Poco::Crypto::X509Certificate, Poco::Net::Context classes; however,
it is still recommended to call Poco::Crypto::initializeCrypto()
and Poco::Crypto::uninitializeCrypto() early at application
startup, and late at shutdown respectively (or
Poco::Net::initializeSSL()/Poco::Net::uninitializeSSL() if the
NetSSL library is used) to avoid multiple full OpenSSL init/uninit
cycles during application runtime.
- Poco::Logger now also support a symbolic log level "none"
(for use with setLevel()) that disables logging completely
for that Logger (equivalent to setLevel(0)).
- Added experimental Android support, using the existing gmake-based
build system.
- fixed SF# 3288584: DateTimeFormatter link error
- fixed SF# 3187117: Typo in InflatingInputStream doc
- fixed SF# 3309731: _WIN32_WCE comparison should be with 0x600 not 600
- fixed SF# 3393026: RegularExpression.h identical enum value
- fixed SF# 3274222: AtomicCounter's postfix operators aren't atomic on Windows
- fixed SF# 3317177: Handle leak on windows
- fixed SF# 3181882: Poco::URI::getPathEtc() double-encodes query
- fixed SF# 3379935: ThreadPool Start Bug
- fixed SF# 3354451: Poco::Format::parsePrec never sets the precision to zero
- fixed SF# 3387258: _MAX_PATH used but unknown in Path_WIN32
- fixed a problem in RSAKeyImpl where direct access to the RSA in a EVP_PKEY
would no longer work in recent OpenSSL versions. Using EVP_PKEY_get1_RSA()
fixes the issue.
- added Poco::Crypto::EncryptingInputStream,
Poco::Crypto::EncryptingOutputStream, Poco::Crypto::DecryptingInputStream
and Poco::Crypto::DecryptingOutputStream.
- fixed SF# 3148126: HTTPSClientSession destructor (!) throws an IOException
- fixed SF# 3178098: Add constructor to Poco::TemporaryFile to specify directory
- fixed SF# 3175310: Absolute path when device
- fixed SF# 3301207: Guided tour example contradicts apidoc (API doc was wrong)
- Poco::Net::HTTPMessage::setContentLength() and
Poco::Net::HTTPMessage::getContentLength() now use std::streamsize
instead of int. This enables 64-bit Content-Length support at
least on 64-bit platforms.
- fixed SF# 3177530: TemporaryFile::tempName() + glob bug on xp
- fixed SF# 3177372: FileChannel documentation inconsistency
- added %E format specifier to Poco::PattermFormatter (epoch time in seconds
since midnight, January 1 1970)
- On Windows, Poco::Util::ServerApplication now supports a /description
command line argument for specifying a service description
(together with /registerService) - added
Poco::Util::WinService::setDescription() and
Poco::Util::WinService::getDescription()
- fixed SF# 3155477: Incorrect URI path handling
- fixed SF# 3309736: Extended Exception macros to set default exception code
new macro is named POCO_DECLARE_EXCEPTION_CODE
- added getter functions for modulus and exponents to Poco::Crypto::RSAKey.
- added Poco::Net::SocketAddress::operator == () and
Poco::Net::SocketAddress::operator != ()
- fixed SF# 3182746: IPAddress.cpp IPv6 bug on big-endian
- fixed SF# 3196961: Unix daemon fails to loadConfiguration() if
started from cwd
- fixed SF# 3393700: NotificationCenter may call a removed observer and crash.
- Reworked implementation of the events framework (Poco::BasicEvent
and friends). The framework is now completely multithreading
save (even in the case that an event subscriber object unsubscribes
and is deleted while an event is being dispatched). Also, the
restriction that any object can only register one delegate for
each event has been removed. For most cases, dispatching events
should be faster, as dispatching an event now needs less dynamic
memory allocations.
- fixed SF# 3178109: getNodeByPath() changes:
getNodeByPath() and getNodeByPathNS() have been moved to
Poco::XML::Node. Furthermore, when invoked on a Poco::XML::Document,
the behavior has changed so that the document element is now
included when traversing the path (previously, traversal would
start at the document element, now it starts at the document).
The path expression can now start with a double-slash, which
results in a recursive search for the path's first element in
the DOM tree.
- fixed SF# 3382935: String data being truncated using ODBC, and
SF# 2921813: Wrong implementation of the ODBC string binding
Release 1.4.1p1 (2011-02-08)
============================
- Poco::Mutex is now a recursive mutex again on Linux
(this was caused by an unfortunate feature test for
PTHREAD_MUTEX_RECURSIVE which did not work on Linux
as PTHREAD_MUTEX_RECURSIVE is an enum value and not
a macro)
- Poco::Net::SecureSocketImpl::abort() now only shuts
down the underlying socket connection and does not free
the SSL object, due to multithreading issues.
Release 1.4.1 (2011-01-29)
==========================
- fixed SF# 3150223: Poco::BinaryReader cannot read std::vector correctly
- fixed SF# 3146326: SharedMemory issue
- made Poco::Net::HTTPSession::abort() virtual
- added Poco::Net::SecureStreamSocket::abort() to immediately close
a SSL/TLS connection without performing an orderly SSL/TLS shutdown.
- fixed SF# 3148126: HTTPSClientSession destructor (!) throws an IOException.
Added try/catch block to Poco::Net::SecureSocketImpl destructor.
- added additional constructor to Poco::Net::HTTPSClientSession, taking
both a socket and a session object.
- Poco::Net::HTTPSession::abort() now also can be used with a
Poco::Net::HTTPSClientSession.
- fixed SF# 3148045: make clean and distclean issues
- changed Data library names on Unix/Linux platforms to
match the names on Windows (PocoSQLite -> PocoDataSQLite,
PocoMySQL -> PocoDataMySQL, PocoODBC -> PocoDataODBC)
- added additional options to configure script
- added additional documentation to Poco::Net::HTTPClientSession
- Poco::Net::HTTPClientSession::receiveResponse() closes the connection
if an exception is thrown while reading the response header.
This ensures that a new connection will be set up for the next request
if persistent connections are used.
- improved Poco::Net::MultipartDecoder performance by reading directly from
streambuf
- improved performance of Poco::Base64Encoder, Poco::Base64Decoder,
Poco::HexBinaryEncoder and Poco::HexBinaryDecoder by working directly with the
given stream's streambuf.
- improved performance of MessageHeader::read() by reading directly from
streambuf instead of istream.
- it is now possible to specify additional MIME part header fields
for a MIME part through the Poco::Net::PartSource class.
- upgraded SQLite to release 3.7.4
- added experimental VxWorks support for VxWorks 5.5.1/Tornado 2.2 and
newer. Please see the VxWorks Platform Notes in the reference documentation
for more information. Currently, the VxWorks is untested; full support
will be available in release 1.4.2.
- fixed SF# 3165918: Poco::DynamicAny fails to convert from string to float
- fixed SF# 3165910: Poco::Net::MessageHeader does not accept HTTP conforming
header
- made Poco::Task::cancel() virtual so that tasks can implement custom
cancellation behavior.
- added optional argument to Poco::Util::WinRegistryKey constructor
to specify additional flags (in addition to KEY_READ and KEY_WRITE)
for the samDesired argument of RegOpenKeyEx() or RegCreateKeyEx().
- improved Poco::BasicEvent::notify() performance by avoiding an
unnecessary heap allocation.
- added additional well-known port numbers to Poco::URI: rtsp, sip, sips, xmpp.
- added Poco::Net::MediaType::matchesRange()
- improved invalid socket handling: a Poco::Net::InvalidSocketException is
now thrown instead of an assertion when an operation is attempted
on a closed or otherwise uninitialized socket.
Changes from previous:
1.43
- Segregated into different packages
- Removed code coverage from POD
- Fixed bug rt49537 Basic support for named parameters
- Fixed bug rt70421 Build.PL now contains Test::Exception
1.42
- Fixed bug rt66815 DBD::Mock::Session error clobbered
- Fixed bug rt69460 Info on META.yml is outdated
- Fixed bug rt69055 Spelling mistakes in POD
- RaiseError now works
Changes from previous:
Version 1.33, released February 05th, 2011
----------------------------------------------
[Bug fixes]
* Move test dependencies to (unreleased) Bundle::Test::SQL::Statement
to avoid circular dependencies
Version 1.32, released January 19th, 2011
----------------------------------------------
[Bug fixes]
* Fixed invalid check for escaped single quotes
* Fixed unpermitted modification of array source for table creation
(CREATE TABLE AS IMPORT(?),[[..],[..]])
* Fixing alias used in ORDER BY (RT#61384, thanks jvm)
* Fixing ORDER BY behavior for multiple sort columns
(slower, but guaranteed correct)
[Improvements]
* renamed fetch-method into fetch_row (keep fetch() as alias) and
add a fetch_rows() to fetch all rows at once
* Different accessors for direction of ORDER BY clause query part
and it's boolean equivalent "desc" (0 or 1, respectively)
* Add a lot of Pure-Perl DBD's as build dependency for testing
(skip DBD::AnyData for now, because it seems to be broken - check
for next release)
[Misc]
* Bump requirement of DBI to 1.616
* switch for fully external DBD tests from DBD::XBase to DBD::SQLite
* Document another limitation (lacking implicit creating temp table
during processing a query using the same table with different aliases
twice)
Excerpted new features. For complete list of bug fixes, look into
Changes file in the distfile.
0.08193 2011-07-14 17:00 (UTC)
* New Features / Changes
- Allow schema cloning to mutate attributes
- DBIC now attempts more aggressive de-duplication of where
conditions on resultset chaining
- The Ordered component is now smarter wrt reordering of dirty
objects, and does its job with less storage queries
- Logging via DBIC_TRACE=1=<filename> no longer overwrites the
logfile on every program startup, appending loglines instead
0.08191 2011-05-02 00:45 (UTC) (deleted from CPAN)
* New Features / Changes
- Add quote_names connection option. When set to true automatically
sets quote_char and name_sep appropriate for your RDBMS
- Add retrieve_on_insert column info flag, allowing to retrieve any
column value instead of just autoinc primary keys
- Bring back strict ordering of selectors in complex search chains
(an ill-fated attempt was made in 0.08127 to order intelligently)
- All limit dialects (except for the older Top and FetchFirst) are
now using bind parameters for the limits/offsets, making DBI's
prepare_cached useful across paged resutsets
- Support for savepoints for SQLite
- Support for MS Access databases via DBD::ODBC and DBD::ADO (only
Win32 support currently tested)
- Support for the Firebird RDBMS over the new DBD::Firebird driver
- IC::DateTime support for MSSQL over DBD::ADO
- Both the ::ODBC and ::ADO dispatchers now warn if a rdbms-specific
driver is not found for this connection before falling back to
plain ::Storage::DBI
- ::Storage::DBI::sth was mistakenly marked/documented as public,
privatize and warn on deprecated use
- Massive overhaul of bind values/attributes handling - slightly
changes the output of as_query (should not cause compat issues)
- Support ancient DB2 versions (5.4 and older), with proper limit
dialect
- Support sub-second precision for TIMESTAMPs for Firebird over ODBC
- Support BLOBs and CLOBs in WHERE clauses for Oracle, including LIKE
queries for CLOBs.
0.08190-TRIAL 2011-01-24 15:35 (UTC)
* New Features / Changes
- Support for completely arbitrary SQL::Abstract-based conditions
in all types of relationships
0.08127 2011-01-19 16:40 (UTC)
* New Features / Changes
- Schema/resultsource instances are now crossreferenced via a new
system guaranteeing leak-free mutually assured destruction
- DBIx::Class now warns when the user erroneously supplies
AutoCommit => 0 to connect()
- A warning is also issued before forcing the RaiseError
setting of externally supplied DBI handles
- Switch to a warning when find() is invoked with both a 'key'
argument and a NULL-containing condition to satisfy the named
constraint. Previously (starting with 0.08124) an exception was
thrown
- Switch to a warning when a commit is attempted with an out-of-sync
transaction_depth (someone issued a begin externally to DBIC).
Previously (starting with 0.08124) an exception was thrown
0.08126 2010-12-28 18:10 (UTC)
* Fixes
- Bump forgotten Class::Accessor::Grouped core dependency
- Promote forgotten Hash::Merge optdep to a hard requirement
- Skip t/storage/error.t on smokers with leaking perls
- Fix t/storage/txn.t deadlocks on slower machines
- Do not run on smokers if a trial Package::Stash is found
0.08125 2010-12-27 04:30 (UTC)
* New Features / Changes
- New method ResultSource columns_info method, returning multiple
pairs of column name/info at once
- $rs->search now throws when called in void context, as it makes
no sense (and is nearly always a sign of a bug/misdesign)
- Restore long-lost ability to supply unbalanced select/as pairs
e.g. +select => \'DISTINCT(foo, bar)', +as => ['foo', 'bar']
- +columns now behaves just like columns by not stripping a
fully-qualified 'as' spec (i.e. foo.bar results in $obj->foo->bar)
- Deprecate legacy $rs->search( %condition ) syntax (warn once per
callsite)
- NULL is now supplied unquoted to all debug-objects, in order to
differentiate between a real NULL and the string 'NULL'
- New search() condition operator -value used to pass complex bind
values to DBI: search({ array_col => { -value => [1,2,3] }})
- Add full INSERT...RETURNING support for Oracle
- Deprecate use of -nest in search conditions (warn once per
callsite)
- Deprecate the completely useless DBIx::Class::Serialize::Storable
result component