Releases: bugsnag/bugsnag-cocoa
v6.1.5
v6.1.4
Bug fixes
-
Copy the metadata observer list rather than mutating it directly.
796 -
Reorganized the project file
793 -
Removed some magic values and used the const string references instead.
#792 -
Added BSGJSONSerializer, which ensures no exceptions get thrown (NSErrors get returned instead)
791 -
Guard against non-string metadata map keys
#790 -
Quiet some Analyzer false positives
#789 -
Avoid crash reporting OOMs if nil provided as codeBundleId
#784
v6.1.3
Bug fixes
-
Persist user when set on client
#770 -
Avoid sharing global crash context when recording thread information for handled errors
#766 -
Respect bundle version set from config
#762 -
(React Native) Call react native observer with initial user/context values
#768 -
(React Native) Populate app/device metadata fields for RN errors
#763
v5.23.5
v6.1.2
v6.1.1
v6.1.0
v5.23.4
Bug Fixes
The following bug fixes have been applied to the v5 branch to provide a patch
for users who have not yet upgraded to v6:
v6.0.1
v6.0.0
This version contains many breaking changes. It is part of an effort to unify our notifier
libraries across platforms, making the user interface more consistent, and implementations better
on multi-layered environments where multiple Bugsnag libraries need to work together
(such as React Native).
Please see the upgrade guide for details of all the changes and instructions on
how to upgrade.
Enhancements
-
Allow starting Bugsnag from PList
#676 -
The comparison of redacted keys is now case-insensitive
#653 -
Unified the three main XCode projects
#633 -
Alter default session background timeout to 30s
#581 -
Support loading configuration from values in
Info.plist
.
#582 -
Add
unhandledRejections
toBugsnagErrorTypes
#567 -
Rename
Bugsnag
start methods
#566 -
Rename
OnSend
toOnSendError
#562 -
Add
onCrashHandler
data toBugsnagEvent
metadata
#564 -
Rename
BugsnagUser
properties
#560 -
Make
BugsnagOnErrorBlock
returnBOOL
rather thanvoid
#555 -
Make
BugsnagPlugin
takeBugsnagClient
as param
#558 -
Make user editable on
BugsnagEvent
#557 -
Add getter for
Bugsnag.context
#554 -
Make
BugsnagUser
properties readonly
#556 -
Add
sendThreads
property toBugsnagConfiguration
#549 -
Hide additional methods from public API
#552 -
Move
codeBundleId
from configuration to non-public client property
#548 -
Add structured app/device fields to
BugsnagSession
#546 -
Add
redactedKeys
for removing sensitive values from metadata
#540 -
Move endpoint configuration to class
#542 -
Make all callbacks return boolean values
#534 -
Add
originalError
property toBugsnagEvent
#541 -
Remove
attachCustomStacktrace
from public API
#547 -
Create structured
BugsnagError
class
#533 -
Create structured
BugsnagThread
class
#532 -
Convert
event.device
fromNSDictionary
to a structured class
#526 -
Create structured
BugsnagStackframe
class
#528 -
Convert
event.app
fromNSDictionary
to a structured class
#520
#600 -
Make
BugsnagClient
a public interface
#517 -
Remove unused APIs from
Bugsnag
interface
#514 -
Enforce that
config.maxBreadcrumbs
must be between 0-100
#511 -
Add unhandled property to
BugsnagEvent
#512 -
Rename
notifyReleaseStages
toenabledReleaseStages
#509 -
Remove unused APIs from
BugsnagSession
interface
#506 -
Rename setUser/user interface on
Bugsnag
andBugsnagConfiguration
#505 -
Rename
config.notifierType
toconfig.appType
#504 -
Remove unused APIs on
BugsnagEvent
interface
#498 -
Allow addition/removal of
OnBreadcrumb
callbacks
#508 -
Remove unused APIs from
BugsnagMetadata
interface
#501 -
Remove unused APIs from
BugsnagConfiguration
interface
#496 -
Remove unused APIs from
BugsnagBreadcrumb
interface
#502 -
Remove notify method variants from public api on
Bugsnag
#497 -
Remove
leaveBreadcrumbWithBlock
from public api onBugsnag
#491 -
BugsnagNotifier
is nowBugsnagClient
#480 -
Remove
setSuspendThreadsForUserReported
,setReportWhenDebuggerIsAttached
,setThreadTracingEnabled
,setWriteBinaryImagesForUserReported
from public API.
#468 -
Fixes typo in
BSG_KSCDeleteOnSuccess
enumeration
#317 -
Add a breadcrumb when Bugsnag first starts with the message "Bugsnag loaded"
#445 -
BugsnagMetaData
is nowBugsnagMetadata
, including the configuration and event fields
#450 -
BugsnagCrashReport
is nowBugsnagEvent
#449 -
Add a configuration option to filter breadcrumbs by type. Use
config.enabledBreadcrumbTypes
to enable or disable particular types of
breadcrumbs from being captured.
#476 -
Added a designated initializer to
BugsnagConfiguration
and removed functionality
from the default convenienceinit()
to ensure thatapiKey
has a value set. TheapiKey
must now be a correctly formatted one to be accepted.- Swift:
BugsnagConfiguration(_ apiKey)
- Objective C:
[[BugsnagConfiguration alloc] initWithApiKey:]
- Swift:
-
Support editing breadcrumbs within an Event as objects. Breadcrumbs can now be
inspected and modified from callbacks, for example:Bugsnag.notifyError(error) { event in event.breadcrumbs?.forEach({ crumb in if crumb.message == "something specific" { crumb.message = "[redacted]" } }) }
-
Bugsnag.addAttribute:value:tab:
is nowBugsnag.addMetadataToSection:key:value:
#454 -
[Bugsnag clearTab:]
is now[Bugsnag clearMetadataInSection:]
(Swift:Bugsnag.clearMetadata(section:)
)
#457 -
Renamed callback functions in the Configuration class:
beforeSendBlocks
is nowonSendBlocks
(add usingconfig.add(onSend: { ... })
)beforeSendSessionBlocks
is nowonSessionBlocks
(add usingconfig.add(onSession: { ... })
)
-
Added
[Bugsnag clearMetadataInSection:withKey:]
(Swift:Bugsnag.clearMetadata(section:key:)
)
#462 -
Added
Bugsnag.getMetadata(_ section)
. The behaviour is: calling with a valid section
name will return the metadata for that section if it exists, ornil
if it does not exist. Other,
similar functionality (e.g.BugsnagConfiguration.getTab()
has been renamed and
had usage aligned with this change.
#459 -
Added
Bugsnag.getMetadata(_ section: key:)
#463 -
Add a per-Event
apiKey
property. This defaults to the global
BugsnagConfiguration
value but can be overridden in event passed to the
Bugsnag.notify()
callback.
#458 -
Added
Bugsnag.context
, replicating theBugsnagConfiguration
property. This is
mutable and may be changed at any point. Changes are propagated to theBugsnagConfiguration
property.
#466 -
Bugsnag.stopSession()
is nowBugsnag.pauseSession()
. This renaming has
also been applied to theBugsnagNotifier
andBugsnagSessionTracker
classes.
#464 -
Add a breadcrumb when network connectivity changes
#448 -
Breadcrumbs now take a
message
parameter that can now be arbitrarily long. This simplifies breadcrumb
creation usingBugsnag.leaveBreadcrumb(string)
so that the value is
prominently displayed and is not truncated.
#433 -
Add metadata accessor methods to
BugsnagEvent
...