- use json gem 2.8+ instead of oj
- drop ruby 3.1 support
- pass context.headers to the http reponse
- make ruby 3.1 as a minimum ruby version, add ruby 3.3 support
- add
request_epilogue
so actions likeActiveRecord::Base.connection_handler.clear_active_connections!
can be passed manually - ruby 3.1 is the minimal ruby version
- use
ActiveRecord::Base.connection_handler.clear_active_connections!
instead of ActiveRecord::Base.clear_active_connections!`, which is deprecated
- Add X-Http-Status-Code to every response, so clients can recognize graphql errors w/o parsing gql response.
- allow running on rack 2.x, so it can work with apps having sinatra installed (sinatra doesn't support rack 3.x)
- support rack 3.x and graphql 2.x
- change log level to info
- Test against ruby 3.1
- Drop graphql 1.x support
- Add ability to provide app run on root path
- Drop ruby 2.x support (3.0.0 is a minimal version)
- Add ability to skip setting up health endpoint on root path with
health_on_root_path
option.
- Fix uninitialized
Timeout
error. The issue was fixed in https://github.com/rmosolgo/graphql-ruby/commit/56abba472dbb48a1f8445d41f928bea72b5148e9, but new version has not yet been relased.
- Add ability to re-raise exception (
re_raise_exceptions
option)
- respond with http status
400
when UTF null byte is passed as a part of the input
- make
log_exception_backtrace
false by default and allow to be controlled byRACK_GRAPHQL_LOG_EXCEPTION_BACKTRACE
env var
- Use
http_status
fromExecutionError
for http response
-
Add
error_status_code_map
option toRackGraphql::Application
.error_status_code_map
allows for return custom http code when specific errors are raised.
- Rename
source_app
toapp_name
in error payload.
- Add
source_app
to error payload.
- Add
log_exception_backtrace
option toRackGraphql::Application
- Catch all exceptions raised by the app respond with 500 status codea and json content type
- Add ability to not log exception backtrace with
RackGraphql.log_exception_backtrace = false