Skip to content
Compare
Choose a tag to compare

v1.29.1

Pre-release
Pre-release

What's Changed

  • Harden package version detection from git describe by @kinke in #2263

Full Changelog: v1.29.0...v1.29.1

v1.29.0
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.28.0...v1.29.0

v1.28.0
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.27.0...v1.28.0

v1.27.0
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.26.1...v1.27.0

v1.26.1
Compare
Choose a tag to compare

What's Changed

  • [stable] Don't reduce the max path length on Windows even further by @kinke in #2144

Full Changelog: v1.26.0...v1.26.1

v1.26.0
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.25.0...v1.26.0

v1.25.0
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.24.1...v1.25.0

v1.24.1
Compare
Choose a tag to compare

What's Changed

  • Allow adding dflags on dependencies when using SDL format by @omerfirmak in #2081

Full Changelog: v1.24.0...v1.24.1

v1.24.0
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.23.0...v1.24.0

v1.23.0
Compare
Choose a tag to compare

Added architecture x86_omf for windows-dmd

On windows dmd the x86_omf architecture can now be used as platform specification using --arch=x86_omf. This is currently equivalent to the previously existing --arch=x86 argument.

dub remove --non-interactive will now remove all packages by default

When calling a command with a package name and no version specification, the latest version is usually assumed. While this behavior makes sense for dub fetch or dub run, it can come as a surprise when cleaning up local packages through dub remove, and so previous version would simply error out when more than one version was available. From this version, dub remove -n $PKGNAME will just remove all cached versions of the package named $PKGNAME, without asking you to use $PKGNAME@*.

Running dub upgrade on a package-less folder is now a no-op

Prior to this change, accidentally running dub upgrade in a folder where no dub.json / dub.sdl was present would leave you with a dub.selections.json and, in some instances, an empty .dub folder. This has been fixed and running dub upgrade where one shouldn't will now only generate a friendly error message.

Support dependencies as git url with exact commit

Git repositories can be directly used by dub as dependencies.

dub.json:

{
    "name": "git-dependency",
    "dependencies": {
        "gitcompatibledubpackage": {
            "repository": "git+https://github.com/dlang-community/gitcompatibledubpackage.git",
            "version": "ccb31bf6a655437176ec02e04c2305a8c7c90d67"
        }
    }
}

All commands now support package[@<version-spec>], --version is deprecated

dub commands had some disparity in their version handling. Most commands accepting a package name (e.g. dub fetch or dub run) supported either package[@version-spec], or supported only package and accepted an option --version=<version-spec>. The latter form has now been deprecated and all commands now accept package[@<version-spec>]. Note that the absence of @<package-spec> still means "latest version" (except for remove).