summaryrefslogtreecommitdiff
path: root/shared/c-list/NEWS
blob: 6695052414d98a1e3c7bf654adf59647dd3661ce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
c-list - Circular Intrusive Double Linked List Collection

CHANGES WITH 3:

        * API break: The c_list_loop_*() symbols were removed, since we saw
                     little use for them. No user was known at the time, so
                     all projects should build with the new API version
                     unchanged.
                     Since c-list does not distribute any compiled code, there
                     is no ABI issue with this change.

        * Two new symbols c_list_length() and c_list_contains(). They are meant
          for debugging purposes, to easily verify list integrity. Since they
          run in O(n) time, they are not recommended for any other use than
          debugging.

        * New symbol c_list_init() is provided as alternative to the verbose
          C_LIST_INIT assignment.

        * The c-list API is extended to work well with `const CList` objects.
          That is, any read-only accessor function allows constant objects as
          input now.
          Note that this does not propagate into other members linked in the
          list. Using `const` for CList members is of little practical use.
          However, it might be of use for its embedding objects, so we now
          allow it in the CList API as well.

        * The c_list_splice() call now clears the source list, rather than
          returning with stale pointers. Technically, this is also an API
          break, but unlikely to affect any existing code.

        Contributions from: David Herrmann, Thomas Haller

        - Berlin, 2017-08-13

CHANGES WITH 2:

        * Adjust project-name in build-system to reflect the actual project. The
          previous releases incorrectly claimed to be c-rbtree in the build
          system.

        * Add c_list_swap() that swaps two lists given their head pointers.

        * Add c_list_splice() that moves a list.

        * Add LGPL2.1+ as license so c-list can be imported into GPL2 projects.
          It is now officially dual-licensed.

        * As usual a bunch of fixes, additional tests, and documentation
          updates.

        Contributions from: David Herrmann, Tom Gundersen

        - Lund, 2017-05-03

CHANGES WITH 1:

        * Initial release of c-list.

        * This project provides an implementation of a circular double linked
          list in standard ISO-C11. License is ASL-2.0 and the build system
          used is `Meson'.

        Contributions from: David Herrmann, Tom Gundersen

        - Berlin, 2017-03-03