- Enhancements
- Whenever possible, have error messages that include a PID also include ancestors and one of process label, name, or initial call
- Allow clients to retry when specified
- Remove sensitive options before calling
after_connect
- Enhancements
- Automatically set and read process labels in error reports
- Enhancements
- Allow
unallow_existingas an opt toownership_allow/4 - Improve ETS performance by enabling descentralized counters
- Increase default queue interval to 2000ms
- Allow
-
Enhancements
- Add API for retrieving pool metrics
- Include a built-in listener that emits telemetry events
-
Bug fixes
- Discard EXIT messages from trapped exits
- Enhancements
- Call
disconnecton terminate - Allow
handle_begincallbacks to return query for logging purposes - Add
:connection_listeners_tag - Add
DBConnection.available_connection_options/0 - Add
DBConnection.available_start_options/0
- Call
- Internal changes
- No longer depend on
connection
- No longer depend on
- Bug fixes
- Fix bug where
disconnect_all/2interval would be disabled above 4294ms - Add
:idle_limitto limit the amount of disconnections on a ping
- Fix bug where
- Enhancements
- Add
DBConnection.connection_module/1
- Add
- Enhancements
- Add
DBConnection.disconnect_all/2
- Add
- Enhancements
- Add telemetry events for connection errors
- Use
:randdefault algorithm - Allow decentralized lookups on DBConnection.Ownership
- Enhancements
- Add
:connection_listenerstoDBConnection.start_link/2 - Allow connection
~> 1.0
- Add
This release requires Elixir v1.7+.
- Bug fixes
- Fix deprecation warnings related to the use of
System.stacktrace()
- Fix deprecation warnings related to the use of
- Bug fixes
- Make sure all idle connections in the pool are pinged on each idle interval
- Enhancements
- Remove warnings
- Enhancements
- Add
:idle_timetoDBConnection.LogEntry - Ping all stale connections on idle interval
- Add
crash_reasonto relevant Logger error reports - Ping all stale connections on idle interval. One possible downside of this approach is that we may shut down all connections at once and if there is a request around this time, the response time will be higher. However, this is likely better than the current approach, where we ping only the first one, which means we can have a pool of stale connections. The current behaviour is the same as in v1.0
- Add
-
Enhancements
- Reduce severity in client exits to info
- Improve error message on redirect checkout
-
Bug fixes
- Make sure ownership timeout is respected on automatic checkouts
- Enhancements
- Require Elixir v1.6+
- Include client stacktrace on check out timeouts