1268828Sbapt# Version history 2268828Sbapt 3268828Sbapt## Libucl 0.5 4268828Sbapt 5268828Sbapt- Streamline emitter has been added, so it is now possible to output partial `ucl` objects 6268828Sbapt- Emitter now is more flexible due to emitter_context structure 7275223Sbapt 8275223Sbapt### 0.5.1 9275223Sbapt- Fixed number of bugs and memory leaks 10275223Sbapt 11275223Sbapt### 0.5.2 12275223Sbapt 13275223Sbapt- Allow userdata objects to be emitted and destructed 14275223Sbapt- Use userdata objects to store lua function references 15275223Sbapt 16275223Sbapt### Libucl 0.6 17275223Sbapt 18275223Sbapt- Reworked macro interface 19275223Sbapt 20275223Sbapt### Libucl 0.6.1 21275223Sbapt 22275223Sbapt- Various utilities fixes 23279549Sbapt 24279549Sbapt### Libucl 0.7.0 25279549Sbapt 26279549Sbapt- Move to klib library from uthash to reduce memory overhead and increase performance 27279549Sbapt 28279549Sbapt### Libucl 0.7.1 29279549Sbapt 30279549Sbapt- Added safe iterators API 31279549Sbapt 32279549Sbapt### Libucl 0.7.2 33279549Sbapt 34279549Sbapt- Fixed serious bugs in schema and arrays iteration 35290071Sbapt 36290071Sbapt### Libucl 0.7.3 37290071Sbapt 38314278Sbapt- Fixed a bug with macros that come after an empty object 39290071Sbapt- Fixed a bug in include processing when an incorrect variable has been destroyed (use-after-free) 40298166Sbapt 41298166Sbapt### Libucl 0.8.0 42298166Sbapt 43298166Sbapt- Allow to save comments and macros when parsing UCL documents 44298166Sbapt- C++ API 45298166Sbapt- Python bindings (by Eitan Adler) 46298166Sbapt- Add msgpack support for parser and emitter 47298166Sbapt- Add Canonical S-expressions parser for libucl 48298166Sbapt- CLI interface for parsing and validation (by Maxim Ignatenko) 49298166Sbapt- Implement include with priority 50298166Sbapt- Add 'nested' functionality to .include macro (by Allan Jude) 51298166Sbapt- Allow searching an array of paths for includes (by Allan Jude) 52298166Sbapt- Add new .load macro (by Allan Jude) 53298166Sbapt- Implement .inherit macro (#100) 54298166Sbapt- Add merge strategies 55298166Sbapt- Add schema validation to lua API 56298166Sbapt- Add support for external references to schema validation 57298166Sbapt- Add coveralls integration to libucl 58298166Sbapt- Implement tests for 80% of libucl code lines 59298166Sbapt- Fix tonns of minor and major bugs 60298166Sbapt- Improve documentation 61298166Sbapt- Rework function names to the common conventions (old names are preserved for backwards compatibility) 62298166Sbapt- Add Coverity scan integration 63298166Sbapt- Add fuzz tests 64298166Sbapt 65298166Sbapt**Incompatible changes**: 66298166Sbapt 67298166Sbapt- `ucl_object_emit_full` now accepts additional argument `comments` that could be used to emit comments with UCL output