We're happy to announce Nimble 0.24.0.
This release marks a big step on the road to Nimble 1.0. The new declarative parser and SAT-based dependency solver that shipped experimentally in previous releases are now the default and only code path.
There's still plenty ahead before 1.0, including PubGrub-style error reporting for clearer resolution failures, nimble fetch, and more. On top of that, 0.24.0 brings a Chronos-based async engine, parallel version discovery and downloads, a much-improved nimble develop workflow, and a long list of bug fixes.
To update, run:
nimble install nimble
Or download the prebuilt binary for your platform from the GitHub releases page and replace your existing Nimble binary.
For several releases, the declarative parser and SAT solver lived behind the --parser, --solver, and --legacy flags while we hardened them.
Those flags are now gone. There is a single, predictable resolution path. We also removed legacy Babel support and the transitional "vnext" implementation, making the codebase simpler and easier to maintain.
There's still more work ahead before 1.0, including PubGrub-style error reporting, nimble fetch, and other roadmap items.
Together, these changes make cold installs and project setup noticeably faster, especially for projects with large dependency trees.
nimble develop received the most attention this release:
Full release notes: https://github.com/nim-lang/nimble/releases/tag/v0.24.0
We extend our gratitude to the Nim team for their hard work, the community for their feedback, all contributors for their contributions, and especially Status for sponsoring the development.