Releases: zyedidia/knit
Releases · zyedidia/knit
v1.1.1
Changelog:
- Applying attributes to prerequisites now uses the
[[prereq]][attrs]
syntax to avoid ambiguity during parsing. - Adds a new
db
tool to list the contents of the compilation database. - Dependency information from the
D
attribute is immediately added to the database during the first invocation of the recipe, avoiding unnecessary rebuilds to update the database with new dep info in future runs.
v1.1.0
Changelog:
- Dynamic task elision: a new optimization that allows Knit to avoid running a task if can dynamically determine that a prerequisite that was rebuilt actually changed nothing. For example, adding a comment to a source code file and rebuilding will cause a recompile, but the linker will not be invoked since the object file won't be different.
- The
D
attribute now creates a$dep
variable that contains the name of the dep file that will be used. - The flags passed to Knit are now exposed to the Lua environment as the
knit.flags
variable. - Optimizations for file re-hashing.
- Absolute paths are normalized to relative paths when resolving dependencies.
v1.0.0
Version 1.0 of Knit means that the API is now stable! This release makes a few changes:
- There are no longer any limitations on what types of rules can be used across buildsets (a buildset that is included in a another will now be fully merged).
- Improved syntax for applying attributes to multiple prerequisites. The new syntax is
targets:attrs: [a b c][attrs]
(each ofa
,b
,c
will all haveattrs
applied). - Undeclared variable access in Lua is now an error (this deviates from normal Lua).
- Bug fixes for
compile_commands.json
andinclude
when the directory of the file being included does not exist.
v0.4.1
v0.4.0
v0.3.6
Changelog:
- Automatically makes parent directories for outputs
- New
prefix
andsuffix
functions available in Lua. - Bug fixes for
compile_commands.json
and for build info if a build is canceled. - New
path
tool shows the path of the current knitfile (can be used by tools invoking knit to see where it is running from).
v0.3.5
Changelog:
- Bug fixes and improvements (plus docs) for multiline recipes.
- Quoted targets no longer include the quotes.
- Backquotes can now be used to apply an attribute to multiple prerequisites:
`foo bar`[I]
makes foo and bar both implicit.
- Add
knit.join
function for joining string tables.