Skip to content

Releases: resgateio/resgate

Release v1.8.0

03 Jul 19:12
0cab702
Compare
Choose a tag to compare

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

  • #249 WebSocket header authentication
  • #251 Custom response headers
  • #255 Add OpenMetrics exporter

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

06 Jan 10:54
76fddf3
Compare
Choose a tag to compare

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

  • #219 Unsubscribe on delete
  • #222 NATS no responders support

Release v1.7.4

12 Nov 13:16
07aff00
Compare
Choose a tag to compare

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

25 Oct 07:59
b2f15c4
Compare
Choose a tag to compare

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

  • #217 Deadlock on throttled access requests to same resource
  • #215 Resource response with HTTP logs error

Release v1.7.2

12 Oct 12:56
2865843
Compare
Choose a tag to compare

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

11 Oct 14:07
3da6238
Compare
Choose a tag to compare

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

  • #209 Reference throttling
  • #211 Added missing command flags

Release v1.7.0

07 Sep 09:52
9521e6e
Compare
Choose a tag to compare

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

01 Mar 12:37
94251f3
Compare
Choose a tag to compare

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

04 Feb 08:32
0c95d4a
Compare
Choose a tag to compare

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

  • #181 CORS - Sending Access-Control-Allow-Credentials header
  • #183 Improve invalid value error message

Release v1.6.1

11 Sep 06:06
8fb65f9
Compare
Choose a tag to compare

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