21 hours ago

Changelog for redub v1.25.7

Lots of work has been done to redub: from watching folders and compiling them to installing your selected compiler and setting it to use as default, even in clean builds of Windows due to not having libcurl dependencies anymore!

Redub can also make universal builds for OSX and even be used for your CI on github, hope you guys enjoy those updates since it has got a lot of exciting functionalities all integrated in that single tool.

Redub Exclusive Functionality

  • Windows is now using winhttp for downloading thus not requiring libcurl
  • Improved Redub hashmap performance
  • Added redub use: Lets you use which compiler you specify, examples; redub use ldc 1.41.0, redub use dmd 2.111.0, redub use opend dmd
  • Added redub install: Installs for you the specified compiler, same syntax as redub use
  • Added redub watch: Lets you watch a folder which it will rebuild every time a change is detected.
  • Added build-universal: A command to build osx-universal binaries and improved args parsing API for reusage
  • Added MrcSnm/setup-dlang@v2 action for github, so you can use redub on your CI
  • Redub now can dub.selections.json for faster fetching, achieved via redub build --prefetch

Updated

  • Improved support to dub recipes and other major projects are now also supported: dagon, dmd
  • redub run package:subPackage@version now works as the same as dub
  • redub init and redub init -t yourprojectname support now works the same as dub
  • Redub now generates dub.selections.json
  • Optimized source checking speed
  • Improved performance of exclusiveMerge and adv diff include check
  • Improved error messages
  • Performance on the environment parsing (no useless lock)
  • Improved warning for when running redub
  • Do not parse for the environment if no preGenerateRun is needed
  • Added "frameworks" to the recipe - Do not build dependencies with no sources - Added --dest alias to --targetPath - Fixed typo on build failure
  • Fixed naming format and added windows arm64
  • Improved a little getNextString (hipjson)
  • Greatly reduced structure sizes
  • Multi language projects is now possible
  • Now it is possible to build D and C together
  • Many performance improvements
  • Support for runtime working directories
  • Added build type error message when using an unknown build type and new build type for size

PRs merged

  • Merge pull request #53 from KitsunebiGames/link-merge-ex
  • Merge pull request #52 from KitsunebiGames/main
  • Merge pull request #54 from KitsunebiGames/remove-implicit-update
  • Merge pull request #37 from kassane/artifacts-ci

Fixed

  • Memory corruption bug in macOS
  • Parse reruns were happening in path cases since they didn't had a version and null versions were not registered (register them with *
  • Redub wasn't handling dub add-path Redub now also exists the program right after printing --version or --help
  • Redub now only reads the command ifit is the first argument
  • Bug on linux terminal
  • Bug where invalid arguments were silently returned
  • Printing pregen build commands for every project
  • Setting importPaths won't break cache anymore since importPaths now directly depends on sourcePaths and it is being handled in a single place
  • isApple was being negated. Linker flags were being sent with quotes which made it don't work
  • build redub using redub cause infinite loop #50
  • Wait for redub spawned threads instead of thread_joinAll as it was hanging hbuild
  • Bug on static array usage on hipjson
  • toolchainsRequirement from SDL and made a version to use D AA on AArch64 since there is a bug on the GC
  • Parser bug when running actual preGenerateCommands
  • Now it will save the successful build steps on CTRL+C
  • Correctly handling CTRL+C so no cache is actually saved
  • Bug when having an excludedSourceFile throughout dependency tree
  • Do not build plugin as shared D runtime as we can't guarantee the druntime is shared
  • Use WinAPI for registering as realtime process and handle exceptions on process kill
  • Now fully parallelized build will wait to finish all the succesful builds before issuing an error so the cache can be restored correctly
  • Remove optionals before they can affect the build
  • Added emscripten platform filter
  • Cycle detection improvement, using buildexception where it makes sense and print the actual cycle
  • Issue #48 - Now correctly parsing subpackages even when they are re-specified but no sub package was found earlier
  • Issue #47 - File marked as dirty even though they are in excludedSourceFiles
  • Crashing when trying to access a property of a string in subpkg
  • Now using 2-steps parsing for environment
  • Now only parse environment data after every package was parsed
  • #46, environment variables, and now it supports '{}' syntax
  • Bug where sometimes the subpackage would be searched in the wrong place after running one time and verbose output improval
  • Issue #45, improve printing by showing which file was generated, where and its size
  • Archiver now putting object files correctly
  • Do not generate dub.selections.json for plugins
  • Problem where empty redub meta would cause bug and compiler identification was wrong
  • Identify for ld64 linker for not emitting start group, now also clears compilation info cache even after resulting in failure.
  • Lua style comments on SDL
  • Missing ISA on linker file. Now unknown OS is also correctly found
Changelog Metadata
Generated with changelog-d v1.1.0
Contribute at https://github.com/MrcSnm/changelog-d