Tags give the ability to mark specific points in history as being important
  • v0.9.0
    Version 0.9.0
    Apart from the many bug fixes in this release, here is the list of
    noteworthy improvements:
    - Allow passing data through stdin for the --run script with '-' so that
      we can run simple scripts through pipes.
    - New `ccd` command inside the crossroad environment to cd directly into
      $CROSSROAD_HOME which is the temporary directory tied to your
      $CROSSROAD_PREFIX (while the prefix is what you will want to
      distribute, the associated home is where you keep temporary files,
      such as build directories and the like).
      `ccd` alone will directly send you to $CROSSROAD_HOME, though you can
      also write a relative path inside $CROSSROAD_HOME. If the specified
      path does not exist, `ccd` will propose you to create a directory.
      With options -y and -n, you can automatically accept (respectively,
      refuse) directory creation so that you can use the feature in
      non-interactive scripts.
    - The bash completion script has been updated for `ccd` so that it will
      propose you relative directories inside $CROSSROAD_HOME (even at
      sub-levels) and -y/-n options.
    - New --verbose option which displays more information in some usage
      cases (mostly useful for debugging).
    - More lenient archiving (--compress option) by skipping some errors
      which may happen with some special files (I had the case with some
      Wine device files). Warnings will be outputted instead, leaving one to
      decide whether the warnings are meaningful or not.
    - Environment subcommands will now forward their return value to the
      calling process so that errors can be properly discovered and
      processed by calling scripts by checking crossroad exit code.
      This is now used by various Win32 specific subcommand (package
      management ones). For instance if `crossroad install` fails for any
      reason, it will return with a non-zero exit code.
    w32 and w64 targets:
    - New commands `mask` and `unmask` to block packages from being
      installed. This can be useful when making a custom build for specific
      software and making sure they won't be pulled in as a dependency of
      some pre-built package, hence over-writing the custom build.
    - Support for Fedora 32 and MSYS2 as alternative repository sources for
      Windows pre-built packages.
    - New `update` command to update package repository database. This is
      only useful for msys2 (not Fedora and SUSE repositories) as the local
      package database is not updated automatically because of structural
      differences (basically on msys2/Arch repository, we must apparently
      re-download the full package database, which would make every package
      management operation painfully long, whereas on Fedora/SUSE/RPM
      repository, we can just download a very small hash file to check
      whether new updates are available before downloading the whole
    - `info` command now displays a packager URL and package URL if
    - Auto-detect distribution and select the (probably) best repository
      (for SUSE and Fedora, use the respective repositories; for all the
      rest, use msys2).
    - New `source` command to select the repository (in case the default
      choice does not suit you). Without any parameter, it lists available
      source repositories. With a parameter, the specified repository is
    - Package install has been sped up quite a bit (much too slow file move
      step optimized).
    - More tolerant Win32 package download, with longer timeout and by
      retrying (up to 4 times) when download fails to not immediately fail
      on problematic environments without human interaction (e.g. automatic
      CI scripts).
    - `install` command will now fail if any of the package download failed
      (despite retries). Continuing and failing later is harder to debug.
    android-* targets:
    - Chosen Android API (at first run) is saved and not asked again each
      time you re-enter the crossroad environment.
    - A `requirements.txt` file has been added. It may not be fully complete
      or accurate yet, as I should have kept one up-to-date since the start,
      but I will continue to update it when needed.
  • v0.8.0
    Version 0.8.0
    - meson support
    - Android environments support (x86, x86-64, arm, arm64, mips and
      mips64): testing basic and a bit outdated but let's get it out for
      people to find and fix bugs!
    - Native environment support: this is obviously not a "cross-build"
      environment, but the goal is to easily manage separate development
    - Discover MinGW-w64 installed with the distribution packae manager if
    - Move to Fedora repositories for Windows cross-built packages instead
      of SUSE. Fedora packages are much more recent and regularly updated.
      Currently used are Fedora 30 repositories.
    - Discovery of distribution-specific library paths.
    - Crossroad will now return the value of the script passed to the --run
      option (unless --no-exit-after-run is set as well of course).
    - Installed MinGW-w64 packages are now remembered to avoid endless
      reinstallation of same files.
    - Many fixes, small improvements, better set environment variables and
      toolchains, etc.
  • v0.7
    a4fcf2c8 · Version bump: 0.7. ·
    Version 0.7
    - Bash completion properly installed and improved with XDG environment
      variables support.
    - Package name propositions (for support of Win32 and Win64) now
      tailored for RedHat-based and Debian-based distributions.
    - Package repository for Windows pre-compiled dependencies updated to
      OpenSUSE Leap 42.3.
    - Various bug fixes.
  • v0.6
    75f89db9 · Version bump: 0.6. ·
    Version 0.6
    - Basic wine support (install/run win32 binaries in the build env);
    - run user script with --run option;
    - various CLI outputs improved;
    - better cache cleaning;
    - bash completion script;
    - VPATH builds support;
    - project support (separate named prefixes per target);
    - new --copy option to copy a named project as base of another;
    - installable win32 binary deps now using SUSE Leap 42.1 repository;
    - some (very basic) SCons support (not advised build system though).
  • v0.5
    be6d693f · Release version 0.5. ·
    Version 0.5
    - Improved documentation (man, pypi, README, etc.);
    - zsh shell support;
    - cleaning of outdated cache;
    - non-found dependency install suggests packages with similar names;
    - add a `search` command for package management;
    - improved support for projects with native/cross-compiled mix;
    - add g++ support;
    - use OpenSUSE 13.1 cross-compiled repository.
  • v0.4.4
    Version 0.4.4
    Various bug fixes of dependency installation.
  • v0.4.3
    Version 0.4.3
    Fix permission bug and "beautify" output.
  • v0.4.2
    436f38ec · Bugfix version 0.4.2. ·
    Version 0.4.2
    Fix dependency installation bug.
  • v0.4.1
    770da9a5 · Bugfix version 0.4.1. ·
    Version 0.4.1
    Fix bug in the `pip install`, a permission issue, and the MANIFEST.
  • v0.4
    Version 0.4
    First actual public release.