This version marks the final milestone before the 1.0.0 release, which
is scheduled for mid-June. The API has been cleaned up and will be kept
backwards compatible throughout 1.x.x (0.9.25->1.0.0 may still have some
breaking changes). Beginning with version 1.0.0, DUB will also become
part of the DMD compiler distribution, so that no additional setup will
be required to build DUB projects.
In preparation to that, it also received a thorough optical overhaul.
The newly designed logo (which has appeared in some other spots already)
has been integrated on the package registry, and the site style has been
adjusted to fit the general dlang.org design (thanks to Sebastian
Some major changes to DUB itself are:
- Builds on frontend versions up to 2.071.0
- Implements proper optional dependency semantics, where using an
optional dependency can now be controlled using dub.selections.json
- "dub init" is now interactive by default (use -n to disable)
- Contains some critical changes regarding path based dependencies
- New "convert" and "search" commands
- It now supports "git submodule" style packages that put their D
sources at the root of the repository and expect to be checked out
into a folder with the name of the package/repository. This builds
on a new folder structure for downloaded packages and may require a
re-download of affected packages to take effect. If you run into any
issues, try removing all cached packages with "dub remove *".
Full change log: