Releases: gatewayd-io/gatewayd
v0.6.9
Release Notes for Milestone v0.6.x:
1. Go and Dependencies Update:
- Go is updated to version 1.20, along with all dependencies.
2. API Port Changes:
- gRPC API port is changed to 18080.
- HTTP API port is changed to 19090.
3. Timeout Implementation for Plugin Hooks:
- Added timeouts to plugin hooks to prevent unresponsiveness.
- Hooks will now time out and return control to the main thread of GatewayD.
- Timeout duration can be adjusted in the
gatewayd_plugins.yaml
file.
4. Configuration Subcommand:
- Introduced the
config
subcommand with two options:config init
: Generates a new global configuration file.config lint
: Validates the global configuration file.
5. Plugin Subcommand:
- Introduced the
plugin
subcommand with three options:plugin init
: Generates a new plugins configuration file.plugin lint
: Validates the plugins configuration file.plugin install github.com/gatewayd-io/gatewayd-plugin-cache@latest
: Downloads and installs the latest version ofgatewayd-plugin-cache
or a tagged version following semver.
6. New Policy Parameter:
- Added a new policy parameter,
terminationPolicy
, to determine whether to stop processing hooks when terminating a request or continue running the remaining hooks.
7. Bug Fixes and Improvements:
- Resolved a long-standing issue causing clients to wait indefinitely for server response.
- Fixed default chunk size.
- Fixed linter timeout.
- Fixed CI for testing the Go plugin template.
8. Package Additions:
- Added APT and RPM packages for AMD64 and ARM64 platforms to the release assets.
9. Configuration Changes:
- Updated the config file location search order to prioritize the current working directory, then
/etc
, with fallback to the current working directory. - Non-default config groups now receive default values.
- Moved default values from
New<feature>
functions to theconfig
package.
10. Metrics Port Update:
- Changed the port of metrics from
2112
to9090
to align with Prometheus port.
11. Documentation Update:
- Updated the README for the major release announcement.
12. Miscellaneous:
- Removed
SHA256SUM
function and its tests in favor ofSecureConfig
. - Regenerated gRPC API stubs after updating dependencies.
- Ensured plugin client startup and disposal.
- Checked for the presence and non-nil value of plugin metadata.
- Fixed check for the existence of the
requires
config option in the plugin config.
This release also includes numerous other fixes, improvements, and cleanups.
What's Changed
Full Changelog: v0.6.8...v0.6.9
v0.6.8
This release adds a new plugin
subcommand that can be used to initialize a new plugins configuration file, validate its contents and download and install plugins from GitHub repositories as show below. It also contains dependency updates and tweak to make GatewayD work better and more efficient.
# Generates a new plugins configuration file
$ gatewayd plugin init -p gatewayd_plugins.yaml
# Validates plugins configuration file
$ gatewayd plugin lint -p gatewayd_plugins.yaml
# Downloads and installs the latest version of gatewayd-plugin-cache
# You can also use semver tags with "v" prefix
$ gatewayd plugin install github.com/gatewayd-io/gatewayd-plugin-cache@latest
What's Changed
- Tweaks and updates by @mostafa in #263
- Add
plugin init
command by @mostafa in #268 - Add
plugin lint
command by @mostafa in #269 - Add
plugin install
subcommand by @mostafa in #273
Full Changelog: v0.6.7...v0.6.8
v0.6.7
This release contains two fixes:
- All the default values are moved from
New<feature>
functions to theconfig
package. - The port of the metrics is changed from
2112
to9090
to conform with Prometheus port.
What's Changed
Full Changelog: v0.6.6...v0.6.7
v0.6.6
This release contains many fixes and a new feature: non-default config groups will receive default values for each config object.
What's Changed
- Generate checksum for APT and RPM packages on release by @mostafa in #253
- Default value for non default config groups by @mostafa in #256
Full Changelog: v0.6.5...v0.6.6
v0.6.5
This release contains three changes:
- Update README for the BIG RELEASE, which still needs some polishing.
- APT and RPM packages are built and released from now on for AMD64 and ARM64 platforms.
- The config file location for
gatewayd.yaml
andgatewayd_plugins.yaml
are now read from the current working directory, then the/etc
, and the fallback will be the current working directory. Loading the config is done at a later stage.
What's Changed
- Add a proper README by @mostafa in #120
- Create linux packages by @mostafa in #251
- Choose config file location conditionally by @mostafa in #252
Full Changelog: v0.6.4...v0.6.5
v0.6.4
This release contain a bugfix that resulted in addition of a new policy parameter for determining whether to stop processing hooks when one wants to terminate the request or continue running the rest of the hooks. This also adds a few more validation rules for validating the global config file.
What's Changed
Full Changelog: v0.6.3...v0.6.4
v0.6.3
This release contains a new feature and a few fixes to configuration handling of GatewayD. There is a new subcommand, config
, that can be used to manage GatewayD global configuration file. The config init
will generate or overwrite (using -f
) the global configuration file. The config lint
will validate the global configuration file to find inconsistencies.
What's Changed
Full Changelog: v0.6.2...v0.6.3
v0.6.2
This release contains updates and the fix to a long-standing issue that caused clients to wait indefinitely for reading from the server. The dependencies are also updated to the latest versions.
What's Changed
Full Changelog: v0.6.1...v0.6.2
v0.6.1
In this release, these changes has been made:
- Update all dependencies to their latest versions.
- Fix linter timeout.
- Fix check for the existence of the
requires
in the plugin config. - Check if plugin metadata is present and not
nil
. - Kill the plugin client if it can't be started or dispensed.
- Fix default chunk size.
- Regenerate gRPC API stubs.
- Remove
SHA256SUM
function and its tests in favor of secure config. - Fix CI for testing the go plugin template.
What's Changed
Full Changelog: v0.6.0...v0.6.1
v0.6.0
This release contains these changes:
- Go is updated to 1.20 plus all the dependencies.
- The gRPC and HTTP API ports are changed to 18080 and 19090 respectively.
- Timeouts are added to plugin hooks: previously, hooks could block the main thread indefinitely, thus making GatewayD unresponsive, but now they will time out and return the control back to the GatewayD's main thread. The
timeout
parameter can be adjusted in thegatewayd_plugins.yaml
file.
What's Changed
Full Changelog: v0.5.6...v0.6.0