Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

v0.5.2 release imminent, compatibility warnings

The 0.5.2 release has some major functional and design improvements, but also contains a few changes that could potentially break backwards compatibility with some programs.

*** The "tibco" module has been renamed to "tibae".
Be aware that to use TIBCO Active Enterprise functionality in v0.5.2 you have to include "%requires tibae" instead of "%requires tibco" in your qore scripts. This was done to avoid confusion with the new "tibrv" module in v0.5.2 which provides TIBCO Rendezvous support.

int <-> date conversions are now based on a 64-bit second offset from Jan 1, 1970
date arithmetic no longer takes daylight savings time into consideration
There are a lot of improvements in date handling and lots of additional date functionality in this release, but the int/date conversion choice was made despite the fact that it could break backwards-compatibility because it makes finding the difference between two dates much easier (i.e. 2006-01-01 - 2005-12-31 will give a value of 86400 - for the 86400 seconds in one day).
DST is no longer taken into consideration because internally date arithmetic is based on the internal conversion to a 64-bit second offset from Jan 1, 1970 instead of using the mktime() function - so date arithmetic now works with dates far outside the 32-bit time_t range.
A full list of the date-related changes is included in the release notes in SVN, but quickly some other changes include millisecond support, direct absolute date difference support (giving a relative date value), all functions and methods taking timeout values accept relative date values in addition to integer values to make time units clear (i.e. sleep(10) can also be written as sleep(10s) or sleep(10000ms), etc), functions to work with ISO-8601 calendar weeks

Other changes should only provide additional capabilities, sich as: transparent TLS/SSL support for sockets, classes for manipulating X.509 certificates and private keys, RFC-4217 support for the FtpClient class (FTPS support), functions supporting strong encryption/decryption, message digest calculation functions, a "tibrv" module providing support for TIBCO Rendezvous functionality (including secure daemons, certified messaging, fault tolerant group monitoring and membership, distributed queues, etc), oracle driver improvements (direct data binding in the Datasource::select() method), mysql driver improvements (direct data binding in exec and select, stored procedure execution support), XML improvements (support for serializing and deserializing multiple out-of-order keys), 64-bit build support on x86_64 platforms, a warning framework, much simpler/streamlined qore c++ class development, and a lot of bug fixes, and more...

Posted by David Nichols 2006-09-16