Skip to content

Latest commit

 

History

History
1119 lines (808 loc) · 79.1 KB

File metadata and controls

1119 lines (808 loc) · 79.1 KB

Changelog

Unreleased

Dependencies

1.2.0

Features

  • Add screenshot capturing for ensure/assert events on Android (#1097)
  • Add level-specific logging methods (LogDebug, LogInfo, LogWarning, LogError, LogFatal) to match other Sentry SDKs (#1110)
  • Migrated debug symbol upload to unified Python-based implementation to improve stability (#1114)

Fixes

  • Fix screenshot capture after Sentry disabled on Mac (#1101)
  • Fix SDK initialization and packaging issues in plugin version from FAB (#1108)
  • Added missing platform includes (#1106)

Dependencies

1.2.0-beta.1

Features

  • Implement structured logging for Unreal (all platforms) (#1091)

Fixes

  • Prevent usage of internal UE logger during crash handling (#1081)
  • Crash when printing to logs from multiple threads on Android (#1092)

Dependencies

1.1.1

Features

  • Add support for automatic event linking with spans/transactions (#1075)

Dependencies

1.1.0

Features

  • Add GPU and device contexts for all platforms if valid (#1067)

Fixes

  • Packaging errors in Unreal Engine 5.4 and 5.5 caused by a missing SWIFT_PACKAGE define when targeting Mac and iOS (#1063)
  • Crash when attaching game log file to captured event on Android (#1066)

Dependencies

1.0.0

After several months of work we're finally shipping the Sentry SDK for Unreal Engine version 1.0.0. If you are upgrading from a version 0.x, please refer to the migration guide on our docs.

This release also includes compatibility with plugin extensions for PlayStation, Xbox and Nintendo Switch. Access to the source code of these console extensions require components that exist in private GitHub repositories. Invites are sent to licensed developers after a middleware verification. Please follow the steps on our docs.

Note that the diff from the latest experimental release 0.22.0 and this 1.0.0 release include several alpha and beta releases. We have not combined all of them in this header but instead, left each incremental change in their own version below.

If you're migrating from 0.22.0 and want to read through all the changes, we recommend starting from ## 1.0.0-alpha.1 below.

In case you encounter any issues, please create a ticket on our GitHub repository.

Breaking Changes

  • User feedback API reworked:
    • Feedback no longer needs to be associated with a specific event - the only required parameter is the user message
    • SentryUserFeedback class replaced with SentryFeedback
    • CaptureUserFeedback function in SentrySubsystem replaced with CaptureFeedback
    • CreateSentryUserFeedback function in SentryLibrary replaced with CreateSentryFeedback
  • On Windows and Linux, ToString function of SentryId class now returns the ID without dashes
  • StartTransactionWithContextAndOptions function in SentrySubsystem now accepts FSentryTransactionOptions struct instead of string map
  • GetCustomSamplingContext function in SentrySamplingContext now returns TMap<FString, FSentryVariant> instead of string map

Features

  • Add functionality to give/revoke user consent for crash uploads (#1053)
  • Add new API for capturing user feedback (#1051)
  • Add Traces sampling function support for Windows and Linux (#1057)
  • Read DSN, Environment and Release options from environment variables (#1054)

Dependencies

1.0.0-beta.8

Fixes

  • No more build warnings in platform extensions caused by deprecated Native SDK API usages

Dependencies

1.0.0-beta.7

Fixes

  • The FAB plugin version no longer opts out of Crashpad handler configuration (#1028)
  • The FAB version of the plugin builds successfully on Android and iOS (#1027)

1.0.0-beta.6

Fixes

  • No more warnings about missing GPU crash dump attachment when capturing non-GPU events (#1022)

Dependencies

1.0.0-beta.5

Breaking Changes

  • On mobile platforms, the default traces sampler will no longer be created automatically if one is not explicitly configured in the plugin settings (General -> Performance Monitoring).
  • If upgrading from a version prior to 0.9.0 legacy settings DsnUrl, EnableVerboseLogging and EnableStackTrace will no longer be read from the project configuration file automatically. Instead, you must re-set them in plugin settings to adopt the new format.

Fixes

  • Avoid irrelevant screenshot being attached to captured crash event (#1019)

Dependencies

1.0.0-beta.4

Breaking Changes

  • "Value" suffix has been removed from the get/set function names for tags and extras in SentryScope.
  • Type of input parameters in certain public API functions was changed from FString to FSentryVariant:
    • Get/Set functions for contexts and extras in SentryScope
    • Get/Set functions for arbitrary data in SentryBreadcrumb
    • Get/Set functions for arbitrary data in SentryTransaction and SentrySpan
    • AddBreadcrumbWithParams and SentContext functions in SentrySubsystem
    • CreateSentryBreadcrumb function in SentryLibrary

Features

  • Adopt generic variant type in public APIs (#971)
  • Add runtime attachments support for Windows/Linux (#982)

Dependencies

1.0.0-beta.3

Breaking Changes

  • Environment and Dist get/set functions were removed from the Scope class and now these properties have to be set in plugin settings instead. This unifies their usage across all platforms supported by the Unreal SDK.
  • ConfigureScope function was removed from SentrySubsystem class following the Hub & Scope refactoring guidelines which recommend deprecating this API.
  • Initialize function was removed from SamplingContext class which is supposed to be created internally by the SDK.

Features

  • Add native local scope for Windows/Linux (#928)
  • Add option to delay app shutdown until Crashpad completes crash report upload (#953)
  • Add API allowing to get/set event's tag, context and extra properties (#940)

Fixes

  • Sampling context, span and transaction classes are no longer re-defined when packaging for Android (#959)

Dependencies

1.0.0-beta.2

Features

  • Add API allowing to get/set event fingerprint (#920)
  • The image buffer is now allocated on the heap to prevent stack overflow during screenshot capture on Windows (#900)

Dependencies

1.0.0-beta.1

Fixes

  • Windows default crash handling mechanism is no longer disabled if SDK initialization failed (#901)

Dependencies

1.0.0-alpha.6

Features

  • Add screenshot capturing for Mac/iOS (#849)

Fixes

  • Fix warnings caused by deprecated Cocoa SDK API usages (#868)
  • Fix invalid log file being attached to crash events on Mac/iOS (#873)
  • Fix Sentry cURL transport can't send envelopes on Linux (#882)
  • The SDK now ensures the execute permission is set for Sentry CLI and symbol upload script when they have been downloaded via the Editor (#881)

Dependencies

1.0.0-alpha.5

Breaking Changes

  • Replace USentryId class with FString (#857)

Features

  • Allow Sentry CLI to authenticate via environment variables during debug symbols upload (#836)
  • Added the ability to specify a separate DSN for crashes while in editor vs cooked title (#853)
  • Add callback to pre-process breadcrumbs before adding (#814)
  • Add sentry.properties file content validation during debug symbol upload (#862)

Fixes

  • Fix crash during garbage collection if SentryId was instantiated outside of game thread (#857)
  • Fix ensure when log message from non-game thread (#845)

Dependencies

1.0.0-alpha.4

Features

  • Add support of fast-fail crash capturing (#828)

Internal

  • Rename error output device, add development checks for pointers, and general clean-up (#831)

Dependencies

1.0.0-alpha.3

Breaking Changes

  • Remove EnableTargetPlatforms from plugin settings (#809)
  • Remove Native SDK build from source in Unreal (#808)

Fixes

  • Captured screenshots are now displayed correctly on the issues details (#813)

Dependencies

1.0.0-alpha.2

Dependencies

Internal

  • Update includes and returns in HAL to correctly support platform extensions (#806)

1.0.0-alpha.1

Breaking Changes

  • Sentry entities created with NewObject<T> now require an explicit call to the Initialize method before use (#745)
  • In Blueprints, Sentry entities must be created using the corresponding library functions (#796)
  • The utility functions StringToBytesArray, ByteArrayToString, and SaveStringToFile have been removed (#796)
  • The plugin setting EnableBuildPlatforms now uses a string array instead of a struct (#779)

Features

  • Build the plugin through the Unreal Engine build system (#706)
  • Remove custom transport implementation for Linux (#748)
  • Add getter for the event's Id (#768)
  • Determine user's IP address automatically on Win/Linux only if PII attachment enabled in settings (#769)
  • Rearrange upload script to check earlier for automatic upload (#794)

Fixes

  • Fix incorrect game log attachment on Android (#743)
  • Fix assertion during screenshot capturing in a thread that can't use Slate (#756)
  • Due to improvements to the server-side grouping logic, the SDK no longer relies on client side manipulation of the callstack for assertions and ensures. (#744)
  • Fix invalid native method name for Android User class (#800)
  • Fix stack overflow when calling beforeSend during object post-loading on mobile (#782)
  • Fix invalid syntax in symbol upload batch script (#801)

Dependencies

Internal

  • Refactor code to better align with Unreal's structure (#745)
  • Initial cleanup for plugin extensions (#779)

0.22.0

Features

  • Add API allowing to start/finish transactions and spans with explicit timings (#715)
  • Add GPU crash dump attachments (#712)

Fixes

  • Fix macOS/iOS build errors due to missing NS_SWIFT_SENDABLE macro definition (#721)

Dependencies

0.21.1

Fixes

  • Fix compatibility issues with UE 5.5 (#684)
  • Fix crash on Android when starting/ending session manually (#696)
  • Fix incorrect mime-type for file attachments (#701)

Dependencies

0.21.0

Features

  • Assertions now print their callstack a log file (#637)
  • Add LinuxArm64 support for UE plugin (#672)
  • Add UE 4.27, 5.0 and 5.1 to CI pipeline (#675)

Fixes

  • Fix issue with MaxBreadcrumbs setting is not respected on desktop (#688)

Dependencies

0.20.1

Fixes

  • Fix Sentry initialization on Amazon Linux (#657)
  • Fix build errors in UE 4.27 (#660)

Dependencies

0.20.0

Features

  • Added an option that allows users to switch between the project and user directory for the internal Sentry database location on Windows/Linux (#616)
  • User messages now support non-ASCII characters (#624)
  • The SDK now brings Android Gradle Plugin v4.11.0 (upgraded from v2.1.5) (#633)
  • Added a new API to allow users to continue a trace. This allows users to trace their distributed system and connect in-game with backend errors (#631)
  • The SDK now allow overriding UploadSymbolsAutomatically via environment variable SENTRY_UPLOAD_SYMBOLS_AUTOMATICALLY (#636)

Fixes

  • Fix intermittent errors during plugin initialization on macOS/iOS (#618)

Dependencies

0.19.1

Fixes

  • Missing includes errors should no longer pass over CI checks (#606)

Dependencies

0.19.0

Breaking Changes

  • Rename public OnError delegate field in FSentryOutputDeviceError class to OnAssert

Features

  • On Windows/Linux the SDK can now automatically attach a screenshot to crash events(#582)
  • Add API allowing to check if captured event is ANR error (#581)

Fixes

  • The SDK no longer intercepts assertions when using crash-reporter (#586)
  • Fix calling beforeSend handler during post-loading (#589)
  • Fix crash when re-initializing Sentry (#594)

Dependencies

0.18.0

Features

  • Sentry-CLI now shares the diagnostic level set in the UE Editor settings (#555)
  • Fix threading issues capturing log messages as breadcrumbs (#559)

Fixes

  • The SDK now correctly captures and groups Assertions (#537)
  • Add path strings escaping for debug symbol upload script (#561)
  • Fix crashes not being reported during garbage collection (#566)
  • The SDK now uploads debug symbols properly with the Android File Server plugin enabled in UE 5.0 and newer (#568)

Dependencies

0.17.1

Fixes

  • Fix misssing include in non-unity builds (#554)

Dependencies

0.17.0

Features

  • Add user feedback capturing support for desktop (#521)
  • Add breadcrumbs automatically when printing to logs (#522)
  • Add proper log verbosity type for internal sentry-native messages (#536)
  • Add ability to check if sentry should be initialised to prevent unnecessary warnings (#544)

Fixes

  • The SDK no longer prints symbol uploading related warnings when disabled (#528)
  • Fixed an issue when parsing the config file during symbol upload (#541)

Dependencies

0.16.0

Features

  • Add performance monitoring API (#470)
  • Add traces sampler function config for Android/Apple (#488)
  • Add IsCrashedLastRun allowing to check whether the app crashed during its last run (#483)
  • Improved crash capture backend handling based on package version (GitHub or Marketplace) (#479)

Fixes

  • Fix Linux intermediates paths in FilterPlugin.ini (#468)
  • Fix casing for include of HAL/PlatformFileManager for Linux compilation (#468)
  • The message in events in the SentryBeforeSendHandler are no longer missing their message (#510)

Dependencies

0.15.1

Fixes

  • Fix Android build errors regarding IScope in SentryBridgeJava (#464)

0.15.0

Breaking Changes

  • Change USentrySubsystem base class to UEngineSubsystem in order to capture editor crashes (#436)
    If you make use of plugin's blueprint API, you will need to recreate Get Sentry Subsystem nodes
    If you make use of plugin's C++ API, you will need to update your implementation by accessing USentrySubsystem via GEngine pointer

Fixes

  • Fix issue with invalidating breadcrumbs during event capturing on Win/Linux (#445)
  • Fix build errors when cross-compiling for Linux on Windows with UE Marketplace plugin version (#453)
  • Fix build errors on Mac when using UE Marketplace plugin version (#451)

Dependencies

0.14.0

Features

  • Switch to using static libs on Windows (#433)

Dependencies

0.13.0

Features

  • Switch to using static libs on Linux (#424)

Fixes

  • Fix invalid breadcrumbs level for Win/Linux (#426)
  • Fix build errors in UE4 (#428)
  • Fix iOS build errors (#429)

0.12.1

Fixes

  • Fix missing plugin binaries in the UE Marketplace package (#423)

Dependencies

0.12.0

Fixes

  • Fix issue with overwriting __sentry attribute in crash context object (#401)
  • Fix event level being always overwritten by the current scope's level on Win/Linux (#412)
  • Fix stack corruption during crash capturing within on_crash hook handler on Linux (#410)
  • Move crash properties set as Extra to a separate Sentry context (#413)

Dependencies

0.11.0

Fixes

  • Fix issue with missing Sentry.framework in iOS app bundle UE 5.3 (#390)
  • Fix dependencies loading for desktop (#393)
  • Fix array/map Json string check to avoid unnecessary error messages in logs (#394)
  • Fix conditional debug symbols uploading (#399)
  • Fix compilation errors in UE 4.27 (#398)

Dependencies

0.10.0

Features

  • Add symbol upload scripts downloading tool (#385)
  • Add support of two plugin versions for GitHub/Marketplace(#387)

Fixes

  • Fix errors caused by Cpp20 adoption in UE 5.3 (#377)

Dependencies

0.9.0

Features

  • Add HTTP proxy for desktop (#322)
  • Add scope support for Windows/Linux (#328)
  • Add extra crash context for native integration (#342)
  • Add missing plugin settings (#335)
  • Update event context categories for desktop (#356)
  • Add sentry-cli downloading tool (#362)
  • Add breakpad support for Windows (#363)
  • Add Options for enabling platforms & Promoted Builds via the GUI (#360)

Fixes

  • Fix Linux Compile/Staging Error (#327)
  • Fix UE 5.3 compatibility issues (#348)
  • Fix plugin settings names (#350)
  • Fix plugin build errors when sentry-native is disabled on Win/Linux (#359)

Dependencies

0.8.0

Features

  • Add API allowing to set custom handler for beforeSend hook (#318)
  • Refactor initialization logic for Android (#319)

Fixes

  • Fix automatic game log attachment (Android) (#309)

Dependencies

0.7.0

Features

  • Add stack trace attachment for regular events (#301)
  • Add custom transport for Linux (#297)

Fixes

  • Unify release name for all supported platforms (#294)
  • Update plugin initialization logic (#299)

Dependencies

0.6.0

Features

  • Add plugin settings allowing to disable event capturing for certain build configurations/targets (#273)
  • Add release health monitoring feature (#270)
  • Add UE 5.2 support for CI (#280)

Fixes

  • Fix Android release name inititalization (#274)
  • Update dependencies loading mechanism (#287)
  • Fix issue with script execution policy for debug symbols uploading on Windows (#290)

Dependencies

0.5.0

Features

  • Add script for building plugin dependencies locally (#252)

Features

  • Update Android layer implementation (#246)

Fixes

  • Fix snapshot update script (#253)
  • Fix debug symbol uploading scripts (#261)

Dependencies

0.4.0

Features

  • Added the option to automatically attach the game log to captured events (#225)

Dependencies

0.3.0

Features

  • Add automatic crash capturing for Windows (UE 5.1+) (#175)
  • Add extra event context params and and tags promotion (#183)
  • Add automatic crash capturing for Mac (#190)
  • Add environment property to plugin settings (#204)
  • Add native sources upload toggle to plugin settings (#217)

Fixes

  • Fix Linux debug symbols upload when cross-compiling on Windows (#196)
  • Fix crashpad staging issue (#211)
  • Fix subsystem deinitialization (#218)

Dependencies

0.2.0

Features

  • Add debug symbols upload settings (#94)
  • Add conversion to FString for SentryId (#161)
  • Add editor menu for automatic CRC configuration (#152)

Fixes

  • Packaged plugin EngineVersion should include .0 patch version (#101)
  • Plugin packaging issues on Windows (#110)
  • Sentry libs linking for desktop (#114)
  • Fix sentry-cocoa SDK name (#118)
  • Fix scoped event/message capturing on Android (#116)
  • Fix event capturing on Linux (#123)
  • Fix incomplete type forward declaration (#125)
  • Fix Android packaging issue (#133)

Dependencies

0.1.1

  • Internal re-release of v0.1.0 to resolve release CI issues.

0.1.0

Features

  • Add debug symbols upload (#45, #59)

Dependencies

0.0.1

First release