- Adds `depends` argument to `Project.library()`, `Project.executable()`, `Project.test()`, and `Project.interfaces()`. This can be used to specify any dependencies not captured in the `libs` argument - for example, header-only packages.
- The `nuke` option in `Project.clean()` now removes all build directories rather than just the Project's build directory.
- Fixes a bug that prevented the `sbuildr` executable script from building test targets.
- Removes subcommands under `configure` in the `sbuildr` executable. Additionally, configure can now export a project using a specified build script.
- Changes `tests` back to `test` in the `sbuildr` executable.
- Adds Project API version so that old saved projects can be detected.
- Fetchers now support versioning. `GitFetcher` can checkout a specific commit, tag or branch.
- `Node`s now supply print commands to the backend, so that informative messages are shown during the build.
- Combines `Project`'s `find_dependencies`, `configure_graph` and `configure_backend` into `configure()`
- Hashes for build artifacts now take more variables into account, thereby preventing collisions.