# 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] ## [1.3.1] - 2021-12-10 ### Added - Test PSU with Portainer CE [2.11.0](https://app.swaggerhub.com/apis/portainer/portainer-ce/2.11.0) API ### Fixed - Deleting old Docker repository tags in bulk ### Removed - Test PSU with Portainer CE [2.5.1](https://app.swaggerhub.com/apis/portainer/portainer-ce/2.5.1) API ## [1.3.0] - 2021-12-07 ### Added - Add `linux/arm/v7` architecture to support Raspberry Pi ### Changed - Use Docker [Compose 2.2.2](https://github.com/docker/compose/releases/tag/v2.2.2) instead of Docker [Compose 2.1.1](https://github.com/docker/compose/releases/tag/v2.1.1) ### Fixed - `psu` was unusable when using a custom CA, with the `HTTPIE_VERIFY_SSL` env ## [1.3.0-beta.1] - 2021-11-30 ### Added - Docker images are now multi-architecture (`linux/amd64` and `linux/arm64` 🦾) - [macOS](https://apple.com/macos) support - [Windows](https://microsoft.com/windows) support, but it could be unstable ⚠️ - Test PSU with Portainer CE [2.9.3](https://app.swaggerhub.com/apis/portainer/portainer-ce/2.9.3) API ### Changed - Upgrade Operating System of Docker based images, with [Alpine 3.15](https://hub.docker.com/_/alpine) - Use Docker [Compose 2.1.1](https://github.com/docker/compose/releases/tag/v2.1.1) instead of Docker [Compose 1.x](https://github.com/docker/compose/releases/tag/1.28.0) - Reduce Docker images size, based on Alpine and Debian, again - Replace `master` by `main` git branch name in scripts. Reference: [New git default branch name](https://about.gitlab.com/blog/2021/03/10/new-git-default-branch-name/) ### Fixed - Fix documentation scrolling between pages, with the [`auto2top`](https://docsify.js.org/#/configuration?id=auto2top) option of [docsify](https://docsify.js.org) ### Removed - Remove parallel requests improvement, because it's buggy in some situations... - Test PSU with Portainer [2.1.1](https://app.swaggerhub.com/apis/deviantony/Portainer/2.0.1) API ## [1.3.0-alpha] - 2021-09-14 ### Changed - **Breaking Change**: [HTTPie](https://httpie.io/) is replaced by [cURL](https://curl.se), for smaller Docker images, faster execution and to be more portable - Boost performance for some actions like `status`, `tasks` and `tasks:healthy`, with parallel requests ### Fixed - Running concurrently `psu` commands should work now, by creating unique temporary file names - Fix `psu tasks:healthy` action output, when an error occurs ## [1.2.0] - 2021-09-14 ### Added - Add tests for `actions`, `containers` and `services` actions - Test PSU with Portainer [1.24.2](https://app.swaggerhub.com/apis/deviantony/Portainer/1.24.1) API ### Changed - Downgrade Docker Compose from [1.29.2](https://github.com/docker/compose/releases/tag/1.29.2) to [1.28.0](https://github.com/docker/compose/releases/tag/1.28.0) for Alpine image, to get faster builds 🚀 - Reduce Docker images size based on Alpine, again - Better documentation ### Fixed - Tests should run fine now with macOS ### Removed - Test PSU with Portainer [1.24.1](https://app.swaggerhub.com/apis/deviantony/Portainer/1.24.1) API - Test PSU with Portainer [2.0.1](https://app.swaggerhub.com/apis/deviantony/Portainer/2.0.1) API ## [1.2.0-beta.1] - 2021-09-03 ### Added - Test PSU with Portainer CE [2.5.1](https://app.swaggerhub.com/apis/portainer/portainer-ce/2.5.1) API - Test PSU with Portainer CE [2.6.3](https://app.swaggerhub.com/apis/portainer/portainer-ce/2.6.3) API ### Changed - Use Docker [Compose 1.29.2](https://github.com/docker/compose/releases/tag/1.29.2) instead of Docker [Compose 1.28.3](https://github.com/docker/compose/releases/tag/1.28.3) - Upgrade Operating System of Docker based images, with [Alpine 3.14](https://hub.docker.com/_/alpine) and [Debian 11](https://hub.docker.com/_/debian) - Reduce Docker images size - Use [Traefik 2.5](https://doc.traefik.io/traefik/v2.5) instead of [Traefik 2.4](https://doc.traefik.io/traefik/v2.4) for testing ### Fixed - Fix [`rm`](docs/README.md#rm) (remove) action with Portainer CE 2.6 ## [1.2.0-alpha] - 2021-02-19 ### Added - Test PSU with Portainer CE [2.0.1](https://app.swaggerhub.com/apis/deviantony/Portainer/2.0.1) API - Test PSU with Portainer CE [2.1.1](https://app.swaggerhub.com/apis/deviantony/Portainer/2.0.1) API ### Changed - Use Docker [Compose 1.28.3](https://github.com/docker/compose/releases/tag/1.28.3) instead of Docker [Compose 1.26.2](https://github.com/docker/compose/releases/tag/1.26.2) - Use [Traefik 2.4](https://doc.traefik.io/traefik/v2.4) instead of [Traefik 2.2](https://doc.traefik.io/traefik/v2.2) for testing - Upgrade Operating System of Docker based images, with [Alpine 3.13](https://hub.docker.com/_/alpine) ### Removed - Test PSU with Portainer [1.22.2](https://app.swaggerhub.com/apis/deviantony/Portainer/1.22.2) API - Test PSU with Portainer [1.23.2](https://app.swaggerhub.com/apis/deviantony/Portainer/1.23.2) API ## [1.1.0] - 2021-02-18 ### Changed - Use [Traefik 2.2](https://doc.traefik.io/traefik/v2.2) instead of [Traefik 2.1](https://doc.traefik.io/traefik/v2.1) for testing ### Fixed - Changelog link for `psu` version `1.1.0-alpha` - Fix `cryptography` building error ## [1.1.0-alpha] - 2020-07-29 ### Changed - Upgrade Operating System of Docker based images, with [Alpine 3.12](https://hub.docker.com/_/alpine) and [Debian 10](https://hub.docker.com/_/debian) ### Fixed - Docker build should fail if a shell command failed ## [1.0.7] - 2021-02-16 ### Fixed - Remove useless packages after building `docker-compose`, for the main Docker image ## [1.0.6] - 2021-02-16 ### Fixed - Docker build should fail if a shell command failed - Fix `cryptography` building error ## [1.0.5] - 2020-07-29 ### Added - Test PSU with Portainer [1.24.1](https://app.swaggerhub.com/apis/deviantony/Portainer/1.24.1) API ### Removed - Test PSU with Portainer [1.21.0](https://app.swaggerhub.com/apis/deviantony/Portainer/1.21.0) API ## [1.0.4] - 2020-01-27 ### Added - Use the `$CLEANUP_REGISTRIES_ENABLED` CI variable for deleting Docker repository tags in bulk ### Changed - Remove unused git and Docker tags in `README.md` ### Fixed - Fix scheduled pipeline who update Docker images for the latest stable git tag ## [1.0.3] - 2020-01-09 ### Added - Cleaning old Docker repository builds tags via [GitLab API](https://docs.gitlab.com/12.6/ee/api/container_registry.html#delete-repository-tags-in-bulk) ### Changed - Use [Traefik 2.1](https://doc.traefik.io/traefik/v2.1) instead of [Traefik 1.7](https://doc.traefik.io/traefik/v1.7) for testing ### Fixed - Build script for the latest stable git tag of a given git branch ## [1.0.2] - 2019-12-10 ### Added - Test PSU with Portainer [1.23.0](https://app.swaggerhub.com/apis/deviantony/Portainer/1.23.0) API ## [1.0.1] - 2019-10-29 ### Fixed - If the `--insecure` option is set to `false` and the `HTTPIE_VERIFY_SSL` environment variable is set, we keep its value instead of overwrite it to `yes`. Useful when we want to use Custom CA (e.g. `HTTPIE_VERIFY_SSL=/etc/ssl/certs/ca-certificates.crt`). For more information, you can read the [HTTPie docs](https://httpie.org/doc/1.0.3#custom-ca-bundle) ## [1.0.0] - 2019-07-25 ### Added - New actions: `ls`, `status`, `services`, `tasks`, `tasks:healthy`, `containers`, `login`, `lint`, `inspect`, `system:info`, `actions`, `help` and `version` - New options: `--auth-token=[AUTH_TOKEN]`, `--compose-file-base64=[BASE64]`, `--env-file-base64=[BASE64]`, `--timeout=[SECONDS]`, `--detect-job=[true|false]`, `--service=[SERVICE_NAME]`, `--insecure`, `--masked-variables`, `--quiet`, `--lint`, `--help` and `--version` - New flags: `-A`, `-C`, `-F`, `-G`, `-T`, `-j`, `-i`, `-S`, `-m`, `-q`, `-L`, `-h` and `-V` - New environment variables: `PORTAINER_AUTH_TOKEN`, `TIMEOUT`, `AUTO_DETECT_JOB`, `PORTAINER_SERVICE_NAME`, `MASKED_VARIABLES`, `QUIET_MODE` and `DOCKER_COMPOSE_LINT` - The Docker image include now `docker-compose` to be able to lint Docker compose/stack file - The `core` Docker image variant doesn't include `docker-compose`, so it's a bit smaller. But you can't lint Docker compose/stack file before deploying a stack - The `debian` and `debian-core` Docker image variants, use [Debian](https://www.debian.org) instead of [Alpine](https://alpinelinux.org/) as base image for `psu` - Online documentation via [docsify](https://docsify.js.org) - Tests who run automatically on each git push via [GitLab CI](https://docs.gitlab.com/ce/ci/) ### Changed - The `undeploy` action is now an aliased action. You should use `rm` action instead ### Deprecated - The `--secure=[yes|no]` option and `-s` flag are deprecated. Use the `--insecure` option instead (`psu ... --insecure`) - The `--action=[ACTION_NAME]` option and `-a` flag are deprecated. Use `` argument instead (`psu ...`) ## [0.1.2] - 2019-10-29 ### Changed - Delegated compose file loading and escaping to jq [#33](https://gitlab.com/psuapp/psu/merge_requests/33) ## [0.1.1] - 2019-06-05 ### Fixed - Fixed error when environment variables loaded from file contain spaces in their values [#14](https://gitlab.com/psuapp/psu/merge_requests/14) ## [0.1.0] - 2019-05-24 ### Added - Stack deployment - Stack update - Stack undeployment - Configuration through environment variables - Configuration through flags - Stack environment variables loading from file - Optional SSL verification of Portainer instance - Verbose mode - Debug mode - Strict mode [Unreleased]: https://gitlab.com/psuapp/psu/compare/v1.3.1...1-3-stable [1.3.1]: https://gitlab.com/psuapp/psu/-/tags/v1.3.1 [1.3.0]: https://gitlab.com/psuapp/psu/-/tags/v1.3.0 [1.3.0-beta.1]: https://gitlab.com/psuapp/psu/-/tags/v1.3.0-beta.1 [1.3.0-alpha]: https://gitlab.com/psuapp/psu/-/tags/v1.3.0-alpha [1.2.0]: https://gitlab.com/psuapp/psu/-/tags/v1.2.0 [1.2.0-beta.1]: https://gitlab.com/psuapp/psu/-/tags/v1.2.0-beta.1 [1.2.0-alpha]: https://gitlab.com/psuapp/psu/-/tags/v1.2.0-alpha [1.1.0]: https://gitlab.com/psuapp/psu/-/tags/v1.1.0 [1.1.0-alpha]: https://gitlab.com/psuapp/psu/-/tags/v1.1.0-alpha [1.0.7]: https://gitlab.com/psuapp/psu/-/tags/v1.0.7 [1.0.6]: https://gitlab.com/psuapp/psu/-/tags/v1.0.6 [1.0.5]: https://gitlab.com/psuapp/psu/-/tags/v1.0.5 [1.0.4]: https://gitlab.com/psuapp/psu/-/tags/v1.0.4 [1.0.3]: https://gitlab.com/psuapp/psu/-/tags/v1.0.3 [1.0.2]: https://gitlab.com/psuapp/psu/-/tags/v1.0.2 [1.0.1]: https://gitlab.com/psuapp/psu/-/tags/v1.0.1 [1.0.0]: https://gitlab.com/psuapp/psu/-/tags/v1.0.0 [0.1.2]: https://gitlab.com/psuapp/psu/-/tags/v0.1.2 [0.1.1]: https://gitlab.com/psuapp/psu/-/tags/v0.1.1 [0.1.0]: https://gitlab.com/psuapp/psu/-/tags/v0.1.0