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