-
Add a null check for
Severity
to the notify override method. #214 -
Created Serializer interface, allowing for implementation of a custom serializer. #219
-
Updated ScheduleTaskConfiguration configureTask method to properly handle wrapped/proxied objects. #218
- Update
BugsnagImportSelector
to allow major versions that do not have a minor version. fixes issue #211. #213
-
Restore
BugsnagServletContainerInitializer
andBugsnagServletRequestListener
to thecom.bugsnag.servlet
package. These classes are deprecated in favour of the newcom.bugsnag.servlet.javax.
package, but are also compatible (c.b.s.BugsnagServletRequestListener extends c.b.s.javax.BugsnagServletRequestListener
). This fixes issue #195. #199 -
Corrected JVM version requirements for Gradle projects (fixing issue 196) #197
-
Support Spring 6 / Spring Boot 3 #191
-
Bump Jackson from 2.13.3 for critical vulnerability fixes #184
- v3.7.0 of
bugsnag-spring
declares the wrong jdk version as a dependency, meaning it is incompatible with Java < 17. If you are using earlier versions use v3.6.4.
-
Support log messages that use
{}
formatting #178 -
Fix potential hang when resolving DNS hostname #179
-
Bump Jackson from 2.12.5 and JUnit from 4.12 for critical vulnerability fixes #180
- Bump Jackson from 2.9.1 for critical vulnerability fixes #170
- Fix JVM hang when System.exit or bugsnag.close is not called #157
- Prevent potential ConcurrentModificationException when adding callback #149
- Allow a BugsnagAppender to be created from an existing client #147
- Remove use of daemon threads, fixing potential resource leak #143
- Migrate version information to device.runtimeVersions #141
- Swallow Throwables thrown when configuring bugsnag appender #140
-
Migrate non-standard device fields to metaData.device #131
-
Set thread name to aid debugging #138
-
Merge internal checkstyle rules #137
- Remove unnecessary
@Configuration
annotation #130
- Support other methods of configuring a TaskScheduler when setting ErrorHandler on scheduled tasks #126
(Skipped, duplicate of 3.4.0)
- Enhanced support for Spring applications with the new
bugsnag-spring
notifier - The ability to report throwables to Bugsnag with the logback appender
BugsnagAppender
Two artifacts are now available for this platform:
bugsnag-java
- intended for plain Java applicationsbugsnag-spring
- provides enhanced support for Spring applications
It is recommended that you migrate to bugsnag-spring
if you develop a Spring application, as it enhances the quantity and quality of error reports which are sent automatically. Full upgrade instructions can be found here.
No upgrade steps are required for bugsnag-java
in this release.
- Added
BugsnagAppender
that can report throwables from existing log statements to Bugsnag, using logback - [Spring] Automatically report exceptions thrown when processing MVC/REST requests
- [Spring] Automatically report exceptions thrown in scheduled tasks
- [Spring] Added
BugsnagAsyncConfig
class to simplify capture of uncaught exceptions in async tasks - [Spring] Automatically attach request metadata to reports
- [Spring] Automatically attach Spring version information to reports
- [Spring] Automatically track sessions for each MVC request
See UPGRADING for upgrade details and the docs for further information on new functionality.
- Capture trace of error reporting thread and identify with boolean flag #87
-
Add null check when disconnecting HttpUrlConnection #92
-
Make constructors public for SyncHttpDelivery #97
This release introduces automatic tracking of sessions, which by
default are captured for each HTTP request received via the Servlet API. To disable this data collection, call bugsnag.setAutoCaptureSessions(false)
.
If you wish to use a custom strategy for tracking sessions, call bugsnag.startSession()
in the
appropriate place within your application.
Jamie Lynch
#70
Deprecation notice: setEndpoints(String notify, String session)
is now the preferred way to configure custom endpoints,
if you are using Bugsnag On-Premise.
Important: This is a beta release which introduces automatic tracking of sessions, which by
default are captured for each HTTP request received via the Servlet API. To disable this data collection, call bugsnag.setAutoCaptureSessions(false)
.
If you wish to use a custom strategy for tracking sessions, call bugsnag.startSession()
in the
appropriate place within your application.
Jamie Lynch
#70
Deprecation notice: setEndpoints(String notify, String session)
is now the preferred way to configure custom endpoints,
if you are using Bugsnag On-Premise.
- Make preemptive copy of map filtering specified keys Leandro Aparecido #77
- Add setter for overriding error class Jamie Lynch #78
- Update MetaData filtering to handle different versions of Jackson correctly #76
- Remove dependency on Guava
- Update Gradle wrapper
- Cache hostname to avoid excessive thread spawning
- Fixes JDK 7 support by using Android Guava
- Fixes bad artefact packaging caused by bug in gradle
- Allow overriding the context set by the servlet callback #63
- Track difference between handled and unhandled exceptions #59
- Use deprecated method to ensure we don't break with older versions of jackson William Starling #54
- Stop AsyncHttpDelivery from indefinitely blocking exit William Starling #50
- Improve Spring compatibility William Starling #49
Major rewrite/update of the notifier. Changes include:
- Uses Jackson for streaming JSON serialization
- Logs internally using
org.slf4j.Logger
Severity
is now an enum instead of aString
- Request information is automatically collected in Servlet API apps
- JVM runtime, O/S, and locale diagnostics are collected
- The
Client
object has been renamed toBugsnag
- The
Event
object has been renamed toReport
Report
object is now exposed for ease of attaching diagnostics to error reports- Targets Java 1.6
- Callbacks now support Java 8 lambda syntax
- Chaining support added to
Report
methods - Can now add a Callback to
Bugsnag.notify
calls - Can now change the API key on a per-report basis using Callbacks
- Error report delivery is now fully swappable via the
Delivery
interface
See UPGRADING for upgrade details.
This is a major release for the release of the potentially breaking change of sending exception reports asynchronously by default.
- Fix potential
NullPointerException
when passingnull
toBugsnag.notify()
Delisa Mason #38
- Truncate large payloads to avoid Bad Request errors due to size Duncan Hewett #35
- Use TLS by default when connecting to Bugsnag Duncan Hewett #34
This release includes an update to the org.json
dependency.
-
Add configurable connection and read timeouts Lauri Lehtinen #25
- Revert method chaining support in Client
- Add support for sending thread state information with
setSendThreads
- Allow chaining of methods on Client
- Expose
beforeNotify
callback stack to child classes
- Add support for
beforeNotify
callback
- Remove hostname as it causes issues with android
- Prepare 'severity' feature for release
- Expose the ExceptionHandler class to allow removal of auto-notification
- Add hostname to device information
- Included device and app fields. Transmit appState and deviceState.
- Reduced memory usage, allow streaming errors from a file
- Expose the
Configuration
class
- Added support for
setIgnoreClasses
to set which exception classes should not be sent to Bugsnag.
- Fixed compatibility with Java 1.5
- Add metrics tracking
- Allow changing of notifier name/version
- Reduced jar size
- Initial release