nim-ffi/CHANGELOG.md
Ivan FB d495bb26f3
docs: document noSignalHandler guard and #83 in 0.1.5 changelog
The v0.1.5 tag includes two commits that landed after the 0.1.5
changelog entry, so the released changelog under-reported what shipped.
Backfill them so the changelog matches the tagged release.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-19 10:09:31 +02:00

1.6 KiB

Changelog

[0.1.5] - 2026-06-08

Full changelog

Added

  • Compile-time guard that requires consumers to build with -d:noSignalHandler, failing the build with an actionable message so the Nim runtime never clobbers the foreign host's signal handling.

Fixed

  • Foreign-host (Go) concurrency crashes (#83).
  • Recycle FFI contexts in the pool instead of tearing them down per cycle, stopping a per-cycle file-descriptor leak (#74).

[0.1.4] - 2026-06-02

Full changelog

Added

  • Simplified FFI authoring with auto-generated C++ and Rust language bindings, including new ffi/codegen/cpp.nim, ffi/codegen/rust.nim and shared ffi/codegen/meta.nim helpers (#15).
  • Rust example bindings and clients under examples/nim_timer/ (rust_bindings and rust_client, the latter with a Tokio async variant) (#15).
  • CBOR serialization support via ffi/serial.nim, with tests/test_serial.nim coverage.
  • FFI context pool (ffi/ffi_context_pool.nim) using a fixed array of contexts.
  • Test suite expansion: test_alloc.nim, test_ctx_validation.nim, test_ffi_context.nim, test_gc_compat.nim.
  • Continuous integration pipeline (#12).

Fixed

  • Context buffer overflow (#21).
  • Use a fixed array of contexts to avoid consuming all file descriptors (#14).
  • Memory leaks (#11).
  • Add install_name for macOS shared libraries (#8).

Changed

  • Run tests with the refc garbage collector (#20).
  • Remove CatchableError usage (#19).
  • Update license files to comply with Logos licensing requirements.