Increase version to v0.2.0 (#37)

This commit is contained in:
Ivan FB 2026-05-21 16:33:38 +02:00 committed by GitHub
parent ee472f05ad
commit 5e6e58e7d1
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 70 additions and 2 deletions

68
CHANGELOG.md Normal file
View File

@ -0,0 +1,68 @@
# 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](https://github.com/waku-org/nim-ffi/pull/23)).
- **C++ binding generator** with end-to-end tests driven by CMake/CTest
([#15](https://github.com/waku-org/nim-ffi/pull/15),
[#27](https://github.com/waku-org/nim-ffi/pull/27)).
- **Rust binding generator** for simplified FFI authoring
([#15](https://github.com/waku-org/nim-ffi/pull/15)).
- **CDDL schema generator** for the FFI types
([#24](https://github.com/waku-org/nim-ffi/pull/24)).
- **CI pipeline**: first GitHub Actions workflow
([#12](https://github.com/waku-org/nim-ffi/pull/12)), parallel test
execution ([#26](https://github.com/waku-org/nim-ffi/pull/26)), and
AddressSanitizer / UndefinedBehaviorSanitizer / ThreadSanitizer jobs
([#34](https://github.com/waku-org/nim-ffi/pull/34)).
- Tests run under both `--mm:orc` and `--mm:refc`
([#20](https://github.com/waku-org/nim-ffi/pull/20)).
### Changed
- FFI contexts now use a **fixed-size array** instead of dynamically allocated
slots, so creating many contexts no longer exhausts file descriptors
([#14](https://github.com/waku-org/nim-ffi/pull/14)).
- Removed the redundant `ffiType` macro; the `ffi` macro is now the single
authoring entry point
([#22](https://github.com/waku-org/nim-ffi/pull/22)).
- Dropped `CatchableError` usage in favour of more specific exception types
([#19](https://github.com/waku-org/nim-ffi/pull/19)).
### Fixed
- Context buffer overflow when handling large payloads
([#21](https://github.com/waku-org/nim-ffi/pull/21)).
- Several memory leaks in request dispatch, context creation/destruction,
and `handleRes` under ARC/ORC; tightened lock initialization and resource
cleanup ([#11](https://github.com/waku-org/nim-ffi/pull/11)).
- macOS dylibs are now built with a relocatable `install_name` instead of
hard-coded paths ([#8](https://github.com/waku-org/nim-ffi/pull/8)).
## [0.1.3] - 2026-01-23
### Fixed
- Properly import and re-export `chronicles` so downstream packages get the
logging macros transitively.
## [0.1.2] - 2026-01-23
### Fixed
- Re-export `chronicles` and `std/tables` when the `ffi` module is imported,
so generated code resolves these symbols at the call site.
## [0.1.1] - 2026-01-23
Initial tagged release.
### Added
- Core `ffi` macro for declaring procs exposed across the FFI boundary.
- `FFIContext` with a dedicated worker thread, request dispatch, and a
watchdog with configurable timeout
([#7](https://github.com/waku-org/nim-ffi/pull/7)).
- License files updated to comply with Logos licensing requirements.

View File

@ -8,7 +8,7 @@ requires "nim >= 2.2.4"
requires "chronos"
requires "chronicles"
requires "taskpools"
requires "https://github.com/logos-messaging/nim-ffi >= 0.1.3"
requires "https://github.com/logos-messaging/nim-ffi >= 0.2.0"
const nimFlags = "--mm:orc -d:chronicles_log_level=WARN"

View File

@ -1,6 +1,6 @@
# ffi.nimble
version = "0.1.3"
version = "0.2.0"
author = "Institute of Free Technology"
description = "FFI framework with custom header generation"
license = "MIT or Apache License 2.0"