Releases: Salve-Software/nodeless
Releases · Salve-Software/nodeless
Release list
v0.3.0
0.3.0 (2026-09-12)
Bug Fixes
- deps: bump esbuild-wasm from 0.25.12 to 0.28.2 (2d468ec)
- deps: bump the esbuild-wasm version everywhere it is spelled out (249fa3c)
- website: do not build the playground mid-install (1e37573)
- website: reveal the cards grid, not the cards (00559c4)
Features
- brand: add the social banner and the salve lockup (4cd4ef3)
- brand: adopt the dashed ring mark (aeb4d64)
- brand: redraw the lockup around the ring (b4317de), closes #a3e635 #4f9a1e
- website: animate the playground status badge (68823ae)
- website: draw the ring in the nav brand (e8009c7)
- website: regenerate the favicons from the ring (6005029)
- website: use the banner as the social card (d936de3)
v0.2.0
0.2.0 (2026-09-12)
Bug Fixes
- dispose the config watcher with the project (30d403f)
- installer: report an unresolvable package instead of aborting (d726520)
- plugin: compile sass before tailwind reads a stylesheet (8d18226)
- resolver: css conditions for every stylesheet language (b6ed4ee)
- resolver: resolve a stylesheet import with css conditions (e519ee0)
- runtime: fail the calls in flight when a worker dies (7e30726)
- runtime: give the worker realm a process of its own (0490259)
- runtime: seal the native bindings a worker still had (e764885)
- runtime: stop a config reading the host process (bc4ebad)
- shims: report module as a builtin of itself (98cb94f)
- shims: survive esbuild's commonjs namespace rebuild (85b3b00)
- tailwind: scan the extensions a framework file uses (e21f0eb)
- transform: run transforms as a pipeline, not a switch (f613315)
- website: drop the dash from the page title (4d47c30)
- website: serve a real page for every route (ee961f0)
- website: the docs sidebar skipped the last section and lagged a click (1761425)
- website: the editor caret did not land where you clicked (02037fe)
Features
- add isolation: 'worker' (74b76c1)
- adopt the new logo (a35b2d0)
- bundler: copy public/ into the output (390d5d6)
- bundler: define import.meta.env (6341568)
- bundler: emit large assets as files instead of data URLs (df88fba)
- bundler: give cssTransform a resolver (ea6bee1)
- bundler: pass esbuild plugins through (f186960)
- compile tailwind with no configuration (9ff218f)
- config: find and run the project's config file (f710812)
- installer: add an option to install devDependencies (d7070df)
- installer: let dev name the devDependencies to install (66c5f2e)
- installer: resolve workspace packages from the VFS (400dd69)
- let the host supply the worker channel (344469e)
- node: add the server half of isolation: 'worker' (31e198c)
- plugin: adopt the rollup and vite hook shape (d9da364)
- plugin: order and normalise what a config hands over (2b31953)
- plugin: run the hooks in vite's order (2349ac2)
- resolver: honour aliases from the project config (d9880a3)
- resolver: honour compilerOptions.paths from tsconfig (d7de0bf)
- run the project's own config and plugins (af6f401)
- runtime: add the channel and isolation contracts (c125b1f)
- runtime: add the runtime contracts and constants (f4888ad)
- runtime: add the runtime port (e1994d7)
- runtime: carry functions across a structured clone (3cfbf22)
- runtime: evaluate with a stack that names the module (533105d)
- runtime: give an iife bundle its module globals (816d2e0)
- runtime: implement the worker half (0a8c334)
- runtime: rewrite builtins to shims before anything runs (47ef788)
- runtime: run the config graph off the page (0b54e72)
- runtime: run the toolchain graph over the vfs (737e9bf)
- shims: add the node shim contracts (e8ac27d)
- shims: assemble the node standard library (d2b1dd8)
- shims: implement a synchronous sha256 (335ae73)
- shims: implement buffer as a uint8array subclass (8b3a120)
- shims: implement crypto, util, assert and the rest (541e32f)
- shims: implement fs over the vfs (50b5a6d)
- shims: implement path, url, process and os (805e95d)
- shims: implement the event emitter (ef941ac)
- shims: posix paths with node's own semantics (e770480)
- shims: refuse process-shaped builtins loudly (17d345f)
- transform: compile sass (0a1ce16)
- warn when a config runs without a stated isolation (cf97557)
- website: add a playground that really runs (b0bc863)
- website: add the design tokens and the motion primitives (d402916)
- website: add the faq, the closing call and the footer (8e917f6)
- website: add the hero (e60653a)
- website: add the idea and the two graphs ([d0a1f00](https://github.com/Salve-Software...
v0.1.0
0.1.0 (2026-09-11)
Bug Fixes
- bundler: unwrap esbuild-wasm served through a CJS shim (eec303b)
- example: loosen the build budget so CI stops failing on hardware (a13777b)
- installer: do not warn about peers marked optional (fcf0282)
- lint: ignore the example projects eslint cannot type-check (36bbc60)
- npm: declare the repository so provenance can be verified (d5924de)
Features
- add the NodelessProject facade as the only public export (aef0f61)
- bundler: add a cssTransform seam for postcss and tailwind (5d55e38)
- bundler: add esbuild loader table and plugin types (75daff5)
- bundler: add EsbuildBundler returning errors instead of throwing (e47619a)
- bundler: add the vfs plugin that gives esbuild a filesystem (89795f9)
- bundler: flatten esbuild messages into structured errors (28453b1)
- bundler: load and initialize esbuild-wasm once per process (d35c92c)
- bundler: pick loaders, entry points and output keys (7d0c7a6)
- bundler: resolve uninstalled packages from a cdn (b5fb9a8)
- bundler: rewrite index.html to point at the bundle (6ba5933)
- bundler: support css modules (d59b666)
- constants: add root path, snapshot version and defaults (f96d5dc)
- errors: add error hierarchy carrying a code (3197459)
- errors: swap InstallerNotConfiguredError for InstallError (f1a8b76)
- example: build the scaffold in node and emit a snapshot (f83c49d)
- example: install from the registry inside the browser (2f9e77e)
- example: run the same dist in the browser via import map (9a0b235)
- example: serve the repository and open the playground (5681e42)
- example: turn the browser example into a real playground (c408472)
- install from the registry by default (482e7aa)
- installer: add a tar reader over fflate gunzip (af44937)
- installer: add registry types and constants (97f991d)
- installer: add RegistryInstaller writing a lockfile (7489c00)
- installer: download and cache extracted packages (492ac72)
- installer: fetch packuments and pick versions with semver (2e5653e)
- installer: verify tarball integrity before extracting (f6a77f0)
- installer: walk the dependency graph with npm-style hoisting (ddde691)
- library: add posix path helpers (f33bd7c)
- library: add utf-8 and base64 conversion (1c042ca)
- resolver: add NodeResolver with a per-directory manifest cache (9918e7c)
- resolver: add package lookup and specifier parsing (d47e9da)
- resolver: add resolution scope types and lookup tables (8ffc031)
- resolver: add the resolution algorithm (893ea99)
- resolver: honour the browser field in both of its forms (2ac2c4f)
- resolver: resolve files and directories, rewriting .js to .ts (deff11a)
- resolver: resolve the exports field as a sealed surface (f7bd3ed)
- types: add the Bundler port (0bdca34)
- types: add the Installer port (3edf8e9)
- types: add the package entry contract (315c686)
- types: add the PackageCache port (6c4f1d7)
- types: add the Resolver port (759f1e7)
- types: add the Vfs port (63b6418)
- vfs: add directory bookkeeping helpers (452cabd)
- vfs: add in-memory filesystem with snapshot and watch (0c3f267)