v1.13.0
What's Changed
-
Bundle size reductions, especially for browsers
Under
browsermodule resolution target, we rely on browsers to have a working UTF-8 / UTF-16 / windows-1252 (latin1 subset)TextDecoderimplementation that doesn't have bugs when used without streaming and withignoreBOM: true, and aTextEncoderWhile browsers have bugs even in UTF-8, those bugs are related to streams and/or BOM processing, and that specific combination we use seems to be always robust.
In previous versions we already used native codepaths for those where possible and operated under the same assumption.
-
Disable hex/base64 performance optimization for Firefox >=133 <146
We used a guarded useragent check for those versions to prefer js fallback instead of native base64 / hex implementations, as native was slow before FF 146 (ref: https://bugzilla.mozilla.org/show_bug.cgi?id=1994067 and linked issues)
As the usage of FF <146 diminished according to caniuse stats, this check is not worth it anymore.
This version removes that useragent check.
Those Firefox versions are still supported by the library, but now the native base64 / hex implementation is always used when available.
See 8cab29a for implementation details.
Full Changelog: v1.12.0...v1.13.0