Releases: endojs/endo
Endo Familiar, Alpha, RC0
This is a first cut of the Endo Familiar, a user agent for safely sharing capabilities with the agents of other users.
ses@1.15.0
Minor Changes
-
#2895
1834932Thanks @gibson042! - - Addsassert.makeErrorand deprecatesassert.erroras an alias, matching
the API already exported from@endo/errors.- Before this version, the
assertleft in global scope beforelockdown
would redact errors and would be replaced bylockdownwith a version that
did not redact errors if the caller opted-in witherrorTaming
set to one of theunsafevariants.
After this version, the reverse is true: theassertleft in global scope
beforelockdowndoes not redact.
Then,lockdownreplacesassertwith a redactingassertunless the
caller opted-out witherrorTamingset to one of theunsafevariants.
- Before this version, the
-
#3008
a29ecd4Thanks @kriskowal! - -lockdownandrepairIntrinsicsnow detect when code has already called a
hardenimported from@endo/hardenbefore lockdown, and fail with a clear
error about hardened modules executing before lockdown.- Adds
Object[Symbol.for('harden')]as a variant ofglobalThis.hardenthat
cannot be overridden by an endowment namedhardenin compartments.
- Adds
@endo/zip@1.1.0
Minor Changes
- #3008
d83b1abThanks @kriskowal! - - Relaxes dependence on a global, post-lockdownhardenfunction by taking a
dependency on the new@endo/hardenpackage.
Consequently, bundles will now entrain ahardenimplementation that is
superfluous if the bundled program is guaranteed to run in a post-lockdown
HardenedJS environment.
To compensate, usebundle-sourcewith-C hardenedor the analogous feature
for packaging conditions with your preferred bundler tool.
This will hollow out@endo/hardenand defer exclusively to the global
harden.
@endo/test262-runner@0.1.49
@endo/stream@1.3.0
Minor Changes
- #3008
d83b1abThanks @kriskowal! - - Relaxes dependence on a global, post-lockdownhardenfunction by taking a
dependency on the new@endo/hardenpackage.
Consequently, bundles will now entrain ahardenimplementation that is
superfluous if the bundled program is guaranteed to run in a post-lockdown
HardenedJS environment.
To compensate, usebundle-sourcewith-C hardenedor the analogous feature
for packaging conditions with your preferred bundler tool.
This will hollow out@endo/hardenand defer exclusively to the global
harden.
Patch Changes
@endo/stream-node@1.2.0
Minor Changes
- #3008
d83b1abThanks @kriskowal! - - Relaxes dependence on a global, post-lockdownhardenfunction by taking a
dependency on the new@endo/hardenpackage.
Consequently, bundles will now entrain ahardenimplementation that is
superfluous if the bundled program is guaranteed to run in a post-lockdown
HardenedJS environment.
To compensate, usebundle-sourcewith-C hardenedor the analogous feature
for packaging conditions with your preferred bundler tool.
This will hollow out@endo/hardenand defer exclusively to the global
harden.
Patch Changes
@endo/ses-ava@1.4.0
Minor Changes
- #2987
e914ed8Thanks @kriskowal! - - Introduces ases-avacommand for running tests with multiple AVA configurations.- Adds an
@endo/ses-ava/test.jsmodule for getting atestfunction
appropriate for your configuration. - Adds an
@endo/ses-ava/prepare-endo-config.jsmodule suitable for use in the
requireclause of an AVA configuration, such that@endo/ses-ava/test.js
exports a wrapped SES-AVAtestfunction.
- Adds an
Patch Changes
@endo/promise-kit@1.2.0
Minor Changes
- #3008
d83b1abThanks @kriskowal! - - Relaxes dependence on a global, post-lockdownhardenfunction by taking a
dependency on the new@endo/hardenpackage.
Consequently, bundles will now entrain ahardenimplementation that is
superfluous if the bundled program is guaranteed to run in a post-lockdown
HardenedJS environment.
To compensate, usebundle-sourcewith-C hardenedor the analogous feature
for packaging conditions with your preferred bundler tool.
This will hollow out@endo/hardenand defer exclusively to the global
harden.
Patch Changes
@endo/patterns@1.8.0
Minor Changes
-
#2953
e71faf4Thanks @erights! -@endo/patternsnow exports a newgetNamedMethodGuards(interfaceGuard)that returns that interface guard's record of method guards. The motivation is to support interface inheritance expressed by patterns likeconst I2 = M.interface('I2', { ...getNamedMethodGuards(I1), doMore: M.call().returns(M.any()), });
See
@endo/exo'sexo-wobbly-point.test.jsto see it in action together with an experiment in class inheritance. -
#3008
d83b1abThanks @kriskowal! - - Relaxes dependence on a global, post-lockdownhardenfunction by taking a
dependency on the new@endo/hardenpackage.
Consequently, bundles will now entrain ahardenimplementation that is
superfluous if the bundled program is guaranteed to run in a post-lockdown
HardenedJS environment.
To compensate, usebundle-sourcewith-C hardenedor the analogous feature
for packaging conditions with your preferred bundler tool.
This will hollow out@endo/hardenand defer exclusively to the global
harden.
Patch Changes
-
#2955
52104f6Thanks @rekmarks! - Thesloppyoption for@endo/patternsinterface guards is deprecated. UsedefaultGuardsinstead. -
#3065
c488503Thanks @gibson042! - -containerHasSplitnow hardens its output(s) when working with copyArrays,
ensuring that each output is itself a copyArray instance. -
Updated dependencies [
2e00276,029dcc4,2e00276,d83b1ab,98f77e9]:- @endo/errors@1.3.0
- @endo/harden@1.1.0
- @endo/common@1.3.0
- @endo/eventual-send@1.4.0
- @endo/marshal@1.9.0
- @endo/pass-style@1.7.0
- @endo/promise-kit@1.2.0
@endo/pass-style@1.7.0
Minor Changes
-
#3008
d83b1abThanks @kriskowal! - - Relaxes dependence on a global, post-lockdownhardenfunction by taking a
dependency on the new@endo/hardenpackage.
Consequently, bundles will now entrain ahardenimplementation that is
superfluous if the bundled program is guaranteed to run in a post-lockdown
HardenedJS environment.
To compensate, usebundle-sourcewith-C hardenedor the analogous feature
for packaging conditions with your preferred bundler tool.
This will hollow out@endo/hardenand defer exclusively to the global
harden. -
#2917
7408280Thanks @erights! - - DeprecatesassertChecker. UseFailin the confirm/reject pattern instead, as supported by@endo/errors/rejector.js. -
#2990
a5a0f5cThanks @kriskowal! - - EnablespassStyleOfto make errors passable as a side-effect when SES locks down withhardenTamingset tounsafe, which impacts errors on V8 starting with Node.js 21, and similar engines, that own astackgetter and setter that would otherwise be repaired as a side-effect ofharden.