Skip to content

v2.0.0

Compare
Choose a tag to compare
@Lut99 Lut99 released this 19 Apr 08:52

Added

  • Profiling reports to (parts of) the framework. These can be used to examine the framework's performance from a development perspective.
  • --profile-dir to branectl that can be used to collect all profile results into one directory.
  • branectl accepting the exe-option on the start and stop subcommands, which can be used to change the Docker compose executable called.
  • Support for generating certificates in branectl with the generate certs-subcommand.
    • technically this is a breaking change because we changes the location of the command from toplevel to be nested under generate, but since it was not implemented we don't mark it as such.
  • The --trace flag to branectl that unlocks even more detailled logs.
  • Support for compiling branectl containerized, to meet GLIBC requirements.
  • The Docker Compose-files (docker-compose-central.yml and docker-compose-worker.yml) as baked-in files to branectl.
  • brane-prx being able to proxy traffic through a SOCKS5 proxy.
    • To do this, the proxy-field in node.yml has a different syntax to select the target protocol [breaking change].
    • branectl has also been updated to reflect this.
  • Windows support for make.py.
  • Windows support for the brane CLI.
  • The --local-aux option to branectl such that it becomes easier to use pre-downloaded auxillary images.
  • Docker Buildx cache mounts (--mount=type=cache) to the compilation step, which should massively increase speed of repeated release builds.
  • Automatic CRLF detection when adding UTF-8/ASCII files to a container, and a subsequent prompt to deal with it.
  • The --crlf-ok flag to indicate no prompt is necessary when encountering CRLF files.
  • postinstall, post-install and post_install as aliases for unpack in container.yml.

Changed

  • Protobuf descriptions to be in pure Rust instead of .proto files. This should allow use to re-use Rust structs in a more ergonimic style, as well as get rid of the very annoying protoc dependency.
  • brane login to be more like a keymanager instead. Check brane instance and brane certs instead, and consult the wiki for how to use this new system [breaking change].
  • The --debug flag in the brane-cli can now be used from all nested subcommands.
  • Various option and flags (--debug, -n/--node-config, -e/--exe, -f/--file) to be able to be used in subcommands as well in branectl.
  • branectl to default to docker compose instead of docker-compose as compose executable [breaking change].
  • branectl using the friendlier, in-house humanlog logger instead of env_logger.
  • make.py to move the download capabilities to branectl, allowing for a friendlier (and easier) interface.
  • aux-xenon to be an image in the Brane release tar (central node).
  • The general layout of node.yml to be more sensible (it focusses on services rather than names, ports, etc) [breaking change]
  • The socksx dependency to use our own fork instead of Onno's repository to achieve Windows compatibility for the brane CLI (see above).
  • main.py's output directory for aux-xenon now respects the build mode (i.e., release or --dev).
  • The -m/--mode option in branectl to --image-dir, for a more sensible interface.
  • --version to be come a positional parameter in brane test [breaking change]
  • --show-result to have -r as short flag instead of -s [breaking change]
  • The 'active instance link' to be a regular file containing the name of the instance instead of a softlink (because Windows does not give default symbolic link permissions :/)

Fixed

  • The previous version not making it through the tests.
  • brane build not working when a file was nested from the root.