Skip to content

Releases: ThePhD/sol2

v3.3.0

25 Jun 08:14
eba8662
Compare
Choose a tag to compare

🎉 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: v3.2.3...v3.3.0

v3.2.2

04 Oct 10:13
288f4f4
Compare
Choose a tag to compare

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 - Please Stop Erroring Me Visual Studio

06 Jun 16:21
874c8e5
Compare
Choose a tag to compare

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

Pretty please. :)

Docs Fixup, Minor Tweaks

04 Jul 15:33
230928c
Compare
Choose a tag to compare

The tutorials were made better!

Have fun!~

sol3

29 May 21:16
5a4d7dc
Compare
Choose a tag to compare

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 - Handling the Regular Optional

28 Nov 09:41
902ceaf
Compare
Choose a tag to compare

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

Thanks to everyone who made this release nice!

v2.20 Bugfixes

10 Nov 19:05
93db30d
Compare
Choose a tag to compare

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 Bugfix

04 Aug 16:01
7f1c2e3
Compare
Choose a tag to compare

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.

Last official v2 Release

22 May 19:47
Compare
Choose a tag to compare

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.

friendly state injection, sol::reference / sol::object and friends now take nil

06 Mar 04:00
Compare
Choose a tag to compare

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