1# Version history 2 3## Libucl 0.5 4 5- Streamline emitter has been added, so it is now possible to output partial `ucl` objects 6- Emitter now is more flexible due to emitter_context structure 7 8### 0.5.1 9- Fixed number of bugs and memory leaks 10 11### 0.5.2 12 13- Allow userdata objects to be emitted and destructed 14- Use userdata objects to store lua function references 15 16### Libucl 0.6 17 18- Reworked macro interface 19 20### Libucl 0.6.1 21 22- Various utilities fixes 23 24### Libucl 0.7.0 25 26- Move to klib library from uthash to reduce memory overhead and increase performance 27 28### Libucl 0.7.1 29 30- Added safe iterators API 31 32### Libucl 0.7.2 33 34- Fixed serious bugs in schema and arrays iteration 35 36### Libucl 0.7.3 37 38- Fixed a bug with macros that come after an empty object 39- Fixed a bug in include processing when an incorrect variable has been destroyed (use-after-free) 40 41### Libucl 0.8.0 42 43- Allow to save comments and macros when parsing UCL documents 44- C++ API 45- Python bindings (by Eitan Adler) 46- Add msgpack support for parser and emitter 47- Add Canonical S-expressions parser for libucl 48- CLI interface for parsing and validation (by Maxim Ignatenko) 49- Implement include with priority 50- Add 'nested' functionality to .include macro (by Allan Jude) 51- Allow searching an array of paths for includes (by Allan Jude) 52- Add new .load macro (by Allan Jude) 53- Implement .inherit macro (#100) 54- Add merge strategies 55- Add schema validation to lua API 56- Add support for external references to schema validation 57- Add coveralls integration to libucl 58- Implement tests for 80% of libucl code lines 59- Fix tonns of minor and major bugs 60- Improve documentation 61- Rework function names to the common conventions (old names are preserved for backwards compatibility) 62- Add Coverity scan integration 63- Add fuzz tests 64 65**Incompatible changes**: 66 67- `ucl_object_emit_full` now accepts additional argument `comments` that could be used to emit comments with UCL output