Skip to content

v0.28.6 - DataFrame Submodule Migration (2026-03-21)

What Changed?

This release completes the internal refactoring of the DataFrame class into a proper submodule structure under src/torch/dataframe/. The monolithic dataframe.ts shim has been removed and all circular dependency workarounds (globalThis pattern) have been replaced with direct TypeScript imports.


What's New

Main Feature: DataFrame Submodule Architecture

What it does: The DataFrame class now lives in src/torch/dataframe/core/dataframe.ts as a proper module. All submodules (transformation/, output/, patterns/, group/, lazy/) import DataFrame directly instead of using globalThis as a workaround for circular dependencies.

How to use it: No changes to the public API. Existing code using DataFrame continues to work without modification.

Code example:

TypeScript
// Public API unchanged
import { DataFrame } from "gaslamp";

const df = new DataFrame({ name: "MyData" });

Added

  • Nothing added to the public API

Changed

  • DataFrame class moved from shim src/torch/dataframe.ts to src/torch/dataframe/core/dataframe.ts
  • All submodules now use direct import { DataFrame } instead of new (globalThis as any).DataFrame(...)
  • GAS globalThis registration moved to src/torch/dataframe/index.ts

Fixed

  • Removed circular dependency workarounds (globalThis pattern) in 7 submodule files
  • Removed declare class DataFrame forward declarations from submodules

Is It Safe to Upgrade?

  • Breaking Changes: No
  • Backward Compatible: Yes

No public API changes. Internal module paths changed but the public entry point (gaslamp) is unaffected.


Release Details

  • Date: 2026-03-21
  • Version: v0.28.6
  • gaslamp: (clasp version)
  • pilotlamp: (clasp version)
  • Files Changed: 12
  • Commits:
    • 506ecd3 refactor(torch): move DataFrame class to dataframe/core/dataframe.ts
    • b950cf8 refactor(gaslets): update DataFrame import path to dataframe/core/dataframe
    • cd4f60f test(dataframe): update DataFrame import path to dataframe/core/dataframe
    • bfd810b refactor(torch): move GAS globalThis registration to dataframe/index.ts and delete shim
    • 1967baf refactor(torch/dataframe): replace globalThis pattern with direct imports
    • dbe58bb bump: version 0.28.5 → 0.28.6

Known Issues

  • None

Next Steps

  • Continue submodule organization for remaining DataFrame components