-
-
Notifications
You must be signed in to change notification settings - Fork 142
Upgrading
Please read this guide when upgrading from any version of Exceptionless. Upgrading is meant to be an easy process. Most users will just have to upgrade the NuGet package.
If you run into any issues after upgrading the NuGet packages please take a look at the sections below.
- Ensure you have the latest version of the NuGet Package manager installed.
- If you are using Visual Studio 2012/2013 version 2.12+ is required.
- If you are using Visual Studio 2015 than version 3.5+ is required.
- Open the NuGet Package Manager dialog.
- Click on the
Updates
tab. - Select the Exceptionless platform specific NuGet package (Ex.
Exceptionless.Web
) and click theUpdate
button. - For more information please see the official NuGet documentation.
Please read this guide when upgrading from Exceptionless 3.x. The Exceptionless latest client has a few breaking changes from 3.x client that users should be aware of when upgrading. Please follow the guide below after upgrading your NuGet packages from version 3.x to the latest version.
- The
Exceptionless.Portable
package andExceptionless.Extras
assembly was merged into theExceptionless
package.- The
ExceptionlessClient.Default.Register()
method has been removed as the functionality was merged intoExceptionlessClient.Default.Startup()
method. - As a result the ConfigurationSection type was moved into the exceptionless assembly
Exceptionless
. The NuGet package will automatically handle updating app.config and web.config configuration sections with the new assembly full name.
- The
Please read this guide when upgrading from Exceptionless 2.x. The Exceptionless latest client has a few breaking changes from 2.x client that users should be aware of when upgrading. Please follow the guide below after upgrading your NuGet packages from version 2.x to the latest version.
The following changes affect a very small portion of users.
Renamed Enrichments to Plugins. The following changes will need to be made if you were using enrichments:
-
IEventEnrichment
has been renamed toIEventPlugin
-
IEventPlugin.Enrich(context, event)
signature has been changed toIEventPlugin.Run(context)
. The event has been moved to the context -
client.Configuration.AddEnrichment<IEventEnrichment>();
has been renamed toclient.Configuration.AddPlugin<IEventPlugin>();
-
EventPluginContext.Data
property has been renamed toEventPluginContext.ContextData
-
EventSubmittingEventArgs.EnrichmentContextData
property has been renamed toEventSubmittingEventArgs.PluginContextData
Please read this guide when upgrading from Exceptionless 1.x. The Exceptionless latest client has a few breaking changes from 1.x client that users should be aware of when upgrading. Please follow the guide below after upgrading your NuGet packages from version 1.x to the latest version.
If you require a strong named NuGet package please remove the existing NuGet package and install the signed NuGet version. Example: Remove Exceptionless
NuGet package and install the Exceptionless.Signed
NuGet package.
ExceptionlessClient.Current.GetLastErrorId()
has been renamed to ExceptionlessClient.Default.GetLastReferenceId()
. NOTE: To have a reference id automatically generated, you must call ExceptionlessClient.Default.Configuration.UseReferenceIds()
The following changes affect a very small portion of users.
-
client.Create(Exception)
has been renamed toclient.CreateEvent()
. -
client.CreateError(Exception)
has been renamed toclient.CreateException(Exception)
. NOTE: This now submits the exception. -
client.SubmitError(Error)
has been renamed toclient.SubmitEvent(Event)
. -
client.SubmitError(Exception)
andclient.Submit(Exception)
has been renamed toclient.SubmitException(Exception)
. -
client.ProcessUnhandledException(Exception)
has been renamed toclient.SubmitUnhandledException(Exception)
. -
client.SubmitPatch(string id, object patch)
has been removed. -
client.SuspendProcessing()
has been moved toclient.Configuration.Resolver.GetEventQueue().SuspendProcessing()
. -
client.UpdateConfiguration()
has been moved toExceptionless.Configuration.SettingsManager.UpdateSettings(client.Configuration)
.
ExceptionlessClient.Current
has been deprecated and replaced with ExceptionlessClient.Default
.
The following changes affect a very small portion of users.
-
ErrorBuilder
has been renamed toEventBuilder
. -
client.Tags
has been moved toclient.Configuration.DefaultTags
. -
IExceptionlessPlugin
has been replaced withIEventPlugin
. NOTE: Plugins can be registered viaclient.Configuration.AddPlugin<IEventPlugin>();
-
client.Configuration["MySetting"]
has been moved toclient.Configuration.Settings["MySetting"]
.
1event EventHandler UnhandledExceptionReporting1 has been removed and replaced with 1event EventHandler SubmittingEvent1. You’ll need to wire up to 1SubmittingEvent1 and check the 1IsUnhandledError1 property.
The following changes affect a very small portion of users.
-
event EventHandler<SendErrorCompletedEventArgs> SendErrorCompleted
has been removed. To get notified of when an event has been submitted you must implement a customISubmissionClient
and register it with the dependency resolver (Ex.client.Configuration.Resolver.Register<ISubmissionClient, SubmissionClient>()
). -
event EventHandler<RequestSendingEventArgs> RequestSending
has been removed. To override how an event is sent you must implement a customISubmissionClient
and register it with the dependency resolver (Ex.client.Configuration.Resolver.Register<ISubmissionClient, SubmissionClient>()
).
ExceptionlessClient.Default.SubmittingEvent += OnSubmittingEvent;
...
private static void OnSubmittingEvent(object sender, EventSubmittingEventArgs e) {
if (!e.IsUnhandledError)
return;
if (e.Event.Message == "Important Exception")
e.Event.Tags.Add("Important");
}
-
QueuePath
has been renamed toStoragePath
-
ExceptionlessAttribute(string serverUrl, string apiKey, ...)
signature has been changed toExceptionlessAttribute(string apiKey)
- The
ExceptionlessAttribute
attribute must be in the entry or calling assembly or it won’t be picked up. To have it be picked up from a different location, you need to pass in the assembly as shown below.
[assembly: Exceptionless("YOUR_API_KEY_HERE", ServerUrl = "...", StoragePath = "|DataDirectory|\Queue")]
...
// You must specify the assembly where the attribute is defined only if it's not defined in the entry or calling assembly.
ExceptionlessClient.Default.Configuration.ReadFromAttributes(typeof(Program).Assembly);
These changes will be automatically upgraded by our NuGet installer.
-
queuePath
has been renamed tostoragePath
-
extendedData
has been renamed todata
. - The
exceptionless
configuration section has been moved into theExceptionless
assembly. NOTE: Xml configuration is not available if you are only using the PCL client.
<configSections>
<section name="exceptionless" type="Exceptionless.ExceptionlessSection, Exceptionless"/>
</configSections>
<exceptionless apiKey="YOUR_API_KEY_HERE" storagePath="|DataDirectory|\Queue">
<data>
<add name="SimpleValueFromConfig" value="Exceptionless"/>
</data>
</exceptionless>
The api end point the client reports to has been changed from https://collector.exceptionless.com
to https://collector.exceptionless.io
. Please note that https://collector.exceptionless.com
will continue to work.
Looking for General Exceptionless Documentation, UI Documentation, or Documentation for another Client?
Visit the Primary Exceptionless Documentation Page and go from there.