Bugfix:
- Fixed an Exception due to unsupported
process.TotalProcessorTime
usage (#44).
Improvements:
- Updated dependencies to the latest verison.
- On uncaught exception, store a report in the database rather sending it to API. If the database is not available, try sending a report to the server (#36).
- Added
application.session
,application.version
,backtrace.agent
andbacktrace.version
attributes. - Read
application.version
andversion
attributes only when the assembly is available. - Added support for the
error.type
attribute (#42). - Fixed the problem when the
guid
attribute value was set incorrectly (#43).
Maintenance:
- Removed codeql-analysis action
- Moved testing and building to Github action (#37, #40)
- Added a CICD pipeline for releasing a new version of libraries
- Changed acces modifiers in
BacktraceData
object. With this change,BeforeSend
event allows to changeAnnotations
,ThreadInformation
andSourceCode
property
- Fixed self referenced object serialization errors.
- Fixed nullable attributes -
- Fixed analysing assembly data: EXE is not a .NET EXE - (#29)
- Changed AppDomain exception handler - now Backtrace library will try to store report in database instead of sending report to Backtrace. Because of that we won't block application on unhandled exception event handler.
- Changed AppDomain exception handler - now Backtrace library will try to send report synchronously instead of using async API.
BacktraceDatabase
additional null check in LoadReports method.
- Fixed a problem with missing path to attachments when Backtrace C# client read report from hard drive,
- Fixed a problem with missing minidump files in report attachments
BacktraceData
now allows to edit attachments inBeforeSend
event.
BacktraceCredentials
allows you to passWebProxy
object toProxy
property.BacktraceApi
will use proxy object to createHttpClient
- Deduplication parameters. Now
BacktraceDatabaseSettings
allow you to setup deduplication rules. If you use deduplication types, you can aggregate existing reports and send only one message for all the same reports. BacktraceDatabase
allows you to override default deduplication methods and generate your own hash per diagnostic data,BacktraceResult
now allows you to retrieve exception object ifBaktraceResult
has statusServerError
,- When Backtrace library send diagnostic data to server any exception happend, library will print information about error by using Trace interface.
- If you send exception,
BacktraceReport
will generate stack trace based on exception stack trace. We will no longer include environment stack trace in exception reports, - Unit tests fix - incrementation fix,
BacktraceDatabase
fix forFirstOrDefault
invalid read.
- New
BacktraceCredentials
constructor, - UnhandledThreadException flow
- Removed unused usings,
BacktraceDatabase
conditions with maximum number of records/maximum disk space fix,- Removed invalid tests from
Backtrace.Tests
solution.
BacktraceClient
allows developer to unpackAggregateException
and send only exceptions available inInnerExceptions
property.BacktraceReport
accepts two new properties:Factor
andFingerprint
. These properties allows you to change server side algorithms.BacktraceData
now include informations aboutException
properties. You can check detailedException
properties in Annotations.BacktraceDatabase
doesn't throw exception when developer can't add new record. This situation exists when database was full or database hasn't enough disk space for exceptions.BacktraceResult
can use newStatus
. In case when developer want to unpackAggregateException
andInnerExceptions
property is empty,BacktraceClient
returnBacktraceResult
with statusEmpty
,
- Thread data condition for Unity on .NET Framework 4.5+
- Nullable environment variables fix,
- Fix for invalid database tests that use real minidump files,
- Fix nullable GetEnvironmentValue results.
BacktraceClient
use reflection to generate better method names for async state machine stack frames,BacktraceReport
allows to disable reflection feature by using additional constructor parameter,BacktraceClient
useBacktraceStackTrace
andBacktraceStackFrame
instead ofDiagnosticStack
.
BacktraceDatabase
useBacktraceRecord
instead ofBacktraceEntry
,BacktraceDatabase
new parameters - size limit and maximum number of record in database,- New information about current assembly in
BacktraceReport
attributes, - New directory for sample
Backtrace
projects, BacktraceReport
don't use anymoreBacktraceReportBase
. AllBacktraceClient
andBacktraceDatabase
events useBacktraceReport
instead ofBacktraceReportBase
.
- Fixed a invalid type for process.age attribute
- Fixed a double-dispose bug in BacktraceApi
- Attributes dictionary now use an
object
type instead of a generic type for better flexibility, OnClientReportLimitReached
useBacktraceReportBase
instead ofBacktraceReport
,BacktraceResult
storeBacktraceReportBase
instead ofBacktraceReport
.
- Enum is now available as a primitive value in BacktraceAttributes.
- Ignore exception object in BacktraceReport in serialization. Change exception conditions in BacktraceReport.
- Invalid serialization support.
BacktraceDatabase
- offline error report storage and auto re-submission support in the event of network outage and server unavailability,BacktraceClient.Send
now works properly with TLS 1.2 under .NET 4.6+ and .NET Core 2.0. However,BacktraceClient.SendAsync
is strongly recommended whenever possible,- Removed TlsLegacySupport flag in BacktraceClient.
- Fix: A bug where casing of some fields is changed after JSON serialization.
- Improved
async Task
sample applications.
- Fix: Clean Backtrace client’s data storage on startup.
- Error reports now include debug attributes,
BacktraceClient.OnClientReportLimitReached
event handlers will now takeBacktraceReport
as a parameter,- Refactoring of JSON Data code,
- .NET 4.5 example with
async task
usage, - Better stack trace analysis,
- Fix: Reporting unhandled application exceptions now uses
SendAsync
and proper TLS 1.2 support.
- BacktraceClient now supports an asynchronously
SendAsync
method that works withasync task
, - For .NET Framework 4.5 and .NET Standard 2.0,
BacktraceClient
now streams file attachment content directly from disk viaSendAsync
method, AfterSend
event parameter changed. NowAfterSend
event requireBacktraceResult
parameter, notBacktraceReport
,Send
andSendAsync
method now returnsBacktraceResult
with information about report state,OnServerResponse
now requireBacktraceResult
as a parameter.
- First release.