What's Changed
- Removes dynamicLibrary being built as staticLibrary for targets other than OMF. by @rikkimax in #2211
- move command variable substitution to execution by @WebFreak001 in #2217
- Fix interactive run-unittest.d by @WebFreak001 in #2219
- merge stable by @MartinNowak in #2221
- fix: parse version from filesystem supplier correctly by @Panke in #2220
- merge stable by @MartinNowak in #2225
- add CompilerInvocationException by @WebFreak001 in #2226
- Adapt determinePlatform to the new defaults for Win32 by @MoonlightSentinel in #2227
- Define the $DUB_BUILD_PATH variable. by @veelo in #2228
- merge stable by @MartinNowak in #2231
- Add link to dub-docs. by @veelo in #2232
- Remove travis-ci badge from README.md by @ibuclaw in #2233
- Annotate escaping reference. by @veelo in #2237
- Posix: use /etc/dub/settings.json if in /usr by @WebFreak001 in #2203
- Add -fno-druntime to GDC BuildOptions; it is the betterC flag. by @ibara in #2186
- Fix #2238 - Renew source files after preGenerateCommands by @atilaneves in #2239
- Inject source file (replaces #2207) by @rikkimax in #2240
New Contributors
Full Changelog: v1.28.0...v1.29.0
What's Changed
- Replace deprecated keyword
body
withdo
and avoid DIP-1000 scope errors by @nordlow in #2164 - fix Issue 1645: the DFLAGS env variable is not handled when --build is passed by @nordlow in #2169
- Forward dub dustmite parameter --strategy by @nordlow in #2173
- Forward dub dustmite parameter -j by @nordlow in #2174
- Draft: Put dustmite flags just after dustmite command and add --trace flag by @nordlow in #2175
- merge stable by @MartinNowak in #2162
- merge stable by @MartinNowak in #2178
- merge stable by @MartinNowak in #2179
- Expand tilde in --root path by @nordlow in #2181
- Fix build setting inheritance by @omerfirmak in #2182
- Windows: Copy .pdb files by @kinke in #2189
- Fix --data-list error message with dub describe by @WebFreak001 in #2195
- add UnsupportedArchitectureException & UnknownCompilerException by @WebFreak001 in #2196
- fix CLI --print-builds implementation by @WebFreak001 in #2197
- use dlang-community/setup-dlang by @WebFreak001 in #2202
- Fix CI issue2051 failing. by @rikkimax in #2208
Full Changelog: v1.27.0...v1.28.0
What's Changed
- merge stable by @MartinNowak in #2132
- Add environment variables to BuildSettings by @shoo in #2121
- merge stable by @MartinNowak in #2138
- Fix dependency build settings flooding dflags by @omerfirmak in #2139
- merge stable by @MartinNowak in #2140
- Adds quotation marks to error message by @denizzzka in #2148
- Generate paths relative to visuald project files by @JudgeFish in #2150
- merge stable by @MartinNowak in #2152
- merge stable by @MartinNowak in #2154
- Fix #2141 - When used as a library, the default compiler is different from the expected. by @shoo in #2158
- Remove line 'Exclusing package.d blah...' from default dub build by @p0nce in #2157
- RegistryPackageSupplier.genPackageDownloadUrl added by @denizzzka in #2156
New Contributors
- @JudgeFish made their first contribution in #2150
Full Changelog: v1.26.1...v1.27.0
What's Changed
- merge stable by @MartinNowak in #2114
- Fix single file package dynamic library by @andre2007 in #2112
- fix #1867 - Add lowmem for settings by @shoo in #1905
- Fix #2046 - Dependencies specified with a path ignore optional settings by @shoo in #2103
- Replacing rununittest.sh by @drug007 in #2109
- merge stable by @MartinNowak in #2115
- merge stable by @MartinNowak in #2117
- Only show package.d warning once by @dkorpel in #2131
- [stable] LDC: Recognize
-gcc
as linker D flag by @kinke in #2135
New Contributors
Full Changelog: v1.25.0...v1.26.0
What's Changed
- merge stable by @MartinNowak in #2061
- Minor code cleanup (whitespace, import) by @Geod24 in #2063
- Remove redundant code with relativeTo by @Geod24 in #2062
- Set cwd on spawn functions instead of chdir by @Geod24 in #2065
- Hotfix for #2051 by @drug007 in #2064
- Renaming a file by @drug007 in #2066
- Raise minimum Vibe.d requirement to v0.9.0 by @Geod24 in #2067
- merge stable by @MartinNowak in #2071
- Cleanup http listener in vibed template by @gizmomogwai in #2072
- merge stable by @MartinNowak in #2074
- Improve 'linker-D-flag' detection for ldmd2 by @kinke in #2082
- Extend 'linker dflags' detection for DMD by @kinke in #2083
- Selectively import symbols from std.array. by @veelo in #2089
- Remove unused selective imports. by @veelo in #2088
- Remove unused imports from compiler.d. by @veelo in #2090
- Refactor imports (inet.url -> inet.path). by @veelo in #2091
- Remove unused std.range import. by @veelo in #2092
- Remove unused imports. by @veelo in #2093
- Refactor imports. by @veelo in #2094
- Refactor import. Url is not used directly, but path is. by @veelo in #2097
- Remove unused imports. by @veelo in #2096
- Deprecate unused but public import. by @veelo in #2095
- Fix #2085: [visuald] spurious library project by @veelo in #2098
- Add some generated files to .gitignore by @ljmf00 in #2102
- Fix #2086 copyFiles in subPackage does not honour targetPath. by @veelo in #2087
- Replacing run-unittest.sh by run-unittest.d. Inception by @drug007 in #2084
- Include copyFiles and extraDependencyFiles in visuald projects. by @veelo in #2099
- Bump FRONTEND, move dmd to latest by default. by @maxhaton in #2104
- merge stable by @MartinNowak in #2106
- Actually copy copyFiles when building in Visual Studio. by @veelo in #2105
- import 'std.variant.Algebraic' properly by @BorisCarvajal in #2108
- merge stable by @MartinNowak in #2107
- Fixed a regression with DFLAGS environment variable and cached generated unittest by @foerdi in #2116
New Contributors
- @gizmomogwai made their first contribution in #2072
- @maxhaton made their first contribution in #2104
- @BorisCarvajal made their first contribution in #2108
Full Changelog: v1.24.1...v1.25.0
What's Changed
- Allow adding dflags on dependencies when using SDL format by @omerfirmak in #2081
Full Changelog: v1.24.0...v1.24.1
What's Changed
- merge stable by @MartinNowak in #2011
- merge stable by @MartinNowak in #2014
- merge stable by @MartinNowak in #2015
- [stable] Deduplicate dflags and lflags by @Geod24 in #2016
- cache the generated test main file: dub_test_root.d by @foerdi in #2005
- Revert "Deduplicate dflags and lflags" (#2016) by @s-ludwig in #2020
- merge stable by @MartinNowak in #2022
- Remove usage of deprecated std.xml by @andre2007 in #1977
- Support for .netrc file added by @andre2007 in #2027
- ci: build release .tar.gz without travis owner and group id by @ljmf00 in #2030
- Add support for '-platformlib' option. Fixes #2031 by @dbankov-vmware in #2032
- GH Actions: Use new syntax for set-env by @Geod24 in #2036
- Merge stable into master by @Geod24 in #2037
- dub.compilers.ldc: Fix --rdmd with --compiler=ldc2 by @CyberShadow in #2033
- Correct issue #1673 (with dupe #1797 and #2019) by @p0nce in #2034
- betterC flag enabled in generated visuald project file. Fixes #2024 by @MrZoraman in #2025
- Fix Issue #1474 - Regenerate build settings after preGenerateCommands by @omerfirmak in #2035
- Mutually exclude mainSourceFile of different configurations by @omerfirmak in #2039
- [CI]: Remove old AppVeyor, TravisCI, SemaphoreCI and build-gdc.sh files by @PetarKirov in #2042
- [stable] Use compiler version, not frontend version for build IDs and paths by @kinke in #2045
- [stable] Add support for --arch=x86_mscoff for LDC (for DMD compatibility) by @kinke in #2049
- Use DC env variable as the default compiler by @omerfirmak in #2047
- Fix #2051: Running unit tests from DUB single file packages fails by @drug007 in #2052
- Improved ldc cross compile by @foerdi in #2055
- improve list command (filter by package spec) by @deviator in #2057
- Dont export DFLAGS & LFLAGS by default by @omerfirmak in #2048
- Allow custom dflags to be defined for dependencies by @omerfirmak in #2040
- Normalize line endings & UTF8 BOMs by @Geod24 in #2058
- add ability for specify version range for commandline commands by @deviator in #2056
New Contributors
- @dbankov-vmware made their first contribution in #2032
- @MrZoraman made their first contribution in #2025
Full Changelog: v1.23.0...v1.24.0
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).