As of 2016-06-03, this project may now be found at

Qore is a scripting language supporting threading and embedded logic, designed for applying a flexible scripting-based approach to enterprise interface development but is also useful as a general purpose language. No more development or releases happen on sourceforge; development has moved to

2014-05-30 09:35  subik

	* cmake/ cmake modules: use
	  CMAKE_INSTALL_PREFIX based on qore location if there is no

2014-05-29 16:08  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, qlib/CsvUtil.qm: set the
	  "optimal-quotes" option by default when outputting csv data

2014-05-29 15:00  david_nichols

	* lib/QoreLib.cpp: more efficient implementation of local

2014-05-29 14:57  david_nichols

	* include/qore/intern/QoreLibIntern.h: added a prototype in an
	  internal header for strcasestr() when the local implementation is

2014-05-29 14:53  david_nichols

	*, include/qore/intern/qore_socket_private.h,
	  lib/QoreLib.cpp: added strcasestr tests and fixed typo in last

2014-05-29 14:52  david_nichols

	* lib/QoreLib.cpp: added strcasestr for platforms without it (ex:

2014-05-29 14:36  david_nichols

	* doxygen/lang/120_modules.dox.tmpl: doc updates

2014-05-29 13:59  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, lib/qpp.cpp,
	  qlib/CsvUtil.qm: CsvUtil updates:
	  - added the "write-headers" option to AbstractCsvWriter and
	  subclasses to enable headers to be suppressed
	  - added the "optimal-quotes" option to AbstractCsvWriter and
	  subclasses to enable more efficient csv output
	  qpp update:
	  - allow preprocessor defines to be used as string constant values

2014-05-28 14:19  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl,
	  include/qore/intern/ThreadPool.h, lib/QC_ThreadPool.qpp: fixed
	  several race conditions and potential deadlocks in ThreadPool
	  destruction with active threads in the pool

2014-05-28 13:43  david_nichols

	* include/qore/intern/ThreadPool.h, lib/QC_ThreadPool.qpp: fixed a
	  race condition in the ThreadPool class where a worker thread is
	  canceled before it starts while a task has already been queued

2014-05-28 13:18  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, lib/QC_ThreadPool.qpp:
	  fixed a bug handling thread cancellation with the ThreadPool

2014-05-28 12:21  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl,
	  include/qore/intern/qore_socket_private.h: fixed a bug where
	  case-sensitive comparisons were being made with critical header
	  values when parsing HTTP responses

2014-05-28 11:38  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, qlib/HttpServer.qm,
	  qlib/RestHandler.qm, qlib/SqlUtil.qm: added additional thread
	  context handling to HttpServer
	  fixed a bug where select and row iterator operations could fail
	  with certain select hash arguments without a \c "columns" entry
	  but where column names were otherwise required
	  minor RestHandler changes

2014-05-27 18:38  david_nichols

	* lib/qore-main.cpp: removed debugging lines

2014-05-26 17:55  david_nichols

	* qlib/SqlUtil.qm: fixed typo

2014-05-26 17:08  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl,
	  lib/QC_AbstractDatasource.qpp, qlib/SqlUtil.qm: added the
	  AbstractDatasource::currentThreadInTransaction() method
	  added support for the "forupdate" select option

2014-05-26 16:13  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl,
	  include/qore/QoreHttpClientObject.h, include/qore/QoreProgram.h,
	  lib/QC_HTTPClient.qpp, lib/QoreHttpClientObject.cpp,
	  lib/QoreProgram.cpp, lib/ql_thread.qpp, qlib/HttpServer.qm: fixed
	  crashing bugs in get_thread_data() and friends in certain use
	  added HTTPClient::setPersistent() to disable implicit connections
	  for a single HTTP session
	  added support for persistent connections to a given handler to
	  the HTTP server

2014-05-26 11:34  david_nichols

	* qlib/HttpServer.qm: started work on supporting persistent
	  connections - where a connection is dedicated to a certain

2014-05-26 08:06  david_nichols

	* include/qore/intern/qore_program_private.h, lib/QoreProgram.cpp,
	  qlib/CsvUtil.qm, qlib/MailMessage.qm, qlib/Mapper.qm,
	  qlib/Mime.qm, qlib/MysqlSqlUtil.qm, qlib/PgsqlSqlUtil.qm,
	  qlib/Pop3Client.qm, qlib/Qorize.qm, qlib/RestHandler.qm,
	  qlib/SmtpClient.qm, qlib/TableMapper.qm, qlib/TelnetClient.qm,
	  qlib/Util.qm, qlib/WebSocketClient.qm, qlib/WebSocketHandler.qm,
	  qlib/WebSocketUtil.qm, qlib/WebUtil.qm: add
	  QoreHasUserModuleLicense = True define when parsing user modules
	  update user modules to require at least qore 0.8.10 since the
	  license user module key is not accepted by previous versions

2014-05-22 14:44  david_nichols

	* fixed builds from dist source

2014-05-19 15:45  david_nichols

	* include/qore/intern/qore_socket_private.h, lib/ModuleManager.cpp:
	  fixed error in last commit regarding chunked trailer processing;
	  chunked trailers are now sent and parsed correctly

2014-05-19 11:08  david_nichols

	* lib/ModuleManager.cpp: removed debugging output

2014-05-19 10:59  david_nichols

	* include/qore/QoreLib.h: updated module sources to reflect MIT
	  licenses; added license string to binary module's exported
	  symbols for use with Qore >= 0.8.10

2014-05-19 10:24  david_nichols

	* doxygen/lang/120_modules.dox.tmpl,
	  include/qore/intern/ModuleInfo.h, lib/ModuleManager.cpp,
	  lib/ql_misc.qpp, qlib/CsvUtil.qm, qlib/HttpServer.qm,
	  qlib/MailMessage.qm, qlib/Mapper.qm, qlib/Mime.qm,
	  qlib/MysqlSqlUtil.qm, qlib/OracleSqlUtil.qm,
	  qlib/PgsqlSqlUtil.qm, qlib/Pop3Client.qm, qlib/Qorize.qm,
	  qlib/RestClient.qm, qlib/RestHandler.qm, qlib/Schema.qm,
	  qlib/SmtpClient.qm, qlib/SqlUtil.qm, qlib/TableMapper.qm,
	  qlib/TelnetClient.qm, qlib/Util.qm, qlib/WebSocketClient.qm,
	  qlib/WebSocketHandler.qm, qlib/WebSocketUtil.qm, qlib/WebUtil.qm:
	  added support for reporting module license strings for all
	  added support for the new "qore_module_license_str" symbol for
	  binary modules
	  added a 'license = "MIT";' line to all user modules shipped with
	  updated docs

2014-05-19 08:01  subik

	* doxygen/qdx: qdx: fixed tab vs. spaces mixing

2014-05-17 15:55  david_nichols

	* changes for compiling on Mavericks with XCode 5.1,
	  cannot use -Wl,-x in link anymore since Apple LLVM 5.1 will fail
	  with optimizations enabled

2014-05-17 15:37  david_nichols

	*, include/qore/intern/QoreNamespaceIntern.h,
	  include/qore/intern/qore_socket_private.h: included patches for
	  compiling on Mavericks with XCode 5.1, cannot use -Wl,-x in link
	  anymore since Apple LLVM 5.1 will fail with optimizations enabled
	  prevented export of additional internal symbols

2014-05-16 22:09  nros

	* include/qore/intern/QC_TermIOS.h: Close the local file descriptor
	  in getWindowSize.

2014-05-15 11:36  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, qlib/OracleSqlUtil.qm:
	  fixed schema information classes when the "string-numbers" driver
	  option is enabled

2014-05-14 12:27  david_nichols

	* include/qore/intern/qore_socket_private.h: fixed problems parsing
	  HTTP chunked trailers and setting up callback arguments for

2014-05-12 12:30  david_nichols

	* doxygen/lang/150_container_data_types.dox.tmpl,
	  lib/QoreClosureNode.cpp, lib/QoreObject.cpp: fixed a memory and
	  reference leak caused by recursive references when closures
	  encapsulating an object\'s scope are assigned to or accessible
	  from members of the object by making references to the object
	  from within a closure encapsulating the object\'s state weak
	  references instead of strong references

2014-05-12 10:52  david_nichols

	* examples/restserver.q: added a shutdown api call to the
	  restserver.q example

2014-05-11 18:43  david_nichols

	* lib/qore_date_private.cpp, qlib/HttpServer.qm: handle return
	  value errors with the handleRequest() method in a more
	  user-friendly way

2014-05-11 13:17  david_nichols

	* include/qore/intern/qore_socket_private.h: fixed a memory leak
	  that happens when an HTTP message is received with an empty
	  Content-Type header

2014-05-11 11:46  nros

	* lib/qpp.cpp: Close file pointers properly when not needed

2014-05-06 18:27  nros

	* Fix building on NetBSD 7.

2014-05-05 19:43  nros

	* lib/QoreString.cpp: Fixed out-of-bounds read of
	  url_reserved_list[] in qore_string_init().
	  -This line, and those below, will be ignored--
	  M lib/QoreString.cpp

2014-05-05 11:37  david_nichols

	* qlib/Schema.qm: fixed bugs setting info_callback in schema
	  alignment and drop operations

2014-05-04 15:41  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl,
	  include/qore/intern/QoreNamespaceIntern.h, lib/QoreNamespace.cpp,
	  lib/QoreProgram.cpp: fixed the following bugs:
	  - fixed a bug in Program::importFunction() where only the
	  committed function list was checked when importing functions with
	  a specific target namespace path
	  - fixed a bug in Program::importClass() where only the committed
	  class list was checked when importing functions with a specific
	  target namespace path
	  - fixed a bug when parsing subnamespaces into a parent namespace
	  where the subnamespace already exists (either in the committed
	  list or in the pending list)

2014-05-02 15:07  david_nichols

	* qlib/Schema.qm: doc updates

2014-05-02 13:41  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, qlib/Schema.qm: doc

2014-05-02 11:57  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl: minor release note doc

2014-05-02 11:50  david_nichols

	*, doxygen/lang/120_modules.dox.tmpl,
	  lib/QC_DatasourcePool.qpp, lib/ql_lib.qpp, qlib/Schema.qm:
	  sanitized Schema module API, renamed, reorganized, and documented

2014-04-30 13:00  david_nichols

	* qlib/HttpServer.qm, qlib/RestHandler.qm: HTTP chunked/stream
	  handling infrastructure updates:
	  + added more documentation
	  + sanitized callback architecture

2014-04-30 08:47  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, qlib/OracleSqlUtil.qm:
	  OracleSqlUtil updates:
	  + convert date/time values to timestamps with microseconds
	  resolution instead of dates with second resolution when
	  dynamically inserting values as strings in SQL (binding by value
	  not affected)
	  + make some private methods private in OracleDatabase
	  + doc updates

2014-04-30 08:18  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, qlib/SqlUtil.qm: added
	  SqlUtil::Table::checkExistence() method to SqlUtil

2014-04-29 14:34  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, qlib/HttpServer.qm,
	  qlib/RestHandler.qm, qlib/SqlUtil.qm: added the
	  HttpServer::AbstractStreamRequestHandler class
	  updated docs

2014-04-29 12:27  david_nichols

	* fixed with new iconv.m4 on freebsd
	  with libiconv installed under /usr/local

2014-04-29 12:04  david_nichols

	* m4/iconv.m4: added AC_LANG_PROGRAM to AC_COMPILE_IFELSE
	  invokation to avoid excess warnings

2014-04-29 11:53  nros

	*, m4/iconv.m4: Use Keith Marshalls iconv.m4 to find
	  iconv instead of AC_SEARCH_LIBS.

2014-04-29 10:45  david_nichols

	* qlib/SqlUtil.qm: doc updates

2014-04-29 10:36  david_nichols

	* qlib/SqlUtil.qm: added new Table::insertFromSelect*() variants
	  taking Table arguments

2014-04-29 09:49  david_nichols

	* include/qore/intern/ConstantList.h,
	  include/qore/intern/qore_program_private.h, lib/ConstantList.cpp,
	  lib/QoreNamespace.cpp: non-functional and debugging updates

2014-04-28 17:53  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl,
	  lib/QoreHttpClientObject.cpp, qlib/HttpServer.qm,
	  qlib/OracleSqlUtil.qm, qlib/RestHandler.qm, qlib/SqlUtil.qm: -
	  fixed programmatic select queries with "limit" but no "offset" in
	  - many DataStream and HTTP chunked support fixes
	  - added a minimum body size threshold for Content-Encoding
	  compression to HttpServer
	  - added new upsert constant maps to SqlUtil
	  - added logic to verify that literal placeholder arguments
	  inserted directly into sql strings from insert operators are only
	  made up of legal identifiers
	  - do not throw exceptions with new HTTPClient methods with
	  receive callbacks if the status code is < 100 or >= 300

2014-04-28 09:04  david_nichols

	* examples/sqlutil, qlib/Schema.qm: cosmetic updates

2014-04-27 20:43  david_nichols

	* lib/ql_misc.qpp, qlib/OracleSqlUtil.qm, qlib/PgsqlSqlUtil.qm,
	  qlib/SqlUtil.qm: added the ability to use sequence values in
	  select statements, in insert statements, and in update statements
	  in OracleSqlUtil and PgsqlSqlUtil

2014-04-22 11:29  david_nichols

	* qlib/Schema.qm: make sure to flush output after each info log msg

2014-04-20 15:41  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, qlib/RestClient.qm: add
	  support for application/xml to RestClient to indicate XML-RPC
	  value encoding
	  release notes updates

2014-04-20 11:34  david_nichols

	* include/qore/intern/ModuleInfo.h, qlib/HttpServer.qm,
	  qlib/RestHandler.qm: user module dependency fixes; finally
	  working I hope :)
	  additional module docs + datastream compatibility fixes

2014-04-20 07:49  david_nichols

	* lib/ModuleManager.cpp: fixed user module dependency management
	  again when a module cannot be loaded due to errors but
	  dependencies were already in place - remove dependencies when the
	  user module name context is removed if any errors occurred

2014-04-20 06:23  david_nichols

	* include/qore/intern/ModuleInfo.h, lib/ModuleManager.cpp,
	  lib/QC_Socket.qpp: fixed module dependency bugs: fixed dependency
	  management with module errors, fixed feature name generation from
	  user module file names
	  updated docs

2014-04-19 20:41  david_nichols

	* include/qore/QoreSocketObject.h,
	  include/qore/intern/qore_socket_private.h, lib/QC_Socket.qpp,
	  lib/QoreHttpClientObject.cpp, lib/QoreSocketObject.cpp: chunked
	  transfer fixes; ensure socket object is set in header callback

2014-04-19 20:19  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl,
	  include/qore/intern/qore_socket_private.h, lib/QC_HTTPClient.qpp,
	  lib/QoreHttpClientObject.cpp, qlib/HttpServer.qm,
	  qlib/RestHandler.qm: data stream fixes; pass a reference to the
	  owning Socket object to allow the receive callback to change
	  socket params (such as the character encoding) when headers are

2014-04-19 19:52  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl,
	  lib/CallReferenceNode.cpp, lib/thread.cpp: fixed a bug where a
	  valid call reference to a private object method was created
	  within the class, then in some cases an object protection
	  exception was raised when the call reference was called outside
	  the class

2014-04-19 18:18  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl,
	  include/qore/intern/QoreClassIntern.h, lib/CallReferenceNode.cpp,
	  lib/Function.cpp: fixed a bug where a call reference to an
	  abstract object method returned from an abstract class could be
	  executed even though it must have been instantiated by a concrete

2014-04-19 17:25  david_nichols

	* include/qore/intern/ModuleInfo.h, lib/ModuleManager.cpp: really
	  fixed user module dependency management

2014-04-19 16:45  david_nichols

	* include/qore/intern/ModuleInfo.h, lib/ModuleManager.cpp: really
	  fixed the user module dependency bug by implementing
	  bidirectional dependency maps and processing them correctly when
	  unloading user modules

2014-04-19 15:38  david_nichols

	* include/qore/intern/ModuleInfo.h,
	  include/qore/intern/qore_thread_intern.h, lib/ModuleManager.cpp,
	  lib/thread.cpp: user module dependency tracking fixes

2014-04-19 15:14  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl: added info to relnotes
	  for last fix

2014-04-19 15:12  david_nichols

	* qlib/PgsqlSqlUtil.qm, qlib/SqlUtil.qm: fixed a bug in SqlUtil
	  where SqlUtil used excessively verbose column aliases that caused
	  errors when automatically updating columns with existing rows and
	  new default values and non-null contraints with PostgreSQL

2014-04-19 14:56  david_nichols

	* include/qore/intern/QoreClassIntern.h: fixed a minor memory error
	  in class variable copy handling

2014-04-19 14:28  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl,
	  include/qore/intern/qore_thread_intern.h, lib/ModuleManager.cpp,
	  lib/thread.cpp: fixed a bug where qore could crash on exit due to
	  user module destruction not taking into consideration user module

2014-04-19 12:44  david_nichols

	* lib/QoreClassList.cpp, lib/QoreProgram.cpp: make sure class
	  variables 'finalized' values are copied when classes are
	  inherited; other cosmetic updates

2014-04-19 07:00  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl,
	  include/qore/intern/qore_socket_private.h, qlib/HttpServer.qm,
	  qlib/WebUtil.qm: fixed HTTP chunked trailer receive with
	  callback; trailew now set correctly under the "hdr" hash key
	  do not try to decode message chunks separately; chunked
	  transfer-encoding applies to the entire message and not to
	  individual chunks

2014-04-18 11:56  subik

	* qlib/SqlUtil.qm: sqlutil: fixed arguments for getCreateSql()

2014-04-17 13:58  david_nichols

	* qlib/HttpServer.qm, qlib/RestClient.qm, qlib/RestHandler.qm:
	  added configurable content encoding for send request message
	  bodies (ie optional compression to the RestClient module
	  decode message bodies with content-encoding before calling the
	  handler (regression in this release)

2014-04-16 16:42  david_nichols

	* lib/QoreTypeInfo.cpp, qlib/RestClient.qm: fixed a bug where *any
	  was not handled correctly; now is handled just like "any"
	  minor RestClient updates

2014-04-15 09:27  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl: updated docs for last

2014-04-15 09:26  david_nichols

	* lib/thread.cpp: fixed a bug where qore could crash on exit with
	  certain openssl versions by calling ERR_remove_state(0) in the
	  main thread's cleanup function

2014-04-10 04:48  david_nichols

	* qlib/RestHandler.qm: renamed socket object context attribute

2014-04-09 17:34  david_nichols

	* qlib/HttpServer.qm: fixed typo in last commit

2014-04-09 17:33  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl,
	  include/qore/QoreSocket.h, include/qore/QoreSocketObject.h,
	  include/qore/intern/qore_socket_private.h, lib/QC_Socket.qpp,
	  lib/QoreSocket.cpp, lib/QoreSocketObject.cpp, qlib/HttpServer.qm,
	  qlib/RestHandler.qm: http streaming transfer updates and

2014-04-08 18:15  david_nichols

	* qlib/HttpServer.qm, qlib/Mime.qm, qlib/RestHandler.qm: more HTTP
	  streaming send/recv support

2014-04-08 14:40  david_nichols

	* include/qore/intern/qore_socket_private.h,
	  lib/QoreHttpClientObject.cpp, lib/QoreSocketObject.cpp,
	  qlib/HttpServer.qm, qlib/RestHandler.qm: HTTP chunked fixes and
	  HttpServer and RestHandler streaming API fixes
	  HTTP chunked data recv fix: content encoding cannot be applied to
	  each chunk individually but rather only to the whole message
	  (rendering compression much less useful for chunked messaging)

2014-04-08 13:18  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, lib/ConstantList.cpp:
	  fixed a bug handling parse initialization of constant values
	  requiring run-time evaluation after other parse exceptions have
	  been raised that could cause a parse-time crash

2014-04-08 12:43  david_nichols

	* examples/restserver.q, qlib/HttpServer.qm, qlib/RestHandler.qm:
	  progress on HTTP streaming support with REST

2014-04-08 06:42  david_nichols

	* include/qore/intern/qore_socket_private.h, qlib/HttpServer.qm:
	  fixed a regression introduced in the HttpServer module yesterday

2014-04-07 17:23  david_nichols

	* qlib/HttpServer.qm: more streaming HTTP messaging support

2014-04-06 21:07  david_nichols

	* include/qore/intern/qore_socket_private.h, lib/QC_HTTPClient.qpp,
	  lib/QC_Socket.qpp, qlib/HttpServer.qm: streaming socket support
	  fixes, started adding infrastructural support to the HttpServer
	  module for handling streaming requests and responses

2014-04-06 15:56  david_nichols

	* include/qore/QoreSocketObject.h, lib/QC_Socket.qpp,
	  lib/QoreSocketObject.cpp, qlib/HttpServer.qm: more progress on
	  streaming HTTP messaging support with chunked transfer encoding

2014-04-06 14:05  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl,
	  include/qore/QoreHttpClientObject.h, include/qore/QoreSocket.h,
	  include/qore/QoreSocketObject.h, include/qore/QoreThreadLock.h,
	  include/qore/intern/qore_socket_private.h, lib/QC_HTTPClient.qpp,
	  lib/QC_Socket.qpp, lib/QoreHttpClientObject.cpp,
	  lib/QoreSocket.cpp, lib/QoreSocketObject.cpp: more HTTP streaming
	  chunked send/recv support

2014-04-04 17:16  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, include/qore/QoreLib.h,
	  lib/QoreHttpClientObject.cpp, lib/QoreSocket.cpp: implemented
	  internal support for receive callbacks with HTTP chunked receives
	  - not yet tested or bound to user code

2014-04-04 14:44  david_nichols

	* include/qore/QoreHttpClientObject.h, include/qore/QoreSocket.h,
	  include/qore/intern/qore_socket_private.h, lib/QC_HTTPClient.qpp,
	  lib/QoreHttpClientObject.cpp, test/socket-test.q: initial support
	  for chunk HTTP sends; chunk HTTP recv callbacks not yet
	  implemented (currently will abort in debugging mode if called)
	  new HTTPClient methods:
	  * sendWithSendCallback() (initial tests passed)
	  * sendWithRecvCallback() (not yet working)
	  * sendWithCallbacks() (not yet working)

2014-04-04 13:27  subik

	* qore.spec: spec file: add cmake support files to spec

2014-04-04 11:56  subik

	*, cmake/, cmake/QoreMacros.cmake:
	  qore: reintrodiced cmake support; cmake fixes for jhbuild/jenkins

2014-04-03 16:08  david_nichols

	* include/qore/QoreHTTPClient.h,
	  lib/QoreHTTPClient.cpp, lib/QoreHttpClientObject.cpp,
	  lib/QoreSocket.cpp, lib/QoreSocketObject.cpp: initial changes to
	  add support for HTTP chunked sends and receives with callbacks
	  for better streaming data support in Qore

2014-04-02 11:18  david_nichols

	* qlib/MysqlSqlUtil.qm, qlib/OracleSqlUtil.qm,
	  qlib/PgsqlSqlUtil.qm, qlib/SqlUtil.qm: various SqlUtil fixes,
	  mostly for Mysql and Pgsql + some common SqlUtil API changes

2014-04-01 16:51  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, qlib/PgsqlSqlUtil.qm,
	  qlib/SqlUtil.qm: fixed bugs handling "bigint" and "double
	  precision" column types with schema alignments with the
	  PgsqlSqlUtil module

2014-04-01 16:16  david_nichols

	* lib/ModuleManager.cpp, qlib/Schema.qm, qlib/SqlUtil.qm: reversed
	  module logic - qmod extension means binary module, everything
	  else is assumed to be a user module
	  minor Schema and SqlUtil API updates

2014-04-01 14:10  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl,
	  include/qore/intern/QC_Condition.h, include/qore/intern/RWLock.h,
	  include/qore/intern/SmartMutex.h, include/qore/intern/VRMutex.h,
	  lib/AbstractSmartLock.cpp, lib/QC_Condition.qpp,
	  lib/QoreCondition.cpp, lib/RWLock.cpp, lib/SmartMutex.cpp,
	  lib/VRMutex.cpp, test/test.q: fixed a bug where an error could
	  result with Condition::wait() with timeouts > 2147483648 ms

2014-03-31 15:11  david_nichols

	* qlib/Schema.qm: minor formatting updates in log msgs

2014-03-31 15:10  david_nichols

	* qlib/Schema.qm: added support for dropping schemas; reworked the

2014-03-31 12:09  david_nichols

	* qlib/Schema.qm: Schema module updates

2014-03-28 17:00  david_nichols

	* qlib/Schema.qm: more Schema API updates

2014-03-28 16:45  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl,
	  include/qore/intern/SelfVarrefNode.h, lib/FunctionCallNode.cpp,
	  lib/QoreNamespace.cpp, lib/SelfVarrefNode.cpp, lib/parser.ypp,
	  qlib/Schema.qm: fixed several bugs where the parse location could
	  be reported incorrectly for type errors regarding in-object
	  variable references
	  Schema module updates

2014-03-28 13:41  david_nichols

	* qlib/Schema.qm: implemented intial public VersionedSchema class

2014-03-28 12:16  subik

	* qlib/SqlUtil.qm: check schema hash for whitespaces (begin/end) in

2014-03-28 09:36  david_nichols

	* TODO, doxygen/lang/900_release_notes.dox.tmpl,
	  include/qore/intern/ModuleInfo.h, lib/ModuleManager.cpp,
	  qlib/Schema.qm: started work on VersionedSchema class

2014-03-27 15:23  david_nichols

	*, doxygen/lang/900_release_notes.dox.tmpl,
	  qlib/Schema.qm, qlib/SqlUtil.qm: initial addition of the Schema
	  module, minor SqlUtil updates

2014-03-24 17:11  david_nichols

	* include/qore/intern/QoreObjectIntern.h,
	  include/qore/intern/Variable.h, lib/QoreObject.cpp,
	  lib/Variable.cpp: defined out temporary / non-functional object
	  recursive code

2014-03-20 17:26  nros


2014-03-20 14:05  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, lib/qc_option.qpp,
	  lib/ql_lib.qpp, lib/qpp.cpp: implemented the close_all_fd()
	  function and the HAVE_CLOSE_ALL_FD constant; this function will
	  close all open file descriptors; it's useful for executing when a
	  new daemon process starts that may have inherited open file
	  descriptors from the parent

2014-03-19 11:53  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, include/qore/QoreLib.h,
	  include/qore/intern/qore_socket_private.h, lib/QoreSocket.cpp: -
	  new public C++ socket performance instrumentation API
	  fixed a reference leak related to exception handling with invalid
	  arguments with @ref Qore::Socket::setWarningQueue() and @ref

2014-03-18 14:55  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, lib/qc_errno.qpp: added
	  the ESRCH error constant

2014-03-18 13:01  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, lib/SwitchStatement.cpp,
	  lib/parser.ypp: fixed a bug where a qore switch statement with no
	  case conditions and only a default label would erroneously never
	  have it's default code executed

2014-03-17 12:43  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, qlib/SmtpClient.qm:
	  fixed missing username and missing password errors in the
	  SmtpClient module

2014-03-15 15:19  david_nichols

	* fix for compiling on 32-bit ARM (removed -m32 flag)

2014-03-14 10:02  david_nichols

	* qlib/WebSocketClient.qm: minor doc update

2014-03-14 10:01  david_nichols

	* qlib/WebSocketClient.qm: prepend "WebSocketClient: " to log

2014-03-14 08:27  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl,
	  include/qore/intern/QoreClassIntern.h, lib/ConstantList.cpp,
	  lib/, qore.spec: fixed an issue with class constant
	  parse initialization where invalid recursive class constant
	  definition parse exceptions could be raised and in some cases
	  also crashes could result
	  updated library version info

2014-03-12 10:55  david_nichols

	*, qore.spec: updated to v 0.8.10 for future release

2014-03-11 16:53  david_nichols

	* include/qore/QoreQueue.h, lib/QoreQueue.cpp: more MXE build fixes

2014-03-11 16:45  david_nichols

	* include/qore/QoreIteratorBase.h, lib/QoreLib.cpp: build/compile
	  fixes for MXE

2014-03-11 16:11  david_nichols

	* ChangeLog, commented out cmake info in Makefile so
	  the opensuse build service builds would succeed (for real this
	  time! :))
	  updated ChangeLog for 0.8.9 release

2014-03-11 15:50  david_nichols

	* added cmake files to distribution so that builds
	  with the opensuse build service succeed

2014-03-07 18:57  david_nichols

	* lib/scanner.lpp: removed duplicate rulex

2014-03-07 11:10  david_nichols

	* lib/Pseudo_QC_String.qpp: doc update

2014-03-05 22:02  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl,
	  include/qore/intern/QoreClassIntern.h, lib/QoreClass.cpp: fixed a
	  memory leak in handling abstract methods when multiple abstract
	  methods with the same name but different signatures were declared
	  in a class

2014-03-04 16:23  david_nichols

	* qlib/HttpServer.qm: non-functional updates

2014-03-03 21:40  david_nichols

	* lib/qpp.cpp: fixed bug in qpp regarding "or nothing" class

2014-03-03 16:08  david_nichols

	*, doxygen/lang/900_release_notes.dox.tmpl,
	  include/qore/DBI.h, include/qore/Datasource.h,
	  include/qore/Qore.h, include/qore/QoreLib.h,
	  include/qore/QoreQueue.h, include/qore/intern/DatasourcePool.h,
	  include/qore/intern/QC_Queue.h, include/qore/intern/QoreQueue.h,
	  include/qore/intern/qore_ds_private.h, include/qore/params.h,
	  lib/DBI.cpp, lib/Datasource.cpp, lib/DatasourcePool.cpp,
	  lib/ManagedDatasource.cpp, lib/QC_Datasource.qpp,
	  lib/QC_DatasourcePool.qpp, lib/QC_Queue.qpp, lib/QoreQueue.cpp,
	  lib/qpp.cpp: added support for a DBI warning API to allow DBI
	  drivers to raise warnings that are posted on an event queue
	  added initial internal and external API support for describe
	  methods in DB drivers
	  fixed some issues supporting "or nothing" class parameters in qpp

2014-02-28 20:08  david_nichols

	* include/qore/intern/qore_socket_private.h: applied select()
	  error-handling fix to 0.8.8 branch, updated error msg in trunk

2014-02-28 17:01  david_nichols

	* include/qore/intern/qore_socket_private.h: non-functional changes

2014-02-28 13:28  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl,
	  include/qore/intern/qore_socket_private.h: fixed a bug in socket
	  timeout handling with select() errors

2014-02-25 17:43  david_nichols

	* include/qore/DBI.h, include/qore/QoreLib.h, lib/QC_FtpClient.qpp,
	  lib/QoreSocket.cpp, qlib/WebSocketClient.qm: added the
	  doc fixes

2014-02-21 13:08  subik

	* include/qore/DBI.h, include/qore/intern/QoreSQLStatement.h,
	  include/qore/intern/qore_dbi_private.h, lib/DBI.cpp,
	  lib/QC_SQLStatement.qpp, lib/QoreSQLStatement.cpp: Implementation
	  of SQLStatement::describe() method

2014-02-18 20:11  david_nichols

	* qlib/Util.qm: fixed output formatting of get_*byte_size()
	  functions with values < 1K

2014-02-06 10:34  david_nichols

	* include/qore/QoreFtpClient.h,
	  include/qore/QoreHttpClientObject.h, include/qore/QoreSocket.h,
	  include/qore/intern/qore_socket_private.h, lib/QC_FtpClient.qpp,
	  lib/QC_HTTPClient.qpp, lib/QC_Socket.qpp, lib/QoreFtpClient.cpp,
	  lib/QoreHttpClientObject.cpp, lib/QoreSocket.cpp,
	  lib/QoreSocketObject.cpp, qlib/Pop3Client.qm, qlib/SmtpClient.qm,
	  qlib/TelnetClient.qm, qlib/WebSocketClient.qm: added an
	  additional argument to set the minimum time period for socket
	  performance warnings (default: 1 second)

2014-02-04 16:28  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, qlib/Pop3Client.qm,
	  qlib/TelnetClient.qm, qlib/WebSocketClient.qm: minor corrections
	  to recent updates in user modules re socket performance
	  instrumentation, added support for socket performance
	  instrumentation and warning events to the WebSocketClient module

2014-02-04 16:22  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, qlib/Pop3Client.qm,
	  qlib/SmtpClient.qm, qlib/TelnetClient.qm: added support for
	  socket performance instrumentation and warning events to the
	  Pop3Client, SmtpClient, and TelnetClient modules

2014-02-04 16:12  david_nichols

	*, doxygen/lang/900_release_notes.dox.tmpl,
	  include/qore/QoreFtpClient.h, include/qore/QoreSocket.h,
	  include/qore/intern/qore_socket_private.h, lib/QC_FtpClient.qpp,
	  lib/QC_HTTPClient.qpp, lib/QC_Socket.qpp, lib/QoreFtpClient.cpp,
	  lib/QoreSocket.cpp, qlib/SmtpClient.qm: added supoprt for socket
	  performance instrumentation and warning events to the FtpClient
	  class and the SmtpClient module/class

2014-02-04 07:27  david_nichols

	* lib/QoreSocket.cpp: socket performance monitoring fixes / updates

2014-02-03 16:26  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl,
	  include/qore/QoreHttpClientObject.h, include/qore/QoreSocket.h,
	  include/qore/QoreSocketObject.h, include/qore/intern/QC_Socket.h,
	  lib/QC_HTTPClient.qpp, lib/QC_Socket.qpp,
	  lib/QoreHttpClientObject.cpp, lib/QoreSocket.cpp,
	  lib/QoreSocketObject.cpp: added performance instrumentation for
	  Socket and HTTPClient classes plus warning infrastructure if
	  performance does not meet pre-defined limits

2014-01-31 15:35  david_nichols

	* lib/ql_misc.qpp: doc updates

2014-01-31 14:45  david_nichols

	* include/qore/intern/QoreHttpClientObjectIntern.h,
	  lib/QoreHttpClientObject.cpp: fixed double // reported in HTTP

2014-01-31 14:09  david_nichols

	* qlib/MysqlSqlUtil.qm, qlib/OracleSqlUtil.qm,
	  qlib/PgsqlSqlUtil.qm: minor doc updates

2014-01-31 14:01  david_nichols

	* command-line.cpp, qlib/TableMapper.qm: minor doc updates

2014-01-31 13:15  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl,
	  include/qore/intern/QoreObjectIntern.h, lib/QoreClass.cpp,
	  lib/QoreObject.cpp, qlib/CsvUtil.qm, test/test.q: fixed a bug
	  managing object private data in complex inheritance cases where
	  the same class may be inherited with virtual private data and
	  also real private data
	  fixed CsvDataIterator::next() when header_lines > 0 and working
	  with empty input data
	  added a regression test for the CsvDataIterator case fixed above

2014-01-30 16:53  david_nichols

	* include/qore/QoreIteratorBase.h: added virtual destructors to new
	  abstract iterator classes with virtual methods

2014-01-29 15:09  david_nichols

	* doxygen/lang/245_parse_directives.dox.tmpl,
	  lib/QC_HTTPClient.qpp, lib/ql_misc.qpp: doc updates related to
	  environment variable substitution in the %include directive
	  added docs about the URL syntax when using UNIX socket paths

2014-01-29 14:58  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, lib/scanner.lpp:
	  implemented support for environment variable substitution in the
	  %include parse directive; enforce PO_NO_FILESYSTEM in %include

2014-01-28 10:31  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl,
	  lib/QoreNumberNode.cpp, test/test.q: fixed a bug in the
	  arbitrary-precision rounding heuristic that could cause invalid

2014-01-27 11:47  david_nichols

	* doxygen/qdx: improved qdx regex for qore class -> c++ class
	  generation for doxygen documentation

2014-01-24 16:35  david_nichols

	* lib/QoreSocket.cpp: updated copyright to 2014

2014-01-20 16:08  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, lib/QC_Socket.qpp,
	  lib/QoreSocket.cpp, qlib/HttpServer.qm, qlib/RestHandler.qm:
	  HttpServer update:
	  - added support for the OPTIONS method
	  RestHandler updates:
	  - added support for the OPTIONS method
	  - return a 400 "Bad Request" error if an unsupported HTTP method
	  is used in a REST Call
	  other minor updates

2014-01-16 13:42  david_nichols

	* qlib/Util.qm: made iec abbreviations the default (and only
	  option) for get_byte_size()

2014-01-16 13:40  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, doxygen/qdx,
	  qlib/Mime.qm, qlib/Util.qm: doc updates
	  added new Mime file mappings
	  added use_iec argument to get_bute_size() function in the Util

2014-01-14 09:53  david_nichols

	* include/qore/AbstractQoreNode.h,
	  include/qore/intern/ParseNode.h, lib/ConstantList.cpp: fixed a
	  constant entry lifetime mgmt bug introduced in a recent patch
	  related to memory leaks in constant mgmt

2014-01-12 15:39  david_nichols

	* include/qore/node_types.h: updated nax node type value

2014-01-12 15:35  david_nichols

	* include/qore/intern/CallReferenceNode.h,
	  lib/CallReferenceNode.cpp, lib/ConstantList.cpp,
	  lib/QoreObject.cpp, lib/QoreProgram.cpp,
	  lib/QoreReferenceCounter.cpp, lib/qore-main.cpp: fixed memory
	  issues with the last commit re ConstantEntry destruction, fixed a
	  memory leak in ConstantEntry destruction with parse rollbacks and
	  constant value of NULL

2014-01-12 15:15  david_nichols

	*, include/qore/intern/CallReferenceNode.h,
	  include/qore/node_types.h, lib/CallReferenceNode.cpp,
	  lib/ConstantList.cpp, lib/QoreListNode.cpp,
	  lib/QoreNamespace.cpp: patches to avoid circular references in
	  constants with values that include call references

2014-01-10 15:22  david_nichols

	* lib/QoreNamespace.cpp: fixed a memory leak in clearing namespace
	  and class constant values when destroying Program objects if a
	  constant is assigned to a code reference

2014-01-09 13:42  david_nichols

	* include/qore/QoreReferenceCounter.h,
	  lib/Pseudo_QC_String.qpp, lib/QoreProgram.cpp, lib/parser.ypp:
	  minor updates

2014-01-08 19:11  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl,
	  include/qore/intern/QoreNamespaceIntern.h: missed files from last

2014-01-08 16:32  david_nichols

	* lib/QoreClass.cpp: fixed memory leaks when an entire class has to
	  be rolled back due to parse errors and the class has pending
	  static variables

2014-01-08 16:23  david_nichols

	* lib/parser.ypp: fixed memory leaks in class member management
	  when adding static variables and members, and more memory leaks
	  when conflicts are detected in the parser and parse exceptions
	  are thrown

2014-01-08 16:18  david_nichols

	* lib/ql_time.qpp: fixed an off-by-one memory bug in date(string,
	  string) parsing a 4-digit date mask

2014-01-07 10:48  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl: removed invalid line in

2014-01-07 10:45  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, lib/Pseudo_QC_All.qpp,
	  lib/Pseudo_QC_Binary.qpp, lib/Pseudo_QC_Hash.qpp,
	  lib/Pseudo_QC_List.qpp, lib/Pseudo_QC_Object.qpp,
	  lib/Pseudo_QC_String.qpp, lib/QC_FileLineIterator.qpp,
	  qlib/CsvUtil.qm, test/test.q: added new pseudo-methods:
	  <*>::sizep(): if the value type can return a non-zero size
	  <string>::getLine(): for parsing line data in string buffers
	  CsvUtil module updates:
	  new CsvAbstractIterator and CsvDataIterator classes
	  added tests for CsvDataIterator class

2014-01-06 19:48  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl: minor doc update

2014-01-06 19:43  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, qlib/RestHandler.qm,
	  qlib/Util.qm: doc updates

2014-01-06 14:18  subik

	*, cmake/, cmake/QoreMacros.cmake,
	  doxygen/lib/90_cmake.doxygen, doxygen/lib/mainpage.doxygen: cmake
	  builds: documented; more macros introduced; compiler warning fix

2014-01-06 12:43  david_nichols

	* qlib/TableMapper.qm: do not add mappings for columns where there
	  is no input mapping and there is no not null constraint or no
	  default value

2014-01-06 12:21  david_nichols

	* qlib/Mapper.qm, qlib/TableMapper.qm, test/test.q: mapper API and
	  doc updates, added tests for the Mapper class

2014-01-06 09:06  david_nichols

	* include/qore/QoreIteratorBase.h: added missing file

2014-01-05 20:19  david_nichols

	* qlib/Mapper.qm: doc update

2014-01-05 17:47  david_nichols

	* qlib/HttpServer.qm, qlib/Mapper.qm, qlib/TableMapper.qm: mapper

2014-01-04 16:31  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, qlib/Mapper.qm,
	  qlib/PgsqlSqlUtil.qm, qlib/TableMapper.qm: fixed a bug in
	  PgsqlSqlUtil retrieving sequence values with
	  mapper fixes
	  updated release notes

2014-01-04 15:50  david_nichols

	* include/qore/QoreString.h, qlib/Mapper.qm, qlib/TableMapper.qm:
	  mapper updates and minor C++ api updates

2014-01-04 14:15  david_nichols

	* qlib/Mapper.qm: mapper fix

2014-01-04 14:08  david_nichols

	* qlib/Mapper.qm, qlib/TableMapper.qm: mapper fixes

2014-01-04 14:03  david_nichols

	* qlib/Mapper.qm: fixed Mapper constructor

2014-01-04 13:59  david_nichols

	* qlib/TableMapper.qm: implementation fixes

2014-01-04 13:46  david_nichols

	* include/qore/intern/AbstractIteratorHelper.h, lib/QoreLib.cpp,
	  qlib/Mapper.qm, qlib/TableMapper.qm: added new mapper
	  constructors and new infrastructure for binary modules to provide
	  iterator support

2014-01-04 11:32  david_nichols

	* include/qore/ModuleManager.h, lib/,
	  lib/ModuleManager.cpp, qore.spec: updated library and module api
	  version info to reflect new APIs

2014-01-04 11:28  david_nichols

	*, include/qore/AbstractPrivateData.h,
	  include/qore/Qore.h, include/qore/intern/QoreHashIterator.h,
	  include/qore/intern/SingleValueIterator.h, lib/QoreLib.cpp,
	  qlib/OracleSqlUtil.qm: made QoreIteratorBase class public to make
	  it easier to implement iterators in binary modules

2014-01-04 10:57  david_nichols

	* doxygen/lang/120_modules.dox.tmpl,
	  doxygen/lang/900_release_notes.dox.tmpl, qlib/Mapper.qm,
	  qlib/TableMapper.qm: mapping updates

2014-01-03 18:00  david_nichols

	*, qlib/Mapper.qm, qlib/TableMapper.qm: added
	  TableMapper module based on Mapper and SqlUtil

2014-01-03 15:45  david_nichols

	*, doxygen/lang/120_modules.dox.tmpl,
	  doxygen/lang/900_release_notes.dox.tmpl, qlib/Mapper.qm: started
	  adding initial data mapping module

2014-01-02 18:46  david_nichols

	* qlib/HttpServer.qm, qlib/WebUtil.qm: minor doc updates

2014-01-02 15:22  subik

	*, cmake, cmake/,
	  cmake/, cmake/QoreMacros.cmake, cmake build reworked: qore creates cmake support
	  files during configuration; modules using cmake just do not use
	  FindQore.cmake in internal trees but use system-wide

2013-12-31 08:18  david_nichols

	* lib/QC_RWLock.qpp, qlib/WebUtil.qm: minor doc updates

2013-12-30 16:55  david_nichols

	* qlib/SqlUtil.qm: removed unused variable declaration in SqlUtil

2013-12-30 16:51  david_nichols

	* lib/QoreFtpClient.cpp: updated exceptions to be consistent with
	  other FtpClient exceptions

2013-12-30 15:42  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, qlib/SqlUtil.qm: added
	  new UpsertInsertOnly upsert strategy to SqlUtil, updated relnotes

2013-12-29 13:27  david_nichols

	* qlib/CsvUtil.qm: updated module doxygen docs for easier
	  integration in external docs

2013-12-29 13:19  david_nichols

	* qlib/TelnetClient.qm, qlib/WebSocketClient.qm,
	  qlib/WebSocketHandler.qm: updated module doxygen docs for easier
	  integration in external docs

2013-12-29 09:32  david_nichols

	* qlib/HttpServer.qm, qlib/Mime.qm, qlib/RestHandler.qm: renamed
	  module intro sections for easier incorporation in external docs

2013-12-29 09:20  david_nichols

	* doxygen/qdx: remove $ signs in "our" global variable declarations
	  for doxygen processing

2013-12-28 19:11  david_nichols

	* qlib/RestClient.qm, qlib/SqlUtil.qm, qlib/Util.qm: renamed intro
	  sections for incorporation in external docs

2013-12-28 07:29  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl,
	  include/qore/QoreEncoding.h, include/qore/QoreFtpClient.h,
	  include/qore/QoreString.h, lib/QoreString.cpp, lib/charset.cpp,
	  lib/ql_misc.qpp: fixed url encoding and decoding in encode_url()
	  and decode_url() to really be RFC 3986 compliant

2013-12-27 16:40  david_nichols

	* lib/QoreHttpClientObject.cpp, lib/QoreSocket.cpp:
	  cosmetic/non-functional changes

2013-12-24 11:53  david_nichols

	* TODO, doxygen/lang/120_modules.dox.tmpl, lib/QC_HTTPClient.qpp:
	  minor doc updates

2013-12-18 13:35  david_nichols

	* lib/ql_misc.qpp: doc update for encode_url()

2013-12-18 13:34  david_nichols

	* include/qore/QoreString.h, include/qore/intern/QoreLibIntern.h,
	  lib/QoreString.cpp, lib/ql_misc.qpp, lib/qore-main.cpp: added new
	  option to encode_url() to encode all reserved characters listed
	  by RFC 3986

2013-12-18 11:25  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, qlib/RestClient.qm:
	  RestClient fixes:
	  - set the character encoding in the Content-Type request header
	  when sending strings
	  - set the Accept header correctly in requests (previously only
	  indicated yaml as an acceptible response encoding

2013-12-17 14:28  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, lib/QoreString.cpp:
	  decode_url() function updated to decode UTF-8 characters if the
	  target string is in UTF-8 encoding

2013-12-17 14:19  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl,
	  include/qore/QoreString.h, lib/QoreString.cpp, lib/ql_misc.qpp,
	  qlib/RestClient.qm: + implemented the encode_url() function to
	  correspond to decode_url()
	  + updated the RestClient module to use the new encode_url()
	  function to encode URL paths to ensure that valid requests are
	  sent when spaces, percent characters, and non-ascii characters
	  are used in the URL path

2013-12-16 14:57  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, lib/QC_Condition.qpp,
	  lib/ql_file.qpp: fixed a bug in lchown() where chown() was used
	  interally instead of lchown()
	  fixed typos in the Condition class docs

2013-12-16 10:28  david_nichols

	* qlib/SqlUtil.qm: fixed another recursive call in Table::del()

2013-12-16 09:31  david_nichols

	* lib/thread.cpp: fixed a memory bug with exception handling when
	  shutting down threads when exceptions occur after thread-local
	  data has been deleted and the current timezone is queried for the
	  current program context

2013-12-13 13:27  david_nichols

	* lib/DatasourcePool.cpp: minor fixes to datasourcepool acquisition
	  related to instrumentation changes

2013-12-13 13:04  david_nichols

	* include/qore/intern/DatasourcePool.h, lib/DatasourcePool.cpp:
	  attempts to fix DatasourcePool instrumentation issues - to be

2013-12-02 07:59  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, qlib/SqlUtil.qm: fixed
	  additional bugs in MySQL create/align table SQL generation with
	  unique indexes that automatically create unique contraints

2013-12-01 15:24  david_nichols

	* README-LICENSE, doxygen/lang/900_release_notes.dox.tmpl,
	  qlib/SqlUtil.qm: fixed a bug in SqlUtil generating "create table"
	  SQL with DBs where unique indexes automatically create unique
	  constraints (ex: MySQL)
	  minor doc updates

2013-12-01 14:26  david_nichols

	* qlib/MysqlSqlUtil.qm, qlib/SqlUtil.qm: fixed bugs related to
	  MySQL and some minor table creation SQL construction bugs

2013-11-21 10:22  david_nichols

	* include/qore/intern/DatasourcePool.h,
	  include/qore/intern/QoreLibIntern.h, lib/DatasourcePool.cpp,
	  lib/QC_DatasourcePool.qpp, lib/QoreLib.cpp, lib/ql_time.qpp:
	  updated DatasourcePool max wait time to use microseconds, fixed
	  threading issues with the DatasourcePool callback (callback is no
	  longer called while holding the internal DatasourcePool lock but
	  the check for the callback is always made while the lock is held
	  to ensure a consistent view of the data)

2013-11-19 18:05  david_nichols

	* lib/DatasourcePool.cpp: fixed initialization order

2013-11-19 14:06  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl,
	  include/qore/intern/DatasourcePool.h, lib/DatasourcePool.cpp,
	  DatasourcePool::getWarningCallbackInfo() renamed to
	  getUsageInfo(); connection acquisition statistics are tracked and
	  returned in DatasourcePool::getUsageInfo() (which returns, total
	  requests, hits, maximum wait time, etc)

2013-11-19 10:59  david_nichols

	* include/qore/intern/DatasourcePool.h, lib/DatasourcePool.cpp,
	  lib/QC_DatasourcePool.qpp: added an optional argument to the
	  datasourcepool warning callback

2013-11-19 10:44  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl,
	  include/qore/intern/QoreLibIntern.h, lib/DatasourcePool.cpp,
	  lib/QC_DatasourcePool.qpp, lib/QoreLib.cpp, lib/ql_time.qpp: new
	  DatasourcePool methods:
	  - DatasourcePool::clearWarningCallback()
	  - DatasourcePool::setWarningCallback()
	  - DatasourcePool::getWarningCallbackInfo()
	  - DatasourcePool::setErrorTimeout()
	  - DatasourcePool::getErrorTimeout()
	  the new methods allow for monitoring DatasourcePool objects for
	  pool contention issues (in case the pool needs to be resized) and
	  for throwing an exception if a connection is not acquired within
	  the error timeout period (new default: 2 minutes)

2013-11-13 21:43  david_nichols

	* include/qore/intern/QoreClassIntern.h,
	  include/qore/intern/ql_crypto.h: removed invalid assert()s,
	  cosmetic changes

2013-11-10 12:34  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl,
	  include/qore/intern/qore_ds_private.h, lib/Datasource.cpp,
	  lib/DatasourcePool.cpp, lib/ManagedDatasource.cpp: - fixed a bug
	  in the Datasource copy constructor where implicitly-set options
	  were not carried over into the new object
	  - fixed a bug in the DatasourcePool class where implicitly-opened
	  connections would not be guaranteed to have the same server time
	  zone setting as the initial connections (for example, could cause
	  problems with server timezone settings if running in a program
	  context with a different local time zone attribute)

2013-11-08 15:46  david_nichols

	* lib/FunctionCallNode.cpp: fixed a typo in the last commit

2013-11-08 15:34  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl,
	  include/qore/QoreClass.h, include/qore/intern/FunctionCallNode.h,
	  include/qore/intern/QoreClassIntern.h, lib/CallReferenceNode.cpp,
	  lib/FunctionCallNode.cpp, lib/QoreClass.cpp, lib/QoreObject.cpp:
	  fixed a bug where a call to a call reference to a static method
	  across a program boundary with local variables as arguments would
	  cause a crash due to improper setting of the program context
	  before the arguments are evaluated

2013-11-08 09:29  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl,
	  include/qore/intern/ModuleInfo.h, lib/ModuleManager.cpp: the
	  error message now includes the module path used for the search
	  when a module cannot be found in the module path

2013-11-07 17:45  david_nichols

	* qlib/MailMessage.qm, qlib/Util.qm: fixed corner cases when
	  processing multi-line input and some regex issues with hash
	  fixed a typo in MailMessage

2013-11-07 16:26  david_nichols

	* examples/sqlutil: added -L,--list-tables to sqlutil

2013-11-05 08:57  subik

	* qlib/SqlUtil.qm: sqlutil: dropViewIfExists implemented

2013-11-04 15:24  subik

	* qlib/MysqlSqlUtil.qm, qlib/OracleSqlUtil.qm,
	  qlib/PgsqlSqlUtil.qm, qlib/SqlUtil.qm: sqlutil: view info

2013-10-30 18:01  david_nichols

	* qlib/SmtpClient.qm: fixed a regression caused by a recent patch -
	  make sure that we authenticate before sending messages after a

2013-10-30 11:35  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, qlib/Util.qm: added
	  get_byte_size() and get_marketing_byte_size() to Util

2013-10-29 17:20  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, lib/ql_time.qpp:
	  milliseconds() and mcroseconds() are both subject to overflow
	  errors with large arguments

2013-10-29 13:34  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl,
	  include/qore/QoreString.h, lib/QoreLib.cpp, lib/QoreObject.cpp:
	  fixed a bug in v*printf() where '%%' was not handled correctly in
	  all cases

2013-10-28 18:49  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, qlib/SqlUtil.qm: fixed
	  an infinitely recursive call in Table::del() in SqlUtil

2013-10-25 15:26  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, qlib/SmtpClient.qm:
	  SmtpClient updates: optimized connection and login code;
	  HELO/EHLO and authorization are performed when connecting only,
	  not before each email

2013-10-23 16:14  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, include/qore/common.h:
	  added support to compile on OSX Mavericks

2013-10-23 14:15  david_nichols

	* include/qore/intern/QoreClassIntern.h: disabled unnecessary
	  debugging output

2013-10-23 12:21  david_nichols

	* qlib/CsvUtil.qm: removed %perl-bool-eval from CsvUtil since it's
	  the default anyway

2013-10-23 11:53  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, qlib/CsvUtil.qm: fixed a
	  bug where CsvUtil returned an invalid date when used with the
	  "date" type and blank input
	  updated release notes

2013-10-21 15:00  david_nichols

	* lib/QoreSocket.cpp: minor non-functional socket fix

2013-10-21 13:39  david_nichols

	* qlib/CsvUtil.qm: implemented support for the "*int", "*float",
	  "*number", and "*date" types; implemented support for allowing
	  subclasses of CsvFileIterator to implement support for other
	  custom types

2013-10-17 15:42  david_nichols

	* lib/ql_file.qpp: cosmetic non-functional change

2013-10-16 16:51  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl,
	  include/qore/intern/QoreHttpClientObjectIntern.h: fixed a bug in
	  the @ref Qore::HTTPClient::getURL() "HTTPClient::getURL()" and
	  @ref Qore::HTTPClient::getProxyURL() "HTTPClient::getProxyURL()"
	  methods where the URL's path was not given with a leading "/"

2013-10-15 11:24  david_nichols

	* examples/sqlutil: fixed help for sequence dump

2013-10-15 04:45  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, lib/RegexSubstNode.cpp,
	  lib/scanner.lpp: allow escaping "$" character in regular
	  expression substitution target strings, previously it was
	  impossible to output a literal "$" + a digit, since this would be
	  interpreted as a numbered input pattern expression

2013-10-15 04:24  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, lib/scanner.lpp: fixed a
	  bug parsing octal character constants in the lexer when octal
	  digits followed the octal constant (ex: \c "\0441" meaning \c
	  "$1" would cause an error)

2013-10-15 03:55  david_nichols

	* doxygen/qdx, qlib/RestHandler.qm, qlib/SqlUtil.qm, qlib/Util.qm:
	  doc updates and fixes

2013-10-09 09:10  subik

	* qlib/CsvUtil.qm, test/CsvUtil/test.q: csvutil: in-memory string
	  writer implemented; writers are refactored to use

2013-10-08 14:28  subik

	* qlib/CsvUtil.qm: CsvUtil: reformatted <tabs> to spaces

2013-10-06 07:17  david_nichols

	* lib/QoreHttpClientObject.cpp: ported duplicate HTTP header
	  handling from trunk to 0.8.8-snapshot, minor non-functional
	  update to trunk regarding duplicate header handling

2013-10-06 07:01  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, lib/,
	  lib/QoreHttpClientObject.cpp, qore.spec: fixed a crashing bug
	  when HTTP messages with duplicate Connection, Content-Encoding,
	  Transfer-Encoding, Location, or Content-Type headers is received

2013-10-04 13:55  david_nichols

	* ChangeLog,, qore.spec: updated to v0.8.9 for future

2013-10-04 10:35  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl,
	  lib/QoreTimeZoneManager.cpp: fixed a mismatched delete/malloc
	  error with time zone initialization and the localtime file

2013-10-04 10:28  david_nichols

	* added missing qpp source file to src list

2013-10-04 10:21  david_nichols

	* qlib/MysqlSqlUtil.qm, qlib/OracleSqlUtil.qm,
	  qlib/PgsqlSqlUtil.qm, qlib/RestClient.qm, qlib/RestHandler.qm,
	  qlib/SqlUtil.qm, qlib/Util.qm, qlib/WebSocketClient.qm,
	  qlib/WebSocketHandler.qm, qlib/WebSocketUtil.qm, qlib/WebUtil.qm:
	  update initial release dates

2013-10-04 10:16  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, qore.spec: doc and
	  release updates

2013-10-04 08:29  david_nichols

	* lib/QoreSocket.cpp: if the SSL connection is closed by the remote
	  end while writing then flag the connection as closed and throw an
	  appropriate exception so that errors can be caught when they
	  happen instead of on the next read / write

2013-10-03 17:40  david_nichols

	* include/qore/Qore.h: doc updates

2013-10-03 07:41  david_nichols

	  command-line.cpp, include/qore/common.h, lib/ModuleManager.cpp,
	  qore.spec: updated qore to reflect being released under an MIT
	  open-source license in addition to GPL and LGPL

2013-10-02 11:04  subik

	* qlib/OracleSqlUtil.qm: sqlutils: standard methods for
	  materialized views implemented; docs for OracleMaterializedView
	  public members

2013-09-30 16:01  david_nichols

	* lib/qore_date_private.cpp: always output dates with the same
	  string format for better parsing

2013-09-29 16:27  david_nichols

	* doxygen/lang/120_modules.dox.tmpl, qlib/HttpServer.qm: doc

2013-09-29 10:55  david_nichols

	* qlib/CsvUtil.qm: set headers automatically if fields are set and
	  no headers option is given in the constructor (and headerLines is

2013-09-27 09:06  david_nichols

	* test/test.q: skip hstat test on windows

2013-09-27 09:04  david_nichols

	* test/test.q: fixed test script for openssl without SHA* hash

2013-09-26 18:54  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl: updated release notes
	  for numeric bugs fixed in last commit

2013-09-26 18:53  david_nichols

	* include/qore/QoreNumberNode.h,
	  lib/QoreLogicalLessThanOperatorNode.cpp, lib/QoreNumberNode.cpp:
	  fixed comparisons with number values and strings (and other
	  errors with logical numeric comparisons where they were being
	  first converted to doubles, now native comparisons are used)

2013-09-26 14:34  david_nichols

	* qlib/Util.qm: do argument parsing in a sandboxed Program object
	  with PO_LOCKDOWN set

2013-09-26 04:57  david_nichols

	* lib/QoreDir.cpp: fix for windows build

2013-09-23 13:44  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, qlib/MysqlSqlUtil.qm,
	  qlib/OracleSqlUtil.qm, qlib/PgsqlSqlUtil.qm, qlib/SqlUtil.qm:
	  added the possibility to get / group by year, year to month, year
	  to day with SqlUtil

2013-09-20 14:51  david_nichols

	* qlib/HttpServer.qm: fixed HTTP argument logging in external

2013-09-17 15:57  subik

	* qlib/SqlUtil.qm: sqlutil: comments and hints for Table class

2013-09-17 14:20  david_nichols

	* examples/sqlutil, qlib/OracleSqlUtil.qm: allow schema qualifiers
	  when finding sequences, dump sequences from sqlutil

2013-09-17 13:31  david_nichols

	* qlib/MysqlSqlUtil.qm, qlib/OracleSqlUtil.qm,
	  qlib/PgsqlSqlUtil.qm, qlib/SqlUtil.qm: when aligning schemas and
	  adding columns to a table with a new not null constraint and a
	  default value and the table is not empty then update the table
	  and set all existing rows where that column is null to the new
	  default value

2013-09-17 12:55  david_nichols

	* qlib/OracleSqlUtil.qm, qlib/SqlUtil.qm: dropped support in
	  OracleSqlUtil for oracle module versions < 3.0, added detection
	  for Oracle 12c and added direct support for limit (fetch) and
	  offset to create simpler paging queries

2013-09-17 11:39  david_nichols

	* qlib/MysqlSqlUtil.qm, qlib/OracleSqlUtil.qm,
	  qlib/PgsqlSqlUtil.qm, qlib/SqlUtil.qm: fixed SQL query generation
	  order regarding order by, group by, and having, updated SqlUtil
	  to allow orderby to accept column operators

2013-09-16 13:42  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, lib/QC_HTTPClient.qpp:
	  fixed return type of HTTPClient::getConnectionPath()

2013-09-16 13:28  david_nichols

	* qlib/MysqlSqlUtil.qm, qlib/OracleSqlUtil.qm,
	  qlib/PgsqlSqlUtil.qm, qlib/SqlUtil.qm: implemented support for
	  grouping by columns with column operators; implemented the
	  "year_hour" operator for truncating dates to a certain hour for
	  sorting / grouping

2013-09-13 14:03  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl,
	  include/qore/intern/qore_number_private.h: fixed a bug where
	  number("") was being converted to @NaN@n

2013-09-11 16:33  david_nichols

	* include/qore/QoreHTTPClient.h, lib/QoreHTTPClient.cpp: fixed
	  QoreHTTPClient class to be ABI compatible with old xml and json

2013-09-11 16:30  david_nichols

	* qlib/SqlUtil.qm: added support for more column operators (+,-,/,
	  and *)

2013-09-11 09:53  david_nichols

	* qlib/SqlUtil.qm: implemented the avg() column operator

2013-09-09 13:06  subik

	* include/qore/ReferenceHolder.h, qlib/MysqlSqlUtil.qm,
	  qlib/OracleSqlUtil.qm, qlib/PgsqlSqlUtil.qm, qlib/SqlUtil.qm:
	  sqlutil: features() and constants for special DB features

2013-09-09 06:04  david_nichols

	* qlib/OracleSqlUtil.qm: added support for dblinks to OracleSqlUtil

2013-09-08 20:28  david_nichols

	* qlib/HttpServer.qm: updated HttpServer::getURLFromBind() to
	  support UNIX domain sockets

2013-09-08 20:14  david_nichols

	* doxygen/lang/900_release_notes.dox.tmpl, qlib/HttpServer.qm:
	  fixed starting listeners on UNIX domain sockets on Soalris in the
	  HttpServer module

2013-09-08 20:08  david_nichols

	* qlib/HttpServer.qm: minor cosmetic update to exception info

2013-09-08 19:26  david_nichols

	* include/qore/QoreHttpClientObject.h, lib/QC_HTTPClient.qpp,
	  lib/QoreHttpClientObject.cpp: removed more common methods from
	  the HTTPClient class

2013-09-08 19:03  david_nichols

	* fixed typo in new file name

2013-09-08 18:58  david_nichols

	* include/qore/QoreLib.h: added a define for the
	  QoreHttpClientObject class

2013-09-08 18:52  david_nichols

	* lib/QC_HTTPClient.qpp: doc updates

2013-09-08 18:45  david_nichols

	* include/qore/QoreHttpClientObject.h, lib/QC_HTTPClient.qpp,
	  lib/QoreHttpClientObject.cpp: removed some redundant methods from
	  the HTTPClient class

2013-09-08 15:48  david_nichols

	*, doxygen/lang/900_release_notes.dox.tmpl,
	  include/qore/QoreSocketObject.h, include/qore/intern/QC_Socket.h,
	  lib/, lib/QC_HTTPClient.qpp, lib/QC_Socket.qpp,
	  lib/QoreHTTPClient.cpp, lib/QoreHttpClientObject.cpp,
	  lib/QoreSocket.cpp, lib/QoreSocketObject.cpp, lib/mySocket.cpp,
	  lib/qore-main.cpp, lib/single-compilation-unit.cpp,
	  qlib/WebSocketClient.qm: made the HTTPClient class a subclass of
	  the Socket class, making it easier to implement protocols based
	  on HTTP
	  updated the WebSocketClient class to use the HTTPClient class for
	  connections, making it possible to connect to websocket servers
	  over a proxy, etc

2013-09-06 19:09  david_nichols

	* include/qore/QoreString.h, lib/QoreHTTPClient.cpp,
	  lib/QoreSocket.cpp, lib/QoreString.cpp, lib/QoreURL.cpp,
	  lib/ql_misc.qpp, qlib/HttpServer.qm: added support for UNIX
	  sockets in the HTTPClient and in parse_url() with a format like:

2013-09-04 14:08  david_nichols

	* lib/parser.ypp: compile fix for Oracle Sun Studio CC

2013-09-04 13:51  david_nichols

	* qlib/SqlUtil.qm: aynchronized SqlUtil with trunk

2013-09-03 14:04  david_nichols

	* qlib/SqlUtil.qm: added support for referencing columns more than
	  once in a where clause (ex: > col and <= col) by allowing column
	  specifications to be prefixed by a number and a colon which is
	  just allowed for uniqueness in the where hash and is ignored when
	  building the where clause

2013-09-03 13:47  david_nichols

	* qlib/Util.qm: fixed a bug parsing text to qore values where a
	  date anywhere in the argument would cause the argument to be
	  parsed as a date

2013-09-02 19:54  dav

Thanks for helping keep SourceForge clean.

Screenshot instructions:
Red Hat Linux   Ubuntu

Click URL instructions:
Right-click on ad, choose "Copy Link", then paste here →
(This may not be possible with some types of ads)

More information about our ad policies

Briefly describe the problem (required):

Upload screenshot of ad (required):
Select a file, or drag & drop file here.

Please provide the ad click URL, if possible:

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.

No, thanks