Skip to content

Latest commit

 

History

History
415 lines (295 loc) · 12.6 KB

CHANGELOG.md

File metadata and controls

415 lines (295 loc) · 12.6 KB

Changelog

All notable changes to this project will be documented in this file.

This file's format is based on Keep a Changelog and this project adheres to Semantic Versioning. The version number is tracked in the file Cargo.toml.

Contact: See Cargo.toml authors Status: Available for use

Breaking Changes

Added

Fixed

2.1.0 - 2024-09-26

Added

  • Add FLOKI_WORKING_DIR environment variable that is accessible inside the container. Can be used when mount: has been specified in floki.yaml.

2.0.1 - 2024-05-15

Fixed

  • Fix publishing releases

2.0.0 - 2024-05-15

Breaking Changes

  • Change entrypoint suppression to allow entrypoints by default

Fixed

  • Switch to yaml-rust2.

1.2.1 - 2023-07-20

Fixed

  • #62: Use shell_words to split the outer shell so that more complex outer shells can be used.
  • Load values from files relative to the floki config file, not from the current working directory.
  • Optimise the release build for size

1.2.0 - 2023-07-07

Added

  • Add yaml function to tera templating engine so that floki templates can use yaml(file="<filepath>") in order to load values.
  • Add json function to tera templating engine so that floki templates can use json(file="<filepath>") in order to load values.
  • Add toml function to tera templating engine so that floki templates can use toml(file="<filepath>") in order to load values.
  • Add floki render to print out the rendered configuration template.
  • Switch rust image to rust:1-alpine3.18 as it's better maintained.
  • Combine errors into a single FlokiError enum.

1.1.0 - 2023-07-05

Added

  • Floki templates are parsed with tera before being deserialized.
  • Limit MSRV to 1.57 while using ekidd/rust-musl-builder - needs updating.

1.0.1 - 2023-04-18

Fixed

  • Don't add "-i" to docker commands when stdin is not a tty. This allows commands floki run -- <command> to be run from inside other scripts even if stdout looks like a tty.

1.0.0 - 2022-09-12

Breaking Changes

  • Move to version 1.0.0 - so long, ZeroVer!
    • No other functional changes.

0.9.1 - 2022-06-28

Fixed

  • Don't add "-i" to docker command when invoked without a tty. This allows a one-off floki run -- <command> to be run from a non-interactive shell.

0.9.0 - 2022-05-11

Added

  • set tls=false for dind

0.8.0 - 2022-01-25

Added

  • Change docker in docker image tag from stable-dind to dind

Fixed

  • Fix up clippy warnings and enforce clippy going forward
  • image_exists_locally now checks that the specified image exists

0.7.1 - 2021-12-08

Fixed

  • Adjust SSH agent forwarding error message
  • Fixed Github releases

0.7.0 - 2021-11-16

Changed

  • Automatically suppress the container entrypoint - MAJOR
  • Update simplelog from 0.9 to 0.11 - MINOR
  • Rework internals to have clear data structure for the runtime configuration - MINOR
  • Disable Bors as it's not gaining us much.

Added

  • Allow entrypoint suppression to be set in the configuration file - MINOR
  • Add exec mode for generating images - MINOR

Fixed

  • Fix up old dependencies; move to thiserror/anyhow instead of failure - MINOR
  • Publish tags to crates.io - PATCH

0.6.2 - 2021-03-03

Changed

  • Some improvements to the getting started guide
  • Some improvements to the feature documentation (including adding how to specify the dind image).

Added

  • Added Bors support
  • Added a navigation section to the documentation (temporary until documentation format is redesigned)
  • Added a floki config file for quickly running hugo for building and testing documentation

Fixed

  • Don't require a floki config file to be present to run floki completion
  • Properly parse docker_switches in accordance with shell quoting rules

0.6.1 - 2020-07-16

Fixed

  • Fixed bug in new add_docker_switch behaviour.

0.6.0 - 2020-07-15

Changed

  • Cleanup of resolution of working directory to use proper path types - PATCH
  • Cleanup and improve handling of user uid and gid - PATCH

Added

  • New Subcommand: completion 🎉
    • Generation of shell 🐚 completion added for an assortment of shells: bash, fish, zsh, powershell, elvish.
    • See floki completion --help

0.5.0 - 2020-05-05

Changed

  • Change after_deploy.sh into a separate stage as after_deploy: scripts run after each deploy: step.
  • Resolve Dockerfile path and Docker context correctly when running floki from a subdirectory of the directory containing floki.yaml - PATCH
  • Correct and refine path handling - PATCH
  • Correct and refine environment variable handling - PATCH
  • Update Rust dependencies (run cargo update) - PATCH
  • Bump serde_yaml from 0.7.5 to 0.8.4 - PATCH
  • Bump structopt from 0.2.18 to 0.3.13 - PATCH
  • Bump uuid from 0.6.5 to 0.8.1 - PATCH
  • Rework logging and verbosity setting to use simplelog (needed because of structopt upgrade) - PATCH
  • --local CLI flag is no longer required to use docker_switches - MINOR

Added

  • Allow the docker-in-docker image to be specified in configuration - MINOR

0.4.3 - 2019-12-02

Changed

Added

0.4.2 - 2019-12-02

Changed

Added

  • Add support for specifying Dockerfile build target - MINOR
  • Add announce support for notifying Slack of new changes - MINOR
  • Fix up build.sh for Linux builds - PATCH

0.4.1 - 2019-11-12

Changed

  • Attempt to fix up jobs and deployment to Cargo

Added

0.4.0 - 2019-11-07

Changed

  • Deploy tagged versions to crates.io - MINOR
  • Generalize DockerCommandBuilder and refactor docker-in-docker function to use it - PATCH

Added

  • Add support for floki volumes. These can be used for caching build artifacts - MINOR

0.3.0 - 2019-10-01

Changed

  • Rename FLOKI_HOST_WORKDIR to FLOKI_HOST_MOUNTDIR - BREAKING
  • Also search ancestors of the working directory for a floki.yaml - MINOR
  • Make parsing of floki.yaml strict - deny unknown fields - BREAKING
  • Parse floki.yaml using Read interface to file - PATCH

Added

0.2.0 - 2019-08-10

Changed

  • Small tidyups of environment collection module - PATCH
  • Disable TLS in dind to fix failing dind functionality on newer dind:stable images - PATCH

Added

  • Forward host working directory as FLOKI_HOST_WORKDIR - MINOR

0.1.0 - 2019-05-26

Changed

  • Remove forward_tmux_socket - BREAKING
  • Remove --pull switch - BREAKING
  • Remove pull specifications from configuration file - BREAKING
  • Refactor to collect environment at start of day - PATCH
  • Only mount the ssh_agent socket file - BREAKING
  • Start working in the mount_pwd path - BREAKING
  • Rename mount_pwd to mount - BREAKING
  • Enforce reproducibility (override with --local) - BREAKING
  • Move from trim_right to trim_end - PATCH
  • (Refactor) Simplify addition of environment variables to docker run - PATCH
  • Refactor - PATCH
  • Add Travis CI file - PATCH
  • Use 2018 edition of rust. - PATCH
  • Update quicli to 0.4 - PATCH
  • Deploy to GitHub - PATCH
  • Make sh the default shell - BREAKING

Added

  • Make pull a subcommand of floki - MINOR

0.0.20 - 2019-02-12

Changed

Added

  • Expose host user id as FLOKI_HOST_UID - MINOR
  • Expose host user id as FLOKI_HOST_GID - MINOR
  • Allow inner and outer shells to be specified - MINOR

0.0.19 - 2018-10-23

Changed

  • Exit if an init command fails (as opposed to carrying on) - BREAKING
  • Make sure floki detects docker errors properly - BUGFIX
  • Non-zero exit code on error - BUGFIX

0.0.18 - 2018-10-05

Changed

  • Make floki run work properly with subcommand switches - BUGFIX
  • Make sure floki errors if docker build fails - BUGFIX

0.0.17 - 2018-10-02

Added

  • Package floki in an RPM - PATCH
  • Add floki run subcommand - PATCH

0.0.16 - 2018-09-10

Changed

  • Wrapped common docker errors to make them clearer - PATCH

0.0.15 - 2018-08-08

Changed

  • Only kill dind container if we launched it - BUGFIX

0.0.14 - 2018-08-08

Added

  • --pull switch to update images - PATCH

Fixed

  • Fixup docker-in-docker to allow bind mounts - PATCH

0.0.13 - 2018-08-06

Added

  • docker-in-docker support - PATCH
  • Add ability to forward current user - PATCH

0.0.12 - 2018-07-31

Changed

  • Made tmux socket forwarding permissive (doesn't fail if not found) - PATCH

0.0.11 - 2018-07-31

Changed

  • Build spec now requires the name as a subkey of build - BREAKING
  • forward_tmux_session -> forward_tmux_socket - BREAKING

Added

  • Rewrite in Rust - PATCH
  • Sphinx docs - PATCH

0.0.10 - 2018-07-25

Added

  • Allow custom docker switches - PATCH
  • Configurable pull policy - PATCH

0.0.9 - 2018-07-12

Added

  • Add a version switch - PATCH

Changed

  • Make docker not use sudo - PATCH

0.0.8 - 2018-07-11

Changed

  • Empty init defaults to no commands - BUGFIX
  • Make image specification mandatory - PATCH

0.0.7 - 2018-07-10

Changed

  • Change how we specify an image to build - PATCH

0.0.6 - 2018-07-10

Added

  • Add option to forward tmux socket - PATCH
  • Add basic configuration validation - PATCH
  • Added ability to specify shell - PATCH
  • Add BSD style help switch - PATCH

0.0.5 - 2018-07-03

Added

  • Config file now command line parameter. Default still ./floki.yaml

0.0.4 - 2018-04-06

Changed

  • Allow build container to originate from Dockerfile - PATCH

0.0.3 - 2018-04-06

Changed

  • Rename to ssh-agent forwarding field - PATCH

0.0.2 - 2018-04-06

Changed

  • Rename to floki to prevent conflicts on pypi - PATCH

0.0.1 - 2018-04-06

Added

  • Initial primitive version

Changed