const [error] = useErrorBoundary();
-
The
error
wrapping that was introduced in v2 has been removed.error
will now be the error that was caught without any wrapping for thrown primitives. The types have been updated tounknown
to reflect that thrown JavaScript errors may be any type not just instances ofError
. -
withErrorBoundary
now propagates the wrapped component display name for improved debugging with React dev tools. It will display asWithErrorBoundary(${Component.displayName})
.
Publish CommonJS and ESM.
const [error] = useErrorBoundary();
error
is now the error that was caught or undefined
if nothing errored. Previously error
was a boolean value. Providing access to the error rather
than a boolean makes it more ergonomic to render UI in response to the caught error. Special thanks to @davwheat for the contribution.
If something other than an instance of Error
is thrown, it will be wrapped in an Error
object by calling new Error()
on the thrown value. A warning will log when this occurs: while you may throw any value in JavaScript, you should only throw instances of Error. This ensures a stack trace is collected is that all errors conform to a unified interface. This wrapping may be removed in a future v3 release of this library.
Internal: remove unnecessary files when publishing to npm registry.
Internal: fix CI publishes.
No API changes. This library will now follow semantic versioning.