Skip to content

v0.50.0 - Architecture Refinement and Documentation Corrections (2026-03-28)

What Changed?

This release reorganizes the internal module structure from src/v2 to src/torch to better clarify architectural intent. It also fixes Expression documentation to consistently show the required .toFunction() call before passing to df.filter(). All changes maintain full backward compatibility with the public API.


What's New

Internal Architecture: src/v2 → src/torch

The internal module directory is renamed from src/v2 to src/torch. This improves code clarity and aligns internal structure with the Torch module concept. The public API remains completely unchanged.

What it does: Reorganizes the codebase for better architectural clarity. Users importing from the public gaslamp package are unaffected.

Impact: - Public API: No changes - Internal imports from src/v2/*: Must update to src/torch/*

Code example:

TypeScript
// Public API - No change needed
import { Expression } from "gaslamp";

// Internal imports - Update to torch
// Before: import { Expression } from "./src/v2/expression";
// After:  import { Expression } from "./src/torch/expression";

Expression Documentation: .toFunction() Requirement

All Expression usage examples now clearly show the required .toFunction() call, preventing a common error where developers pass Expression objects directly to filter().


Added

  • Enhanced JSDoc for GASGlobalThis interface with module descriptions
  • Improved section comments in src/torch/index.ts for better code organization
  • TypeDoc configuration to suppress commit-dependent source URLs
  • Comprehensive .toFunction() examples across all documentation (guides, API docs, practical examples)

Changed

  • Internal module structure: src/v2/src/torch/
  • All internal import paths updated from ../v2 to ../torch
  • Expression documentation: All filter examples now include .toFunction()
  • Global namespace registration: Added clarity for each module group (Torch, FlameWright, AfterGlow, Gears, Gaslets, JestLite)

Fixed

  • Expression .getRow() method: JSDoc now correctly attached
  • Expression filter examples: Removed misleading examples without .toFunction()
  • TypeDoc output: Removed commit-dependent source file URLs

Is It Safe to Upgrade?

  • Breaking Changes: Yes, internal imports from src/v2/ are broken
  • Backward Compatible: Yes, public API is fully compatible

Migration guide: If you have internal imports from src/v2/, update them to src/torch/:

Diff
- import { Expression } from "../src/v2/expression";
+ import { Expression } from "../src/torch/expression";

For most users importing from the public gaslamp package, no changes are required.


Release Details

  • Date: 2026-03-28
  • Version: v0.50.0
  • gaslamp: Version 106 (clasp)
  • pilotlamp: Version 64 (clasp)
  • Files Changed: 57
  • Tests: 406 passed, 0 failed
  • Key commits:
    • 436f7d57 - Rename src/v2 → src/torch + update src/index.ts imports
    • 1816ff68 - Update gaslets and jestlite imports
    • 9d028683 - Update test imports
    • c2dcb458 - Add .toFunction() to Expression JSDoc
    • fbe1cd07 - Add .toFunction() to guides/expression.md
    • 284324cb - Disable TypeDoc source URLs

Known Issues

None at this time.


Next Steps

  • Continue migration and stabilization of remaining modules
  • Monitor feedback on the new directory structure naming