Skip to content

Commit cc239f2

Browse files
committed
Update changelog with C code refactoring and documentation
1 parent 73563ff commit cc239f2

1 file changed

Lines changed: 16 additions & 0 deletions

File tree

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,13 @@
1616

1717
- Callback handlers now spawn separate processes for execution, allowing workers
1818
to remain available for nested `py:eval`/`py:call` operations
19+
- **Modular C code structure** - Split monolithic `py_nif.c` (4,335 lines) into
20+
logical modules for better maintainability:
21+
- `py_nif.h` - Shared header with types, macros, and declarations
22+
- `py_convert.c` - Bidirectional type conversion (Python ↔ Erlang)
23+
- `py_exec.c` - Python execution engine and GIL management
24+
- `py_callback.c` - Erlang callback support and asyncio integration
25+
- Uses `#include` approach for single compilation unit (no build changes needed)
1926

2027
### Fixed
2128

@@ -27,6 +34,15 @@
2734
- **Dialyzer warnings** - Added `{suspended, ...}` return type to NIF specs for
2835
`worker_call`, `worker_eval`, and `resume_callback` functions
2936

37+
### Documentation
38+
39+
- **Doxygen-style C documentation** - Added documentation to all C source files:
40+
- Architecture overview with execution mode diagrams
41+
- Type mapping tables for conversions
42+
- GIL management patterns and best practices
43+
- Suspension/resume flow diagrams for callbacks
44+
- Function-level `@param`, `@return`, `@pre`, `@warning`, `@see` annotations
45+
3046
## 1.1.0 (2026-02-15)
3147

3248
### Added

0 commit comments

Comments
 (0)