v3.2.2
This release is a patch update. It adds a new feature but because that feature is gated behind a macro definition, the minor nor major versions are changed. New code should be unaffected!
- New feature: function pointer retrieval! It is not on by default!
- Please note this is unsafe, see the documentation for
SOL_GET_FUNCTION_POINTERS_UNSAFE
- https://sol2.readthedocs.io/en/latest/safety.html
- Please note this is unsafe, see the documentation for
- A UBSan error for null pointer arithmetic was fixed up, resulting in UB-free codegen (It hadn't become a problem yet, but it was probably going to! #1017)
load_result
and friends are not copyable. They were never supposed to be, and since I only ever used them transiently it almost never came up until now (#995)- An API for accessing and messing with the garbage collector has been added (#997)
- MoonJIT is totally supported. The author was very nice to us! (#967)
- Recently, documentation was improved around certain configuration macros (https://sol2.readthedocs.io/en/latest/safety.html):
SOL_CONTAINERS_START
SOL_NO_THREAD_LOCAL
SOL_ID_SIZE
- Configuration has been reworked through the library:
- The user-facing definitions are, however, the same, and cleaned up a little bit.
- You can place a folder and a in some directly that follows the convention
<sol/config.hpp>
and put your macro definitions in there to make it easier to manage your library-specific defines. This makes it easier to keep all your definitions together.
- Build issues on all systems from Mac OSX with Apple Clang to Windows with VC++ should be resolved now! (#1021 #1031 #1034)
- Issues with certain constant definitions in the Lua 5.4 release should not happen.
- Fixed some bugs in the use of
is_lvalue_reference
(thanks, #1028 !)