chore(release): 0.3.0

This commit is contained in:
Gabriel Cruz 2026-07-24 13:10:02 -03:00
parent 41bb2b36a7
commit 435eebf9e3
5 changed files with 19 additions and 5 deletions

View File

@ -2,7 +2,21 @@
All notable changes to this project are documented in this file.
## [Unreleased]
## [0.3.0] - 2026-07-24
[Full changelog](https://github.com/logos-messaging/nim-ffi/compare/v0.2.0...v0.3.0)
Breaking release. `declareLibrary` is now required before any FFI annotation;
the per-request handler timeout and its `{.ffi: "timeout = <ms>".}` override are
replaced by the non-terminal `RET_STALE_WARN` progress callback; reaching an
`enum` from an `abi = c` type or proc is a compile error; and the generated C
`<lib>_ctx_destroy()` returns `int` instead of `void`.
New surface: `{.ffiStatic.}` for context-independent procs, `{.ffiConst.}`,
`{.ffi.}` enums, doc-comment propagation into the generated bindings, a C
binding generator (`-d:targetLang=c`), and a CBOR-free `abi = c` path in both
directions. Internally the watchdog thread is gone — the heartbeat now runs on
the dedicated event thread that also isolates user callbacks from the FFI thread.
### Changed
- **`abi = c` non-scalar procs no longer marshal through CBOR.** The foreign

View File

@ -12,7 +12,7 @@ No hand-written `.h` files, no manual request enums, no shared-memory plumbing.
Add nim-ffi to your library's `.nimble`, then `import ffi`:
```nim
requires "https://github.com/logos-messaging/nim-ffi >= 0.2.0"
requires "https://github.com/logos-messaging/nim-ffi >= 0.3.0"
```
## Mental model

View File

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

View File

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

View File

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