Skip to content
This repository has been archived by the owner on Oct 13, 2020. It is now read-only.

Releases: mongodb/libbson

Libbson 0.8.2

06 Jun 14:19
Compare
Choose a tag to compare

A bugfix release is here as a follow up to 0.8.0.

In this release you will find the following changes:

  • 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.

Happy Hacking!

Libbson 0.8.0

30 May 01:47
Compare
Choose a tag to compare

It's that time again, time for another Libbson release!

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.

Happy Hacking!

Libbson 0.6.8

14 Apr 20:10
Compare
Choose a tag to compare

Quickly following up on the 0.6.6 release is 0.6.8. This release contains a couple of bugfixes and more support for older architectures.

On big-endian systems, bson_append_date_time() was not properly converting to little-endian. This is now fixed.

We've added support for Sun Pro C Compiler on Solaris 10 and 11. This includes support for SPARC systems as well as x86_64. In particular, intrinsics were added for the Solaris/SPARC/SunProC combination. If you are running SunProC on a non-Solaris platform, a fallback path will be used which is slower than native support for atomics. Additionally, bson_gettimeofday() does not fully support timezones under SunProC as struct timezone is not defined.

Libbson will now check for GLibc 2.19 to remove various warnings with both _GNU_SOURCE and _BSD_SOURCE defined.

Happy Hacking!

Libbson 0.6.6

03 Apr 22:58
Compare
Choose a tag to compare

Another release for your hacking pleasure!

First off, note that there are two ABI breaks as part of this release. We felt they were important as they will help us stablize towards a 1.0 release. It is recommended that you recompile against this version of libbson.

Lots of small fixes went into this release to help get things building better on various platforms. Windows support should be improved and many warnings have been cleaned up.

The signature of bson_realloc_func has changed to allow for context to be provided. This should help in situations where a pointer to the memory pool is required.

bson_destroy_with_steal() has been added so that you can steal a buffer instead of freeing it when bson_destroy() is called.

bson_new_from_buffer() has been added so that you can provide your own realloc() function to manage the underlying buffer. This will be useful for bindings that want to integrate their memory manager for bson documents.

bson_value_t is a new container type that can hold any bson type.

I'd like to thank everyone who contributed to this release.

  • Gary Murakami
  • Jason Carey
  • Jose Sebastian Battig
  • Máximo Cuadros
  • Paul Melnikow
  • Stefan Kaes

Happy hacking!

Libbson 0.6.4

13 Mar 22:50
Compare
Choose a tag to compare

This is just a followup release of libbson as we work towards stablizing for the new mongo-c-driver release. In fact, it only includes build work and a new macro, bson_clear().

Happy hacking!

Libbson 0.6.2

12 Mar 02:15
Compare
Choose a tag to compare

A new Libbson release is already here as a follow up to the 0.6.0 release.

This release includes a few build and installation fixes. In particular,

  • Windows build fixes
  • CMake build fixes
  • C++ build fixes.

The monotonic clock is now more accurately calculated on Windows as well. If you'd like to build on Windows, check out the section in README.md for information on how to do so.

Happy hacking!

-- The Libbson team

EDIT: Sorry for the updated tarballs. We had a small issue with cmake which should be fixed now.

Libbson 0.6.0

05 Mar 07:56
Compare
Choose a tag to compare

Many changes have gone into this release!

TL;DR

  • C99 types (from C89).
  • JSON parsing.
  • Lots of Operating System support, including Windows.
  • Parallel Test Suite.
  • Revamped build system.
  • A couple ABI breaks.

First off, 0.6.0 has gone through a significant amount of build system cleanup. This should simplify using libbson as a submodule for those that wish to do so. For example, the mongo-c-driver now does this using autotools.

Windows Vista and higher is now supported as a build target through the use of cmake. See README.md for the instructions. Other platforms should continue to use autotools.

The test suite has been improved and more tests added. We now generate random seeds on every run to help catch more errors with additional fuzzing passes. By default, the test suite will run all tests in parallel with subprocesses. This should speed up execution of `make test' for contributors.

bson_string_t went through an ABI break to support power-of-two growth.

JSON parsing has been added through the bson_json_reader_t type. You can also now use bson_init_from_json() for a simplified interface.

Types were revamped to appear to be using C99 types. If C99 types are available, they will be used. If not, they will be emulated. This means you can just go on using uint64_t and similar. We even use bool now.

Many functions have been made portable to deal with inconsistencies with Win32.

This release has been tested on the following operating systems:

  • RedHat Enterprise 5, 6, and 7 beta.
  • CentOS 6.5
  • Ubuntu 12.04 LTS
  • Fedora 20
  • Windows 7
  • FreeBSD 10
  • DragonFly BSD
  • Solaris 11
  • SmartOS
  • mingw64

Thanks again and enjoy using libbson!

Libbson 0.4.0

05 Dec 01:17
Compare
Choose a tag to compare

This release includes a few bug fixes and copious documentation. Additionally, we improved our fuzz testing and found a couple issues in the process. It is suggested that everyone upgrade their installations to 0.4.0.

We have been busy adding a lot of documentation that we hope you will like. Many `man' pages have been added for various API endpoints and structures. If you use vim, remember that you can jump to the documentation with k while on a symbol.

Thanks and enjoy using Libbson!

Libbson 0.2.4

15 Oct 21:08
Compare
Choose a tag to compare

This release includes some more performance improvements and bug fixes.

It contains an important fix for dealing with invalid string lengths that could cause an integer overflow when checking to see if the string length fits within the end of the buffer.

There is preliminary support for Solaris on x86_64 and SPARC.

Generating OIDs is now simpler with the use of bson_context_get_default(). This function will return a thread-safe generic bson_context_t implementation. Alternatively, you may pass NULL to bson_oid_init() for the context and the default context is automatically used.

The fuzz tests now use srand() with a 32-bit integer derived from /dev/urandom.

Endianess conversions are now performed by __builtin_bswap*() functions when available with the GCC compiler.

Endianness conversions for the double type are now properly handled on big-endian systems.

bson_reinit() has been added to cleanup code that needs to destroy and then initialize a bson_t.

Validation of Code with Scope fields was absent from bson_validate(). This is now supported.

Happy Hacking!

-- Christian

Libbson 0.2.2

25 Sep 20:51
Compare
Choose a tag to compare

I've just tagged Libbson 0.2.2 for general release.

It contains a few bug fixes and various performance improvements. In particular, the allocation hot-path of bson_t is now a bit faster.

Additionally, we have a rudimentary ABI check script in the tree to help us prevent ABI breaks. That said, 0.2.2 does include a small API and ABI break for bson_reader_t to make it an opaque structure. This should also help us avoid ABI breaks in the future.

Enjoy Libbson 0.2.2!