mirror of
https://github.com/logos-messaging/nim-ffi.git
synced 2026-07-27 10:03:15 +00:00
chore(release): 0.3.0
This commit is contained in:
parent
41bb2b36a7
commit
435eebf9e3
16
CHANGELOG.md
16
CHANGELOG.md
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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"
|
||||
|
||||
|
||||
@ -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"
|
||||
|
||||
|
||||
@ -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"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user