Skip to content

Releases: endojs/endo

Endo Familiar, Alpha, RC0

05 Mar 06:44

Choose a tag to compare

Pre-release

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

26 Feb 21:48
f91329e

Choose a tag to compare

Minor Changes

  • #2895 1834932 Thanks @gibson042! - - Adds assert.makeError and deprecates assert.error as an alias, matching
    the API already exported from @endo/errors.

    • Before this version, the assert left in global scope before lockdown
      would redact errors and would be replaced by lockdown with a version that
      did not redact errors if the caller opted-in with errorTaming
      set to one of the unsafe variants.
      After this version, the reverse is true: the assert left in global scope
      before lockdown does not redact.
      Then, lockdown replaces assert with a redacting assert unless the
      caller opted-out with errorTaming set to one of the unsafe variants.
  • #3008 a29ecd4 Thanks @kriskowal! - - lockdown and repairIntrinsics now detect when code has already called a
    harden imported from @endo/harden before lockdown, and fail with a clear
    error about hardened modules executing before lockdown.

    • Adds Object[Symbol.for('harden')] as a variant of globalThis.harden that
      cannot be overridden by an endowment named harden in compartments.

@endo/zip@1.1.0

26 Feb 21:48
f91329e

Choose a tag to compare

Minor Changes

  • #3008 d83b1ab Thanks @kriskowal! - - Relaxes dependence on a global, post-lockdown harden function by taking a
    dependency on the new @endo/harden package.
    Consequently, bundles will now entrain a harden implementation that is
    superfluous if the bundled program is guaranteed to run in a post-lockdown
    HardenedJS environment.
    To compensate, use bundle-source with -C hardened or the analogous feature
    for packaging conditions with your preferred bundler tool.
    This will hollow out @endo/harden and defer exclusively to the global
    harden.

@endo/test262-runner@0.1.49

26 Feb 21:48
f91329e

Choose a tag to compare

Patch Changes

@endo/stream@1.3.0

26 Feb 21:48
f91329e

Choose a tag to compare

Minor Changes

  • #3008 d83b1ab Thanks @kriskowal! - - Relaxes dependence on a global, post-lockdown harden function by taking a
    dependency on the new @endo/harden package.
    Consequently, bundles will now entrain a harden implementation that is
    superfluous if the bundled program is guaranteed to run in a post-lockdown
    HardenedJS environment.
    To compensate, use bundle-source with -C hardened or the analogous feature
    for packaging conditions with your preferred bundler tool.
    This will hollow out @endo/harden and defer exclusively to the global
    harden.

Patch Changes

  • Updated dependencies [2e00276, 029dcc4, a29ecd4, d83b1ab]:
    • ses@1.15.0
    • @endo/harden@1.1.0
    • @endo/eventual-send@1.4.0
    • @endo/promise-kit@1.2.0

@endo/stream-node@1.2.0

26 Feb 21:48
f91329e

Choose a tag to compare

Minor Changes

  • #3008 d83b1ab Thanks @kriskowal! - - Relaxes dependence on a global, post-lockdown harden function by taking a
    dependency on the new @endo/harden package.
    Consequently, bundles will now entrain a harden implementation that is
    superfluous if the bundled program is guaranteed to run in a post-lockdown
    HardenedJS environment.
    To compensate, use bundle-source with -C hardened or the analogous feature
    for packaging conditions with your preferred bundler tool.
    This will hollow out @endo/harden and defer exclusively to the global
    harden.

Patch Changes

@endo/ses-ava@1.4.0

26 Feb 21:48
f91329e

Choose a tag to compare

Minor Changes

  • #2987 e914ed8 Thanks @kriskowal! - - Introduces a ses-ava command for running tests with multiple AVA configurations.
    • Adds an @endo/ses-ava/test.js module for getting a test function
      appropriate for your configuration.
    • Adds an @endo/ses-ava/prepare-endo-config.js module suitable for use in the
      require clause of an AVA configuration, such that @endo/ses-ava/test.js
      exports a wrapped SES-AVA test function.

Patch Changes

@endo/promise-kit@1.2.0

26 Feb 21:48
f91329e

Choose a tag to compare

Minor Changes

  • #3008 d83b1ab Thanks @kriskowal! - - Relaxes dependence on a global, post-lockdown harden function by taking a
    dependency on the new @endo/harden package.
    Consequently, bundles will now entrain a harden implementation that is
    superfluous if the bundled program is guaranteed to run in a post-lockdown
    HardenedJS environment.
    To compensate, use bundle-source with -C hardened or the analogous feature
    for packaging conditions with your preferred bundler tool.
    This will hollow out @endo/harden and defer exclusively to the global
    harden.

Patch Changes

@endo/patterns@1.8.0

26 Feb 21:48
f91329e

Choose a tag to compare

Minor Changes

  • #2953 e71faf4 Thanks @erights! - @endo/patterns now exports a new getNamedMethodGuards(interfaceGuard) that returns that interface guard's record of method guards. The motivation is to support interface inheritance expressed by patterns like

    const I2 = M.interface('I2', {
      ...getNamedMethodGuards(I1),
      doMore: M.call().returns(M.any()),
    });

    See @endo/exo's exo-wobbly-point.test.js to see it in action together with an experiment in class inheritance.

  • #3008 d83b1ab Thanks @kriskowal! - - Relaxes dependence on a global, post-lockdown harden function by taking a
    dependency on the new @endo/harden package.
    Consequently, bundles will now entrain a harden implementation that is
    superfluous if the bundled program is guaranteed to run in a post-lockdown
    HardenedJS environment.
    To compensate, use bundle-source with -C hardened or the analogous feature
    for packaging conditions with your preferred bundler tool.
    This will hollow out @endo/harden and defer exclusively to the global
    harden.

Patch Changes

  • #2955 52104f6 Thanks @rekmarks! - The sloppy option for @endo/patterns interface guards is deprecated. Use defaultGuards instead.

  • #3065 c488503 Thanks @gibson042! - - containerHasSplit now 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

26 Feb 21:48
f91329e

Choose a tag to compare

Minor Changes

  • #3008 d83b1ab Thanks @kriskowal! - - Relaxes dependence on a global, post-lockdown harden function by taking a
    dependency on the new @endo/harden package.
    Consequently, bundles will now entrain a harden implementation that is
    superfluous if the bundled program is guaranteed to run in a post-lockdown
    HardenedJS environment.
    To compensate, use bundle-source with -C hardened or the analogous feature
    for packaging conditions with your preferred bundler tool.
    This will hollow out @endo/harden and defer exclusively to the global
    harden.

  • #2917 7408280 Thanks @erights! - - Deprecates assertChecker. Use Fail in the confirm/reject pattern instead, as supported by @endo/errors/rejector.js.

  • #2990 a5a0f5c Thanks @kriskowal! - - Enables passStyleOf to make errors passable as a side-effect when SES locks down with hardenTaming set to unsafe, which impacts errors on V8 starting with Node.js 21, and similar engines, that own a stack getter and setter that would otherwise be repaired as a side-effect of harden.

Patch Changes

  • Updated dependencies [2e00276, 029dcc4, 2e00276, d83b1ab]:
    • @endo/errors@1.3.0
    • @endo/harden@1.1.0
    • @endo/common@1.3.0
    • @endo/eventual-send@1.4.0
    • @endo/promise-kit@1.2.0