Releases: resgateio/resgate
Release v1.8.0
Go Version
- 1.22.4
RES Protocol Version
- 1.2.3
Release info
This release fixes one bug and adds three new features, apart from generally updating dependencies, Go build versions, and CI workflows, as well as improving test coverage. While the Resgate project has been on ice for a while, it is being actively used by its maintainer in various projects, and will keep getting new updates.
Metrics
We can now get metrics in the OpenMetrics format which may be scraped by systems like Prometheus, by simply setting the metrics port:
resgate --metricsport=8090
The metrics can then be accessed at: http://localhost:8090/metrics
WebSocket header authentication
It is now also possible to set an authentication method for WebSocket connections, that will be called when a WebSocket connection request is received, prior to the connection being established.
resgate --wsheaderauth=authservice.jwtauth
This is similar to --headauth
except it is only for WebSocket connections, and allows seamless authentication of the WebSocket connection using HTTP headers. If both HTTP requests and WebSocket connections uses header authentication, both --headauth
and --wsheadauth
should be set. They may use the same authentication method.
Custom response headers with meta object
Service responses to auth, access, and call requests may now contain meta information such as HTTP status code or HTTP response headers. This allows us to set cookies on WebSocket or HTTP requests, or even to respond with redirects to HTTP requests.
For more information, see: RES Service Protocol - Meta object
Referenced resources not found in client cache
The bug that has been fixed caused Resgate in some specific cases to wrongfully exclude recently unsubscribed resources in its response to the client, causing the client to throw errors because the resource was not found in the client's cache. For more info, see #241 .
Issues
Features
Improvements
- #243 Update javascript example dependencies
- #245 GitHub actions for CI
- #253 Remove Travis
- #247 Update docker to use go v1.22.4
- #257 Increase test coverage
- #260 Update go mod version
Fixes
- #241 Referenced resource not included in response if unsubscribed while getting ready
Contributors
Thanks to the contributors from VoIPGRID, (especially @lmendes86) providing code used as reference for the metrics feature, and the CI workflow updates.
Release v1.7.5
Go Version
- 1.17.0
RES Protocol Version
- 1.2.2
Release info
This release enhances Resgate by letting it utilize the header support introduced in NATS server v2.2, allowing it to instantly respond to clients with system.notFound
when no services are listening on a requested subject.
Improvements
Release v1.7.4
Go Version
- 1.17.0
RES Protocol Version
- 1.2.2
Release info
This release addresses a bug where Resgate could silently drop incoming NATS messages during heavy load bursts. It provides a new "bufferSize"
configuration property, and increases its default value from 256 to 8192.
Fixes
- #220 Slow consumer error not handled
Release v1.7.3
Go Version
- 1.17.0
RES Protocol Version
- 1.2.2
Release info
This release fixes a bug where Resgate could freeze on a system reset event affecting resource access, while having the resetThrottle
option value > 0.
Fixes
Release v1.7.2
Go Version
- 1.17.0
RES Protocol Version
- 1.2.2
Release info
This release fixes a bug where Resgate could crash on a system reset event while having the resetThrottle
option value > 0. If using reset throttling, it is highly recommended to upgrade Resgate to this version.
Fixes
- #214 Throttle: negative running counter
Release v1.7.1
Go Version
- 1.17.0
RES Protocol Version
- 1.2.2
Release info
This release adds the option to throttle how many requests are sent when recursively following resource references for a subscription, to prevent flooding slower services with requests.
Features & improvements
Release v1.7.0
Go Version
- 1.17.0
RES Protocol Version
- 1.2.2
Release info
This release introduces the new system token reset event that makes it easy to update or clear a client's token at any time, without the need to track connections.
Other requested features included in the release is NATS TLS and Root CAs support, and the throttling of requests on system reset events, to prevent flooding slower services on restarts.
Features & improvements
- #177 NATS TLS and Root CA support
- #187 Throttling reset requests
- #202 Token ID and system token reset event
- #203 Updated to Go 1.17.0
Fixes
- #194 Possible client resource inconsistency
Release v1.6.3
Go Version
- 1.14.4
RES Protocol Version
- 1.2.1
Release info
Fixes a vulnerability where a long resource ID or method name (for call or auth requests) requested by a client would cause the NATS subject to exceed the maximum control line size, which in turn would disconnect Resgate from NATS. It would also would cause Resgate to fail to shut down properly.
This issue also affected HTTP requests with long URLs.
Fixes
- #185 - Maximum control line size validation
Release v1.6.2
Go Version
- 1.14.4
RES Protocol Version
- 1.2.1
Release info
Fixes an issue where Resgate using headerAuth configuration didn't send the Access-Control-Allow-Credentials header in the response to HTTP requests.
Fixes
Release v1.6.1
Go Version
- 1.14.4
RES Protocol Version
- 1.2.1
Release info
Fixes an issue where Resgate didn't set the Access-Control-Allow-Headers header in response to CORS preflight requests.
Fixes
- #171 CORS - allowing Content-Type on headers