Changelog
All notable changes to Affix.pm will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
Changed
- Affix is reborn!
- Replaced backend with a custom JIT and introspection engine called infix.
0.11 - 2023-03-30
Added
- Support for
WChar. - Rough, basic support for mangled symbols:
- Itanium C++ ABI.
- Rust (legacy).
- Exposed
dcNewCallVM(...)size variable.
0.10 - 2023-03-11
Added
- Support for
ArrayRef[]with dynamic size. - Support for empty
Struct[]. - Support for default values in
Struct[]. - Support for
WStr(wchar_t *,PWSTR, etc.).
Changed
- Coerced
Enum[]types withsv2ptr(...). - Explicit
undefvalues are now turned intoNULLinPointer[],ArrayRef[], etc. - Cleaned up VM on
Affix::END(). - Simplified API around named subs.
Fixed
- Ignored Perl's
PTRSIZEto handle cases where it differs from the system's actual pointer size.
0.09 - 2023-01-26
Added
- Structs may now contain a
CodeRef. - Bind to exported values with
pin(). - Exposed aggregate by value and syscall support in
Affix::Feature. - Delayed type resolution with
InstanceOf.
Fixed
CodeRef,Any, etc. are now properly handled as aggregate members.- Nesting
CodeRefsused as callbacks works correctly now. - Callbacks with unexpectedly empty return values no longer cause crashes.
0.08 - 2022-12-19
Fixed
- Corrected struct alignment for perls with quadmath and/or longdouble enabled.
0.07 - 2022-12-17
Changed
- Pulled upstream changes to dyncall 1.5 (unstable).
0.06 - 2022-12-16
Added
- Allowed calling convention to be changed in param lists.
Fixed
- Fix for quadmath tests.
- Fix for default struct padding when passing around by value.
- Attempted build fixes for nmake on Win32 smokers having gcc but not GNU make.
0.05 - 2022-12-14
Added
- Exposed
offsetof(...).
Changed
- Pulled upstream changes to dyncall 1.4 (stable).
0.04 - 2022-12-07
Added
- Initial release (Affix.pm is born).