Skip to content

Releases: gatewayd-io/gatewayd

v0.10.0

09 Nov 12:22
7f47dca
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.9.10...v0.10.0

v0.9.10

15 Oct 22:07
37fec61
Compare
Choose a tag to compare

This release marks the culmination of the v0.9.x milestone, packed with significant new features, fixes, and enhancements that have made GatewayD more robust, stable, and scalable. Key highlights include the introduction of the policy engine, aka. the Act system, in v0.9.0, the plugin scaffold feature in v0.9.5, and the load balancing feature in v0.9.7, among many others.

Over the course of this milestone, we merged 89 squashed commits into the main branch, resolved 30 issues, reviewed numerous PRs and published 11 releases — thanks to the perseverance and contributions of our amazing community. None of this would have been possible without their dedication.

Looking ahead, there's even more in store, and we invite you to get involved. Whether you're a user or a tester, your participation is crucial. If you're ready to contribute, @mostafa is here to support you every step of the way.

Full Changelog: v0.9.9...v0.9.10

v0.9.9

11 Oct 10:43
33ca9b1
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.9.8...v0.9.9

v0.9.8

29 Sep 18:49
9ec6b54
Compare
Choose a tag to compare

This release introduces several key enhancements and fixes. A significant improvement is the integration of PostgreSQL test containers for seamless integration testing, replacing hardcoded addresses with dynamic test container addresses. This ensures a consistent test environment across various packages such as api, cmd, and network, and centralizes the setup in a reusable function. Additionally, dependency updates were made, including the latest GatewayD SDK, and the gomoddirectives linter was disabled to streamline development. The plugin configuration was updated to utilize the cache plugin version 0.4.0. A major bug has been fixed that improved handling of PostgreSQL's COPY command, as explained here, plus other bugfixes and improvements.

This wouldn't be possible without @sinadarbouy's contributions. 🙏

What's Changed

Full Changelog: v0.9.7...v0.9.8

v0.9.7

10 Sep 10:04
4510a51
Compare
Choose a tag to compare

This release contain a major change, where each tenant can now connect to multiple databases, contrary to the previous one-tenant-one-database approach, and use server load balancing strategies to distribute the load among these databases. Random, round robin and weighted RR strategies with consistent hashing are supported, thanks to @sinadarbouy and @eabasir for their contributions.

What's Changed

New Contributors

Full Changelog: v0.9.6...v0.9.7

v0.9.6

03 Jun 22:23
f70e428
Compare
Choose a tag to compare

In this release of GatewayD, several updates and fixes have been made. Support for queueing asynchronous actions in the background was added (thanks to @Hamsajj 🙏). This feature allows the output of policy evaluation by Act to be published to a Pub/Sub queue on Redis and plugin and external consumers can consume and run arbitrary actions based on that.

Provenance attestation and SBOM features were added, along with an Alpine update. Setup issues were resolved. The REDIS_URL environment variable can be used to setup the cache plugin. The policy input has been enriched to include plugin parameters and its result for better policy evaluation. Dependencies were updated, including a bump of grpc-gateway to version 2.20.0. The Dockerfile linting was added to the CI workflow.

Additionally, an issue with IP address binding that prevented external access to the containers from the host machine was fixed (thanks to @sinadarbouy 🙏).

What's Changed

New Contributors

Full Changelog: v0.9.5...v0.9.6

v0.9.5

17 May 11:51
29aa557
Compare
Choose a tag to compare

This release contains a lot of improvements to the overall reliability and stability of GatewayD and a very nice feature contributed by @zeina1i (thank you 🙏). This release also has two first-time contributors: @ChrisD-Git and @smnmna99, which we are really grateful for (thank you🙏).

  • Plugin scaffolding feature: Previously the plugin template for Go was the go-to method for developing new plugins for GatewayD. @zeina1i integrated the template into the GatewayD CLI, so that you can create a new plugin scaffold and be able to test it in one place using the following command.

    $ gatewayd plugin scaffold -h
    Scaffold a plugin and store the files into a directory
    
    Usage:
      gatewayd plugin scaffold [flags]
    
    Flags:
      -h, --help                help for scaffold
      -i, --input-file string   Plugin scaffold input file (default "input.yaml")
      -o, --output-dir string   Output directory for the scaffold (default "./plugins")

    An example input file is as follows. Note that the repository name defines the plugin name.

    remote_url: https://github.com/gatewayd/test-gatewayd-plugin
    version: 0.1.0
    description: This is test plugin
    license: MIT
    authors:
      - Author 1 <[email protected]>

    For more information, please refer to the updated Plugin Developers' Guide in the docs.

  • New security policy: @ChrisD-Git contributed the security policy and guidelines, which should be followed when reporting vulnerabilities.

  • @smnmna99 added OpenTelemetry tracing to the API, which means that almost everything in GatewayD can now be traced using OTLP gRPC.

What's Changed

New Contributors

Full Changelog: v0.9.4...v0.9.5

v0.9.4

10 Apr 11:59
53d39ba
Compare
Choose a tag to compare

This is a maintenance release and it contains a lot of fixes and improvements to linting, dependency updates, build process and fixes for issues found during code inspection. The last piece of the puzzle is contributed by @likecodingloveproblems (thank you! 🙏) in #503, where he went through all the code and updated the signature of all the constructor function to receive structs, instead of individual parameters. This helps ensure code quality is on par with the latest best practices in Go ecosystem.

What's Changed

New Contributors

Full Changelog: v0.9.3...v0.9.4

v0.9.3

15 Mar 10:11
e88df0a
Compare
Choose a tag to compare

This release introduces several updates and improvements, marking a collaborative effort among multiple contributors. Key changes in this release include:

  1. Action timeout: @Hamsajj introduced a timeout for running actions, which helps in preventing actions from hanging indefinitely. This improvement contributes to the reliability of GatewayD by ensuring that actions complete in a timely manner or terminate if they exceed the specified timeout period. There are two timeouts: Act registry timeout and action timeout. Individual actions can override the registry timeout.
  2. Graceful shutdown for gRPC and HTTP servers: implemented by @zeina1i, this feature introduces a graceful shutdown process for both gRPC and HTTP servers, ensuring that servers terminate their processes smoothly without abrupt interruptions, thereby preventing potential data loss or corruption and also smooth cleaning up of the resources.
  3. Markdown generation for gatewayd command: this enhancement allows for automatic generation of markdown docs from command help texts.
  4. HTTP server bugfixes: this update fixes errors within the HTTP server, enhancing stability and reliability for end-users.
  5. Dependency updates: the dependency updates ensure GatewayD stays compatible with other packages and secure from vulnerabilities found in older versions of dependencies.

The release is a good example of the collaborative effort of the community, thanks to @Hamsajj and @zeina1i for their contributions.

What's Changed

New Contributors

Full Changelog: v0.9.2...v0.9.3

v0.9.2

08 Mar 10:41
88b9d30
Compare
Choose a tag to compare

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 the setup.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

Full Changelog: v0.9.1...v0.9.2