Exceptionless.JavaScript 3.0.0 Released

We are excited to announce our latest release,
which not only clears the entire JavaScript client
GitHub backlog but also brings in a whole range of awesome new capabilities!

Our team has been hard at work, and we believe this update will greatly improve
the developer experience while addressing critical issues and enhancing the
overall functionality of our offering. Below are some of the highlights of this
release.

Graceful Termination #

The improved client behavior now ensures a graceful termination when the last
app statement executes, resulting in a significantly better CLI/Lambda
experience for developers.

New Features #

This release includes a plethora of new features and fixes, such as:

  • Support for serializing event data with a maxDepth. As part of this we did a
    lot of work to add a prune implementation
    that handles all cases like circular references, Typed Arrays, Unsupported
    types (E.G., Buffers) and more
  • Improved handling of different promise rejection error types
  • Ignoring errors created by browser extensions
  • Session management improvements

Developer Experience Boost #

We have now made it easier to access all transitive exports
(from @exceptionless/core) in dependent packages. This resolves issues with
browser bundles and @exceptionless/core imports, ultimately enhancing the
developer experience.

Updated Readme for Node –enable-source-maps #

Our readme now includes updated information on Node --enable-source-maps,
ensuring developers have the most up-to-date guidance for using this feature.

Bug Fixes #

We have addressed several bugs in this release, including:

  • Fixing configuration default data not having exclusions applied
  • Preventing timers from firing when the API key isn’t configured
  • Preserving event type if the event has an error
  • Catching and logging storage API call errors

Enhanced Error Handling #

We now use the toError function for jQuery and Angular errors, fixing issues
where the client may have thrown an exception due to an invalid error type.
Additionally, we have added examples for various error browser integrations
(e.g., jQuery).

Breaking Changes #

Our new release targets ES2021 and ESM Node 18 (fetch built-in). This allows
us to reduce the size of our bundles by removing polyfills.

We want to hear from you #

This release reflects our commitment to continuously improving our product and
offering the best possible experience for our users. We encourage you to explore
the new features and enhancements, and as always, we welcome your feedback and
suggestions.

The team at Exceptionless