pkgsrc changes:
- Release tarballs cannot build man pages any more, use pre-built
ones instead.
Changes since 1.2.1:
- Fix potential crash in bson_strncpy on Windows.
- Parse DBRefs correctly from JSON.
- CMake option to disable building tests: "cmake -DENABLE_TESTS:BOOL=OFF".
- Refactor the build system to declare library version in one place.
- Fix compiler warnings and errors, especially with Visual Studio 2015
and IBM XL C.
- Combine environment's CFLAGS with configure options when building.
Issues found with existing distfiles:
distfiles/eclipse-sourceBuild-srcIncluded-3.0.1.zip
distfiles/fortran-utils-1.1.tar.gz
distfiles/ivykis-0.39.tar.gz
distfiles/enum-1.11.tar.gz
distfiles/pvs-3.2-libraries.tgz
distfiles/pvs-3.2-linux.tgz
distfiles/pvs-3.2-solaris.tgz
distfiles/pvs-3.2-system.tgz
No changes made to these distinfo files.
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
libbson 1.2.0
- Add bson_mem_restore_vtable(), the inverse of bson_mem_set_vtable().
- Enable runtime asserts in release build.
- Fixed compiler warnings and build failures on various platforms.
- Improvements to the formatting and contents of the documentation.
libbson 1.1.11
- Document bson streaming reads with an example, bson-streaming-reader.c.
- Document callback function types bson_reader_destroy_func_t and
bson_reader_read_func_t.
Libbson 1.1.7
- Unchecked error in bson_utf8_escape_for_json caused unbounded memory
growth and a crash.
- Nicer floating-point formatting in bson_as_json.
- Link error with CMake on Mac.
Libbson 1.1.5
- Fix link error "missing __sync_add_and_fetch_4" in GCC on i386 -
the functions bson_atomic_int_add and bson_atomic_int64_add are
now compiled and exported if needed in i386 mode
- Fix version check for GCC 5 and future versions of Clang
- Fix warnings and errors building on various platforms
Libbson 1.1.2
=============
* sscanf_s doesn't exist for mingw.
Libbson 1.1.0
=============
ABI/API changes include:
* Deprecation of bson_copy_to_excluding
* Addition of bson_copy_to_excluding_noinit
* Removal of MIN, MAX and ABS macros in favor of BSON_MIN, BSON_MAX and
BSON_ABS. Note this is a breaking source level change if you relied on
these from bson.h. Also note that this is not a breaking ABI change.
* Addition of BSON_ERROR_BUFFER_SIZE macro
Other changes include:
* Addition of a versioned ABI for the libbson shared library
* fixed bson_get_monotonic_time fallback when a system monotonic clock can not
be found. Formerly failed to compile with an incorrect call to
bson_gettimeofday
* Allow the "dbref" convention in bson_validate when BSON_VALIDATE_DOLLAR_KEYS
is present
* Support for ISO-8601 or $numberLong dates in bson <-> json parsing
* Quiet various compiler warnings
Changes in 0.98:
- This release includes a new memory callback vtable to help in embedding
situations that have their own custom allocator such as various language
runtimes.
- A few compilation fixes for various C++ compilers have also been included.
Changes in 0.8.4:
- Alignment fixes for Solaris Studio C compiler.
- RPM and Debian packaging helpers.
- bson_gettimeofday() has dropped the deprecated timezone field used when
calling posix gettimeofday(). This eases portability concerns. It is
technically an ABI break, but since the field was never set, in reality
it shouldn't be an issue.
- Multi-byte optimizations for bson_oid_to_string() have been disabled on
non-x86 based platforms. This should aid in architecture portability.
- The JSON parser can now support $numberLong.
- bson_ascii_strtoll() has been added, which is a portable strtoll()
implementation. This is primarily useful for Windows users and is used
by the JSON parser.
- A bug was fixed in bson_iter_find_descendant() where the wrong field
could be matched if it's prefix matched the query.
- bson_array_as_json() has been added to convert a bson_t as a top-level
array.
Changes in 0.8.2
----------------
* A fix for BCON when used from C++.
* Change bson_next_power_of_two() to accept size_t. This should not be
an ABI break since it is static inline.
Changes in 0.8.0
----------------
This cycle includes much, much more documentation for your perusing. There is
much more cross-referencing and structure for your navigation pleasure.
We've improved support for Libbson on a few more exotic platforms. SPARC
support is looking pretty good these days.
You'll also find some new examples in this release to help you get started a
bit faster. If there is something you'd like to see, just ask!
There are a few ABI breaks this cycle, as we are well on the road to a 1.0 and
would like things as clean as possible. I anticipate a few more during the next
couple of cycles, but we will try to keep them to a minimum. With that said,
you *WILL* need to recompile your application against 0.8.0.
libbson is a library providing useful routines related to building,
parsing, and iterating BSON documents. It is a useful base for those
wanting to write high-performance C extensions to higher level
languages such as python, ruby, or perl.