Sol2 Versions Save

Sol3 (sol2 v3.0) - a C++ <-> Lua API wrapper with advanced features and top notch performance - is here, and it's great! Documentation:

v3.3.0

1 year ago

🎉 v3.3.0

This follows the version 3 release, incorporating a few improvements from the still-in-progress v4 and a number of critical fixes for keep-alive during iteration (especially w.r.t. Lua coroutines) and fixes for Lua 5.4. It also cleans up some logical bugs in many different places and improves the header hygiene.

It also gives a chance to update various package managers which were waiting for a newer stable release.

What's Changed

New Contributors

Full Changelog: https://github.com/ThePhD/sol2/compare/v3.2.3...v3.3.0

v3.2.2

3 years ago

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!
  • 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 !)

v3.2.1

3 years ago

This release is basically what it says on the tin: please stop erroring my users, Visual Studio.

Pretty please. :)

v3.0.3

4 years ago

The tutorials were made better!

Have fun!~

v3.0.2

4 years ago

This is the official sol3 release. Get it while it's hot, and read up about it using the blog posts and the documentation:

Thank you for your love and support over the years!

v2.20.6

5 years ago

This fix backports a handling of the regular std::optional properly.

Thanks to everyone who made this release nice!

v2.20.5

5 years ago

This release is a move of some of the bugfixes and improvements that were contained in sol3 back into sol2, with some modification to not break things!

This closes all known open issues, including those reported privately VIA Discord and E-mail. Thank you for your help in making sol2 great!

v2.20.4

5 years ago

This release adds a number of bug fixes to 2.20 backported from current sol3 development. No major features were added in this change and it solves quite a few problems.

v2.20.2

5 years ago

With the new logo in place and everything prepared, I'm going to be focusing on developing for sol v3 now.

This last release focuses on getting the semantics for configuration macros right and fixing some older warnings. It also handles some integer madness and does its best to straighten out exceptions.

Newer development is going to specifically use features from C++17 and C++20, in an effort to bring the same performance, with BETTER, compile times and to investigate some of the issues discovered while writing the C++Now talk. This means that the v2.x.x releases will still work with VS 2015, and older toolsets, but the stuff in the branch sol3 will not.

The sol3 branch will not be merged anytime soon, so don't worry about anything breaking unduly!

Thanks for using sol2.

v2.19.5

6 years ago

This release is a small Quality of Implementation fix. sol::reference and sol::object (but not their derived types) accept nil/none as types now when passing from C++-bound Lua functions. This emulates the default behavior of how Lua functions work. It also contains minor fixes for const vs. nonconst size() functions.

This release also allows you to call the same function sol2 uses to set up good default tracebacks and a proper default protected_function error handler.

Docs: sol2.readthedocs.io/en/latest/api/state.html#sol-state-automatic-handlers

Example: https://github.com/ThePhD/sol2/blob/develop/examples/functions_empty_arguments.cpp