github CanadaHonk/porffor alpha-20
alpha 20 (a7cbcf9 2026-11-04)

4 hours ago
  • a7cbcf99 ci: expect 113 selfhost harness passes
  • a353a6ee ci: build libuv for profiling
  • 144a5ca6 runtime: porf foo.js -o foo builds again, readme example output
  • 5af8975d modules: packages import themselves by name, longest exports pattern wins
  • 327f7937 runtime/node: URL.parse
  • 5404a778 runtime/node: queueMicrotask reuses one resolved promise
  • 7e8795fc runtime/node: fetch reads whole bodies from the response stream, Headers keys and values
  • 18a5c165 codegen: shadowedBuiltinNames only reads params of js functions, not ts function types
  • 116817b4 modules: resolve packages like node
  • 43daf44d codegen: destructuring defaults match the binding's type
  • 1440e00a codegen: a function expression's own name is only bound inside it (I = function Promise() {})
  • 5c2743d3 runtime/node: Error.captureStackTrace defines a non-enumerable stack
  • 2a1b02c5 json: JSON.stringify skips inherited enumerable keys
  • 39035377 modules: same-line ;export default is esm syntax
  • ddb0a348 modules: failed require candidates drop every module they pulled in
  • 86691906 render: raw c heads follow the link prototypes (uws calling porf_call_dynamic)
  • 2402f55c codegen, semantic: locals named like builtin namespaces (function Map) resolve to the local, also for instanceof
  • 9b3ed88e codegen: raw int locals are numbers, so method calls on them in loops compile
  • 7f92b3d6 codegen: class field inits after nested super() calls
  • 1c883745 selfhost: compile the esm compiler natively, drop the bundle
  • 7c57dc66 runtime: node-compatible cli with cached run binaries
  • db2443a5 modules: node module system, cjs and esm interop, runtime linking and shaking
  • 00431c76 runtime/node: node compatible runtime
  • 8d2bf5f3 native: add --pgo, --pgo-gen and --pgo-use
  • e4b490eb native: link Porffor.link libraries, build uws and ada, split c output
  • c3185ce8 runtime: remove old native fetch path
  • 47f9650f builtins: console, json, promise hooks and async context, generators, typed arrays and fixes
  • f1d057e1 parser: private name lookup uses hasOwn
  • a366ffd9 semantic: skip label keys
  • f471b595 codegen: specializeFunctionSources check order
  • f1d93140 codegen: cap mayBeGlobal depth
  • 632f0dd8 codegen: fresh Map entry arrays
  • 08a63bb0 codegen: conditional assignment inferred type
  • fa6b6faa codegen: more receivers can shadow their methods
  • b0b2180d codegen: depd Function wrapper drops its parameter list
  • 04e906fd codegen: %X.prototype.y% member demands
  • 8c7f0963 codegen: computed ['length'] is a computed access
  • f7af6061 codegen: instanceof Object
  • a81410e8 codegen: unused logical right sides are statements
  • f7c67779 codegen: with bindings are declared with let
  • e9f1812f compiler: ts wrapper expressions, casts as assignment targets, new X(), function annotations
  • d0736918 compiler: loop binding boxes, self-named classes, user functions shadow builtins, globalThis sync
  • aebe3762 render: smaller data image, mapped big images, macro-safe names, full word jsval
  • 263d3c86 codegen: int32 locals, string and typed array fast paths
  • 5a594e19 object model and gc: shapes, inline caches, generational gc rework

Don't miss a new porffor release

NewReleases is sending notifications on new releases.