Skip to content

Releases: exceptionless/Exceptionless.JavaScript

v2.0.0-beta3

15 Jul 13:12
Compare
Choose a tag to compare
v2.0.0-beta3 Pre-release
Pre-release

We have put a ton of work into modernizing the JavaScript client to take advantage of the latest JavaScript features. When we first started writing the JavaScript client we could only target ES3. A lot has changed since then, so we wanted update the client to embrace the future while removing blocking issues that was preventing us from supporting newer technologies such as react native.

New Features

  • Source map support for browsers (@exceptionless/browser npm package) !
  • ECMAScript Modules (ESM) Support. This allows for smaller package sizes via tree shaking and increased support for new environments (e.g., React). This also allowed us to remove side effects and singletons from our codebase that can make it harder to create customized clients.
  • Simplified client startup for ease of use and removed configuration (useSessions(), useReferenceIds()) that could be inferred at runtime.
  • Fully async idiomatic API. We got rid of callbacks and drastically simplified the codebase. This will make it much easier to consume from modern applications.
  • We rewrote our storage and submission implementations to be compatible across many different runtimes by closely aligning with the fetch and local storage APIs.
  • React support via the @exceptionless/react npm package. We've included an example application showing how easy it is to configure.
  • Vue support via the @exceptionless/vue npm package. We've included an example application showing how easy it is to configure.

Development Improvements

  • We've spent quite a bit of time improving the development tool chain to use npm 7 workspaces. This will improve over time but really cuts down on global tooling to work with the client.
  • We added recommended linting rules and enabled TypeScript strict mode. This will reduce the chances of bugs getting into the code base while following best practices.
  • Every commit is now actively tested against multiple operating systems.

Breaking changes

  • Packages are now only hosted on npm (packages will no longer be pushed to bower) and are also available on the GitHub Registry.
  • The exceptionless npm package has been deprecated. We recommend upgrading to the @exceptionless/browser or @exceptionless/node packages respectively.
  • All packages now exclusively target ECMAScript Modules (ESM). This allows for smaller package sizes via tree shaking and increased support for new environments (e.g., React). This may also mean you will need to be using Node 15+ which supports ESM.
  • Please see the documentation for configuring the client as script imports and client initialization code has changed.
  • The client configuration object has been simplified a bit.
    • We've moved services (lastReferenceIdManager, log, storage, queue, submissionClient) into a services property and removed services (environmentInfoCollector, errorParser, moduleCollector, requestInfoCollector) that made more sense as a plugin or were no longer needed.
    • The following items have been removed: submissionAdapter, submissionClient, useSessions(), useReferenceIds(), defaults. The client will automatically handle sessions and reference ids based on usage.
  • We removed the addRequestInfo fluent EventBuilder API function. This was platform specific to node and didn't make sense in most cases. We replaced it with setContextProperty(key, value) which can be used to set data on the EventBuilder context to be consumed in a plugin. If you were using addRequestInfo(req) you should now call setContextProperty(KnownEventDataKeys.RequestInfo, req)

Please take a look at the change log for a full list of the changes.

Feedback

We're listening and we'd love to hear your feedback! Please send us your feedback by clicking on one of the links below!

v2.0.0-beta2

29 Jun 14:08
Compare
Choose a tag to compare
v2.0.0-beta2 Pre-release
Pre-release

We have put a ton of work into modernizing the JavaScript client to take advantage of the latest JavaScript features. When we first started writing the JavaScript client we could only target ES3. A lot has changed since then, so we wanted update the client to embrace the future while removing blocking issues that was preventing us from supporting newer technologies such as react native.

New Features

  • Source map support for browsers (@exceptionless/browser npm package) !
  • ECMAScript Modules (ESM) Support. This allows for smaller package sizes via tree shaking and increased support for new environments (e.g., React). This also allowed us to remove side effects and singletons from our codebase that can make it harder to create customized clients.
  • Simplified client startup for ease of use and removed configuration (useSessions(), useReferenceIds()) that could be inferred at runtime.
  • Fully async idiomatic API. We got rid of callbacks and drastically simplified the codebase. This will make it much easier to consume from modern applications.
  • We rewrote our storage and submission implementations to be compatible across many different runtimes by closely aligning with the fetch and local storage APIs.
  • React support via the @exceptionless/react npm package. We've included an example application showing how easy it is to configure.
  • Vue support via the @exceptionless/vue npm package. We've included an example application showing how easy it is to configure.

Development Improvements

  • We've spent quite a bit of time improving the development tool chain to use npm 7 workspaces. This will improve over time but really cuts down on global tooling to work with the client.
  • We added recommended linting rules and enabled TypeScript strict mode. This will reduce the chances of bugs getting into the code base while following best practices.
  • Every commit is now actively tested against multiple operating systems.

Breaking changes

  • Packages are now only hosted on npm (packages will no longer be pushed to bower) and are also available on the GitHub Registry.
  • The exceptionless npm package has been deprecated. We recommend upgrading to the @exceptionless/browser or @exceptionless/node packages respectively.
  • All packages now exclusively target ECMAScript Modules (ESM). This allows for smaller package sizes via tree shaking and increased support for new environments (e.g., React). This may also mean you will need to be using Node 15+ which supports ESM.
  • Please see the documentation for configuring the client as script imports and client initialization code has changed.
  • The client configuration object has been simplified a bit.
    • We've moved services (lastReferenceIdManager, log, storage, queue, submissionClient) into a services property and removed services (environmentInfoCollector, errorParser, moduleCollector, requestInfoCollector) that made more sense as a plugin or were no longer needed.
    • The following items have been removed: submissionAdapter, submissionClient, useSessions(), useReferenceIds(), defaults. The client will automatically handle sessions and reference ids based on usage.

Please take a look at the change log for a full list of the changes.

Feedback

We're listening and we'd love to hear your feedback! Please send us your feedback by clicking on one of the links below!

v2.0.0-beta1

23 Jun 14:22
Compare
Choose a tag to compare
v2.0.0-beta1 Pre-release
Pre-release

WIP - This is a Beta version of the new JavaScript client. We split the client into multiple packages (monorepo) which has several benefits like smaller packages, support modern environments with esm modules and more. Please give us feedback by commenting on #95 or opening a new issue and referencing #95.

v2.0.0-alpha1

09 Jun 12:10
Compare
Choose a tag to compare
v2.0.0-alpha1 Pre-release
Pre-release

This is a pre release version of the new JavaScript client. We split the client into multiple packages (monorepo) which has several benefits like smaller packages, support modern environments with esm modules and more. Please give us feedback by commenting on #95 or opening a new issue and referencing #95.

v1.6.4

16 Nov 02:07
Compare
Choose a tag to compare

Version 1.6.4 is a maintenance release that fixed bugs with log levels.

Bug Fixes

  • Fixed a bug where network calls could be made and an api key was not set.
  • Fixed several bugs with resolving Log Levels. (#91)

Development Improvements

  • Updated dev tool chain to latest Typescript version and migrated to eslint.
  • Added GitHub .devcontainer support.
  • Run build and unit tests on macOS, Linux and Windows.

Please take a look at the change log for a full list of the changes.

Feedback

We're listening and we'd love to hear your feedback! Please send us your feedback by clicking on one of the links below!

v1.6.3

18 Jun 14:49
Compare
Choose a tag to compare

Version 1.6.3 is a maintenance release that fixed a bug with running npm i (#86.)

Please take a look at the change log for a full list of the changes.

Feedback

We're listening and we'd love to hear your feedback! Please send us your feedback by clicking on one of the links below!

v1.6.2

13 Jun 15:33
Compare
Choose a tag to compare

Version 1.6.2 is a maintenance release that fixed a bug with Universal apps.

Bug Fixes

  • Fixed a bug where Angular would throw Error running plugin 'ModuleInfoPlugin': The "path" argument must be of type string. Received type undefined. (exceptionless/Exceptionless#427).

Please take a look at the change log for a full list of the changes.

Feedback

We're listening and we'd love to hear your feedback! Please send us your feedback by clicking on one of the links below!

v1.6.1

15 Feb 16:11
Compare
Choose a tag to compare

Version 1.6.1 is a maintenance release that fixed a bug with Angular.

Bug Fixes

  • Fixed a bug where Angular would throw TypeError: (void 0) is not a function when running in prod mode (#84).

Please take a look at the change log for a full list of the changes.

Feedback

We're listening and we'd love to hear your feedback! Please send us your feedback by clicking on one of the links below!

v1.6.0

10 May 13:48
Compare
Choose a tag to compare

Version 1.6.0 is a maintenance release that focused on improving GDPR support and fixing bugs.

General Data Protection Regulation

We've added new controls to help meet GDPR requirements. By default the Exceptionless Client will report all available metadata including potential PII data. You can fine tune the collection of information via Data Exclusions or turning off collection completely. Please visit the wiki for detailed information on how to configure the client to meet your requirements.

New Features

  • Added includePrivateInformation includeUserName, includeMachineName, includeIpAddress, includeCookies, includePostData, includeQueryString properties to client.config that give you fine grained data controls to limit what data is sent. Please note some of these properties are already being handled by Data Exclusions.
  • Added includePrivateInformation=false as a valid query string parameter / value when loading the script from a cdn. This allows you to quickly disable collection of extra metadata in your apps.
  • Added ability to configure the client configuration end point via client.config.configServerUrl.

Bug Fixes

  • Fixed a bug where configuration could be retrieved concurrently causing extra requests to be made.
  • Updated logic around Settings management to help prevent any race conditions when updating values.
  • Fixed a bug where configuration would always be updated if there was no server configuration header returned.
  • Fixed a bug where default configuration values wouldn't always be applied to default values (false, 0, etc..).

Please take a look at the change log for a full list of the changes.

Feedback

We're listening and we'd love to hear your feedback! Please send us your feedback by clicking on one of the links below!

v1.5.5

19 Dec 12:37
Compare
Choose a tag to compare

Version 1.5.5 is a maintenance release that fixed a bug with the node client and optimized the default value for submitting heartbeats and retrieving settings.

  • Fixed a bug where the wrong transport protocol could be used when submitting events from node (#79).
  • Optimized the default interval for submitting heartbeats and retrieving settings when idle.

Please take a look at the change log for a full list of the changes.

Feedback

We're listening and we'd love to hear your feedback! Please send us your feedback by clicking on one of the links below!