Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

tup-v0.8 released

131 views
Skip to first unread message

Mike Shal

unread,
Mar 31, 2024, 5:43:07 PM3/31/24
to tup-...@googlegroups.com
Hi all,

I've tagged the latest master as v0.8. This is the first major version bump since 2013 due to the merge of the explicit variants branch, which results in a backwards incompatibility if you use variants. If you don't use variants, you should be unaffected.

Thanks to Pete Moore, data-man, Jose Quinteiro, r-value, Yaling Fang, Prokop Randacek, Lucas Kanashiro, and Bojidar Marinov for your contributions to this release!

Also, huge thanks to those who have donated via GitHub sponsors & Patreon -- it means a lot to have your support.

Here are the notes:

Backwards incompatibility with variants:
 - The FUSE overlay variants have been removed in favor of explicit variants. If you use variants on version v0.7.11 or earlier, you may need to update your Tupfiles. See https://gittup.org/tup/ex_explicit_variants.html for more details.

New features:
 - Variants now supported in Windows.
 - 'import' keyword to set a Tupfile variable to an environment variable.
 - 'tup compiledb' can create a compile_commands.json for third-party tools to see compilation commands.
 - 'tup commandline' shows the commandline used to compile a file.
 - 'tup generate' can support building in a separate build directory (if the project supports building with variants).
 - 'tup generate' can take an output list to limit what the script generates (ie: a partial build script).
 - A single Lua state is now re-used during parsing and doesn't need to be reinitialized for every Lua-based Tupfile.
 - Internal mtime tracking is now at nanosecond resolution (where supported by the OS) instead of 1-second intervals.

Dependency updates:
 - Internal Lua version is now 5.4.6
 - Internal SQLite version is now 3.45.2
 - Internal PCRE version is now PCRE2 10.42 (The internal version is only used by Windows by default)
 - External PCRE dependency is now libpcre2 instead of libpcre (Linux/OSX by default, unless built with CONFIG_TUP_USE_SYSTEM_PCRE=n in which case the internal version is used)

Bug fixes:
 - Fixed a bug that results in tup_entry_rm called on tupid X, which still has refcount=1
 - ^o rules that fail with a monitor autoupdate no longer cause infinite loops
 - Deleted files are now removed from the transient_list.

Thanks everyone!
-Mike
Reply all
Reply to author
Forward
0 new messages