Releases: gatewayd-io/gatewayd-plugin-cache
Release list
v0.1.4
Since the query parsing functions can be reused in other plugins, I moved it to the SDK.
What's Changed
Full Changelog: v0.1.3...v0.1.4
v0.1.3
This release contains two fixes:
- The errors are now returned back to the calling function, thus not swallowed.
- The Redis
KEYScommand is refactored and replaced with theSCANcommand to prevent server hiccups on too many keys.
What's Changed
Full Changelog: v0.1.2...v0.1.3
v0.1.2
This release completes supports for different type of statements that can be detected by the cache plugin to invalidate the cached data. And here is the list of supported statement, as of this release:
- DML: SELECT, INSERT, UPDATE and DELETE
- Multi-statements: UNION, INTERSECT and EXCEPT
- DDL: TRUNCATE, DROP and ALTER
- WITH clause
- Multiple queries (delimited by semicolon)
What's Changed
Full Changelog: v0.1.1...v0.1.2
v0.1.1
In this release I removed gocache and completely replaced it with go-redis.
What's Changed
Full Changelog: v0.1.0...v0.1.1
v0.1.0
v0.0.16
This is the first release of the series to come for the gatewayd-plugin-cache. It also marks the end of the v0.0.x milestone and contains most of the basic functionality proposed in the 001 - Cache proposal. This release contains these features:
- Basic caching functionality for detecting SQL SELECT clause in the request and caching the response returned by the database server (PostgreSQL). #1
- Support for configuring TTL for cached keys. #2
- Detection of simple and nested SQL DMLs, inserts, updates and deletes, to invalidate the cache, while supporting WITH, JOIN, UNION, INTERSECT and EXCEPT. #3
- Periodic cache invalidation for invalidating stale client keys. #4
- Support for multiple databases on a single database server, with the ability to detect which clients are connected to which server and database by reading the startup message. #9 #27
- Fallback to single server single database when the startup message cannot be decoded. #12
- Ability to configure Redis with Redis URL:
redis://user:pass@server/0. #13 - Add tests and the test and release workflow. #20 #21 #22
- More efficient cache invalidation. #30
Currently the plugin is only released for Linux on amd64 and arm64 architectures, and macOS will be added later (#39).
I'd be happy to have your feedback and contributions. And please report issues if you find any.
Full Changelog: v0.0.15...v0.0.16