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:
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:
# 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 columnDataFrame.melt()- Reshape/unpivot data from wide to long formatDataFrame.pivot()- Create cross-tabulation (pivot table) from dataDataFrame.transform()- Apply element-wise transformationsDataFrame.fillna()- Replace missing/null values with specified valueDataFrame.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, andversiontask 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.0466c5c6- docs: Add release notes template and task40e5f62- feat: Add git management and version display tasks to Taskfile9a339a3- feat: Enhance version bumping tasks in Taskfile.yml6fbfaf7- refactor: Organize and rename Taskfile.yml tasks9458170- refactor(tests): migrate setup.js to ts and remove obsolete tests06cdab8- fix: resolve formatting conflicts and remove unused imports435d041- fix: remove Series references from DataFrame methods5f129f7- 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