source: thirdparty/blosc/RELEASE_NOTES.rst @ 00587dc

Revision 00587dc, 8.2 KB checked in by Hal Finkel <hfinkel@…>, 9 years ago (diff)

Initial Commit (gio-base-20150317)

  • Property mode set to 100644
Line 
1===============================
2 Release notes for Blosc 1.2.3
3===============================
4
5:Author: Francesc Alted
6:Contact: [email protected]
7:URL: http://www.blosc.org
8
9
10Changes from 1.2.2 to 1.2.3
11===========================
12
13- Added a `blosc_init()` and `blosc_destroy()` so that the global lock
14  can be initialized safely.  These new functions will also allow other
15  kind of initializations/destructions in the future.
16
17  Existing applications using Blosc do not need to start using the new
18  functions right away, as long as they calling `blosc_set_nthreads()`
19  previous to anything else.  However, using them is highly recommended.
20
21  Thanks to Oscar Villellas for the init/destroy suggestion, it is a
22  nice idea!
23
24
25Changes from 1.2.1 to 1.2.2
26===========================
27
28- All important warnings removed for all tested platforms.  This will
29  allow less intrusiveness compilation experiences with applications
30  including Blosc source code.
31
32- The `bench/bench.c` has been updated so that it can be compiled on
33  Windows again.
34
35- The new web site has been set to: http://www.blosc.org
36
37
38Changes from 1.2 to 1.2.1
39=========================
40
41- Fixed a problem with global lock not being initialized.  This
42  affected mostly to Windows platforms.  Thanks to Christoph
43  Gohlke for finding the cure!
44
45
46Changes from 1.1.5 to 1.2
47=========================
48
49- Now it is possible to call Blosc simultaneously from a parent threaded
50  application without problems.  This has been solved by setting a
51  global lock so that the different calling threads do not execute Blosc
52  routines at the same time.  Of course, real threading work is still
53  available *inside* Blosc itself.  Thanks to Thibault North.
54
55- Support for cmake is now included.  Linux, Mac OSX and Windows
56  platforms are supported.  Thanks to Thibault North, Antonio Valentino
57  and Mark Wiebe.
58
59- Fixed many compilers warnings (specially about unused variables).
60
61- As a consequence of the above, as minimal change in the API has been
62  introduced.  That is, the previous API::
63
64    void blosc_free_resources(void)
65
66  has changed to::
67
68    int blosc_free_resources(void)
69
70  Now, a return value of 0 means that the resources have been released
71  successfully.  If the return value is negative, then it is not
72  guaranteed that all the resources have been freed.
73
74- Many typos were fixed and docs have been improved.  The script for
75  generating nice plots for the included benchmarks has been improved
76  too.  Thanks to Valetin Haenel.
77
78
79Changes from 1.1.4 to 1.1.5
80===========================
81
82- Fix compile error with msvc compilers (Christoph Gohlke)
83
84
85Changes from 1.1.3 to 1.1.4
86===========================
87
88- Redefinition of the BLOSC_MAX_BUFFERSIZE constant as (INT_MAX -
89  BLOSC_MAX_OVERHEAD) instead of just INT_MAX.  This prevents to produce
90  outputs larger than INT_MAX, which is not supported.
91
92- `exit()` call has been replaced by a ``return -1`` in blosc_compress()
93  when checking for buffer sizes.  Now programs will not just exit when
94  the buffer is too large, but return a negative code.
95
96- Improvements in explicit casts.  Blosc compiles without warnings
97  (with GCC) now.
98
99- Lots of improvements in docs, in particular a nice ascii-art diagram
100  of the Blosc format (Valentin Haenel).
101
102- Improvements to the plot-speeds.py (Valentin Haenel).
103
104- [HDF5 filter] Adapted HDF5 filter to use HDF5 1.8 by default
105  (Antonio Valentino).
106
107- [HDF5 filter] New version of H5Z_class_t definition (Antonio Valentino).
108
109
110Changes from 1.1.2 to 1.1.3
111===========================
112
113- Much improved compression ratio when using large blocks (> 64 KB) and
114  high compression levels (> 6) under some circumstances (special data
115  distribution).  Closes #7.
116
117
118Changes from 1.1.1 to 1.1.2
119===========================
120
121- Fixes for small typesizes (#6 and #1 of python-blosc).
122
123
124Changes from 1.1 to 1.1.1
125=========================
126
127- Added code to avoid calling blosc_set_nthreads more than necessary.
128  That will improve performance up to 3x or more, specially for small
129  chunksizes (< 1 MB).
130
131
132Changes from 1.0 to 1.1
133=======================
134
135- Added code for emulating pthreads API on Windows.  No need to link
136  explicitly with pthreads lib on Windows anymore.  However, performance
137  is a somewhat worse because the new emulation layer does not support
138  the `pthread_barrier_wait()` call natively.  But the big improvement
139  in installation easiness is worth this penalty (most specially on
140  64-bit Windows, where pthreads-win32 support is flaky).
141
142- New BLOSC_MAX_BUFFERSIZE, BLOSC_MAX_TYPESIZE and BLOSC_MAX_THREADS
143  symbols are available in blosc.h.  These can be useful for validating
144  parameters in clients.  Thanks to Robert Smallshire for suggesting
145  that.
146
147- A new BLOSC_MIN_HEADER_LENGTH symbol in blosc.h tells how many bytes
148  long is the minimum length of a Blosc header.  `blosc_cbuffer_sizes()`
149  only needs these bytes to be passed to work correctly.
150
151- Removed many warnings (related with potentially dangerous type-casting
152  code) issued by MSVC 2008 in 64-bit mode.
153
154- Fixed a problem with the computation of the blocksize in the Blosc
155  filter for HDF5.
156
157- Fixed a problem with large datatypes.  See
158  http://www.pytables.org/trac/ticket/288 for more info.
159
160- Now Blosc is able to work well even if you fork an existing process
161  with a pool of threads.  Bug discovered when PyTables runs in
162  multiprocess environments.  See http://pytables.org/trac/ticket/295
163  for details.
164
165- Added a new `blosc_getitem()` call to allow the retrieval of items in
166  sizes smaller than the complete buffer.  That is useful for the carray
167  project, but certainly for others too.
168
169
170Changes from 0.9.5 to 1.0
171=========================
172
173- Added a filter for HDF5 so that people can use Blosc outside PyTables,
174  if they want to.
175
176- Many small improvements, specially in README files.
177
178- Do not assume that size_t is uint_32 for every platform.
179
180- Added more protection for large buffers or in allocation memory
181  routines.
182
183- The src/ directory has been renamed to blosc/.
184
185- The `maxbytes` parameter in `blosc_compress()` has been renamed to
186  `destsize`.  This is for consistency with the `blosc_decompress()`
187  parameters.
188
189
190Changes from 0.9.4 to 0.9.5
191===========================
192
193- Now, compression level 0 is allowed, meaning not compression at all.
194  The overhead of this mode will be always BLOSC_MAX_OVERHEAD (16)
195  bytes.  This mode actually represents using Blosc as a basic memory
196  container.
197
198- Supported a new parameter `maxbytes` for ``blosc_compress()``.  It
199  represents a maximum of bytes for output.  Tests unit added too.
200
201- Added 3 new functions for querying different metadata on compressed
202  buffers.  A test suite for testing the new API has been added too.
203
204
205Changes from 0.9.3 to 0.9.4
206===========================
207
208- Support for cross-platform big/little endian compatibility in Blosc
209  headers has been added.
210
211- Fixed several failures exposed by the extremesuite.  The problem was a
212  bad check for limits in the buffer size while compressing.
213
214- Added a new suite in bench.c called ``debugsuite`` that is
215  appropriate for debugging purposes.  Now, the ``extremesuite`` can be
216  used for running the complete (and extremely long) suite.
217
218
219Changes from 0.9.0 to 0.9.3
220===========================
221
222- Fixed several nasty bugs uncovered by the new suites in bench.c.
223  Thanks to Tony Theodore and Gabriel Beckers for their (very)
224  responsive beta testing and feedback.
225
226- Added several modes (suites), namely ``suite``, ``hardsuite`` and
227  ``extremehardsuite`` in bench.c so as to allow different levels of
228  testing.
229
230
231Changes from 0.8.0 to 0.9
232=========================
233
234- Internal format version bumped to 2 in order to allow an easy way to
235  indicate that a buffer is being saved uncompressed.  This is not
236  supported yet, but it might be in the future.
237
238- Blosc can use threads now for leveraging the increasing number of
239  multi-core processors out there.  See README-threaded.txt for more
240  info.
241
242- Added a protection for MacOSX so that it has to not link against
243  posix_memalign() funtion, which seems not available in old versions of
244  MacOSX (for example, Tiger).  At nay rate, posix_memalign() is not
245  necessary on Mac because 16 bytes alignment is ensured by default.
246  Thanks to Ivan Vilata.  Fixes #3.
247
248
249
250
251.. Local Variables:
252.. mode: rst
253.. coding: utf-8
254.. fill-column: 72
255.. End:
Note: See TracBrowser for help on using the repository browser.