Am 22.09.2014 11:33, schrieb Sönke Ludwig:
After again a longer-than-anticipated wait, the next release of the DUB
package and build manager is finally ready. This is a major milestone
with some important changes in the way dependency versions are handled,
making it more robust for a rapidly growing ecosystem. The number of
available packages is now well above the 300 mark and keeps growing
steadily:

http://vibed.org/temp/dub-packages.png


But even more important, I'm pleased to announce that DUB is now
officially developed as part of the D language ecosystem! Based on the
decision back during this year's DConf, the repository has been migrated
to the D-Programming-Language organization on GitHub [1], and we are now
working towards a 1.0.0 milestone [2] that is supposed to be ready for
inclusion into the official DMD installation package.

If you can think of any potentially important and especially
backwards-incompatible changes/additions, please mention them (ideally
as GitHub tickets), so that we can include them before the 1.0.0 release.


Major changes and additions in 0.9.22 include:

  - Improved dependency version handling scheme. Version upgrades are
    now explicit, with the current snapshot being stored in the
    "dub.selections.json" file. This is similar to how other popular
    systems, such as Bundler [3], work, but built into the core system.
    Committing "dub.selections.json" to the repository ensures that
    everyone gets the same (working) combination of dependency versions.

  - Branch based dependencies (e.g. "~master") have been deprecated due
    to their destructive influence on the package ecosystem. See the
    wiki [4] for more information, including on the alternative
    approaches that are now supported.

  - Simple DustMite [5] integration. Using the "dub dustmite" command it
    is now possible to reduce bugs in DUB packages with ease, even in
    complex package hierarchies. The condition used for reduction can be
    specified in terms of exit code or as a regular expression on the
    output of either the compiler, linker, or final executable.

  - Added BASH and FISH shell completion scripts.

  - Added general support for single-file compilation mode, as well as
    separate compile/link mode for GDC.

  - Platform detection now also works when cross-compiling.

  - Added the "*" version specifier to match any version, and path based
    dependencies don't need to specify an explicit version anymore.


As always, find the full list of changes in the change log [6] and
download at:

http://code.dlang.org/download


[1]: https://github.com/D-Programming-Language/dub/
[2]:
https://github.com/D-Programming-Language/dub/issues?q=is%3Aopen+is%3Aissue+milestone%3A1.0.0

[3]: http://bundler.io/
[4]: https://github.com/D-Programming-Language/dub/wiki/Version-management
[5]: https://github.com/CyberShadow/DustMite/wiki
[6]: https://github.com/D-Programming-Language/dub/blob/master/CHANGELOG.md


This is great. I have been using it on my toy projects since code.dlang.org came into existence.

Congratulations to everyone involved.

--
Paulo

Reply via email to