# Changelog

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

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased](https://git.rustybever.be/Chewing_Bever/alex/src/branch/dev)

### Added

* Incremental backups
    * Chain length describes how many incremental backups to create from the
      same full backup
    * "backups to keep" has been replaced by "chains to keep"
* Server type & version and backup size are now stored as metadata in the
  metadata file
* Backup layers
    * Store multiple chains of backups in parallel, configuring each with
      different parameters (son-father-grandfather principle)
* CLI commands for creating, restoring & listing backups

### Changed

* Running the server now uses the `run` CLI subcommand
* `server_type` and `server_version` arguments are now optional flags

### Removed

* `max_backups` setting

## [0.2.2](https://git.rustybever.be/Chewing_Bever/alex/src/tag/0.2.2)

### Fixed

* Use correct env var for backup directory

## [0.2.1](https://git.rustybever.be/Chewing_Bever/alex/src/tag/0.2.1)

### Added

* `--dry` flag to inspect command that will be run

### Changed

* JVM flags now narrowely follow Aikar's specifications

## [0.2.0](https://git.rustybever.be/Chewing_Bever/alex/src/tag/0.2.0)

### Added

* Rudimentary signal handling for gently stopping server
    * A single stop signal will trigger the Java process to shut down, but Alex
      still expects to be run from a utility such as dumb-init
* Properly back up entire config directory
* Inject Java optimisation flags

## [0.1.1](https://git.rustybever.be/Chewing_Bever/alex/src/tag/0.1.1)

### Changed

* Better env var support

## [0.1.0](https://git.rustybever.be/Chewing_Bever/alex/src/tag/0.1.0)

### Added

* CLI interface
* Working backup command
* Thread for periodic backups
* Env var support