Releases: amazon-ion/ion-c
Releases · amazon-ion/ion-c
v1.1.3
What's Changed
- Add version number to decNumber to ensure soft link creation by @ruhland in #325
- Updates ion-test-driver workflow to run on ubuntu-latest by @popematt in #326
- Add Benchmark CLI for format comparison and perf tracking by @nirosys in #329
- Fix two issues with JSON downconversion. by @nirosys in #328
- Add performance regression testing workflow by @nirosys in #332
- Fix empty symbol handling and tape growth in ion-bench serialize_all benchmark. by @nirosys in #333
- Add write benchmark to perf regression workflow by @nirosys in #334
- Fix documentation generation by @nirosys in #335
- Fix pattern in the performance regression detection workflow by @nirosys in #337
- Fix several compiler warnings by @nirosys in #336
- Fix support for ion-c used with add_subdirectory in parent project by @nirosys in #338
- Make behavior of reading a null.bool match other null values in ion text by @nirosys in #339
- Update ion_debug_has_tracing to support strict function prototypes by @drakumus in #342
- Fix issue with ion-test-driver by @nirosys in #344
- Fix MacOS build & test by @nirosys in #343
- Fix amazonlinux 1 & 2 builds by @nirosys in #345
- Bump version to 1.1.3 by @nirosys in #347
New Contributors
Full Changelog: v1.1.2...v1.1.3
v1.1.2
v1.1.1
v1.1.0
Changes:
- fix #292: bad alloc performance due to excessive memset (293)
- fix broken clob parsing when scanning unknown lobs (295)
- Align all memory used by the system symbol table (297)
- Runtime Sanitizer Issues: Uninitialized structs in tests, and stack buffer read overflow (298)
- Runtime Sanitizer Issues: Disable sanitizer checks where known behaviors occur (299)
- Address LeakSanitizer errors in unit tests (300)
- Fix leak of reader during path extraction (305)
- Fix a couple leaks around event and symbol cleanup (304)
- Fix memleak when writer is closed prior to closing containers (303)
- Fix leak of resources when unable to flush binary writer (302)
- Fix reader, stream, and import leaks in CLI (301)
- fix _ion_writer_add_annotation_helper memory accumulation (296)
- Fix undefined behavior from calling memcmp with NULL arguments (306)
- Fix undefined behavior when using CLI's process command. (307)
- Adds ion_reader_get_value_position for fetching the line & column of the current value from a text reader. (278)
- Close readers in recently added unit tests (309)
- Add support for down-converting ion to JSON (310)
- Bump version to 1.1.0 (311)
Full Changelog: v1.0.6...v1.1.0
v1.0.6
v1.0.5
Changes:
- Resets the scanner state after stepping into a container in the text reader
- Ionc compile '.c' issue (#228)
- Add support for writing 32-bit floats (#232)
- Allowing better multi platform support
- Option to write 32-bit floats when possible (#234)
- Fix issue Negative Binary Literals are Positive (#238)
- Fixes static buffer to use THREAD_LOCAL_STORAGE (#241)
- Fix g_ion_alloc_page_list initialization issue
- Adds a TODO comment in ion_allocation.c / ion_initialize_page_pool
- Respect indent_size and indent_with_tabs options in ion_writer_text
- Adds changes for correctly setting stream position when error occurs while reading binary int64 (#244)
- Bypass event processing in the cli tool if both the input and output value streams
- Updates ion_int.h (#248)
- Fixes an issue where offset capture of a multi-field struct was incorrectly returning field name positions instead of value positions (#251)
- Migrates CI build from Travis to Github Actions
- Fixes a memory leak issue in binary writer close method (#257)
- Fix(#221) Ion binary floating point exception
- Fixes writer option max annotation does not work issue (#260)
- Fixes a memory leak issue in reader API (#261)
- Fixes p_option might be NULL in writer open method.
- Fixes a memory leak in ion_writer_open_stream() (#262)
- Fixes an issue where writer-owned resources were not being freed when encountering errors while closing the writer. (#265)
- Fixes a wrong ASSERT assumption (#268)
- Fixes ion_catalog_find_symbol_table does not find anything (#267)
- Ensure we pass the cloned symbol table's owner to the helper
- Fix pointer alignment issues
- Tell CMake to generate a compile_commands.json
- Fix a signed integer overflow bug when loading a symbol table from a document.
- Run all tests instead of failing fast
- Adds CodeQL Analysis
- fix: fix heap use-after-free in IonBinaryDecimal.RoundtripPreservesFullFidelityDecNumber
- chore: enable ubsan and asan in debug build script
v1.0.4
Bug fixes:
- Fixed long strings concatenation failures when components were separated by comments.
- Correctly interpret newline characters within text clob literals.
- Allowed text writer to write timestamps with high-precision fractional seconds.
- Fixed ion_timestamp_to_time_t on Windows.
- Changed globals to use thread-local storage (TLS).
- Fixed an issue causing lobs to skip some bytes when doing partial reads of ion-text.
- Fail early when a numeric value is terminated by an invalid character.
- Made ion_reader_get_type behavior consistent between text and binary writers.
- Fixed an infinite loop that occurred when writing to a fixed-size buffer with insufficient space.
- Fixed integer overflow bugs in
ion_int_from_long
andion_int_to_int64
.
New features:
- Added support for writing 32-bit floats via existing APIs.
Other:
- Removed the CLI's dependency on docopt in favor of argtable3.
- Added a space after a field name's colon when pretty-printing.
- Added static build targets.
- Removed
googletest
from all target. - Various CLI fixes and improvements.
- Integrated ion-test-driver support into GitHub Actions.
v1.0.3
- CMake refactoring
- Adds basic test coverage for ion_reader_seek and fixes bugs
- Fixes handling of timezone offsets in ion_timestamp_to_time_t
- Fixes a bug that prevented the CLI from emitting reports for the non-equivs comparison type
- Flush on binary writer close (#141)
- Updates ion-tests submodule to commit 48a6315.
- Adds verification in the binary reader to require that timestamp fractional seconds are less than one.
- Fixes a bug that allowed a struct to have a field name without an associated value.
- Fixes a bug that affected reading a binary int across a page boundary