source: thirdparty/blosc/RELEASE_NOTES.rst @ 981e22c

Revision 981e22c, 24.3 KB checked in by Hal Finkel <hfinkel@…>, 8 years ago (diff)

Upgrade to latest blosc library

blosc git: e394f327ccc78319d90a06af0b88bce07034b8dd

  • Property mode set to 100644
Line 
1===========================
2 Release notes for C-Blosc
3===========================
4
5:Author: Francesc Alted
6:Contact: [email protected]
7:URL: http://www.blosc.org
8
9
10Changes from 1.10.0 to 1.10.1
11=============================
12
13 #XXX version-specific blurb XXX#
14
15
16Changes from 1.9.3 to 1.10.0
17============================
18
19- Initial support for Zstandard (0.7.4). Zstandard (or Zstd for short) is a new
20  compression library that allows better compression than Zlib, but that works
21  typically faster (and some times much faster), making of it a good match for
22  Blosc.
23
24  Although the Zstd format is considered stable
25  (http://fastcompression.blogspot.com.es/2016_07_03_archive.html), its API is
26  maturing very fast, and despite passing the extreme test suite for C-Blosc,
27  this codec should be considered in beta for C-Blosc usage purposes. Please
28  test it and report back any possible issues you may get.
29
30
31Changes from 1.9.2 to 1.9.3
32===========================
33
34- Reverted a mistake introduced in 1.7.1.  At that time, bit-shuffling
35  was enabled for typesize == 1 (i.e. strings), but the change also
36  included byte-shuffling accidentally.  This only affected performance,
37  but in a quite bad way (a copy was needed).  This has been fixed and
38  byte-shuffling is not active when typesize == 1 anymore.
39
40
41Changes from 1.9.1 to 1.9.2
42===========================
43
44- Check whether Blosc is actually initialized before blosc_init(),
45  blosc_destroy() and blosc_free_resources().  This makes the library
46  more resistant to different initialization cycles
47  (e.g. https://github.com/stevengj/Blosc.jl/issues/19).
48
49
50Changes from 1.9.0 to 1.9.1
51===========================
52
53- The internal copies when clevel=0 are made now via memcpy().  At the
54  beginning of C-Blosc development, benchmarks where saying that the
55  internal, multi-threaded copies inside C-Blosc were faster than
56  memcpy(), but 6 years later, memcpy() made greats strides in terms
57  of efficiency.  With this, you should expect an slight speed
58  advantage (10% ~ 20%) when C-Blosc is used as a replacement of
59  memcpy() (which should not be the most common scenario out there).
60
61- Added a new DEACTIVATE_AVX2 cmake option to explicitly disable AVX2
62  at build-time.  Thanks to James Bird.
63
64- The ``make -jN`` for parallel compilation should work now.  Thanks
65  to James Bird.
66
67
68Changes from 1.8.1 to 1.9.0
69===========================
70
71* New blosc_get_nthreads() function to get the number of threads that
72  will be used internally during compression/decompression (set by
73  already existing blosc_set_nthreads()).
74
75* New blosc_get_compressor() function to get the compressor that will
76  be used internally during compression (set by already existing
77  blosc_set_compressor()).
78
79* New blosc_get_blocksize() function to get the internal blocksize to
80  be used during compression (set by already existing
81  blosc_set_blocksize()).
82
83* Now, when the BLOSC_NOLOCK environment variable is set (to any
84  value), the calls to blosc_compress() and blosc_decompress() will
85  call blosc_compress_ctx() and blosc_decompress_ctx() under the hood
86  so as to avoid the internal locks.  See blosc.h for details.  This
87  allows multi-threaded apps calling the non _ctx() functions to avoid
88  the internal locks in C-Blosc.  For the not multi-threaded app
89  though, it is in general slower to call the _ctx() functions so the
90  use of BLOSC_NOLOCK is discouraged.
91
92* In the same vein, from now on, when the BLOSC_NTHREADS environment
93  variable is set to an integer, every call to blosc_compress() and
94  blosc_decompress() will call blosc_set_nthreads(BLOSC_NTHREADS)
95  before the actuall compression/decompression process.  See blosc.h
96  for details.
97
98* Finally, if BLOSC_CLEVEL, BLOSC_SHUFFLE, BLOSC_TYPESIZE and/or
99  BLOSC_COMPRESSOR variables are set in the environment, these will be
100  also honored before calling blosc_compress().
101
102* Calling blosc_init() before any other Blosc call, although
103  recommended, is not necessary anymore.  The idea is that you can use
104  just the basic blosc_compress() and blosc_decompress() and control
105  other parameters (nthreads, compressor, blocksize) by using
106  environment variables (see above).
107
108
109Changes from 1.8.0 to 1.8.1
110===========================
111
112* Disable the use of __builtin_cpu_supports() for GCC 5.3.1
113  compatibility.  Details in:
114  https://lists.fedoraproject.org/archives/list/[email protected]/thread/ZM2L65WIZEEQHHLFERZYD5FAG7QY2OGB/
115
116
117Changes from 1.7.1 to 1.8.0
118===========================
119
120* The code is (again) compatible with VS2008 and VS2010.  This is
121  important for compatibility with Python 2.6/2.7/3.3/3.4.
122
123* Introduced a new global lock during blosc_decompress() operation.
124  As the blosc_compress() was already guarded by a global lock, this
125  means that the compression/decompression is again thread safe.
126  However, when using C-Blosc from multi-threaded environments, it is
127  important to keep using the *_ctx() functions for performance
128  reasons.  NOTE: _ctx() functions will be replaced by more powerful
129  ones in C-Blosc 2.0.
130
131
132Changes from 1.7.0 to 1.7.1
133===========================
134
135* Fixed a bug preventing bitshuffle to work correctly on getitem().
136  Now, everything with bitshuffle seems to work correctly.
137
138* Fixed the thread initialization for blosc_decompress_ctx().  Issue
139  #158.  Thanks to Chris Webers.
140
141* Fixed a bug in the blocksize computation introduced in 1.7.0.  This
142  could have been creating segfaults.
143
144* Allow bitshuffle to run on 1-byte typesizes.
145
146* New parametrization of the blocksize to be independent of the
147  typesize.  This allows a smoother speed throughout all typesizes.
148
149* lz4 and lz4hc codecs upgraded to 1.7.2 (from 1.7.0).
150
151* When calling set_nthreads() but not actually changing the number of
152  threads in the internal pool does not teardown and setup it anymore.
153  PR #153.  Thanks to Santi Villalba.
154
155
156Changes from 1.6.1 to 1.7.0
157===========================
158
159* Added a new 'bitshuffle' filter so that the shuffle takes place at a
160  bit level and not just at a byte one, which is what it does the
161  previous 'shuffle' filter.
162
163  For activating this new bit-level filter you only have to pass the
164  symbol BLOSC_BITSHUFFLE to `blosc_compress()`.  For the previous
165  byte-level one, pass BLOSC_SHUFFLE.  For disabling the shuffle, pass
166  BLOSC_NOSHUFFLE.
167
168  This is a port of the existing filter in
169  https://github.com/kiyo-masui/bitshuffle.  Thanks to Kiyo Masui for
170  changing the license and allowing its inclusion here.
171
172* New acceleration mode for LZ4 and BloscLZ codecs that enters in
173  operation with complevel < 9.  This allows for an important boost in
174  speed with minimal compression ratio loss.  Francesc Alted.
175
176* LZ4 codec updated to 1.7.0 (r130).
177
178* PREFER_EXTERNAL_COMPLIBS cmake option has been removed and replaced
179  by the more fine grained PREFER_EXTERNAL_LZ4, PREFER_EXTERNAL_SNAPPY
180  and PREFER_EXTERNAL_ZLIB.  In order to allow the use of the new API
181  introduced in LZ4 1.7.0, PREFER_EXTERNAL_LZ4 has been set to OFF by
182  default, whereas PREFER_EXTERNAL_SNAPPY and PREFER_EXTERNAL_ZLIB
183  continues to be ON.
184
185* Implemented SSE2 shuffle support for buffers containing a number of
186  elements which is not a multiple of (typesize * vectorsize).  Jack
187  Pappas.
188
189* Added SSE2 shuffle/unshuffle routines for types larger than 16
190  bytes.  Jack Pappas.
191
192* 'test_basic' suite has been split in components for a much better
193  granularity on what's a possibly failing test.  Also, lots of new
194  tests have been added.  Jack Pappas.
195
196* Fixed compilation on non-Intel archs (tested on ARM).  Zbyszek
197  Szmek.
198
199* Modifyied cmake files in order to inform that AVX2 on Visual Studio
200  is supported only in 2013 update 2 and higher.
201
202* Added a replacement for stdbool.h for Visual Studio < 2013.
203
204* blosclz codec adds Win64/Intel as a platform supporting unaligned
205  addressing.  That leads to a speed-up of 2.2x in decompression.
206
207* New blosc_get_version_string() function for retrieving the version
208  of the c-blosc library.  Useful when linking with dynamic libraries
209  and one want to know its version.
210
211* New example (win-dynamic-linking.c) that shows how to link a Blosc
212  DLL dynamically in run-time (Windows only).
213
214* The `context.threads_started` is initialized now when decompressing.
215  This could cause crashes in case you decompressed before compressing
216  (e.g. directly deserializing blosc buffers).  @atchouprakov.
217
218* The HDF5 filter has been removed from c-blosc and moved into its own
219  repo at: https://github.com/Blosc/hdf5
220
221* The MS Visual Studio 2008 has been tested with c-blosc for ensuring
222  compatibility with extensions for Python 2.6 and up.
223
224
225Changes from 1.6.0 to 1.6.1
226===========================
227
228* Support for *runtime* detection of AVX2 and SSE2 SIMD instructions.
229  These changes make it possible to compile one single binary that
230  runs on a system that supports SSE2 or AVX2 (or neither), so the
231  redistribution problem is fixed (see #101).  Thanks to Julian Taylor
232  and Jack Pappas.
233
234* Added support for MinGW and TDM-GCC compilers for Windows.  Thanks
235  to yasushima-gd.
236
237* Fixed a bug in blosclz that could potentially overwrite an area
238  beyond the output buffer.  See #113.
239
240* New computation for blocksize so that larger typesizes (> 8 bytes)
241  would benefit of much better compression ratios.  Speed is not
242  penalized too much.
243
244* New parametrization of the hash table for blosclz codec.  This
245  allows better compression in many scenarios, while slightly
246  increasing the speed.
247
248
249Changes from 1.5.4 to 1.6.0
250===========================
251
252* Support for AVX2 is here!  The benchmarks with a 4-core Intel
253  Haswell machine tell that both compression and decompression are
254  accelerated around a 10%, reaching peaks of 9.6 GB/s during
255  compression and 26 GB/s during decompression (memcpy() speed for
256  this machine is 7.5 GB/s for writes and 11.7 GB/s for reads).  Many
257  thanks to @littlezhou for this nice work.
258
259* Support for HPET (high precision timers) for the `bench` program.
260  This is particularly important for microbenchmarks like bench is
261  doing; since they take so little time to run, the granularity of a
262  less-accurate timer may account for a significant portion of the
263  runtime of the benchmark itself, skewing the results.  Thanks to
264  Jack Pappas.
265
266
267Changes from 1.5.3 to 1.5.4
268===========================
269
270* Updated to LZ4 1.6.0 (r128).
271
272* Fix resource leak in t_blosc.  Jack Pappas.
273
274* Better checks during testing.  Jack Pappas.
275
276* Dynamically loadable HDF5 filter plugin. Kiyo Masui.
277
278
279Changes from 1.5.2 to 1.5.3
280===========================
281
282* Use llabs function (where available) instead of abs to avoid
283  truncating the result.  Jack Pappas.
284
285* Use C11 aligned_alloc when it's available.  Jack Pappas.
286
287* Use the built-in stdint.h with MSVC when available.  Jack Pappas.
288
289* Only define the __SSE2__ symbol when compiling with MS Visual C++
290  and targeting x64 or x86 with the correct /arch flag set. This
291  avoids re-defining the symbol which makes other compilers issue
292  warnings.  Jack Pappas.
293
294* Reinitializing Blosc during a call to set_nthreads() so as to fix
295  problems with contexts.  Francesc Alted.
296
297
298
299Changes from 1.5.1 to 1.5.2
300===========================
301
302* Using blosc_compress_ctx() / blosc_decompress_ctx() inside the HDF5
303  compressor for allowing operation in multiprocess scenarios.  See:
304  https://github.com/PyTables/PyTables/issues/412
305
306  The drawback of this quick fix is that the Blosc filter will be only
307  able to use a single thread until another solution can be devised.
308
309
310Changes from 1.5.0 to 1.5.1
311===========================
312
313* Updated to LZ4 1.5.0.  Closes #74.
314
315* Added the 'const' qualifier to non SSE2 shuffle functions. Closes #75.
316
317* Explicitly call blosc_init() in HDF5 blosc_filter.c, fixing a
318  segfault.
319
320* Quite a few improvements in cmake files for HDF5 support.  Thanks to
321  Dana Robinson (The HDF Group).
322
323* Variable 'class' caused problems compiling the HDF5 filter with g++.
324  Thanks to Laurent Chapon.
325
326* Small improvements on docstrings of c-blosc main functions.
327
328
329Changes from 1.4.1 to 1.5.0
330===========================
331
332* Added new calls for allowing Blosc to be used *simultaneously*
333  (i.e. lock free) from multi-threaded environments.  The new
334  functions are:
335
336  - blosc_compress_ctx(...)
337  - blosc_decompress_ctx(...)
338
339  See the new docstrings in blosc.h for how to use them.  The previous
340  API should be completely unaffected.  Thanks to Christopher Speller.
341
342* Optimized copies during BloscLZ decompression.  This can make BloscLZ
343  to decompress up to 1.5x faster in some situations.
344
345* LZ4 and LZ4HC compressors updated to version 1.3.1.
346
347* Added an examples directory on how to link apps with Blosc.
348
349* stdlib.h moved from blosc.c to blosc.h as suggested by Rob Lathm.
350
351* Fix a warning for {snappy,lz4}-free compilation.  Thanks to Andrew Schaaf.
352
353* Several improvements for CMakeLists.txt (cmake).
354
355* Fixing C99 compatibility warnings.  Thanks to Christopher Speller.
356
357
358Changes from 1.4.0 to 1.4.1
359===========================
360
361* Fixed a bug in blosc_getitem() introduced in 1.4.0.  Added a test for
362  blosc_getitem() as well.
363
364
365Changes from 1.3.6 to 1.4.0
366===========================
367
368* Support for non-Intel and non-SSE2 architectures has been added.  In
369  particular, the Raspberry Pi platform (ARM) has been tested and all
370  tests pass here.
371
372* Architectures requiring strict access alignment are supported as well.
373  Due to this, arquitectures with a high penalty in accessing unaligned
374  data (e.g. Raspberry Pi, ARMv6) can compress up to 2.5x faster.
375
376* LZ4 has been updated to r119 (1.2.0) so as to fix a possible security
377  breach.
378
379
380Changes from 1.3.5 to 1.3.6
381===========================
382
383* Updated to LZ4 r118 due to a (highly unlikely) security hole.  For
384  details see:
385
386  http://fastcompression.blogspot.fr/2014/06/debunking-lz4-20-years-old-bug-myth.html
387
388
389Changes from 1.3.4 to 1.3.5
390===========================
391
392* Removed a pointer from 'pointer from integer without a cast' compiler
393  warning due to a bad macro definition.
394
395
396Changes from 1.3.3 to 1.3.4
397===========================
398
399* Fixed a false buffer overrun condition.  This bug made c-blosc to
400  fail, even if the failure was not real.
401
402* Fixed the type of a buffer string.
403
404
405Changes from 1.3.2 to 1.3.3
406===========================
407
408* Updated to LZ4 1.1.3 (improved speed for 32-bit platforms).
409
410* Added a new `blosc_cbuffer_complib()` for getting the compression
411  library for a compressed buffer.
412
413
414Changes from 1.3.1 to 1.3.2
415===========================
416
417* Fix for compiling Snappy sources against MSVC 2008.  Thanks to Mark
418  Wiebe!
419
420* Version for internal LZ4 and Snappy are now supported.  When compiled
421  against the external libraries, this info is not available because
422  they do not support the symbols (yet).
423
424
425Changes from 1.3.0 to 1.3.1
426===========================
427
428* Fixes for a series of issues with the filter for HDF5 and, in
429  particular, a problem in the decompression buffer size that made it
430  impossible to use the blosc_filter in combination with other ones
431  (e.g. fletcher32).  See
432  https://github.com/PyTables/PyTables/issues/21.
433
434  Thanks to Antonio Valentino for the fix!
435
436
437Changes from 1.2.4 to 1.3.0
438===========================
439
440A nice handful of compressors have been added to Blosc:
441
442* LZ4 (http://code.google.com/p/lz4/): A very fast
443  compressor/decompressor.  Could be thought as a replacement of the
444  original BloscLZ, but it can behave better is some scenarios.
445
446* LZ4HC (http://code.google.com/p/lz4/): This is a variation of LZ4
447  that achieves much better compression ratio at the cost of being
448  much slower for compressing.  Decompression speed is unaffected (and
449  sometimes better than when using LZ4 itself!), so this is very good
450  for read-only datasets.
451
452* Snappy (http://code.google.com/p/snappy/): A very fast
453  compressor/decompressor.  Could be thought as a replacement of the
454  original BloscLZ, but it can behave better is some scenarios.
455
456* Zlib (http://www.zlib.net/): This is a classic.  It achieves very
457  good compression ratios, at the cost of speed.  However,
458  decompression speed is still pretty good, so it is a good candidate
459  for read-only datasets.
460
461With this, you can select the compression library with the new
462function::
463
464  int blosc_set_complib(char* complib);
465
466where you pass the library that you want to use (currently "blosclz",
467"lz4", "lz4hc", "snappy" and "zlib", but the list can grow in the
468future).
469
470You can get more info about compressors support in you Blosc build by
471using these functions::
472
473  char* blosc_list_compressors(void);
474  int blosc_get_complib_info(char *compressor, char **complib, char **version);
475
476
477Changes from 1.2.2 to 1.2.3
478===========================
479
480- Added a `blosc_init()` and `blosc_destroy()` so that the global lock
481  can be initialized safely.  These new functions will also allow other
482  kind of initializations/destructions in the future.
483
484  Existing applications using Blosc do not need to start using the new
485  functions right away, as long as they calling `blosc_set_nthreads()`
486  previous to anything else.  However, using them is highly recommended.
487
488  Thanks to Oscar Villellas for the init/destroy suggestion, it is a
489  nice idea!
490
491
492Changes from 1.2.1 to 1.2.2
493===========================
494
495- All important warnings removed for all tested platforms.  This will
496  allow less intrusiveness compilation experiences with applications
497  including Blosc source code.
498
499- The `bench/bench.c` has been updated so that it can be compiled on
500  Windows again.
501
502- The new web site has been set to: http://www.blosc.org
503
504
505Changes from 1.2 to 1.2.1
506=========================
507
508- Fixed a problem with global lock not being initialized.  This
509  affected mostly to Windows platforms.  Thanks to Christoph
510  Gohlke for finding the cure!
511
512
513Changes from 1.1.5 to 1.2
514=========================
515
516- Now it is possible to call Blosc simultaneously from a parent threaded
517  application without problems.  This has been solved by setting a
518  global lock so that the different calling threads do not execute Blosc
519  routines at the same time.  Of course, real threading work is still
520  available *inside* Blosc itself.  Thanks to Thibault North.
521
522- Support for cmake is now included.  Linux, Mac OSX and Windows
523  platforms are supported.  Thanks to Thibault North, Antonio Valentino
524  and Mark Wiebe.
525
526- Fixed many compilers warnings (specially about unused variables).
527
528- As a consequence of the above, as minimal change in the API has been
529  introduced.  That is, the previous API::
530
531    void blosc_free_resources(void)
532
533  has changed to::
534
535    int blosc_free_resources(void)
536
537  Now, a return value of 0 means that the resources have been released
538  successfully.  If the return value is negative, then it is not
539  guaranteed that all the resources have been freed.
540
541- Many typos were fixed and docs have been improved.  The script for
542  generating nice plots for the included benchmarks has been improved
543  too.  Thanks to Valetin Haenel.
544
545
546Changes from 1.1.4 to 1.1.5
547===========================
548
549- Fix compile error with msvc compilers (Christoph Gohlke)
550
551
552Changes from 1.1.3 to 1.1.4
553===========================
554
555- Redefinition of the BLOSC_MAX_BUFFERSIZE constant as (INT_MAX -
556  BLOSC_MAX_OVERHEAD) instead of just INT_MAX.  This prevents to produce
557  outputs larger than INT_MAX, which is not supported.
558
559- `exit()` call has been replaced by a ``return -1`` in blosc_compress()
560  when checking for buffer sizes.  Now programs will not just exit when
561  the buffer is too large, but return a negative code.
562
563- Improvements in explicit casts.  Blosc compiles without warnings
564  (with GCC) now.
565
566- Lots of improvements in docs, in particular a nice ascii-art diagram
567  of the Blosc format (Valentin Haenel).
568
569- Improvements to the plot-speeds.py (Valentin Haenel).
570
571- [HDF5 filter] Adapted HDF5 filter to use HDF5 1.8 by default
572  (Antonio Valentino).
573
574- [HDF5 filter] New version of H5Z_class_t definition (Antonio Valentino).
575
576
577Changes from 1.1.2 to 1.1.3
578===========================
579
580- Much improved compression ratio when using large blocks (> 64 KB) and
581  high compression levels (> 6) under some circumstances (special data
582  distribution).  Closes #7.
583
584
585Changes from 1.1.1 to 1.1.2
586===========================
587
588- Fixes for small typesizes (#6 and #1 of python-blosc).
589
590
591Changes from 1.1 to 1.1.1
592=========================
593
594- Added code to avoid calling blosc_set_nthreads more than necessary.
595  That will improve performance up to 3x or more, specially for small
596  chunksizes (< 1 MB).
597
598
599Changes from 1.0 to 1.1
600=======================
601
602- Added code for emulating pthreads API on Windows.  No need to link
603  explicitly with pthreads lib on Windows anymore.  However, performance
604  is a somewhat worse because the new emulation layer does not support
605  the `pthread_barrier_wait()` call natively.  But the big improvement
606  in installation easiness is worth this penalty (most specially on
607  64-bit Windows, where pthreads-win32 support is flaky).
608
609- New BLOSC_MAX_BUFFERSIZE, BLOSC_MAX_TYPESIZE and BLOSC_MAX_THREADS
610  symbols are available in blosc.h.  These can be useful for validating
611  parameters in clients.  Thanks to Robert Smallshire for suggesting
612  that.
613
614- A new BLOSC_MIN_HEADER_LENGTH symbol in blosc.h tells how many bytes
615  long is the minimum length of a Blosc header.  `blosc_cbuffer_sizes()`
616  only needs these bytes to be passed to work correctly.
617
618- Removed many warnings (related with potentially dangerous type-casting
619  code) issued by MSVC 2008 in 64-bit mode.
620
621- Fixed a problem with the computation of the blocksize in the Blosc
622  filter for HDF5.
623
624- Fixed a problem with large datatypes.  See
625  http://www.pytables.org/trac/ticket/288 for more info.
626
627- Now Blosc is able to work well even if you fork an existing process
628  with a pool of threads.  Bug discovered when PyTables runs in
629  multiprocess environments.  See http://pytables.org/trac/ticket/295
630  for details.
631
632- Added a new `blosc_getitem()` call to allow the retrieval of items in
633  sizes smaller than the complete buffer.  That is useful for the carray
634  project, but certainly for others too.
635
636
637Changes from 0.9.5 to 1.0
638=========================
639
640- Added a filter for HDF5 so that people can use Blosc outside PyTables,
641  if they want to.
642
643- Many small improvements, specially in README files.
644
645- Do not assume that size_t is uint_32 for every platform.
646
647- Added more protection for large buffers or in allocation memory
648  routines.
649
650- The src/ directory has been renamed to blosc/.
651
652- The `maxbytes` parameter in `blosc_compress()` has been renamed to
653  `destsize`.  This is for consistency with the `blosc_decompress()`
654  parameters.
655
656
657Changes from 0.9.4 to 0.9.5
658===========================
659
660- Now, compression level 0 is allowed, meaning not compression at all.
661  The overhead of this mode will be always BLOSC_MAX_OVERHEAD (16)
662  bytes.  This mode actually represents using Blosc as a basic memory
663  container.
664
665- Supported a new parameter `maxbytes` for ``blosc_compress()``.  It
666  represents a maximum of bytes for output.  Tests unit added too.
667
668- Added 3 new functions for querying different metadata on compressed
669  buffers.  A test suite for testing the new API has been added too.
670
671
672Changes from 0.9.3 to 0.9.4
673===========================
674
675- Support for cross-platform big/little endian compatibility in Blosc
676  headers has been added.
677
678- Fixed several failures exposed by the extremesuite.  The problem was a
679  bad check for limits in the buffer size while compressing.
680
681- Added a new suite in bench.c called ``debugsuite`` that is
682  appropriate for debugging purposes.  Now, the ``extremesuite`` can be
683  used for running the complete (and extremely long) suite.
684
685
686Changes from 0.9.0 to 0.9.3
687===========================
688
689- Fixed several nasty bugs uncovered by the new suites in bench.c.
690  Thanks to Tony Theodore and Gabriel Beckers for their (very)
691  responsive beta testing and feedback.
692
693- Added several modes (suites), namely ``suite``, ``hardsuite`` and
694  ``extremehardsuite`` in bench.c so as to allow different levels of
695  testing.
696
697
698Changes from 0.8.0 to 0.9
699=========================
700
701- Internal format version bumped to 2 in order to allow an easy way to
702  indicate that a buffer is being saved uncompressed.  This is not
703  supported yet, but it might be in the future.
704
705- Blosc can use threads now for leveraging the increasing number of
706  multi-core processors out there.  See README-threaded.txt for more
707  info.
708
709- Added a protection for MacOSX so that it has to not link against
710  posix_memalign() funtion, which seems not available in old versions of
711  MacOSX (for example, Tiger).  At nay rate, posix_memalign() is not
712  necessary on Mac because 16 bytes alignment is ensured by default.
713  Thanks to Ivan Vilata.  Fixes #3.
Note: See TracBrowser for help on using the repository browser.