Build Python bindings with debugging enabled when doing a debug build
[libjio.git] / UPGRADING
blob68d843df739ef798b33221b5202bf45a6ec04643
2 Here you can find a summary of the changes in the library that could require
3 an effort from its users, like the ones affecting the API, ABI or semantics.
5 Normally, nothing should be required when upgrading between two stable
6 releases from the same branch.
9 ------- 1.00: Stable release
11 -> 0.90 (On-disk format change, pre 1.0 freeze)
12   - The way transactions are stored on disk has changed. It is mandatory that
13     you jfsck all your files before upgrading. Hopefully this will be the last
14     backwards-incompatible format change before 1.0.
15   - jtrans_new() now takes an additional flags parameter.
16   - jopen() jflags parameter is now unsigned.
17   - J_NOCLEANUP was removed in favour of J_CLEANUP, and the default behaviour
18     of jfsck() is now not to clean up unless J_CLEANUP is passed in the flags.
19   - jtrans_add() renamed to jtrans_add_w().
20   - jtrans_commit() returns 0 on success, instead of the amount of bytes
21     written.
23 -> 0.50 (Big API change)
24   - Structures are now opaque types:
25     struct jfs -> jfs_t; jopen() returns a pointer to one, jclose() frees it.
26     struct jtrans -> jtrans_t; jtrans_new() returns a pointer to one,
27       jtrans_free() frees it.
28   - Renamed jtrans_init() to jtrans_new().
29   - jtrans_commit() returns -1 on recovered errors, -2 on unrecovered errors
30     (which are an indication of a severe underlying condition).
31   - jtrans_add() returns 0 on success and -1 on errors (it used to return 1 on
32     success and 0 on errors).
33   - jfsck() now has an additional "flags" parameter, which should be set to 0
34     to select the default behaviour.
35   - jfsck_cleanup() was removed, and now jfsck() cleans up by default.
37 -> 0.25
38   - It is no longer necessary to pass O_SYNC to jopen() if lingering
39     transactions are not in use.
40   - libjio.h can no longer be included from C++ source without surrounding it
41     by an 'extern "C"'. This obviously should only affect C++ applications.
43 -> 0.24
44   - The return values of jfsck() have changed, so applications using it need
45     to be recompiled.
46   - Python bindings' jfsck(), jfsck_cleanup(), jsync(), jwrite() and jpwrite()
47     now raise an IOError on failures.
49 -> 0.22
50   - Applications need to be recompiled due to a change in the jfs structure.
52 -> 0.20
53   - Applications need to be recompiled due to a change in the jfs structure.
54   - When you link your applications with libjio, you need to make sure you
55     compile using large file support.
57 -> 0.19
58   - Applications need to be recompiled due to a change in the flag numbering.
59   - A flag number has changed, from J_COMMITED to J_COMMITTED. If you used
60     that flag, you need to rename it.