Skip to content

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.

TypeScript
// 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.tsDataFrameOperations class (join, concat)
  • src/torch/dataframe/combine/index.ts — public entry point for the combine submodule

Changed

  • src/torch/dataframe/transformation/ → renamed to src/torch/dataframe/transform/
  • src/torch/dataframe/core/dataframe.ts — updated import paths for transform/ and combine/
  • src/torch/dataframe/analysis/index.ts — removed DataFrameOperations export (moved to combine/)
  • src/torch/dataframe/index.ts — added re-export for combine/

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:
    • bbf9a49 bump: version 0.28.11 → 0.28.12
    • 1e7264e refactor(dataframe): update imports to use combine/ submodule
    • b90580a refactor(dataframe): remove operations.ts from analysis/ submodule
    • 857b9e8 fix(dataframe): add combine/ submodule for join and concat
    • d85da6e refactor(dataframe): rename transformation/ to transform/

Known Issues

  • Circular dependencies exist between core/dataframe and several submodules (combine/, transform/, patterns/, analysis/). This is a pre-existing architectural issue. The planned fix is migration to a shared DataFrameState object pattern (future work).

Next Steps

  • Migrate analysis/operations.ts split: extract combine/ stats into analysis/stats.ts
  • Resolve circular dependencies via shared DataFrameState pattern
  • Continue aligning submodule structure with the pandas/polars-inspired design