Skip to content

v0.28.0 - DataFrame Methods & Workflow Enhancement (2025-12-30)

What Changed?

This release completes the DataFrame API implementation with critical data manipulation methods (join, melt, pivot, transform, fillna, sort, describe) and enhances the development workflow with improved task management. The project now includes comprehensive release note templates and streamlined version management commands for better release processes.


What's New

Main Feature 1: Complete DataFrame Methods Implementation

What it does: Implements 7 essential DataFrame methods completing the core data manipulation API - join for combining data, melt for reshaping, pivot for cross-tabulation, transform for element-wise operations, fillna for handling missing values, sort for data ordering, and describe for statistical summaries.

How to use it:

TypeScript
import { DataFrame } from 'gaslamp';

// Join two DataFrames
const df1 = new DataFrame().fromArrays([['id', 'name'], [1, 'A'], [2, 'B']]);
const df2 = new DataFrame().fromArrays([['id', 'value'], [1, 100], [2, 200]]);
const joined = df1.join(df2, 'id');

// Melt (unpivot) data
const melted = df1.melt(['id']);

// Pivot (cross-tabulate) data
const pivoted = df1.pivot('category', 'value');

// Fill missing values
const filled = df1.fillna(0);

// Sort by column
const sorted = df1.sort('value', 'asc');

// Get statistical summary
const stats = df1.describe();

// Transform values
const transformed = df1.transform((row) => ({
  ...Object.fromEntries(row),
  doubled: row.get('value') * 2
}));

Main Feature 2: Enhanced Development Workflow

What it does: New task commands streamline the release process: docs:release template management, status for git repository overview, log for recent commits, and improved version tracking from git tags.

How to use it:

Bash
# Create new release notes from template
task docs:release -- v0.28.0

# Check repository status (branches, worktrees, current state)
task status

# View recent commits
task log

# Display current version
task version

# Enhanced version bumping
task bump:check    # Preview changes
task bump:auto     # Auto-detect from commits
task bump:patch    # Manual patch bump

Added

  • DataFrame Methods: Complete implementation of 7 critical data manipulation methods
  • DataFrame.join() - Merge two DataFrames on a common column
  • DataFrame.melt() - Reshape/unpivot data from wide to long format
  • DataFrame.pivot() - Create cross-tabulation (pivot table) from data
  • DataFrame.transform() - Apply element-wise transformations
  • DataFrame.fillna() - Replace missing/null values with specified value
  • DataFrame.sort() - Sort rows by column values (ascending/descending)
  • DataFrame.describe() - Generate statistical summary of numeric columns
  • Release Documentation: Comprehensive release notes template with migration guides
  • Workflow Tasks: New docs:release, status, log, and version task commands
  • Documentation Infrastructure: Automated release note generation from templates

Changed

  • Taskfile Organization: Enhanced task organization with better categorization and descriptions
  • Version Bumping: Improved version bumping tasks with auto-detection capabilities
  • Module Structure: Consolidated and organized test files (migrated setup.js to TypeScript)

Fixed

  • Series References: Removed lingering Series class references from DataFrame methods
  • DataFrame API: Corrected DataFrame API usage in test files (pilotlamp)
  • Type Annotations: Added proper type annotations for GroupedDataFrame operations
  • Import Paths: Resolved formatting conflicts and removed unused imports

Is It Safe to Upgrade?

  • Breaking Changes: No
  • Backward Compatible: Yes

Impact on existing users: This is a safe upgrade with no breaking changes. All new DataFrame methods are additions to the existing API and do not modify existing functionality. The new workflow tasks are optional utilities that enhance the development experience without affecting library behavior. Users can upgrade immediately without code modifications.


Release Details

  • Date: 2025-12-30
  • Version: v0.28.0
  • Previous Version: v0.27.0
  • Commits: 20 new commits
  • Key Commits:
    • d0c5fbd - bump: version 0.27.0 → 0.28.0
    • 466c5c6 - docs: Add release notes template and task
    • 40e5f62 - feat: Add git management and version display tasks to Taskfile
    • 9a339a3 - feat: Enhance version bumping tasks in Taskfile.yml
    • 6fbfaf7 - refactor: Organize and rename Taskfile.yml tasks
    • 9458170 - refactor(tests): migrate setup.js to ts and remove obsolete tests
    • 06cdab8 - fix: resolve formatting conflicts and remove unused imports
    • 435d041 - fix: remove Series references from DataFrame methods
    • 5f129f7 - feat: complete DataFrame missing methods implementation

Known Issues

None reported at this time. All tests pass and API functionality is stable.


Next Steps

Upcoming Focus Areas:

  • Enhanced error handling and validation for DataFrame operations
  • Performance optimization for large datasets
  • Additional statistical methods for advanced data analysis
  • Improved documentation with interactive examples
  • Community contribution guidelines and templates

Roadmap:

  • v0.29.0: Performance optimizations and additional aggregate functions
  • v0.30.0: Enhanced GAS-specific functionality and integration improvements