Releases: gatewayd-io/gatewayd
v0.9.2
This release includes:
- Improvements to the
gatewayd plugin install
command, now featuring a new option,--skip-path-slip-verification
. This allows bypassing Tar and Zip Slip verification, facilitating the extraction and installation of plugins into absolute paths in isolated environments such as Docker. - A significant update to the Docker compose file, with the addition of a new service called
install_plugins
that utilizes an Alpine image. This service executes thesetup.sh
script to download and install GatewayD and its plugins. Additionally, a Redis image has been used to ensure the cache plugin functions correctly. The GatewayD ports have been made accessible to the host system. - Fixing a bug where GatewayD would not shut down gracefully and the plugin registry failed to close properly when GatewayD fails to establish a new connection to PostgreSQL on boot. The client retry mechanism exits the GatewayD process abruptly without proper cleanup, leaving plugins orphaned.
- GatewayD is now a sponsored OSS project by Docker, Inc. The Docker image for GatewayD has transitioned to using Docker Hub for distribution. The GHCR image will still be published as a backup.
What's Changed
- Use Docker Hub image by @mostafa in ae6e067
- Make sure to stop the plugin registry gracefully if the database is not available by @mostafa in #483
- Fix plugin install errors by @mostafa in #484
- Revamp docker compose by @mostafa in #485
Full Changelog: v0.9.1...v0.9.2
v0.9.1
This releases contains updates to dependencies and a feature contributed by @Hamsajj. The pgx/v5
package was updated to prevent CVE-2024-27304. This CVE has little to no impact on GatewayD and plugins, yet it was better to upgrade. The SDK, the plugin template for Go and all the plugins are updated as well.
Important
Update GatewayD and all the plugins to their latest versions.
What's Changed
- tests: use buffer instead of capturer to test logger output by @Hamsajj in #476
- Bump github.com/stretchr/testify from 1.8.4 to 1.9.0 by @dependabot in #477
- Update deps by @mostafa in #479
- Implement ConsoleOut in Windows logger by @mostafa in #480
Full Changelog: v0.9.0...v0.9.1
v0.9.0
This release introduces the Act system based on this proposal, which offers significant enhancements over the old signaling method which was limited to a single signal: terminate
. This new system supports multiple signals, offers easily controllable policies by users, and allows actions to be executed in both synchronous and asynchronous modes.
The Act system comprises several components including Act registry, signals, policies, actions, and changes to the plugin registry, aimed at improving flexibility and control within GatewayD. It involves breaking changes as the old termination requests method has been refactored, necessitating updates to all plugins to accommodate these changes. For more detailed information, please visit this pull request and the Act docs.
This release lays the foundation for this proposal by moving away from the old signaling methods. In future releases the proposal will be developed and implemented to its full extent, enabling extensibility, distributed action execution, and many other features.
Important
This version of GatewayD is backward-incompatible with older versions of the plugins. So, please update all the plugins to their latest version to use the new features.
Feel free to test GatewayD and provide feedback via issues or on the proposal.
What's Changed
- Update dependencies by @mostafa in #450
- test: Make plugin tests OS independent by @Hamsajj in #459
- Act system by @mostafa in #451
- Remove unnecessary type arguments by @mostafa in #466
- Bump github.com/prometheus/common from 0.48.0 to 0.49.0 by @dependabot in #461
- Refactor
cmd/utils.go
by @mostafa in #474
New Contributors
Full Changelog: v0.8.13...v0.9.0
v0.8.13
This is the last release of the milestone v0.8.x and so far the functionality is improved, more tests are added and there were many cleanups. The changelog for v0.8.x of GatewayD includes several significant changes and enhancements:
- Removal of verification and acceptance policies.
- Maintenance updates, including dependency upgrades and minor fixes.
- Automation of plugin installation and updates.
- Introduction of API metrics for better monitoring.
- Removal of elastic mode for proxy.
- Security updates to dependencies.
- Integration of Engine and Server code for improved functionality.
- Refactor and replace
gnet/v2
with Gonet
stdlib package. - Logging enhancements including new key-value pairs for better traceability.
- Support for multi-platform Docker images, including ARM64 for new Apple chipsets.
- Introduction of TLS termination for incoming Postgres clients, supporting various SSL modes.
- Several fixes and feature enhancements, including updates to health check endpoints, configuration changes, and performance improvements.
For detailed information on each update, please visit the releases page.
What's Changed
Full Changelog: v0.8.12...v0.8.13
v0.8.12
This is a maintenance release and contains dependency updates and minor fixes suggested by different linters.
What's Changed
- Exclude generated files from coverage report by @mostafa in #429
- Bump github.com/grpc-ecosystem/grpc-gateway/v2 from 2.19.0 to 2.19.1 by @dependabot in #426
- Bump github.com/rs/zerolog from 1.31.0 to 1.32.0 by @dependabot in #431
- Update dependencies and fix linting issues by @mostafa in #437
Full Changelog: v0.8.11...v0.8.12
v0.8.11
This release contains a few important changes:
- Plugins can now be automatically installed by providing a
gatewayd_plugins.yaml
file that also containsurl
of the plugin plus the version. This helps containerized environments to have run GatewayD in an stateless way. Thegatewayd plugin install
command will download and install all the plugins and you can choose to prevent config file from being overwritten, for example, when you pass it as a configmap in k8s. Please refer to the CLI docs for more information. - API now emits metrics. The
api_requests_total
and theapi_requests_errors_total
are counter metrics that also include these labels:method
,endpoint
anderror
. - Dependencies are updated to the latest version.
- Other bugfixes and improvements has been made.
What's Changed
- Automate plugin installation by @mostafa in #420
- Add metrics for requests and errors count by @mostafa in #414
- Try to fix nil pointer exception by @mostafa in #409
- Update all dependencies by @mostafa in #413 and #423
Full Changelog: v0.8.10...v0.8.11
v0.8.10
This release contains two updates:
- The elastic mode of the proxy is removed, thanks to @snowAvocado.
- Dependencies are updated.
What's Changed
- Remove Elastic Mode #359 by @snowAvocado in #401
- Update dependencies by @mostafa in #405
Full Changelog: v0.8.9...v0.8.10
v0.8.9
This release includes several enhancements and fixes:
- We've updated the
golang.org/x/crypto
package in response to a security advisory. Although we don't use the specific algorithms highlighted in the report, we opted for caution. - New PRs are now required to have signed commits; any unsigned commits will cause the CI workflows to fail.
- A refactoring effort has successfully integrated the
Engine
object with theServer
code, courtesy of @snowAvocado. - Log entries now feature an additional key-value pair indicating the group name (or tenant), thanks to @jafar75. This addition is particularly useful for distinguishing log entries in multi-tenant configurations.
What's Changed
- Bump golang.org/x/crypto from 0.16.0 to 0.17.0 by @dependabot in #382
- Check signed commits in PR by @mostafa in #387
- Merge Engine with Server by @snowAvocado in #383
- Add group name to log by @jafar75 in #394
- Add group name to Windows logger by @mostafa in #395
New Contributors
- @snowAvocado made their first contribution in #383
- @jafar75 made their first contribution in #394
Full Changelog: v0.8.8...v0.8.9
v0.8.8
This release contains builds upgrades to the GitHub Actions used in build and publish process and we now have builds for linux/arm64
, which means that the Docker image can be used on the (not so) new Apple chipsets (M1/M2) and (possibly — untested) all other 64bit ARM chipsets, thanks to @hamedsalim1999! 🚀
What's Changed
- 378 multi-platform Docker image by @hamedsalim1999 in #380
- fix: Resolve GitHub Actions bug for multi-architecture builds by @hamedsalim1999 in #381
New Contributors
- @hamedsalim1999 made their first contribution in #380
Full Changelog: v0.8.7...v0.8.8
v0.8.7
This release is a maintenance release and includes these changes:
- Dependency updates.
- Panics are now fatal errors, so that normal user errors are not reported to Sentry.
- Fix a log message.
What's Changed
Full Changelog: v0.8.6...v0.8.7