v0.28.12 - DataFrame submodule reorganization (2026-03-22)¶
What Changed?¶
This release reorganizes the internal directory structure of the torch/dataframe submodule.
The transformation/ directory has been renamed to transform/, and join/concat operations have been extracted from analysis/ into a new dedicated combine/ submodule.
No public API changes were made — existing code continues to work without modification.
What's New¶
Main Feature: combine/ submodule¶
What it does:
Join and concatenation operations (join, concat, concatVertical, concatHorizontal) are now housed in a dedicated combine/ submodule, separate from statistical analysis.
This aligns with the pandas/polars-inspired directory design agreed upon in the project.
How to use it:
No changes required. The DataFrame class API is unchanged.
// These methods work exactly as before
const joined = df1.join(df2, { on: "id" });
const stacked = df1.concat(df2); // vertical (axis=0)
const wide = df1.concat(df2, { axis: 1 }); // horizontal (axis=1)
Added¶
src/torch/dataframe/combine/combine.ts—DataFrameOperationsclass (join, concat)src/torch/dataframe/combine/index.ts— public entry point for the combine submodule
Changed¶
src/torch/dataframe/transformation/→ renamed tosrc/torch/dataframe/transform/src/torch/dataframe/core/dataframe.ts— updated import paths fortransform/andcombine/src/torch/dataframe/analysis/index.ts— removedDataFrameOperationsexport (moved tocombine/)src/torch/dataframe/index.ts— added re-export forcombine/
Fixed¶
- None
Is It Safe to Upgrade?¶
- Breaking Changes: No
- Backward Compatible: Yes
All public APIs remain unchanged. The reorganization is internal only.
Release Details¶
- Date: 2026-03-22
- Version: v0.28.12
- gaslamp: version 69
- pilotlamp: version 26
- Files Changed: 18
- Commits:
bbf9a49bump: version 0.28.11 → 0.28.121e7264erefactor(dataframe): update imports to use combine/ submoduleb90580arefactor(dataframe): remove operations.ts from analysis/ submodule857b9e8fix(dataframe): add combine/ submodule for join and concatd85da6erefactor(dataframe): rename transformation/ to transform/
Known Issues¶
- Circular dependencies exist between
core/dataframeand several submodules (combine/,transform/,patterns/,analysis/). This is a pre-existing architectural issue. The planned fix is migration to a sharedDataFrameStateobject pattern (future work).
Next Steps¶
- Migrate
analysis/operations.tssplit: extractcombine/stats intoanalysis/stats.ts - Resolve circular dependencies via shared
DataFrameStatepattern - Continue aligning submodule structure with the pandas/polars-inspired design