Skip to content

Releases: bigcommerce/gruf

2.20.0

24 Apr 19:15
Compare
Choose a tag to compare
  • [#190] Remove unsued e2mmap and thwait gems from runtime_dependency.
  • [#194] Add interceptor to reload Rails app code accross requests
  • [#209] Removes manual establish_connection and active connection check for each request from Gruf::Interceptors::ActiveRecord::ConnectionReset.

2.19.0

05 Feb 16:23
Compare
Choose a tag to compare
  • [#197] Add support for Ruby 3.3
  • Drop support for Ruby 2.x

2.18.0

29 Nov 16:18
Compare
Choose a tag to compare
  • Add GRUF_USE_DEFAULT_INTERCEPTORS ENV to dynamically enable/disable default interceptors
  • Allow passing of request object directly into call

2.17.0

20 Jan 20:54
Compare
Choose a tag to compare
  • [#179] Add Ruby 3.2 support
  • [#178] Introduce read-write lock for code reloading; cover controller class resolution with code reloading.
  • [#180] Support multiple databases connection reset in Gruf::Interceptors::ActiveRecord::ConnectionReset.

2.16.2

21 Nov 21:51
Compare
Choose a tag to compare
  • [#175] Fix code reload thread-safety. Calls to Zeitwerk::Loader#setup are now made in a thread-safe manner in development

2.16.1

17 Aug 21:23
Compare
Choose a tag to compare
  • Fix issue where default gRPC health check was loaded even if unused or not desired; now only loaded when requested

2.16.0

14 Aug 20:17
Compare
Choose a tag to compare
  • Add opt-in ability to serve the official gRPC health check
    automatically via health_check_enabled configuration option (or GRUF_HEALTH_CHECK_ENABLED environment
    variable).
  • Add health_check_hook configuration option to implement a custom response for the above gRPC built-in health check
  • [#156] Allow passing a specific list of services to run via the gruf binstub
  • [#163] Add context hash attribute to Gruf::Controllers::Request to allow interceptors to pass information down
    to a gruf controller
  • Drop Ruby 2.6 support (EOL'ed on March 31st, 2022)

2.15.1

08 Jul 21:52
Compare
Choose a tag to compare
  • Fix issue where GRPC_SERVER_POOL_KEEP_ALIVE and GRPC_SERVER_POLL_PERIOD when set via ENV are not cast to int

2.15.0

30 Jun 16:08
Compare
Choose a tag to compare

NOTE: This changes the way that gruf controllers are autoloaded. See UPGRADING.md for more details.

  • Autoload Gruf Controllers with zeitwerk, allowing for code reloading in development environments
  • Add GRUF_CONTROLLERS_PATH ENV to allow ENV-based runtime configuration of path to gruf controller files
  • Move ServiceBinder from instance to static class for performance improvements
  • Use zeitwerk for autoloading
  • Update gem metadata
  • Update Gruf:Configuration#environment to use ENV.fetch

2.14.1

14 Apr 01:06
Compare
Choose a tag to compare
  • Fix issue where the server object hits thread contention in certain race conditions