v1.30.0: Major refactoring, better JSON support, colors...
What's Changed
- merge stable by @MartinNowak in #2242
- merge stable by @MartinNowak in #2245
- merge stable by @MartinNowak in #2250
- Fix #1856 - enable building the special test runner config by @kinke in #2218
- Add support for coverage at compile-time (CTFE) by @nordlow in #2256
- Merge stable by @kinke in #2265
- Fix issue 2258 where dependency target binaries are not copied by @rikkimax in #2259
- commandline: Refactor and streamline special syntaxes by @Geod24 in #2264
- Build{Options,Requirements}: Use a common templated struct by @Geod24 in #2266
- Fix #2234 make copies writable by @veelo in #2253
- Dependency: Isolate SemVer version logic in its own struct by @Geod24 in #2271
- Trivial: Re-use findPackageFile in commandline module by @Geod24 in #2274
- sdl: Do not use deprecated aliases by @Geod24 in #2275
- sdl/json: Do not create dummy dependencyBuildSettings entry by @Geod24 in #2276
- Upgrade dub.selections.json by @Geod24 in #2278
- Move fix for issue 711 outside of JSON/SDL parser by @Geod24 in #2277
- Allow "dub :subpackage" shortcut syntax to run a certain sub package by @s-ludwig in #2283
- Don't ignore targetName in non-executable unittest configurations by @kinke in #2289
- Add a command line option for upgrading all sub packages. by @s-ludwig in #2285
- merge stable by @ibuclaw in #2295
- Fix dub_test_root imports for non-all-at-once compilations by @kinke in #2288
- Project: Remove dead m_packageSettings var and related func by @Geod24 in #2297
- Avoid needless string concat in log calls by @Geod24 in #2298
- Merge stable by @kinke in #2299
- Project.addTestRunnerConfiguration(): Don't accidentally modify base config's
buildSettings
by @kinke in #2300 - Deprecate once-called redundant getLatestPackage by @Geod24 in #2301
- Remove leading hyphen in platform specs by @Geod24 in #2279
- getDefaultConfiguration(): Accept a const BuildPlatform argument by @kinke in #2304
- Dependency: Move
spec
/ git ref inside ofRepository
by @Geod24 in #2306 - PackageManager: Use PackageRecipe, not JSON, for dummy object by @Geod24 in #2307
- Move some version-only constants and helpers in VersionRange by @Geod24 in #2305
- Dependency: Improve attribute annotation and prepare for SumType by @Geod24 in #2308
- Trivial: Remove an always-true if by @Geod24 in #2313
- Various code simplification around
dub.selections.json
by @Geod24 in #2311 - SelectedVersions: Add Repository to overload set by @Geod24 in #2314
- Deprecate
PackageManager.loadSCMPackage
& otherDependency
-related refactoring by @Geod24 in #2312 - Deprecate duplicated JSON serialization for Dependency by @Geod24 in #2315
- Dependency: Change format for path-based dependencies by @Geod24 in #2316
- Dependency: Remove top-level safe, apply to decl by @Geod24 in #2317
- Trivial: Remove a leftover debug statement by @Geod24 in #2320
- sdl: Simplify Dependency parsing by @Geod24 in #2318
- Fix missing deserialization of fileVersion from dub.selections.json by @kinke in #2321
- Suppress
version
for path-based deps in Dependency.toJson() by @kinke in #2322 - commandline: Catch Exception, not Throwable by @Geod24 in #2323
- Refactor
Dependency
to usestd.sumtype
by @Geod24 in #2302 - Upgrade dub.selections.json with vibe-d v0.9.5 by @Geod24 in #2325
- Fix missing sanitizing of subpackage targetTypes by @kinke in #2326
- test/version-spec: Fix broken pipe issue by @Geod24 in #2327
- Fail fast on Windows. by @veelo in #2330
- Trivial: Streamline code when package not found in project by @Geod24 in #2332
- CI: Switch to macOS-11 as 10.15 will be removed Aug 30th by @Geod24 in #2334
- Trivial: Deduplicate GeneratorSettings initialization by @Geod24 in #2335
- Trivial: Fix syntax for Params documentation in packagesuppliers by @Geod24 in #2337
- Refactor and document private struct
SpecialDirs
by @Geod24 in #2336 - Do not call Project.reinit from commandline by @Geod24 in #2339
- Trivial: Deprecate Dub.remove(Package, bool) by @Geod24 in #2342
- Remove long-deprecated 'install' and 'uninstall' command by @Geod24 in #2340
- Move some package manager duties to
PackageManager
by @Geod24 in #2341 - Use
configy
to readdub.selections.json
by @Geod24 in #2310 - use json.get directly instead of casting by @WebFreak001 in #2344
- Commandline: Do not duplicate GeneratorSettings fields by @Geod24 in #2346
- CI: Fix script for issue1505 by @Geod24 in #2309
- Colored output by @veelo in #2268
- Use Configy to read user settings (
settings.json
) too by @Geod24 in #2343 - Move environment read outside of DependencyResolver by @Geod24 in #2351
- Support escaped forward slashes in YAML parser by @Geod24 in #2349
- settings/selections: Only warn on unknown keys, add changelog by @Geod24 in #2352
- Some
PackageManager
cleanup by @Geod24 in #2353 - Trivial: Update comments on PackageManager by @Geod24 in #2354
- Deprecate Dependency.matchesAny in favor of VersionRange by @Geod24 in #2357
- Dependency: Ensures call to version_ are on version-containing object by @Geod24 in #2356
- Expose a
visit
method forDependency
by @Geod24 in #2358 - Default
dub init
to SDL by @WebFreak001 in #2361 - Revert "Default
dub init
to SDL" by @WebFreak001 in #2362 - Also add options when we combine buildsettings by @ryuukk in #2363
- Minor cleanup between the
Dub
andPackageManager
interface by @Geod24 in #2364 - made return codes more consistent + improved man page format by @WebFreak001 in #2365
- Remove a few usages of old version-spec approach from test-suite by @Geod24 in #2370
- Integrate Configy colored output with dub's by @Geod24 in #2367
- Configy: Implement soundexer-based key-matching in strict mode by @Geod24 in #2368
- Remove
Dub.updatePackageSearchPath
by @Geod24 in #2369 - Improve
PackageOverride
API, deprecateDependency.versionSpec
by @Geod24 in #2366 - PackageManager: Move some code to
Location
instead of nested function by @Geod24 in #2371 - Improve searchPackages naming+docs by @WebFreak001 in #2372
- improve some output coloring by @WebFreak001 in #2350
- PackageManager: Move some
Location
-specific routines toLocation
by @Geod24 in #2373 - Dub.fetch: Deprecate Dependency overload, only accept Version[range] by @Geod24 in #2374
- Project: Use Dependency.visit instead of if/else by @Geod24 in #2376
- PackageManager.getBestPackage: Introduce Version[Range] overloads by @Geod24 in #2375
- Configy: Synchronize with upstream changes by @Geod24 in #2378
- Add
Flags.fromYAML
and other minor fixes by @Geod24 in #2379 - Minor: Replace a foreach with a nested function by @Geod24 in #2380
- Fix #2383 by @lempiji in #2384
- Fix x86 OMF build support by @0xEAB in #2389
- Configy: Move dub-specific extension tests to their own module by @Geod24 in #2392
- Use SHA256 and better namings in hashPackage by @nordlow in #2388
- Use SHA256 in place of MD5 in computeBuildName by @nordlow in #2386
- Configy: Synchronize with upstream by @Geod24 in #2394
- Rename CLI flag --colors to --color any D code symbols accordingly by @nordlow in #2399
- Configy: Replace parseField with parseAs by @Geod24 in #2401
- Correct git ignores by @nordlow in #2404
- Trivial: Make more obvious to developers how to debug YAML parsing by @Geod24 in #2402
- Trivial: Add attributes and documentation to PackageRecipe by @Geod24 in #2405
- Recursively link all link deps of dynamic libraries too by @kinke in #2414
- LDC: Use
-fvisibility=public -dllimport=all
when compiling a Windows DLL by @kinke in #2412 - Add changelog entry for colored output by @Geod24 in #2400
- Fix #2348 Crash when describing postBuildCommands by @shoo in #2409
- Dependency: Take advantage of -preview=in by @Geod24 in #2416
- Forward flag --color to compiler calls by @nordlow in #2382
- Trivial: Group 'Dub' class ctor/init together by @Geod24 in #2417
- Avoid calls to .dup in cmake.d by @nordlow in #2421
- Configy: Integrate a fix around circular reference by @Geod24 in #2420
- Dub: Remove unused m_overrideSearchPaths member by @Geod24 in #2418
- Deprecate Dub.getPackageSuppliers, remove one env modification from UT by @Geod24 in #2419
- Dependency: Trivial fixes around
opEquals
/matches
by @Geod24 in #2422 - PackageManager: Deprecate overloads of getPackage with string version by @Geod24 in #2423
- only do main file searching when neccessary by @WebFreak001 in #2424
- add $DPATH environment variable for file locations by @WebFreak001 in #2281
- Remove redundant null checks in DependencyVersionResolver by @Geod24 in #2426
- Windows: Don't copy import .lib & .exp files for executables by @kinke in #2395
- Dub: Introduce a class to use in unittests by @Geod24 in #2431
- D-YAML: Sync with v0.9.2 release by @Geod24 in #2434
- Integrate
dependencyBuildSettings
into dependencies by @Geod24 in #2430 - remove unneccessary warning prefix by @WebFreak001 in #2436
- Remove redundant lookup when searching for a tool by @Geod24 in #2435
- initPackage: Use VersionRange instead of string by @Geod24 in #2438
- Dependency: Deprecate path/repository setters by @Geod24 in #2439
- Remove 'unknown' version by @Geod24 in #2440
- Collection of trivial fixes around Dependency by @Geod24 in #2441
- Trivial: Convert some spaces to tabs by @Geod24 in #2437
- Use configy library to parse dub.json file by @Geod24 in #2280
- PackageManager: Move class' extra searchPath/Package to an internal location by @Geod24 in #2444
- Temporarily disable ldc-master as the dustmite test is broken by @Geod24 in #2445
- update version to v1.29.2-beta.1 by @MartinNowak in #2447
- Posix: Add default SONAME/install_name for dynamic libraries by @kinke in #2413
- Fixes #2448 - Accept sourceFiles without module declaration by @tom-tan in #2449
- Fixes #2452 - Accept non-existing file in
sourceFiles
by @tom-tan in #2453 - Fix #2450 - issue1474 testcase is broken on Windows by @shoo in #2451
- PackageManager: Move scanPackageFolder to Location by @Geod24 in #2458
- Project: Only print warning about mismatching dependency specs for versions by @Geod24 in #2457
- Trivial: Improve 'dub list' description by @Geod24 in #2460
- Deprecate overrides: local-overrides.json, add-override, remove-override by @Geod24 in #2461
- Trivial: Improve documentation, reduce noise around loading local package by @Geod24 in #2463
- Dub: Use UpgradeOptions.dryRun instead of printUpgradesOnly by @Geod24 in #2462
- Minor style improvements in PackageManager by @Geod24 in #2465
- PackageManager: Move the scanning logic to Location & actually segment per Location by @Geod24 in #2459
- Minor: Align dub.recipe.selection style with dub.recipe.packagerecipe by @Geod24 in #2466
PackageManager
: Remove double duty as aLocation
by @Geod24 in #2433- Remove PackageManager deprecations from v1.20.0 by @Geod24 in #2467
- merge stable by @MartinNowak in #2468
- PackageManager: Remove m_disableDefaultSearchPath, use array instead by @Geod24 in #2469
- PackageManager: Simplify removeLocalPackage by using algorithm by @Geod24 in #2415
- Deprecate PackageManager.getFirstPackage by @Geod24 in #2470
- Dub: Remove redundant variable m_projectPath by @Geod24 in #2471
- Deprecate an unused PackageManager.getPackage ovrld by @Geod24 in #2474
- Dub: Do not re-load already loaded tool Package by @Geod24 in #2472
- Deprecate PackageManager.completeSearchPath by @Geod24 in #2473
- Move PackageManager.getPackagePath to Location by @Geod24 in #2476
- PackMan: Deprecate overload leaking location path by @Geod24 in #2477
- Remove PlacementLocation information from Dub.fetch by @Geod24 in #2478
- PackageManager: Only iterate on internal fromPath array, not everything by @Geod24 in #2480
- fix coloring for dub upgrade -s by @WebFreak001 in #2479
- PackMan: Provide an overload of storeFetchedPackage that doesn't expose Location by @Geod24 in #2482
- Revert "Temporarily disable ldc-master as the dustmite test is broken" by @Geod24 in #2446
- Master regression fixes by @s-ludwig in #2481
- Support --temp-build also in
dub build
by @gizmomogwai in #2428 - Remove commandline arguments that do not work for lint (dscanner) by @gizmomogwai in #2484
- Windows: Copy .lib files from DLL deps only by @kinke in #2396
- Commandline: Use inheritance, not a boolean, to control Dub initialization by @Geod24 in #2486
- Dub: Deprecate changing the rootPath by @Geod24 in #2487
- Fix zip symlink problem. by @schveiguy in #2489
- Changelog: Add mention that dub.json is also checked now by @Geod24 in #2501
- Fix #1752: Use 'no' as string representation of Dependency.Invalid by @Geod24 in #2502
New Contributors
- @ryuukk made their first contribution in #2363
- @lempiji made their first contribution in #2384
- @0xEAB made their first contribution in #2389
- @tom-tan made their first contribution in #2449
Full Changelog: v1.29.2...v1.30.0