Skip to content

Commit

Permalink
Release 0.8.2
Browse files Browse the repository at this point in the history
  • Loading branch information
vstakhov committed Jan 8, 2023
1 parent 05404b7 commit f7dbb7d
Showing 1 changed file with 123 additions and 1 deletion.
124 changes: 123 additions & 1 deletion ChangeLog.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,4 +100,126 @@
- Performance improvements in Lua API
- Allow to pass opaque objects in Lua API for transparent C passthrough
- Various bugs fixed
- Couple of memory leaks plugged
- Couple of memory leaks plugged

### Libucl 0.8.2

* .include: also validate priority to be within range
* Add -W into list of warnings
* Add ability to add file preprocessors
* Add ability to pass both the parser and userdata into a macro handler
* Add missing tests for .gitignore
* Add more safe guards when trying to insert objects
* Add some documentation/example about the .priority macro
* Add tests for single quotes
* Added CMake compile definitions
* Added CMake support to build utils
* Added a fuzzer for OSS-fuzz integration
* Added a return statement if the string is 0
* Added default CMake "build" directory to gitignore
* Added fuzzer for msgpack
* Adding another fix
* Adjust example.
* Allow to test msgpack inputs
* Another sync
* Assume gcov absense as a non-fatal error
* Avoid read when a chunk is ended
* CMake: Install headers and library.
* Check for NULL inputs in ucl_object_compare()
* Cleanup CURL handle after use
* Cleanup CURL handle after use
* Convert ucl_hash_insert() from returning int to returning bool.
* Convert ucl_hash_reserve() from returning int to bool.
* Do not try to emit single quoted strings in json mode
* Document single quotes
* Document ucl_object_iter_chk_excpn().
* Document usage of ucl_object_iter_chk_excpn().
* Don't double-escape Lua strings
* Excercise ucl_object_iter_chk_excpn().
* Fix '\v' encoding
* Fix 68d87c362b0d7fbb45f395bfae616a28439e0bbc by setting error to 0 always. Which makes it even uglier.
* Fix cmake public include install
* Fix emitting of the bad unicode escapes
* Fix format strings, add printf attribute to schema functions
* Fix levels and objects closing
* Fix load macro with try=true
* Fix mismerge.
* Fix mismerge.
* Fix old issue with parsing numbers
* Fix processing of the incomplete msgpack objects
* Fix remain calculations
* Fix remain lenght calculation that led to assertion failure
* Fix single quotes emitting
* Fix spelling and markup errors.
* Fix typos: replace missmatch with mismatch
* Fix ucl++ bug where iterators stop on a null field.
* Fix ucl_util.c not having the prototype for ucl_hash_sort()
* Fix variables expansion
* Fix vertical tab handling
* Fixed Visual Studio compilation error
* Fixed expanding variables at runtime
* Fixed linker error
* Fixed ucl_tool's command line argument parsing
* Fixing error with installing using pip from git with following command: 'pip install -e git+https://github.com/vstakhov/libucl.git/#egg=ucl
* Forgot hash sort function
* Improve ENOMEM handling: handle most of errors while consuructing parser, also extend iterator routines to allow capturing such exception and checking it in the higher level code using new ucl_object_iter_chk_excpn() API.
* Mark + as unsafe which fixes export a key with + in config mode
* Modernise the CMake build system slightly.
* Modernize CMake file with target-based includes.
* Pass correct pointer to var_handler
* Port util objdump to Windows (Visual Studio)
* Port util ucl-tool to Windows
* Provide inline free(3) wrapper, so it's easier to plug the code into out memory usage tracking framework.
* Provide inline free(3) wrapper, so it's easier to plug the code into out memory usage tracking framework.
* Provide priority validation for the .priority macro
* Put space between "exit" and ().
* Put space between name of teh function and ().
* Python build fixes
* Read data in chunks
* Remove leak in the test
* Remove one more bit of unused logic
* Remove one more stupid assertion
* Remove unnecessary (and ignored) `const` from return types.
* Remove unnecessary std::move from return statement.
* Remove unused CMake logic and ad -Wno-pointer-sign.
* Removed dependency from rspamd CMake file
* Removed null-terminator for input data
* Rename ENOMEM-safe version of kv_xxx macros from kv_xxx into kv_xxx_safe and put back old version as well (with a big warning in the header file) for a compat purposes.
* Renamed util binaries to match autotools
* Replace *neat* and *tidy* implementation of kv_xxx() macros using error handling labels with a much *uglier* implementation using "error code pointer". One man's "ugly" is other man's "pretty", I suppose.
* Replaced spaces by tabs to match coding style
* Rework hash table structure to provide pointers and order safety
* Save chunk in the parser stack
* Save filename in chunk
* Split level and flags, add obrace flag, fix msgpack flags
* Squelch incompatible pointer type warning
* Support single quoted strings
* Suppress the [-Wunused-parameter] warning.
* Sync changes from Rspamd
* Sync changes from rspamd
* Sync with Rspamd
* Understand nan and inf
* Use safe iterator - avoid leaking memory.
* docs: fix simple typo, tectual -> textual
* fix: Changed OpenSSL check inside configure.am
* fix: Incorrect pointer arithmetics in ucl_expand_single_variable
* fix: ucl_expand_single_variable doesn't call free
* lua: Return early when init fails
* make use of the undocumented flag UCL_PARSER_NO_IMPLICIT_ARRAYS, so that multiple keys are treated as arrays, and special code doesn't have to be added to the Python module to handle it.
* mypy/stubgen: add typeinterfaces for ucl python module
* o `ucl_object_iterate2()` -> `ucl_object_iterate_with_error()`;
* python: update package to 0.8.1
* `ucl_check_variable`: fix out_len on unterminated variable
* `ucl_chunk_skipc`: avoid out-of-bounds read
* `ucl_expand_single_variable`: better bounds check
* `ucl_expand_variable`: fix out-of-bounds read
* `ucl_inherit_handler`: fix format string for non-null-terminated strings
* `ucl_lc_cmp` is not used outside ucl_hash.c
* `ucl_lex_json_string`: fix out-of-bounds read
* `ucl_maybe_parse_number`: if there is trailing content, it is not a number
* `ucl_object_copy_internal`: null terminate keys
* `ucl_object_copy_internal`: use memcpy instead of strdup
* `ucl_object_free` is deprecated
* `ucl_parse_value`: fix out-of-bounds read
* `ucl_strnstr`: fix out-of-bounds read
* update JSON example to match w/ UCL example

0 comments on commit f7dbb7d

Please sign in to comment.