All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
1.4.0 (2024-11-13)
- compartment-mapper: add Compartment option to captureFromMap (1ac2156)
- compartment-mapper: Collect unretained module descriptors (e3b310d)
- compartment-mapper: languageForExtensions options but parameterized on package type (c31c31f)
- compartment-mapper: Workspace language-for-extension options (389de7b)
- compartment-mapper: Defer all importHook errors when importing a… (#2610) (28999e8)
- compartment-mapper: Relax ERef to Promise (169b9fa)
- compartment-mapper: Thread compartment name to all exit import hooks (abd1ddd)
- compartment-mapper: top-level "this" is "module.exports" (#2620) (a923f4e)
1.3.1 (2024-10-22)
Note: Version bump only for package @endo/compartment-mapper
1.3.0 (2024-10-10)
- compartment-mapper: support for dynamic requires (572589c)
- compartment-mapper: bad type in assertCompartmentMap (81d7464)
1.2.2 (2024-08-27)
1.2.1 (2024-08-01)
Note: Version bump only for package @endo/compartment-mapper
1.2.0 (2024-07-30)
- compartment-mapper: Custom parser support (#2304) (43d867e), closes #2303 #2303 #2303 #2303
- compartment-mapper: Export lite and parser modules (7b5432f)
- compartment-mapper: Infer dev mode from development condition (51d8601)
- compartment-mapper: JSON module support for makeBundle (779595c)
- compartment-mapper: Support ESM imports defined property from CJS from set property of CJS (bfd51ee)
- compartment-mapper: Take only first matching tag of package exports (7e7654d)
- compartment-mapper: Thread maybeRead through initial package.json search (592a485)
- endow with original unstructured
assert
(#2323) (8b2bedb), closes #2324 #2324
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)
- Add repository directory to all package descriptors (e5f36e7)
1.1.0 (2024-01-18)
- compartment-mapper: add policy-related types (d3b49e8)
- 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)
- compartment-mapper: allow skipping powerless packages in policy resources WIP (b03efc2)
- compartment-mapper: improve unresolved module error message (323ca32)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- 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)
- compartment-mapper: Remove support for globalLexicals
- 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)
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)
- compartment-mapper: avoid mislabeling cjs files as esm based on type field (5a6a501)
0.7.7 (2022-06-28)
- 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)
- 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)
- 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)
- 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)
- Revert dud release (c8a7101)
0.7.2 (2022-04-12)
- 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)
- 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)
- compartment-mapper: * Previously,
loadArchive
andparseArchive
, when given acomputeSha512
, 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 themodules
option toloadArchive
orparseArchive
, as an object whose keys are the names of the expected modules.
- compartment-mapper: Add makeAndHashArchive (ffbe0d5)
- compartment-mapper: Pre-load for archive integrity checks (3c28ddc), closes #3859
0.6.7 (2022-02-20)
- compartment-mapper: parseArchive return hash (1306c7d)
- compartment-mapper: Validate compartment maps (4204058)
0.6.6 (2022-02-18)
- 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)
0.6.4 (2022-01-27)
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)
- compartment-mapper: Thread url into power makers for Windows support (fedcc8c)
- 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)
- 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)
0.5.2 (2021-08-14)
Note: Version bump only for package @endo/compartment-mapper
0.5.1 (2021-08-13)
0.5.0 (2021-07-22)
- Update preamble for SES StaticModuleRecord
- compartment-mapper: Consistent hashing (fba461f)
- 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)
- compartment-mapper: Export types properly (54be905)
- compartment-mapper: Propagate explicit types (289c906)
0.4.0 (2021-06-16)
- compartment-mapper: Required exits on archives
- compartment-mapper: Developer dependencies (44f86cd)
- compartment-mapper: Required exits on archives (f5e6378)
- compartment-mapper: Missing node-powers from published files (277fd47)
0.3.2 (2021-06-14)
- 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
- 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
- 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)
- 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)
- compartment-mapper: Refresh zip fixture (691ca31)
- 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)