|
1 | 1 | # Changelog
|
2 | 2 |
|
| 3 | +# 0.1.0 / 2023-10-03 |
| 4 | + |
| 5 | +### Added |
| 6 | + |
| 7 | +- ctfcli has been separated into two main modules `cli` and `core`. The `core` module now packages logic previously found inside `utils`, wrapped into classes. |
| 8 | +- The classes in the `core` module will only print out warnings instead of interrupting the whole process. Everything else will throw exceptions which can be caught and handled however desired |
| 9 | +- `cli` and `core` internal modules have type hints |
| 10 | +- Improved error messages |
| 11 | +- Unit tests have been added for the entire `core` module |
| 12 | +- ctfcli will now ask to initialize a new project if one does not exist |
| 13 | +- Added `--hidden` to `ctf challenge install` which will deploy the challenge / challenges in a hidden state regardless of their `challenge.yml` value. |
| 14 | +- Added `ctf challenge edit <name>` and `ctf challenge edit <name> --dockerfile` to open challenge.yml or Dockerfile for that challenge |
| 15 | +- Added aliases under `ctf templates` and `ctf plugins` for `dir` (`path`) and for `view` (`show`) |
| 16 | +- Progress bars for `ctf challenge deploy` / `ctf challenge install` / `ctf challenge sync` |
| 17 | +- `ctf challenge deploy` will now deploy ALL deployable challenges if a specific challenge is not specified |
| 18 | + - For the SSH and Registry deployments, to facilitate this behaviour the challenge name will be automatically appended. So the host should be for example: `registry://registry.example.com/example-project` and the challenge name will be appended for a full location. |
| 19 | +- `ctf challenge deploy` will now also automatically login to the registry with Cloud and Registry deployments. |
| 20 | + - For cloud deployments the instance url must be ctfd assigned (e.g. example.ctfd.io) - this is because to log-in to the registry we require a username like `[email protected]`. The deployment will use the access token as the password. |
| 21 | + - For registry deployment it will look for the `username` and `password` keys inside a `[registry]` section in the project config file. |
| 22 | +- ctfcli will read a `LOGLEVEL` environment variable to enable DEBUG logging has been added |
| 23 | + |
| 24 | +### Fixed |
| 25 | + |
| 26 | +- When syncing a challenge to a remote instance, state specified in challenge.yml will now be ignored to prevent accidental challenge leaking |
| 27 | +- The CLI will now exit with a 0 if everything went right, and 1 if something went wrong. |
| 28 | + - With `install`/`sync`/`deploy` - exit code will be 1 if ANY of the challenges failed to `install`/`sync`/`deploy`. |
| 29 | + |
| 30 | +### Changed |
| 31 | + |
| 32 | +- Built using poetry and `pyproject.toml` |
| 33 | +- `python-fire` has been updated to 0.5.0 |
| 34 | + |
| 35 | +### Removed |
| 36 | + |
| 37 | +- Removed the `ctf challenge finalize` command |
| 38 | + |
3 | 39 | # 0.0.13 / 2023-07-29
|
4 | 40 |
|
5 | 41 | ### Added
|
|
0 commit comments