Skip to content

Releases: amazon-ion/ion-c

v1.1.3

30 Jul 21:12
Compare
Choose a tag to compare

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

28 Mar 18:38
Compare
Choose a tag to compare

Changes:

  • Fix user managed stream data corruption.

Full Changelog: v1.1.1...v1.1.2

v1.1.1

23 Feb 00:13
fc2c8e5
Compare
Choose a tag to compare

Changes:

  • Fix #318: Failure to seek when using user managed streams.
  • Fix missing macro usage for building with DEBUG defined

Full Changelog: v1.1.0...v1.1.1

v1.1.0

06 Dec 23:01
Compare
Choose a tag to compare

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

28 Mar 17:32
98e8043
Compare
Choose a tag to compare

Changes:

  • adds a safety check for buffer boundary while parsing ion timestamp (#290)

v1.0.5

15 Mar 20:03
84b44ff
Compare
Choose a tag to compare

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

09 Feb 22:20
e44782e
Compare
Choose a tag to compare

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 and ion_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

11 Dec 23:30
3131831
Compare
Choose a tag to compare
  • 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

v1.0.2

19 Nov 23:40
b428383
Compare
Choose a tag to compare

Fixes array-out-of-bound and lexing bugs.

v1.0.1

25 May 23:56
Compare
Choose a tag to compare

Bug fixes:

  • Fixed an issue that caused release builds to fail during linking.