chore: Release 2025-06-02#2838
Merged
Merged
Conversation
- @endo/base64@1.0.10 - @endo/benchmark@0.1.2 - @endo/bundle-source@4.1.0 - @endo/captp@4.4.6 - @endo/check-bundle@1.0.15 - @endo/cjs-module-analyzer@1.0.10 - @endo/cli@2.3.9 - @endo/common@1.2.11 - @endo/compartment-mapper@1.6.1 - @endo/daemon@2.4.9 - @endo/env-options@1.1.9 - @endo/errors@1.2.11 - @endo/eslint-plugin@2.3.1 - @endo/evasive-transform@2.0.0 - @endo/eventual-send@1.3.2 - @endo/exo@1.5.10 - @endo/far@1.1.12 - @endo/immutable-arraybuffer@1.1.0 - @endo/import-bundle@1.5.0 - @endo/init@1.1.10 - @endo/lockdown@1.0.16 - @endo/lp32@1.1.11 - @endo/marshal@1.7.0 - @endo/memoize@1.1.11 - @endo/module-source@1.3.1 - @endo/nat@5.1.1 - @endo/netstring@1.0.16 - @endo/ocapn@0.2.0 - @endo/panic@0.2.0 - @endo/pass-style@1.6.0 - @endo/patterns@1.6.0 - @endo/promise-kit@1.1.11 - ses@1.13.0 - @endo/ses-ava@1.3.0 - @endo/skel@1.1.11 - @endo/stream@1.2.11 - @endo/stream-node@1.1.11 - @endo/stream-types-test@1.0.16 - @endo/test262-runner@0.1.46 - @endo/trampoline@1.0.4 - @endo/where@1.0.10 - @endo/zip@1.0.10
756f051 to
571b780
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
sesv1.13.0Two new
stackFiltering:options are added'omit-frames'-- Only omit likely uninteresting frames. Keep original paths.'shorten-paths'-- Only shorten paths to text likely clickable in an IDEThis fills out the matrix of what should have been orthogonal options. The existing
'concise'setting both omits likely uninteresting frames and shortens their paths. The existing'verbose'setting does neither.Uses the
@endo/immutable-arraybuffershim to addArrayBuffer.p.immutable,ArrayBuffer.p.transferToImmutable, andArrayBuffer.p.sliceToImmutableto ses, in order to emulate the Immutable ArrayBuffer proposal. These make an ArrayBuffer-like object whose contents cannot be mutated. However, due to limitations of the shimArrayBufferandSharedArrayBufferthis shim's ArrayBuffer-like object cannot be transfered or cloned between JS threads.ArrayBufferandSharedArrayBuffer, this shim's ArrayBuffer-like object cannot be used as the backing store of TypeArrays or DataViews.structuredCloneorArray.prototype.transfer. Node <= 16 and provides neither, causing the shim to fail to initialize, and therefore SES to fail to initialize on such platforms.structuredClone,transfer, private fields, and evenclasssyntax. This requires other coping strategies. See feat(immutable-arraybuffer): sliceToImmutable Hermes ponyfill and shim #2785transferToImmutableproposal is implemented by the platform, the current code will still replace it with the shim implementation, in accord with shim best practices. See feat(ses): ArrayBuffer.p.transferToImmutable #2311 (comment) . It will require a later manual step to delete the shim or have it avoid overriting a platform implementation, after manual analysis of the compat implications.The evalTaming option
'safe-eval'now can only throw errorSES_DIRECT_EVAL. This allows SES to initialize with'unsafe-eval'or'no-eval'on hosts with no direct eval available such as Hermes for a successful lockdown that tolerates it's language features.The module name
ses/hermescan now be required to calllockdownandrepairIntrinsicsonly,Compartmentis not yet available.It is currently compatible with Hermes v0.12.0, we plan to support v0.13.0 then subsequent Hermes tags or side-by-side versions built for React Native depending on ecosystem usage and official support, then Static Hermes when released.
Also
ses/hermescan now be hooked into bundlers such as Metro to run Hardened JS.@endo/compartment-mapperv1.6.1devflag formapNodeModules()is no longer deprecated. The concept of a "condition" (conditional exports) is disinct from the flag's original meaning (instructsmapNodeModules()to considerdevDependencieswhen graphing packages). Users who have switched to using adevelopmentcondition fordev's purpose are encouraged to switch back to using thedevflag instead. In a future release, the presence of adevelopmentcondition will no longer mimic an enableddevflag and will only be considered when evaluating conditional exports.@endo/evasive-transformv2.0.0sourceTypeoption is now restricted toscriptandmoduleonly. Function signature types have changed to be more precise.@endo/bundle-sourcev4.1.0'endoZipBase64'moduleFormat now utilizes theimportHookoption to exit dependencies whose specifiers return a truthy value.@endo/import-bundlev1.5.0'endoZipBase64'moduleFormat now utilizes theimportHookoption.