v0.36.0 - v2 DataFrame Module Restructure (2026-03-23)¶
What Changed?¶
This release restructures the v2 DataFrame implementation into its own dedicated module at src/v2/.
Previously, convert.ts and frame.ts lived inside src/torch/, mixing legacy and new implementations.
They are now cleanly separated, with src/torch/ restricted to legacy modules only and src/v2/ serving as the independent entry point for the new DataFrame API.
What's New¶
Main Feature: src/v2/ Module¶
What it does:
Provides a standalone entry point for the v2 DataFrame implementation, including DataFrame, GroupedDataFrame, LazyDataFrame, and all conversion utilities (convert.ts).
This module has no dependency on FlameWright or AfterGlow.
How to use it:
Import directly from src/v2, or use via the bundled library in GAS:
Code example:
import { DataFrame, LazyDataFrame } from "gaslamp";
const df = DataFrame.fromColumns({ name: ["Alice", "Bob"], age: [25, 30] });
const result = df
.lazy()
.filter((row) => (row.get("age") as number) >= 18)
.select(["name"])
.collect();
Added¶
src/v2/index.ts— new entry point re-exportingDataFrame,GroupedDataFrame,LazyDataFrame,Cell,Primitive, and all conversion functionssrc/v2/convert.ts— moved fromsrc/torch/convert.tssrc/v2/frame.ts— moved fromsrc/torch/frame.ts
Changed¶
src/torch/index.ts— now re-exports only modules withinsrc/torch/; v2 references removedsrc/index.ts— exportsDataFrameV2,GroupedDataFrameV2,LazyDataFrameV2,Cell,Primitivefromsrc/v2; GAS globalThis registration updated accordingly__tests__/torch/convert.test.ts— import path updated tosrc/v2/convert__tests__/torch/frame.test.ts— import path updated tosrc/v2/frame
Fixed¶
pilotlamp: use a dedicated temp sheet infromSheettest to avoid overwriting TestResultspilotlamp: fixsuiteTorchAPI usage forDataFrameV1andDataFrameV2
Is It Safe to Upgrade?¶
- Breaking Changes: No
- Backward Compatible: Yes
Existing code using DataFrameV2, LazyDataFrameV2, or GroupedDataFrameV2 via the top-level package continues to work without changes.
Only internal import paths within the repository have changed.
Release Details¶
- Date: 2026-03-23
- Version: v0.36.0
- gaslamp: version 79
- pilotlamp: version 36
- Files Changed: 23 commits
- Commits:
- f7f75c7 bump: version 0.35.0 → 0.36.0
- e58ed87 style(pilotlamp): format suiteTorch.js
- 2d8c410 build: update bundle after v2 module restructure
- b0e1bc8 docs(api): regenerate TypeDoc API reference after v2 module restructure
- 16f21b8 test(frame): update import path from src/torch to src/v2
- 5dbda6a test(convert): update import path from src/torch to src/v2
- f7d6b09 feat(index): export v2 module and register DataFrameV2 in GAS global namespace
- 220fced refactor(torch): remove convert and frame, restrict index to torch-only modules
- d5573a5 feat(v2): add v2 DataFrame module with convert and frame
Known Issues¶
joinLeft,joinRight,joinOuterinDataFrameare not yet implemented (throwErrorat runtime).
Next Steps¶
- Implement
joinLeft,joinRight, andjoinOuterinsrc/v2/frame.ts - Add unit tests for
GroupedDataFrameandLazyDataFrame - Consider promoting v2 API from
@alphato@beta