Skip to content

Latest commit

 

History

History
537 lines (317 loc) · 38.5 KB

CHANGELOG.md

File metadata and controls

537 lines (317 loc) · 38.5 KB

Change Log

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

1.1.5 (2024-05-07)

Note: Version bump only for package @endo/compartment-mapper

1.1.4 (2024-04-04)

Note: Version bump only for package @endo/compartment-mapper

1.1.3 (2024-03-20)

Note: Version bump only for package @endo/compartment-mapper

1.1.2 (2024-02-23)

Note: Version bump only for package @endo/compartment-mapper

1.1.1 (2024-02-15)

Bug Fixes

  • Add repository directory to all package descriptors (e5f36e7)

1.1.0 (2024-01-18)

Features

  • compartment-mapper: add policy-related types (d3b49e8)

Bug Fixes

  • compartment-mapper: handle implicit policy/packagePolicy (ed6f23e)
  • compartment-mapper: throw if policy/packagePolicy mismatch (ece09e2)

1.0.1 (2023-12-20)

Note: Version bump only for package @endo/compartment-mapper

1.0.0 (2023-12-12)

Features

  • compartment-mapper: allow skipping powerless packages in policy resources WIP (b03efc2)
  • compartment-mapper: improve unresolved module error message (323ca32)

Bug Fixes

  • Adjust type generation in release process and CI (9465be3)
  • compartment-mapper: correct error interpretations, negative policy enforcement test (d19afd2)
  • compartment-mapper: fix archive producing invalid compartment maps (5d3a711)
  • compartment-mapper: fix for bundling of appended cjs exports (65c7750)
  • compartment-mapper: Import main as . (19dc5bc)
  • compartment-mapper: policy - allow any packages imported in the attenuators compartment (bc5a0ae)
  • compartment-mapper: Turn empty policy into a null-prototype object (db2545b)
  • enable compatibility with node16/nodenext module resolution (9063c47)

0.9.2 (2023-09-12)

Bug Fixes

  • compartment-mapper/policy: do not allow "resources" to be an array (42a8817)
  • compartment-mapper: Update stack trace sensitive snapshots (7addc5c)
  • types: SourceMapHook (cf5f226)

0.9.1 (2023-08-07)

Features

  • compartment-mapper: One concurrent read (29048a2)
  • compartment-mapper: Read more carefully (edf058a)
  • compartment-mapper: Revert read more carefully (cf668e2)
  • compartment-mapper: Support source map generation (7f2dc59)
  • compartment-mapper: Use maybeRead to better classify read errors (9bea95a)

0.9.0 (2023-08-07)

Features

  • compartment-mapper: One concurrent read (29048a2)
  • compartment-mapper: Read more carefully (edf058a)
  • compartment-mapper: Revert read more carefully (cf668e2)
  • compartment-mapper: Support source map generation (7f2dc59)
  • compartment-mapper: Use maybeRead to better classify read errors (9bea95a)

0.8.5 (2023-07-19)

Features

  • compartment-mapper: add exitModuleImportHook for dynamic exit modules (d6fb8ff)
  • compartment-mapper: attenuate modules coming from exitModuleImportHook (15bd512)
  • compartment-mapper: Bundler support for aliases (ab02c2c)
  • compartment-mapper: throw contextual error when moduleTransform fails (df9d146)

Bug Fixes

  • compartment-mapper: avoid getting into exitModule logic when none provided (0c05d4c)
  • compartment-mapper: Divide and resolve strictly-required sets between compartments (b304a88)
  • revert broken ones (09cabb3)
  • static-module-record: Do not sort imports (a3e4538)

0.8.4 (2023-04-20)

Note: Version bump only for package @endo/compartment-mapper

0.8.3 (2023-04-14)

Note: Version bump only for package @endo/compartment-mapper

0.8.2 (2023-03-07)

Features

  • compartment-mapper: add policy enforcement to compartment-mapper (9315993)
  • compartment-mapper: add the ability to specify a default attenuator for the policy (95bdcc3)
  • compartment-mapper: allow omitting globalThis freeze with policy (bbec3ca)
  • compartment-mapper: attenuate builtins with attenuators from packages (dc8426f)
  • compartment-mapper: error propagation from globalThis attenuators (43799be)
  • compartment-mapper: expect independent names for globals and module attenuator (5c7e048)
  • compartment-mapper: globals attenuation enabling LavaMoat feature parity (20acd6f)
  • compartment-mapper: validate policy in compartment map (55a3991)
  • compartment-mapper: wildcard policy specified as "any" (89e7104)

Bug Fixes

  • compartment-mapper: fix naming conventions, move entry compartment policy, clean up demo and readme (35a7d8b)
  • compartment-mapper: use reliable information to identify packages for policy application (2fb7900)
  • Fix hackerone.com links in SECURITY.md (#1472) (389733d)
  • Improve typing information (7b3fc39)

0.8.1 (2022-12-23)

Features

  • compartment-mapper: add bundle support for commonjs (aa5e164)
  • compartment-mapper: add tags to ArchiveOptions (078b221)
  • compartment-mapper: allow alternate searchSuffixes (5f58cf6)
  • compartment-mapper: allow transforms to process unknown languages (f577dc7)
  • compartment-mapper: bundle should support tags (26e9ff9)
  • compartment-mapper: bundle should throw on encountering deferredError (ad8df6a)
  • compartment-mapper: for commonjs alias package root to default module (2fd471d)
  • compartment-mapper: fully support node resolution candidates (cdb0d8f)
  • compartment-mapper: handle browser field in construction of compartmentMap (ffe0719)
  • compartment-mapper: handle internalAliases including internal package aliases (979f9c1)
  • compartment-mapper: importHook redirects + updates compartment map when candidate is present in moduleDescriptors (c10b443)
  • compartment-mapper: replace graph node exports with internal and external aliases (1d52a8b)
  • compartment-mapper: support commonDependencies for injecting dependencies (dff6908)

Bug Fixes

  • compartment-mapper: add named reexports logic to bundle.js (236a4e8)
  • compartment-mapper: allow specifier to include period and omit extension (3768a3e)
  • compartment-mapper: error unmatched locations with package self name (b251988)
  • compartment-mapper: fix reflexive packageLocation in node-modules/translateGraph (7f6638d)
  • compartment-mapper: handle package default module via externalAliases (128eb40)
  • compartment-mapper: Harden bundles (20c1d46)
  • compartment-mapper: importArchive - add explicit error for missing module (369ca03)
  • compartment-mapper: inferred exports are relative (fdacf1b)
  • compartment-mapper: node-modules - name packageLocations differently (d396fed)
  • compartment-mapper: remove unused log in test (82bf889)
  • compartment-mapper: rename some variables for improved readability (0861b0c)
  • compartment-mapper: rename some variables for improved readability (3abdfa9)
  • compartment-mapper: rename transforms to moduleTransforms in link (bbdae51)
  • compartment-mapper: Thread dev option thru bundler (c71561e)

0.8.0 (2022-11-14)

⚠ BREAKING CHANGES

  • compartment-mapper: Remove support for globalLexicals

Features

  • compartment-mapper: Bundles evaluate to entrypoint namespace (85a69aa)
  • compartment-mapper: Remove support for globalLexicals (7d9603d)
  • compartment-mapper: support peerDependencies and bundleDependencies (3afd7c5)
  • compartment-mapper: support various types of optional deps (72fa6e7)

Bug Fixes

0.7.15 (2022-10-24)

Note: Version bump only for package @endo/compartment-mapper

0.7.14 (2022-10-19)

Note: Version bump only for package @endo/compartment-mapper

0.7.13 (2022-09-27)

Note: Version bump only for package @endo/compartment-mapper

0.7.12 (2022-09-14)

Note: Version bump only for package @endo/compartment-mapper

0.7.11 (2022-08-26)

Note: Version bump only for package @endo/compartment-mapper

0.7.10 (2022-08-26)

Note: Version bump only for package @endo/compartment-mapper

0.7.9 (2022-08-25)

Note: Version bump only for package @endo/compartment-mapper

0.7.8 (2022-08-23)

Bug Fixes

  • compartment-mapper: avoid mislabeling cjs files as esm based on type field (5a6a501)

0.7.7 (2022-06-28)

Features

  • compartment-mapper: dancing skeleton require.resolve implementation (ba1de8e)
  • compartment-mapper: implement passing values in import.meta.url (d6294f6)
  • compartment-mapper: implement require.resolve as an external configuration item (45054de)
  • compartment-mapper: move require.resolve implementation to readPowers (e841f74)
  • add the foundations for support of import.meta (36f6449)
  • call importMetaHook on instantiation if import.meta uttered by module (23e8c40)

Bug Fixes

  • compartment-mapper: adapt require.resolve assertion to Windows also (58e1064)
  • compartment-mapper: importMeta always an empty object in bundler (e9f809a)
  • rename meta to importMeta, fix detection to detect import.meta not import.meta.something (c61a862)

0.7.6 (2022-06-11)

Features

  • compartment-mapper: Archives retain compartments only for retained modules (ee2e6e1)
  • compartment-mapper: Support text and bytes asset module types (acc828c)
  • compartment-mapper: Thread diagnostic name more thorougly (d546823)
  • compartment-mapper: Use package.json files in nested folders of a package when determining module type (4b1c6f4)

Bug Fixes

  • compartment-mapper: Package exports may be absolute (5a8a893)
  • compartment-mapper: provide correct values for **dirname **filename for cjs compatibility (#1155) (43fdf69)
  • compartment-mapper: relativize all exports from package.json - undo the change allowing reexports of dependencies by just stating them in package.json "exports" field (ceb1790)
  • compartment-mapper: Stabilize hashes in face of layout changes (75a5db4), closes #919

0.7.5 (2022-04-15)

Note: Version bump only for package @endo/compartment-mapper

0.7.4 (2022-04-14)

Note: Version bump only for package @endo/compartment-mapper

0.7.3 (2022-04-13)

Bug Fixes

0.7.2 (2022-04-12)

Features

  • compartment-mapper: defer import errors based on parser support declaration (cf074aa)
  • compartment-mapper: proper default export implementation for cjs with import and require compatibility (30cbaa8)
  • compartment-mapper: support for defineProperty on exports with getters (4764487)

Bug Fixes

  • compartment-mapper: add support for alternatives in exports defnitions (#1134) (6663f25)
  • compartment-mapper: Avoid some property override pitfalls (b4efabe)
  • compartment-mapper: Fix "module" property in package.json (68395a2)
  • compartment-mapper: handle passing and reading exports reference (#1142) (3b7584a)
  • compartment-mapper: propagate parse-cjs changes to parse-pre-cjs, remove async from execute in parse-pre-cjs (8ac94b8)
  • compartment-mapper: Remove stale note (85a4eb8)
  • compartment-mapper: there's more benefit to keeping __esModule flag than not (#1145) (c769447)
  • endo: Ensure conditions include default, import, and endo (1361abd)
  • ses: avoid cache corruption when execute() throws (1d9c17b)

0.7.1 (2022-03-07)

Note: Version bump only for package @endo/compartment-mapper

0.7.0 (2022-03-02)

⚠ BREAKING CHANGES

  • compartment-mapper: * Previously, loadArchive and parseArchive, when given a computeSha512, would accept just about any archive. Hash integrity checks for any used module occurred only after a request to import them. With this new version, all archives must use every file they contain and must pass hash integrity checks during the load or parse phase. Consequently, if an archive requires any built-in modules ("exits"), these must be mentioned with the modules option to loadArchive or parseArchive, as an object whose keys are the names of the expected modules.

Features

  • compartment-mapper: Add makeAndHashArchive (ffbe0d5)
  • compartment-mapper: Pre-load for archive integrity checks (3c28ddc), closes #3859

0.6.7 (2022-02-20)

Features

  • compartment-mapper: parseArchive return hash (1306c7d)
  • compartment-mapper: Validate compartment maps (4204058)

0.6.6 (2022-02-18)

Bug Fixes

  • Address TypeScript recommendations (2d1e1e0)
  • Make jsconfigs less brittle (861ca32)
  • Make sure lint:type runs correctly in CI (a520419)
  • Unify TS version to ~4.2 (5fb173c)
  • compartment-mapper: change how parse-cjs.js treats exports to align with behavior of cjs in Node.js; make execute synchronous (d1eb363)

0.6.5 (2022-01-31)

Bug Fixes

  • compartment-mapper: Needless genericity considered harmful (#1026) (77e3d91)

0.6.4 (2022-01-27)

Bug Fixes

0.6.3 (2022-01-25)

Note: Version bump only for package @endo/compartment-mapper

0.6.2 (2022-01-23)

Note: Version bump only for package @endo/compartment-mapper

0.6.1 (2021-12-14)

Note: Version bump only for package @endo/compartment-mapper

0.6.0 (2021-12-08)

Features

  • compartment-mapper: Thread url into power makers for Windows support (fedcc8c)

Bug Fixes

  • Avoid eslint globs for Windows (4b4f3cc)
  • compartment-mapper: prettier bundle code, with some reduction (dc9ccaa)
  • static-module-record: cleaner Babel codegen (6e22569)

0.5.6 (2021-11-16)

Features

  • compartment-mapper: Add hooks for sourceURL (#932) (a7b42ae)
  • compartment-mapper: Archive source URL suffixes (#930) (0dfb83e)

0.5.5 (2021-11-02)

Note: Version bump only for package @endo/compartment-mapper

0.5.4 (2021-10-15)

Note: Version bump only for package @endo/compartment-mapper

0.5.3 (2021-09-18)

Bug Fixes

  • compartment-mapper: Reduce pre-cjs dependence on URL (#894) (b9f6dc0)

0.5.2 (2021-08-14)

Note: Version bump only for package @endo/compartment-mapper

0.5.1 (2021-08-13)

Features

  • compartment-mapper: Support reflexive imports (#861) (09e5485)

0.5.0 (2021-07-22)

⚠ BREAKING CHANGES

  • Update preamble for SES StaticModuleRecord

Features

  • compartment-mapper: Consistent hashing (fba461f)

Bug Fixes

  • Update preamble for SES StaticModuleRecord (790ed01)
  • compartment-map: Restore test fixture maker and support for exit modules from archives (0ccc277)
  • compartment-mapper: Adjust bundle calling convention for preamble (5a43a8e)

0.4.1 (2021-06-20)

Bug Fixes

  • compartment-mapper: Export types properly (54be905)
  • compartment-mapper: Propagate explicit types (289c906)

0.4.0 (2021-06-16)

⚠ BREAKING CHANGES

  • compartment-mapper: Required exits on archives

Features

  • compartment-mapper: Developer dependencies (44f86cd)
  • compartment-mapper: Required exits on archives (f5e6378)

Bug Fixes

  • compartment-mapper: Missing node-powers from published files (277fd47)

0.3.2 (2021-06-14)

Features

  • compartment-mapper: Add actionable hint to linker error (4dbe87b)
  • compartment-mapper: Add Node.js power adapter (fd16355)
  • compartment-mapper: Follow symbolic links (ae553a4)

0.3.1 (2021-06-06)

Note: Version bump only for package @endo/compartment-mapper

0.3.0 (2021-06-02)

⚠ BREAKING CHANGES

  • compartment-mapper: No longer supports direct use from CommonJS
  • static-module-record: Emphasize RESM/NESM compatibility over CJS/UMD
  • compartment-mapper: Lean on RESM/NESM interoperability
  • compartment-mapper: Rearrange entry point modules
  • compartment-mapper: Cleanly separate StaticModuleRecord dependency (#698)
  • compartment-mapper: Refresh zip fixture
  • compartment-mapper: Temporarily disable CommonJS
  • compartment-mapper: Rename endowments to globals
  • compartment-mapper: Import options bags and thread transforms

Features

  • compartment-mapper: Add module transforms (#625) (0a0fc02)
  • compartment-mapper: Blanket in TypeScript definitions (f850ed8)
  • compartment-mapper: Improve archive parser errors (c5887d8)
  • compartment-mapper: Introduce rudimentary bundler (2bcddb1)
  • compartment-mapper: Pivot to CommonJS lexical analyzer (e68a991)
  • compartment-mapper: Precompiled ESM (eb2fcc4), closes #673
  • compartment-mapper: Reenable CommonJS (e76d95e)
  • compartment-mapper: Thread compartment constructor (f3248f2)
  • compartment-mapper: Thread global lexicals (f92379a)
  • compartment-mapper: Update packaging for RESM/NESM bridge and reorg under @endo (5b7c24e)
  • endo: Freeze all global objects (#631) (83b5db4)
  • ses: Allow import and eval methods (#669) (505a7d7)

Bug Fixes

  • Regularize format of NEWS.md (0ec29b3)
  • compartment-mapper: Deterministic archives (577cdd8)
  • compartment-mapper: Different tack to evade SES import censor (#513) (5df2c0e)
  • compartment-mapper: Dodge named reexport as bug in tests (ad8c661)
  • compartment-mapper: Elide source URL from archived MJS (ecc65b5)
  • compartment-mapper: Generate strict bundle (c1e3a90)
  • compartment-mapper: Remove extraneous internal exports (d8eb6ac)
  • compartment-mapper: Restore named reexport as bug in tests (2de06f3)
  • compartment-mapper: Switch from Syrup to JSON (0d80376)
  • compartment-mapper: Withdraw UMD Rollup (#469) (9118807)
  • static-module-record: Emphasize RESM/NESM compatibility over CJS/UMD (dcff87e)
  • Realign TS, JS, and package names (#686) (439e0ff)
  • compartment-mapper: Work around dynamic import censoring (#512) (b82398b)
  • Fully thread shimTransforms through Compartment Mapper and SES (#509) (0f199ef)
  • compartment-mapper: Temporarily disable CommonJS (8d7fb04)

Tests

  • compartment-mapper: Refresh zip fixture (691ca31)

Code Refactoring

  • compartment-mapper: Cleanly separate StaticModuleRecord dependency (#698) (0b28902)
  • compartment-mapper: Import options bags and thread transforms (3aa9ed9)
  • compartment-mapper: Lean on RESM/NESM interoperability (eb1753e)
  • compartment-mapper: Rearrange entry point modules (f87dc14)
  • compartment-mapper: Rename endowments to globals (a7e8a2e)