Merge branch 'master' of ssh://git.triptico.com:8521/home/angel/git/mpdm
[mpdm.git] / RELEASE_NOTES
blobac82e6c3875f323dbc42205224965779580f1de5
1 MPDM Release Notes
2 ==================
4 2.0.1
5 -----
7  - New features:
8    - New function mpdm_sget_i().
10 2.0.0
11 -----
13  - The system has been refactored to be a pure reference counting
14    system, so sweeping / garbage collection no longer exists.
15  - Executable values and functions now include a new argument to
16    hold a context (used to implement local symbol tables and such).
17  - mpdm_adel() and mpdm_hdel() no longer return the deleted element.
18  - mpdm_aset() and mpdm_hset() no longer return the old element.
19  - mpdm_sort() sorts the array instead of returning a new one.
20  - New functions mpdm_strcat_sn(), mpdm_pokewsn(),
21    mpdm_join_s(), mpdm_split_s(), mpdm_cmp_s(), mpdm_strcat_s().
22  - Some refactoring to diminish memory usage (no more `prev'
23    pointers in the value list, less residual values).
24  - mpdm_regex() always return an array in global searches (maybe
25    an empty one) and if searching for an array of regexes (maybe
26    be a partial one).
27  - The following functions had had their arguments swapped:
28     - mpdm_split() and mpdm_split_s().
29     - mpdm_join() and mpdm_join_s().
30     - mpdm_sscanf().
31     - mpdm_regex().
32     - mpdm_sregex().
34 1.0.9
35 -----
37  * mpdm_ival() now accepts numbers prefixed by `0b' as binary
38    numbers.
39  * Similarly, mpdm_sprintf() now accepts the `%b' code to
40    print a value as a binary number.
41  * Fixed mpdm_sset() when the previous-to-last value to be
42    assigned is executable (this is bug 1114).
43  * New function mpdm_iterator().
45 1.0.8
46 -----
48  * New function mpdm_sscanf().
49  * Fixed mpdm_encoding() to allow again empty strings as its
50    argument to fall back to default encoding.
51  * Improved file encoding autodetection by looking at the
52    UTF BOM marks. The detected encoding is stored in the
53    `DETECTED_ENCODING' root key.
55 1.0.7
56 -----
58  * Fixed a bug when processing backslashes in the substitution
59    string in sregex(), that made them dissappear if they were
60    not escaping an ampersand.
61  * Fixed a bug in win32 globbing.
62  * The dump_1() function is now pluggable.
63  * New function mpdm_chdir().
65 1.0.6
66 -----
68  * The environment is stored in a hash called ENV in mpdm_root().
69  * Under win32, the LANG environment variable is hand-built if
70    none is set.
71  * If the third argument to sregex() is a hash, the values can
72    now also be executable ones.
73  * New internal flag for values to mark them as deleted.
75 1.0.5
76 -----
78  * The mpdm_regex() function now accepts a new flag, `g', to match
79    globally; in this case, an array of matches are returned instead
80    of a string scalar.
81  * The mpdm_stat() function now returns a 14 element array, with a
82    newly #13 argument containing the canonicalized file name, if
83    the underlying system supports it.
84  * A bunch of embedded charset encoders have been implemented for
85    iso8859-1, utf-16 and utf-32 with or without BOM autodetection.
87 1.0.4
88 -----
90  * API Changes; const has been added wherever possible.
92 1.0.3
93 -----
95  * The hashing function has changed to a less accurate but faster one.
96  * There is a new, adaptive way of sweeping: if default_sweep if set
97    to a negative value (different from -1), it's used as a divisor
98    of the total count of values; this will be the number of values
99    that will be swept on each call to mpdm_sweep(0). This way, the
100    number of swept values depend on the total count.
101  * New functions mpdm_set_ival() and mpdm_set_rval().
102  * New function mpdm_get_filehandle().
104 1.0.2
105 -----
107  * Components of a compact symbol can be executable, apart from
108    hashes and arrays.
109  * mpdm_cmp() is optimized to return 0 when comparing the same value.
111 1.0.1
112 -----
114  * mpdm_cmp() now correctly compares NULL and NULL as equal.
115  * %c in mpdm_sprintf() now works with Unicode (wchar_t) characters.
116  * The substitution string in mpdm_sregex() now can include the
117    special character & to select the matched string. To include a
118    literal &, escape it with \.