summaryrefslogtreecommitdiff
path: root/NEWS
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff-webhosting.net>2014-12-02 10:06:21 +0100
committerJörg Frings-Fürst <debian@jff-webhosting.net>2014-12-02 10:06:21 +0100
commitfd841e416881cc0392e61ec312c1870f3a0004bd (patch)
tree8357ba56e79d614ba57f722e7878b853591dc339 /NEWS
Initial import of libmongo-client version 0.1.8-2
Diffstat (limited to 'NEWS')
-rw-r--r--NEWS341
1 files changed, 341 insertions, 0 deletions
diff --git a/NEWS b/NEWS
new file mode 100644
index 0000000..14e7ca6
--- /dev/null
+++ b/NEWS
@@ -0,0 +1,341 @@
+#+STARTUP: indent showall -*- org -*-
+
+* 0.1.8 - <2014-05-22 Thu>
+
+** Feature: Connection recovery cache
+
+This new feature makes the replica set support easier to use, and more
+robust. New functions include: `mongo_sync_conn_recovery_cache_new`,
+`mongo_sync_conn_recovery_cache_free`,
+`mongo_sync_conn_recovery_cache_discard`,
+`mongo_sync_conn_recovery_cache_seed_add`, and
+`mongo_sync_connect_recovery_cache`.
+
+** New function: mongo_sync_cmd_get_last_error_full
+
+The new `mongo_sync_cmd_get_last_error_full` function can be used to
+retrieve the last server-side error as a full BSON object, not just
+the textual error message.
+
+** New function: mongo_sync_conn_get_last_error
+
+Returns the last cached error message.
+
+** Portability: Test suite improvements
+
+The test suite was improved to work properly on even more platforms.
+
+** Bugfix: Support reconnecting to Unix domain sockets
+
+When a replica-set is set up using unix domain sockets, reconnecting
+failed. This has been corrected in this version.
+
+** Bugfix: Fix random reconnect failures
+
+When reconnecting, only close the old connection if it differs from
+the new one.
+
+** Bugfix: Memory leak in an error-case
+
+When sending a packet to MongoDB, while enforcing being connected to a
+master node, if ensuring that connection failed, memory was leaked.
+The hole has been plugged.
+
+* 0.1.7.1 - <2014-03-12 Wed>
+
+** Portability: Support HP-UX
+
+Compatibility code was added to make libmongo-client portable to HP-UX.
+
+** Portability: prove made optional
+
+On platforms where the `prove' utility is not readily available, a
+custom test runner can be used by setting the PROVE environment
+variable when running `make check'.
+
+** Bugfix: Safe-mode robustness improvement
+
+When safe mode is turned on, the code now verifies not only that
+getLastError() doesn't return an error, but also verifies that the
+command succeeds, too.
+
+* 0.1.7 - <2013-12-10 Tue>
+
+** Feature: Automatic re-authentication
+
+This release adds support for automatically re-authenticating when
+reconnecting, by storing the credentials used for the last
+authentication in a safe, memory-locked area.
+
+** New function: mongo_sync_cmd_user_add_with_roles()
+
+A new function was added to create users with their roles already set
+at the same time.
+
+** Bugfix: Enable subdir-objects for automake
+
+Since we have sources that reside in a subdirectory, to avoid
+conflicts and a lot of automake warnings, enable the subdir-objects
+automake option.
+
+* 0.1.6.3 - <2013-08-27 Tue>
+
+Another bugfix release with a couple of important bugfixes, and a few
+minor improvements here and there.
+
+** Improvement: configure.ac updated to modern autotools
+
+The configure.ac script was updated to not use obsolete macros, and to
+work with automake 1.13+ (where the aforementioned macros were
+removed).
+
+** Bugfix: Fix chunked GridFS file retrieval
+
+When retrieving files via the chunked GridFS API, order the chunks by
+their number, so reassembling them will succeed.
+
+** Bugfix: Stop crashing in case verification fails
+
+When safe-mode is enabled, but getLastError() fails, the library
+crashed due to an uninitialised pointer. This has been fixed in this
+release.
+
+* 0.1.6.2 - <2012-12-21 Fri>
+
+Another bugfix release with mostly minor improvements and
+documentation updates.
+
+** Feature: Support for the Binary subtype in GridFS
+
+The GridFS support in the library only supported the "Generic"
+subtype until now, but with this release, the (obsolete) "Binary"
+subtype is supported aswell.
+
+** Bugfix: Plugged a memory leak in the GridFS code
+
+The GridFS code (the chunked file constructor, in particular) leaked
+the generated ObjectId. This has been corrected.
+
+** Documentation: New tutorials
+
+New tutorials were written for showing how to handle indexes, and how
+to run custom commands.
+
+* 0.1.6.1 - <2012-10-14 Sun>
+
+This is a quick bugfix release, that restores ABI compatibility with
+versions prior to 0.1.6, and cleans up a few other minor issues.
+
+* 0.1.6 - <2012-10-14 Sun>
+
+With this release, thanks to Conrad Hoffmann <ch@bitfehler.net>, it is
+now possible to connect to mongodb via unix sockets.
+
+See the documentation and the updated mongo-dump example for details.
+
+* 0.1.5 - <2012-04-13 Fri>
+
+This is a bugfix release, without any new functionality. It is
+expected that this will be the last release before a complete overhaul
+of the library.
+
+** Bugfix: Restore glib 2.12 compatibility
+
+The examples used features not available in glib 2.12, they were
+changed to not do that, and work with this old version too.
+
+** Bugfix: Do not accept invalid index specifications
+
+When creating an index, the library now bails out early with an error
+in case the index specification is not acceptable.
+
+** Bugfix: Fix glib sanity check when glib is on a non-standard path
+
+In case glib was installed to a path that is not on the compiler's
+default search path, the sanity check at configure time failed. This
+has been corrected.
+
+** Bugfix: bson_cursor_find() & co. must match the whole key
+
+Due to a silly matching logic in bson_cursor_find(), and anything that
+built on it (bson_find() included) was able to match keys of which the
+sought name was a prefix of.
+
+This is now fixed, and the find functions will correctly match the
+whole key.
+
+** Bugfix: Fixed OID generation on 64-bit big-endian machines
+
+Due to a rounding error, OID generation on certain 64-bit big-endian
+platforms resulted in the timestamp part always being zeroed out,
+which made OIDs generated on such platforms useless.
+
+The rounding error was eliminated.
+
+* 0.1.4 - <2011-08-27 Sat>
+
+This release is a minor update, with neither new functionality, nor
+any bugfixes, except in the packaging.
+
+It does come with slightly more documentation, however.
+
+* 0.1.3 - <2011-07-19 Tue>
+
+** New feature: GridFS support.
+This version introduces a set of GridFS APIs, to ease working with
+GridFS, be that retrieving files chunk by chunk, listing and removing
+files, or offering a file-like streaming API.
+
+** New function: mongo_sync_cmd_create()
+A new helper function was introduced to aid us in creating capped and
+pre-allocated collections.
+
+** New function: mongo_sync_cmd_exists()
+Another new helper function to aid in retrieving information about a
+collection - whether it exists, and if so, with what parameters.
+
+** New function: mongo_util_oid_as_string()
+When one needs to print the value of an ObjectId in human-readable
+hexadecimal format, this new function is the one to turn to.
+
+** New index options: background & sparse.
+It is now possible to create sparse indexes, and create them in the
+background, using two new option flags: MONGO_INDEX_BACKGROUND and
+MONGO_INDEX_SPARSE.
+
+* 0.1.2 - <2011-07-01 Fri>
+
+** Bugfix: mongo_packet_recv() waits for all data.
+Previously, mongo_packet_recv() did not wait for all data to arrive,
+and returned whatever already arrived at the time of reading.
+
+This has been corrected, mongo_packet_recv() correctly blocks now.
+
+** Implemented support for passive secondaries.
+Support was added for passive secondaries, they're now automatically
+discovered too.
+
+** New feature: Index handling functions
+Implemented some helper functions to create and delete indexes.
+
+** New function: bson_cursor_find()
+Combining the powers of bson_find() and bson_cursor_find_next(), this
+new function can find a key anywhere in a BSON object, yet, maintains
+the ability to continue a previous scan.
+
+** New function: mongo_connection_set_timeout()
+On systems that support it (most modern systems should), sets a
+timeout for send and receive operations. Setting the timeout to zero
+clears the timeout, and these calls will block forever.
+
+The timeout is not preserved accross reconnects, if using the Sync
+API, however.
+
+** Removed dependency on OpenSSL
+Instead of using OpenSSL's MD5 functions, use the checksum
+capabilities of glib 2.16 and newer. This halves the dependencies of
+the library!
+
+* 0.1.1 - <2011-06-16 Thu>
+
+** Cursor-based query iterator API
+The new cursor-based query iterator API makes it possible to grab the
+results of a mongo_sync_cmd_query(), and conveniently iterate over the
+results, hiding the get_more() calls underneath.
+
+The implementation is clever enough to only query the database when it
+needs to, and when it does, query in bulk (asking for the same amount
+of documents that the last query returned).
+
+Thanks to Federico Rodriguez <fed.rod@gmail.com> for the suggestion.
+
+** New function: bson_validate_key()
+With this new function, one can validate BSON keys: whether they can
+contain dots (allowed when using dot-notation, forbidden otherwise),
+or whether they start with a '$' sign.
+
+It is up to the application developer to decide when to validate a
+key, and what restrictions make sense in the given context.
+
+The function does NOT do UTF-8 validation, that is completely left up
+to the application developer.
+
+** New function: bson_cursor_find_next()
+When we know that key G always comes after key A, but we do not care
+how far apart they may be, and we do not want to use a separate cursor
+(due to, for example, performance reasons), this new function can
+help: unlike bson_find(), this will start scanning from the current
+cursor position.
+
+** New function: bson_stream_doc_size()
+A little helper function to help determine the size of a BSON document
+when it's only available as a bytestream. This is mostly for use with
+bson_new_from_data().
+
+** Symbol versioning
+The symbols of the library can now be versioned, if configured with
+the --with-versioned-symbols configure flag (not enabled by default).
+
+* 0.1.0 - <2011-05-25 Wed>
+
+** Shared library
+The configure script now defaults to enabling shared library building
+by default (along with a static library).
+
+** Bug fixes
+The pkg-config file was setting an incorrect include directory in it's
+Cflags. This is now fixed.
+
+** C++ Compatibility
+The public headers are now guarded by extern "C" {} wrappers, so that
+they can be included in C++ projects.
+
+** Performance enhancements
+A minor performance issue was corrected in the BSON code, that had the
+possibility of forcing unneccessary memory allocations. The library
+now allocates the proper amount of memory at the soonest time
+possible, so it doesn't have to grow it later on unnecessarily.
+
+Anoter performance issue was corrected in the BSON library:
+bson_find() was comparing key names in BSON objects with the sought
+for key using strcmp(), which was unacceptably slow when dealing with
+BSON objects that have a lot of keys. We now use memcmp(), which means
+we don't have to traverse the sought for key all the time.
+
+* 0.0.2 - <2011-05-07 Sat>
+
+** Replica set seeding support
+It is now possible to add seeds to a connection, so that the library
+can try connecting to those in case automatic discovery fails (or if
+the seeds are hidden).
+
+** Failover redesign
+Instead of preemptively pinging & checking for a master before each
+and every command, the library does so only upon errors. This way,
+when everything's working as expected, there is no extra
+overhead. Yet, if things go wrong, failover will still work.
+
+By design, automatic failover only occurs when an error is detected
+during a write operation. When an error occurs during read, it will be
+propagated back to the application.
+
+Automatic failover is disabled by default, and can be turned on via
+the mongo_sync_conn_set_auto_reconnect() function.
+
+** safe-mode support
+With safe mode enabled, extra care will be taken to ensure that data
+gets to the server, and that the library does everything within its
+power to maintain a connection.
+
+This means that after insert and update operations, the library will
+issue a getLastError command, and only return successfully if that
+command did not signal an error.
+
+Safe-mode also enables the previously default preemptive connection
+checks (along with the post-mortem failover).
+
+Safe-mode is off by default.
+
+* 0.0.1 - <2011-04-10 Sun>
+
+Initial public release.