Skip to content

v0.46.0 - FlameWright Legacy Migration (2026-03-27)

What Changed?

This release moves src/flamewright/ and src/torch/expression/ to legacy/v1/, removing them from the public API. Expression and the core type validation utilities (FlameGuards, assert, FlameWright) are now served exclusively from the v2 module. isFunction has been added to v2/FlameGuards.


What's New

Main Feature: FlameWright migrated to legacy/v1

What it does: src/flamewright/ (the v1 type validation system) has been archived to legacy/v1/flamewright/. The v2 replacement lives in src/v2/flame.ts and provides FlameGuards, FlameWright, assert, ensure, explain, and related utilities.

How to use it: Import from gaslamp as before — the public symbols are unchanged.

TypeScript
import { FlameGuards, FlameWright, assert } from "gaslamp";

Added

  • isFunction guard added to FlameGuards in v2/flame.ts
  • Expression is now exported from v2/index.ts

Changed

  • src/flamewright/ moved to legacy/v1/flamewright/
  • src/torch/expression/ moved to legacy/v1/expression/
  • src/v2/expression.ts created as the canonical Expression source
  • src/jestlite/matcher.ts now imports from v2/flame instead of flamewright
  • src/index.ts no longer exports from ./flamewright or ./torch; uses ./v2 directly

Fixed

  • Build errors caused by broken flamewright import paths after directory move

Is It Safe to Upgrade?

  • Breaking Changes: Yes — FlameGuards, FlameFactory, FlameExtras, FlameForge, guessFlameType, guessFlameGuard, getTypeOf, getValuePreviewOf, ensure, assert, explain are no longer exported from the top-level gaslamp package via the old v1 flamewright path. These were already marked @deprecated. Use v2 equivalents: FlameGuards, FlameWright, assert, ensure, explain from gaslamp remain available via v2/flame.
  • Backward Compatible: Partially — symbols available in v2 are unaffected.

Release Details

  • Date: 2026-03-27
  • Version: v0.46.0
  • gaslamp: clasp version 98
  • pilotlamp: clasp version 56
  • Files Changed: 26
  • Commits:
    • 1963ab2b build: regenerate bundle after flamewright and expression migration
    • fdebdf06 test: remove legacy flamewright tests, redirect expression.test to v2/expression
    • ffb15c00 refactor(v2): export Expression from v2/index and unify imports in src/index
    • ed3108d3 refactor(torch): redirect Expression export from torch to v2/expression, remove torch/index.ts
    • 121cdaf2 refactor(torch): move src/torch/expression to legacy/v1/expression
    • 78effb01 refactor(v2): add expression.ts copied from torch, migrated to v2/flame imports
    • b941a179 refactor(jestlite): migrate matcher.ts imports from flamewright to v2/flame
    • 9b3d8772 refactor(flamewright): move src/flamewright to legacy/v1/flamewright
    • 60bf4c20 refactor(index): remove flamewright exports and GAS globals in preparation for legacy migration

Known Issues

  • src/v2/expression.ts retains any types from the v1 original; type-safe rewrite is planned.

Next Steps

  • Write __tests__/v2/flame.test.ts for v2/FlameGuards and v2/FlameWright
  • Type-safe rewrite of v2/expression.ts (remove any)
  • Continue archiving remaining v1 modules (src/afterglow/)