- Bug Fixes
- Remove function that disables non-group leader logging (#467)
- Handle :unsampled events in
Sentry.send_test_event
(#474) - Fix dialyzer reporting unmatched_return for Sentry.PlugCapture (#475)
- Use correct
Plug.Parsers
exception module (#482)
-
Enhancements
- Support lists in scrubbing (#442)
- Send Sentry reports on uncaught throws/exits (#447)
-
Bug Fixes
- Deprecate
Sentry.Config.in_app_module_whitelist
in favor ofSentry.Config.in_app_module_allow_list
(#450) - Update outdated
Sentry.Plug
documentation (#452) - Update
Sentry.HTTPClient
documentation (#456)
- Deprecate
- Bug Fixes
- Do not read DSN config at compile time (#441)
-
Enhancements
- Update package & docs configuration (#432)
- Add Plug.Status filter example (#433)
- Support multiple source code root paths in Sentry.Sources (#437)
-
Bug Fixes
- Fix dialyzer reporting unmatched_return for Sentry.PlugCapture (#436)
- Align Sentry event levels with Elixir logging levels (#439)
- Enhancements
- Log error when JSON is unencodable (#429)
- Set logger event level to logger message level (#430)
- Limit breadcrumbs on add_breadcrumb (#431)
- Enhancements
- Add plug parsing errors to list of default excluded params (#414)
- Make Sentry.PlugContext.scrub_map public (#417)
- Allow users to configure maximum number of breadcrumbs (#418)
- Bug Fixes
- Fix documentation for
Sentry.PlugContext
(#410)
- Fix documentation for
- Bug Fixes
- Fix trying to transform erlang error coming from PlugCapture (#406)
- Bug Fixes
- Remove changes that were unintentionally included in build
-
Enhancements
- Cache environment config in application config (#393)
- Allow configuring LoggerBackend to send all messages, not just exceptions (e.g.
Logger.error("I am an error message")
)
-
Bug Fixes
- fix request url port in payloads for HTTPS requests (#391)
-
Breaking Changes
- Change default
included_environments
to only include:prod
by default (#370) - Change default event send type to :none instead of :async (#341)
- Make hackney an optional dependency, and simplify Sentry.HTTPClient behaviour (#400)
- Use Logger.metadata for Sentry.Context, no longer return metadata values on set_* functions, and rename
set_http_context
toset_request_context
(#401) - Move excluded exceptions from Sentry.Plug to Sentry.DefaultEventFilter (#402)
- Remove Sentry.Plug and Sentry.Phoenix.Endpoint in favor of Sentry.PlugContext and Sentry.PlugCapture (#402)
- Remove feedback form rendering and configuration (#402)
- Logger metadata is now specified by key in LoggerBackend instead of enabled/disabled (#403)
- Require Elixir 1.10 and optionally plug_cowboy 2.3 (#403)
Sentry.capture_exception/1
now only accepts exceptions (#403)
- Change default
- Enhancements
- Allow configuring gather feedback form for Sentry.Plug errors (#387)
- Enhancements
- Allow gathering feedback from Sentry.Plug errors (#385)
- Bug Fixes
- Ensure stacktrace is list in LoggerBackend (#380)
- Bug Fixes
- Improve documentation for
Sentry.Client.send_event/2
(#367) - Fix potential Logger deadlock (#372)
- Pass the same exception for NoRouteError in
Sentry.Phoenix.Endpoint
(#376) - Handle new MFA for duplicate Plug errors (#377)
- Update docs to recommend using application environment config for adding
Sentry.LoggerBackend
(#379)
- Improve documentation for
-
Enhancements
- Allow filtering of Events using
before_send_event
(#364)
- Allow filtering of Events using
-
Bug Fixes
- Remove newline from Logger for API error (#351)
- Add docs for Sentry.Context (#352)
- Avoid error duplication for Plug errors (#355)
- Fix issue in Sentry.Sources docs around recompilation (#357)
-
Enhancements
- Option to include
Logger.metadata
inSentry.LoggerBackend
(#338) - Send maximum length of args in stacktrace (#340)
- Fix dialyzer warning when using Sentry.Phoenix.Endpoint (#344)
- Option to include
-
Bug Fixes
- Fix documentation error relating to File.cwd!() (#346)
- Add parens to File.cwd!() in documentation (#347)
- Check that DSN is binary (#348)
- Enhancements
- Allow configuring Sentry log level (#334)
- Bug Fixes
- Strip leading "Elixir." from module name on error type (#330)
- Bug Fixes
- Do not error if you cannot format the remote IP or port (#326)
- Bug Fixes
- Fix issue from using spawn_link stacktrace (#315)
- Relax plug_cowboy versions (#314)
- Bug Fixes
- Fix sending Phoenix.Router.NoRouteError when using Sentry.Phoenix.Endpoint (#309)
- Enhancements
- Remove Poison from applications list (#306)
-
Enhancements
- Implement
Sentry.LoggerBackend
- Implement
-
Breaking Changes
- Replace Poison with configurable JSON library
- Require Elixir 1.7+
- Remove
Sentry.Logger
- Enhancements
- Add deps reporting back (#305 / #301)
- Bug Fixes
- Remove UUID dependency (#298)
- Fix link in documentation (#300)
-
Enhancements
- Add documentation detail around including source code (#287)
- Document fingerprinting (#288)
- Document
Sentry.Context
(#289) - Add CONTRIBUTING.md (#290)
- Document cookie scrubber (#291)
- Document testing with Sentry (#292)
-
Bug Fixes
- Change
report_deps
default value to false to avoid compiler bug (#285) - Limit size of messages (#293)
- Use
elixir_uuid
instead ofuuid
(#295)
- Change
-
Enhancements
- Use the stacktrace passed to Sentry.Event.transform_exception/2 when calling Exception.normalize/3 (#266)
- Reduce Logger noise in HTTP Client (#274)
- Use
Plug.Conn.get_peer_data/1
(#273)
-
Bug Fixes
- Add documentation for capturing arbitrary events (#272)
- Fix typo in README.md (#277)
- Enhancements
- Accept public key DSNs (#263)
- Enhancements
- Allow overriding in Sentry.Plug (#261)
- Implement Sentry.Phoenix.Endpoint to capture errors in Phoenix.Endpoint (#259)
- Bug Fixes
- Fix sending events from remote_console (#262)
- Add filter option to configuration table in README (#255)
- Default to not sending cookies, but allow configuration to send (#254)
- Do not raise on invalid DSN (#218)
- Enhancements
- Elixir 1.6.0 formatted (#246)
- Improve documentation around source code compilation (#242)
- Update typespecs (#249)
- Report errors from :kernel.spawn processes (#251)
- Bug Fixes
- Fix doc typos (#245)
- Remove Sentry.Event compile warning (#248)
- Fix enable_source_code_context configuration (#247)
- Enhancements
- Improve README documentation (#236)
- Fix GenEvent warning (#237, #239)
- Bug Fixes
- Fix error_type reported in Sentry.Plug (#238)
- Enhancements
- Allow string for included_environments by splitting on commas (#234)
- Bug Fixes
- Handle :error when sending test event (#228)
- Enhancements
- Fix tests for differing versions of Erlang/Elixir (#221)
- Bug Fixes
- Fix invalid value for stacktrace via Event rendering layer (#224)
- Enhancements
- Improve Sentry.Logger documentation (#217)
- Bug Fixes
- Handle Plug.Upload during scrubbing (#208)
- Do not check DSN for source_code_path_pattern configuration (#211)
- Fix culprit ambiguity (#214)
- Bug Fixes
- Fix filters and test mix task (#206)
- Enhancements
- Improve README clarity (#202)
See these 5.0.0
to 6.0.0
upgrade instructions to update your existing app.
- Breaking Changes
- Remove use_error_logger configuration (#196)
- enable_source_code_context is no longer required configuration (#201)
- Bug Fixes
- Fix README error (#197)
- Prevent overwriting server_name option (#200)
- Enhancements
- Scrubbing of nested maps (#192)
- Allow Hackney 1.9 and later (#199)
- Bug Fixes
- Fix logger and context usage (#185)
- Backward incompatible changes
- Allow specifying sync/async/none when getting result of sending event (#174)
- Enhancements
- Modules (#182)
- Config from system and DSN (#180)
- App Frames (#177)
- Sampling (#176)
- Post event hook (#175)
- Improve documentation around recompilation for source code context (#171)
- Use better arity logic in stacktraces (#170)
- Allow custom fingerprinting (#160)
- Bug Fixes
- Fix README typo (#159)
- Fix the backoff to really be exponential (#162)
- Enhancements
- Update and improve Travis build matrix (#155)
- Specify behaviour for Sentry HTTP clients (#158)
- Enhancements
- Relax hackney requirements
- Enhancements
- Bump hackney to a version that fixes major bug (#153)
See these 3.0.0
to 4.0.0
upgrade instructions to update your existing app.
- Enhancements
- Bump hackney to a version that isn't retired (#135)
- Improve Logger reporting (#136)
- Accept keyword lists in
Sentry.Context.add_breadcrumb/1
(#139) - Add elements to beginning of breadcrumbs list for performance (#141)
- Close unread hackney responses properly (#149)
- Improve
Sentry.Client
code style (#147) - Fix invalid specs in
Sentry
methods (#146) - Allow setting client at runtime (#150)
- Backward incompatible changes
- Return
:ignored
instead of{:ok, ""}
when event is not sent because environment_name is not in included_environments inSentry.send_event
,Sentry.capture_exception
, orSentry.capture_message
(#146) - Return
:ignored
and log warning instead of returning{:ok, "Sentry: unable to parse exception"}
when unable to parse exception inSentry.send_event
,Sentry.capture_exception
, orSentry.capture_message
(#146) - Return
{:ok, Task}
instead ofTask
when an event is successfully sent withSentry.send_event
,Sentry.capture_exception
, orSentry.capture_message
(#146) - Ignore non-existent route exceptions (#110)
- Sending source code as context when reporting errors (#138)
- Return
- Enhancements
- Add dialyzer support (#128)
- Backward incompatible changes
- Fix default configuration (#124)
- Start and use separate Sentry hackney pool instead of default (#130)
- Return
:error
instead of raising when encoding invalid JSON (#131)
- Enhancements
- Allow setting
hackney_opts
- Add
Sentry.capture_message/1
- Allow reading
:dsn
from System at runtime by configuring as{:system, "ENV_VAR"}
- Allow setting
-
Enhancements
- Allow filtering which exceptions are sent via
Sentry.EventFilter
behaviour - Add
Sentry.Context.set_http_context/1
- Allow filtering which exceptions are sent via
-
Bug Fixes
- Fix usage of deprecated modules
- Fix README documentation
- Fix timestamp parameter format
- Bug Fixes
- Fix regex checking of non-binary values
- Bug Fixes
- Fix compilation error when Plug is not available
-
Enhancements
- Return a task when sending a Sentry event
- Provide default scrubber for request body and headers (
Sentry.Plug.default_body_scrubber
andSentry.Plug.default_header_scrubber
) - Header scrubbing can now be configured with
:header_scrubber
-
Bug Fixes
- Ensure
mix sentry.send_test_event
finishes sending event before ending Mix task
- Ensure
-
Backward incompatible changes
Sentry.capture_exception/1
now returns aTask
instead of{:ok, PID}
- Sentry.Plug
:scrubber
option has been removed in favor of the more descriptive:body_scrubber
option, which defaults to newly addedSentry.Plug.default_scrubber/1
- New option for Sentry.Plug
:header_scrubber
defaults to newly addedSentry.Plug.default_header_scrubber/1
- Request bodies were not previously sent by default. Because of above change, request bodies are now sent by default after being scrubbed by default scrubber. To prevent sending any data,
:body_scrubber
should be set tonil