I'm pleased to announce the release of the first stable version of the
DUB package manager. Stable in this case means that the API, the command
line interface and the package recipe format will only receive fully
backwards compatible changes and additions for a while.
This release also adds support for single-file packages, which can be
used for conveniently writing small scripts and applications. It
supports a shebang line, so that directly executing the script on Posix
systems also works (using "chmod +x"):
dependency "color" version="~>0.0.3"
import std.stdio : writefln;
auto yellow = RGB!("rgb", float)(1.0, 1.0, 0.0);
writefln("Yellow in HSV: %s", yellow.convertColor!(HSV!()));
Instead of a separate file, the contents of the package recipe file go
into a specially formatted comment within the source code itself. The
comment must be the first token in the D file (apart from the optional
shebang line) and must be of the form /+ dub.(json/sdl): ... +/ where
"..." is a place holder for the actual recipe contents.
The main (high-level) priority for the upcoming versions will be adding
C family language build support (starting with C/C++ and ObjC). There is
a draft for how such support might look like, for anyone interested in
discussing this in prior: https://github.com/dlang/dub/wiki/DEP5
BTW, we now have almost 800 public packages in the registry, covering
more and more application areas. The growth is not exponential, but very
Full change log: