Skip to content

Releases: gatewayd-io/gatewayd

v0.6.9

09 Jun 17:45
2c79962
Compare
Choose a tag to compare

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 of gatewayd-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 the config package.

10. Metrics Port Update:

  • Changed the port of metrics from 2112 to 9090 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 of SecureConfig.
  • 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

07 Jun 21:24
bed36d2
Compare
Choose a tag to compare

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

Full Changelog: v0.6.7...v0.6.8

v0.6.7

03 Jun 13:29
d048673
Compare
Choose a tag to compare

This release contains two fixes:

  1. All the default values are moved from New<feature> functions to the config package.
  2. The port of the metrics is changed from 2112 to 9090 to conform with Prometheus port.

What's Changed

Full Changelog: v0.6.6...v0.6.7

v0.6.6

31 May 00:08
020ea01
Compare
Choose a tag to compare

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

28 May 16:39
ee8544b
Compare
Choose a tag to compare

This release contains three changes:

  1. Update README for the BIG RELEASE, which still needs some polishing.
  2. APT and RPM packages are built and released from now on for AMD64 and ARM64 platforms.
  3. The config file location for gatewayd.yaml and gatewayd_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

Full Changelog: v0.6.4...v0.6.5

v0.6.4

23 May 20:49
4eca8f9
Compare
Choose a tag to compare

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

22 May 20:55
3ec8f17
Compare
Choose a tag to compare

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

20 May 21:53
b8491db
Compare
Choose a tag to compare

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

  • Fix receive issue of the client connection by @mostafa in #245

Full Changelog: v0.6.1...v0.6.2

v0.6.1

26 Apr 09:31
f801731
Compare
Choose a tag to compare

In this release, these changes has been made:

  1. Update all dependencies to their latest versions.
  2. Fix linter timeout.
  3. Fix check for the existence of the requires in the plugin config.
  4. Check if plugin metadata is present and not nil.
  5. Kill the plugin client if it can't be started or dispensed.
  6. Fix default chunk size.
  7. Regenerate gRPC API stubs.
  8. Remove SHA256SUM function and its tests in favor of secure config.
  9. Fix CI for testing the go plugin template.

What's Changed

  • Use secure config for checksum verification by @mostafa in #233

Full Changelog: v0.6.0...v0.6.1

v0.6.0

12 Mar 22:25
ae469dc
Compare
Choose a tag to compare

This release contains these changes:

  1. Go is updated to 1.20 plus all the dependencies.
  2. The gRPC and HTTP API ports are changed to 18080 and 19090 respectively.
  3. 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 the gatewayd_plugins.yaml file.

What's Changed

Full Changelog: v0.5.6...v0.6.0