forked from mongodb/libbson
-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
926 lines (624 loc) · 24.5 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
Libbson-1.5.3
=============
No change since 1.5.2; released to keep pace with libmongoc's version.
-- A. Jesse Jiryu Davis
Libbson-1.5.2
=============
It is my pleasure to announce Libbson-1.5.2.
New bug fixes:
* CDRIVER-1982 fix ifdef for strerror_s with mingw.
Thanks to everyone who contributed to the development of this release.
* A. Jesse Jiryu Davis
Peace,
Hannes Magnusson
Libbson-1.5.1
=============
No change since 1.5.0; released to keep pace with libmongoc's version.
-- A. Jesse Jiryu Davis
Libbson-1.5.0
=============
It is my pleasure to announce Libbson-1.5.0.
New features and bug fixes:
* New BSON Type, Decimal128 (bson_decimal128_t) along with the following
new functions and helpers:
* bson_decimal128_to_string()
* bson_decimal128_from_string()
* bson_iter_decimal128()
* bson_iter_overwrite_decimal128()
* BSON_ITER_HOLDS_DECIMAL128()
* bson_append_decimal128()
* BSON_APPEND_DECIMAL128()
* BCON_DECIMAL128()
See the documentations for further details.
* bson_validate and bson_iter_next now validate that BSON boolean values are
0 or 1. Before, any non-zero value was considered true.
* bson_append_code_with_scope now preserves the "code with scope" type
if scope is an empty, non-NULL BSON document.
* BSON "code" and "code with scope" types are properly translated to JSON of
the form '{"$code": "...", "$scope": {...}}'.
* bson_json_reader functions now always validate UTF-8.
* JSON parsing now preserves integer width.
* bson_strtoll now matches stroll: it detects range errors, and when
parsing octal it stops at non-octal digits and returns what it parsed
instead of setting errno.
* New flag BSON_VALIDATE_EMPTY_KEYS causes bson_validate to fail if a document
contains zero-length field names.
* The configure option "--enable-hardening" had had no effect. It is removed
in favor of system-wide compiler configuration.
Thanks to everyone who contributed to the development of this release.
* Hannes Magnusson
* A. Jesse Jiryu Davis
* Fiona Rowan
* Brian Samek
Peace,
A. Jesse Jiryu Davis
Libbson-1.4.1
=============
This release improves the HTML documentation's Makefile.
-- A. Jesse Jiryu Davis
Libbson-1.4.0
=============
It is my pleasure to announce Libbson-1.4.0.
New features and bug fixes:
* bson_reader_reset seeks to the beginning of a BSON buffer.
* bson_steal efficiently transfers contents from one bson_t to another.
* Fix Windows compile error with BSON_EXTRA_ALIGN disabled.
* Potential buffer overrun in bson_strndup.
* bson_oid_to_string optimization for MS Visual Studio
* bson_oid_is_valid accepts uppercase hex characters.
* bson_json_reader_read aborted on some invalid Extended JSON documents.
* All man page names now begin with "bson_" to avoid install conflicts.
* Error messages sometimes truncated at 63 chars.
This release tentatively supports the new BSON decimal type when built with
"./configure --enable-experimental-features", or with
"cmake -DENABLE_EXPERIMENTAL_FEATURES=ON", but this feature may change
between now and libbson 1.5.
Thanks to everyone who contributed to the development of this release.
* A. Jesse Jiryu Davis
* Hannes Magnusson
* Jeremy Mikola
* David Hatch
* Ian Boros
* Fiona Rowan
* Shane Harvey
* Runar Buvik
* Raymond Jacobson
* ReadmeCritic
* Mike Lloyd
* Derick Rethans
* Maverick Chan
Peace,
A. Jesse Jiryu Davis
Libbson-1.3.5
=============
No change since 1.3.4; released to keep pace with libmongoc's version.
-- A. Jesse Jiryu Davis
Libbson-1.3.4
=============
No change since 1.3.3; released to keep pace with libmongoc's version.
-- A. Jesse Jiryu Davis
Libbson-1.3.3
=============
No change since 1.3.2; released to keep pace with libmongoc's version.
-- A. Jesse Jiryu Davis
Libbson-1.3.2
=============
This is a patch release with a fix for the build system:
* man pages couldn't be built from a distribution tarball.
Peace,
A. Jesse Jiryu Davis
Libbson-1.3.1
=============
It is my pleasure to announce Libbson-1.3.1. This is a bugfix release:
* bson_strnlen is off by one on Windows.
* BSON_HAVE_STRNLEN config check used incorrectly.
* Incompatibility with older CMake versions.
* Wrong-sized allocation in bson_json_reader_new.
Thanks to everyone who contributed to the development of this release.
* A. Jesse Jiryu Davis
* Alex Bishop
* Jeroen Ooms
Peace,
A. Jesse Jiryu Davis
Libbson-1.3.0
=============
It is my pleasure to announce to you the release of Libbson-1.3.0. Since the
release candidate 1.3.0-rc0, the only changes have been fixes for compiler
warnings and errors on various platforms.
All changes since the previous stable release, 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.
Thanks to everyone who contributed to the development of this release.
* A. Jesse Jiryu Davis
* Hannes Magnusson
* Mark Benvenuto
* Petr Písař
* xpol
* Jose Sebastian Battig
* Jeroen Ooms
Peace,
A. Jesse Jiryu Davis
Libbson-1.3.0-rc0
=================
It is my pleasure to announce to you first release candidate of Libbson-1.3.0.
Changes since 1.3.0-beta0:
* Parse DBRefs correctly from JSON.
* CMake option to disable building tests: "cmake -DENABLE_TESTS:BOOL=OFF".
* Fix build warnings on some platforms, and refactor the build system.
Thanks to everyone who contributed to the development of this release.
* A. Jesse Jiryu Davis
* Hannes Magnusson
* Jose Sebastian Battig
Peace,
A. Jesse Jiryu Davis
Libbson-1.3.0-beta0
===================
It is my pleasure to announce to you the beta release of Libbson-1.3.0.
Changes since the previous stable release, 1.2.1:
* Fix potential crash in bson_strncpy on Windows.
* Fix compiler warnings and errors, especially with Visual Studio 2015
and IBM XL C.
* Combine environment's CFLAGS with configure options when building.
Thanks to everyone who contributed to the development of this release.
* Hannes Magnusson
* A. Jesse Jiryu Davis
* Jeroen Ooms
* Petr Písař
* xpol
Peace,
A. Jesse Jiryu Davis
Libbson-1.2.1
=============
It is my pleasure to announce to you the release of Libbson-1.2.1.
Changes since the previous stable release, 1.2.0 are solely in the content
and format of documentation.
Peace,
A. Jesse Jiryu Davis
Libbson-1.2.0
=============
It is my pleasure to announce to you the release of Libbson-1.2.0.
Changes since the previous stable release, 1.1.11:
* 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.
Thanks to everyone who contributed to the development of this release.
* A. Jesse Jiryu Davis
* Hannes Magnusson
* Jason Carey
* Kyle Suarez
* Derick Rethans
* David Hatch
Peace,
A. Jesse Jiryu Davis
Libbson 1.2.0-rc0
==================
It is my pleasure to announce to you the release candidate of Libbson-1.2.0.
Changes:
* Merge changes from 1.1.11.
* Enable runtime asserts in release build.
Thanks to everyone who contributed to the development of this release candidate.
* A. Jesse Jiryu Davis
* Hannes Magnusson
* Kyle Suarez
* Jason Carey
-- A. Jesse Jiryu Davis
Libbson 1.2.0-beta
==================
It is my pleasure to announce to you the beta of Libbson-1.2.0.
This release adds the bson_mem_restore_vtable() function to undo the effect
of bson_mem_set_vtable().
Thanks to everyone who contributed to the development of this beta.
* Jason Carey
* Hannes Magnusson
Libbson-1.1.11
==============
It is my pleasure to announce to you the release of Libbson-1.1.11.
This is a patch release with improvements to the documentation:
* 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.
Thanks to Kyle Suarez for his contributions to this version of Libbson.
-- A. Jesse Jiryu Davis
Libbson-1.1.10
==============
No change since 1.1.9; released to keep pace with libmongoc's version.
-- A. Jesse Jiryu Davis
Libbson-1.1.9
=============
This is a patch release with a fix for the build system:
* "./configure --enable-coverage" works now.
-- A. Jesse Jiryu Davis
Libbson-1.1.8
=============
No change since 1.1.7; released to keep pace with libmongoc's version.
-- A. Jesse Jiryu Davis
Libbson-1.1.7
=============
It is my pleasure to announce to you the release of Libbson-1.1.7.
This is a patch release with bug fixes:
* 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.
Thanks to everyone who contributed to this version of Libbson.
* A. Jesse Jiryu Davis
* Jason Carey
* Jeroen Ooms
* Hannes Magnusson
* Hendrik Dahlkamp
-- A. Jesse Jiryu Davis
Libbson-1.1.6
=============
No change since 1.1.5; released to keep pace with libmongoc's version.
-- A. Jesse Jiryu Davis
Libbson 1.1.5
=============
It is my pleasure to announce to you the release of Libbson-1.1.5.
This is a patch release with small bug fixes:
* 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
With this release, Libbson abandons the convention that odd-numbered patch
versions indicate unstable releases. We switch to simple semantic versioning:
1.1.5 is a stable release with bug fixes since 1.1.4. During subsequent
development the version will be "1.1.6-dev".
Thanks to everyone who contributed to this version of Libbson.
* A. Jesse Jiryu Davis
* Christian Hergert
* Jason Carey
* Hannes Magnusson
* Paul Melnikow
-- A. Jesse Jiryu Davis
Libbson 1.1.4
=============
It is my pleasure to announce to you the release of Libbson-1.1.4.
This release is a minor patch release with one bug fix for bson_iter_timeval
Thanks to everyone who contributed to the development of this release candidate for
Libbson.
* Jason Carey
* A. Jesse Jiryu Davis
* Vladimir Zidar
-- Jason Carey
Libbson 1.1.2
=============
It is my pleasure to announce to you the release of Libbson-1.1.2.
This release is a minor patch release with one bug fix for mingw.
* sscanf_s doesn't exist for mingw.
-- Jason Carey
Libbson 1.1.0
=============
It is my pleasure to announce to you the release of Libbson-1.1.0.
This release is a stable release with some ABI additions and bugfixes.
The below changes include the changes mentioned in the rc0.
ABI/API changes include:
* RC0
* 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:
* RC0
* 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
Thanks to everyone who contributed to the development of this release candidate for
Libbson.
* Adam Midvidy
* Christian Hergert
* Daniel Colchete
* Ivan Suvorov
* Hannes Magnusson
* Jason Carey
* Jérôme Lebel
* Samantha Ritter
-- Jason Carey
Libbson 1.1.0-rc0
=================
It is my pleasure to announce to you the release of Libbson-1.1.0-rc0.
This release is a release candidate release with some ABI additions and bugfixes.
ABI changes include:
* Deprecation of bson_copy_to_excluding
* Addition of bson_copy_to_excluding_noinit
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
Thanks to everyone who contributed to the development of this release candidate for
Libbson.
* Adam Midvidy
* Christian Hergert
* Daniel Colchete
* Ivan Suvorov
* Jason Carey
* Jérôme Lebel
-- Jason Carey
Libbson 1.0.2
=============
It is my pleasure to announce to you the release of Libbson-1.0.2.
This release is a minor point release with no ABI changes and mostly small
bugfixes.
Changes include:
* bson_init_from_json supports top level arrays
* fixes for bson_strerror_r
* fix for timeouts on OS X
* house cleaning for various integer types
Thanks to everyone who contributed to the development of this point release for
Libbson.
* Adam Midvidy
* Christian Hergert
* Jason Carey
* Jérôme Lebel
* Tyler Brock
-- Jason Carey
Libbson 1.0.0
=============
It is my very distinct pleasure to announce to you the release of
Libbson-1.0.0!
This is the culmination of just over a year of work and could not have been
done without the help of our wonderful community.
Thanks to everyone who contributed to the development of Libbson!
* Christian Hergert
* Jason Carey
* Jose Sebastian Battig
* Maxim Zakharov
* Jérôme Lebel
* Itay Neeman
* Mike Manilone
* Michael Kuhn
* Kyle Suarez
* Josh Blum
* Jason Choy
* Tyler Brock
* Stefan Kaes
* Paul Melnikow
* Matt Cotter
* Gary J. Murakami
* Toon Schoenmakers
* Máximo Cuadros
* Michael Whittaker
* Kota Yamaguchi
* Justin Case
* Jeff Yemin
* Ivan Suvorov
* Hannes Magnusson
* Eric Daniels
* Anil Kumar
* A. Jesse Jiryu Davis
Happy Hacking!
-- Christian Hergert
Libbson 0.98.0
==============
One more step closer to a 1.0!
This release has a few fixes as we near the finish line of a 1.0 release.
We have bumped the version to 0.98.0 to sync up with MongoDB C driver, which
is the primary consumer of this library.
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.
A special thanks to:
* Itay Neeman
* Michael Whittaker
Happy Hacking!
-- Christian
Libbson 0.8.4
=============
Another incremental release with a couple of new functions and bugfixes.
In this release you will find the following changes:
* 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_descendent() 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.
Thanks to:
* Kyle Suarez
* Itay Neeman
Happy Hacking!
Libbson 0.8.2
=============
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
=============
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
=============
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
=============
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
=============
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
=============
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!
Libbson 0.6.0
=============
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
=============
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 <shift>k
while on a symbol.
Thanks and enjoy using libbson!
Libbson 0.2.4
=============
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.
Libbson 0.2.2
=============
This release includes a few performance improvements and bug fixes.
The bson_t structure is more efficient when growing allocated buffers.
The use of memalign() was unnecessary for allocated bson_t structures
and has therefore been removed. Performance sensitive allocations now
use bson_malloc() instead of calloc() and initialize fields directly.
Stack alignment of bson_t is now enforced through compiler intrinsics.
The unit tests can now support running inside of valgrind to check for
various memory leaks. Simply defing VALGRIND=valgrind when running
`make test`.
Enjoy libbson-0.2.2!
Libbson 0.2.0
=============
This is the initial release of Libbson. It has not yet reached API and ABI
maturity and is therefore subject to change without notice. Developers are
encouraged to start using Libbson as we journey on the road to 1.0, where ABI
stability will be guaranteed.
Libbson is Apache 2.0 licensed so that it can be embedded in a multitude of
scenarios. This means that we try hard to not rely on external libraries.
Therefore, Libbson contains useful routines to help in portability as well
as BSON support.
Libbson is the basis of a new MongoDB C driver that will follow shortly.
Please see the doc/ directory for documentation on how to use Libbson. We
would love for you to contribute to Libbson, whether that is code,
documentation or packaging.