1 ---
2 title: Overview
3 ---
4
5 Welcome to the UAP Common Extensions.
6
7 With this library we provide useful data structures and algorithms for common
8 programmatic tasks in the C language. Using the build files you can create
9 a static and a shared lib containing all units, but you may also use the UCX
10 sources in your project and compile specific units by yourself.
11
12 If you want to use this library, you can [download and install](install.html)
13 the recent version.
14 The source code is also available as Mercurial repository [at our site][1] and
15 on [Source Forge][2].
16
17 [1]: https://develop.uap-core.de/hg/ucx/
18 [2]: https://sourceforge.net/p/ucx/code/
19
20 ### Authors
21
22 Mike Becker [<universe@uap-core.de>](mailto:universe@uap-core.de)
23
24 Olaf Wintermann
25 [<olaf.wintermann@gmail.com>](mailto:olaf.wintermann@gmail.com)
26
27 Changelog
28 ---------
29
30 ### Version 3.0
31
32 * complete redesign from scratch
33 * collections can now store copies of objects and not just pointers
34 * collections are now dynamically implemented
35 * users of the library can specify own implementations of collections that work with the UCX API
36 * low level API for custom lists that do not use the UCX structures
37 * various fixes and improvements
38 * drops some other, rarely used, features
39 * removes testing implementation from the lib
40
41 ### Version 2.1 - 2019-12-30
42
43 * adds string replace functions
44 * adds set operations for ` UcxList` and `UcxMap`
45 * adds `sstrcaseprefix()` and `sstrcasesuffix()`
46 * improves Doxygen documentation in ucx/string.h
47 * adds `UcxArray` data type
48 * adds support for CMake builds, but main build system is still autotools
49
50 ### Version 2.0 - 2018-12-28
51
52 * some uncritical bug fixes
53 * overflow of `sstrnlen` now returns `SIZE_MAX` instead of zero
54 * adds `scstr_t` - a `const char*` variant for sstr_t
55 * renames utility compare functions
56
57 ### Version 1.1 - 2018-05-14
58
59 * adds missing 32 bit support to integer overflow checks
60 * adds `ucx_buffer_to_sstr()` macro
61 * adds `ucx_avl_free_content()`
62 * adds some more compare and distance functions in utils.h
63 * adds `SFMT()` and `PRIsstr` convenience macros
64 * destructor functions for `*_free_content()` functions are now optional
65
66 ### Version 1.0.1 - 2018-01-21
67
68 * some bug fixes
69 * adds integer overflow checks
70
71 ### Version 1.0 - 2017-10-28
72
73 * first stable version of UCX released
74