mirror of
https://github.com/logos-messaging/nim-ffi.git
synced 2026-06-23 17:59:33 +00:00
2.9 KiB
2.9 KiB
Changelog
All notable changes to this project are documented in this file.
[0.2.0] - 2026-05-20
Major release introducing CBOR-based wire format, multi-language binding generation (C++, Rust, CDDL), CI hardening with sanitizers, and several robustness fixes around context lifetime and memory safety.
Added
- CBOR serialization as the FFI wire format (#23).
- C++ binding generator with end-to-end tests driven by CMake/CTest (#27).
- CDDL schema generator for the FFI types (#24).
- CI pipeline: first GitHub Actions workflow parallel test execution (#26), and AddressSanitizer / UndefinedBehaviorSanitizer / ThreadSanitizer jobs (#34).
Changed
- Removed the redundant
ffiTypemacro; theffimacro is now the single authoring entry point (#22).
[0.1.4] - 2026-06-02
Added
- Simplified FFI authoring with auto-generated C++ and Rust language bindings,
including new
ffi/codegen/cpp.nim,ffi/codegen/rust.nimand sharedffi/codegen/meta.nimhelpers (#15). - Rust example bindings and clients under
examples/nim_timer/(rust_bindingsandrust_client, the latter with a Tokio async variant) (#15). - CBOR serialization support via
ffi/serial.nim, withtests/test_serial.nimcoverage. - 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_namefor macOS shared libraries (#8).
Changed
- Run tests with the
refcgarbage collector (#20). - Remove
CatchableErrorusage (#19). - Update license files to comply with Logos licensing requirements.
[0.1.3] - 2026-01-23
Fixed
- Properly import and re-export
chroniclesso downstream packages get the logging macros transitively.
[0.1.2] - 2026-01-23
Fixed
- Re-export
chroniclesandstd/tableswhen theffimodule is imported, so generated code resolves these symbols at the call site.
[0.1.1] - 2026-01-23
Initial tagged release.
Added
- Core
ffimacro for declaring procs exposed across the FFI boundary. FFIContextwith a dedicated worker thread, request dispatch, and a watchdog with configurable timeout (#7).- License files updated to comply with Logos licensing requirements.