All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
2.4.1 - 2024-12-24
- Allow
telepoison
2.0 - Bumped minimum elixir version to 1.14
2.4.0 - 2023-09-11
auth0
options list now has an optional:client
property, in case multiple clients have been defined withprima_auth0_ex
- Minimum
prima_auth0_ex
version is now0.6
2.3.0 - 2022-10-25
- options can now be configured through
config
for each single bridge
- base
:endpoint
is not required anymore duringuse BridgeEx.Graphql
2.2.0 - 2022-09-19
- New
:decode_keys
option to determine how JSON keys in GraphQL responses are decoded
2.1.1 - 2022-07-29
- Deprecation: a warning is emitted if global
log_options
config is set. This option was introduced to save some boilerplate when multiple bridges are used in the same app, but it's a footgun for umbrella apps and a bad design pattern for libraries
2.1.0 - 2022-07-07
- New
format_variables
option to format queryvariables
keys as camelCase, as per GraphQL conventions - New
BridgeEx.Graphql.Formatter.SnakeCase
andBridgeEx.Graphql.Formatter.CamelCase
formatters
2.0.0 - 2022-05-19
- Breaking:
BridgeEx.Graphql.Client.call
now accepts anopts :: Keyword.t()
parameter instead of specific options
BridgeEx.Graphql.Client.call
accepts onlyvariables :: map()
once againBridgeEx.Graphql.Client.call
now performsvariables
encoding internally
1.2.0 - 2022-05-16
- New
BridgeEx.Extensions.ExternalResources
module useful to embed external resources with less boilerplate
- Typespec of
BridgeEx.Graphql.Client.call
function is now compatible withencode_variables: true
option
1.1.0 - 2022-03-07
- New
retry_options
tocall
: clients can customize how to handle a call retry (more details here)
- [Breaking] More detailed errors on bad response and http error: instead of returning a string, return an atom with some additional info
- Retries, by default, follow an exponential backoff timing instead of a constant one
- Retry delay starts with 100ms by default,
max_attempts
option is now deprecated in favour ofretry_options
1.0.1 - 2022-03-07
- If
PrimaAuth0Ex
is not loaded aRuntimeError
is raised
prima_auth0_ex
dependency is nowoptional: true
instead ofruntime: false
- Removed global
:auth0_enabled
flag support:prima_auth0_ex
is not "ensured" on start anymore and must be included by the lib user - If audience is not set but auth0 is enabled a
RuntimeError
is now raised instead of aCompileError
- Global log options are fetched with
get_env
instead ofcompile_env
1.0.0 - 2022-02-18
- [Breaking] Return full graphql error objects instead of just a concatenated error message
- Better exdocs
- Support for global log options i.e.
config :bridge_ex, log_options: [...]
- Compile time detection of incorrect auth0 config: if audience is not set but
auth0 is enabled a
CompileError
is raised
0.4.1 - 2022-02-07
- New
log_options
keyword list with options:log_query_on_error
and:log_response_on_error
for better control of what the lib logs on HTTP errors/request errors
0.4.0 - 2022-02-02
- Require
config :bridge_ex, :auth0_enabled
to be set in order to use auth0 authentication
- Removed
http_
prefix from header option
- Fixed handling of custom headers
- Support authenticating calls via Auth0 through
auth0_ex
- Fixed typo in bridge for
max_attempts
configuration.
- Added package publication on hex.pm
- Initial implementation of
bridge_ex