mongo-pipeline-kit
Version:
A feature-rich MongoDB pipeline builder kit for creating, reusing, and managing aggregation pipelines with enhanced JSON support and advanced utilities
175 lines (129 loc) • 6.03 kB
Markdown
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.3.3] - 2024-01-15
### Added
- **GitHub Sponsors Integration**: Now fully active and working at https://github.com/sponsors/arjun-computer-geek
- **FUNDING.md**: Updated funding page with active sponsorship link
- **Sponsorship Benefits**: Clear explanation of how sponsorships help the project
### Changed
- Updated package.json with working GitHub Sponsors funding link
- Enhanced FUNDING.md with active sponsorship information
- Improved funding configuration for better user experience
### Fixed
- **Funding Link**: Now properly redirects to active GitHub Sponsors page
- **Sponsorship Flow**: Users can now sponsor the project directly through GitHub
## [0.3.2] - 2024-01-15
### Fixed
- **404 Error Fix**: Removed GitHub Discussions links that were causing 404 errors
- **Support Channel Improvements**: Updated all documentation to use working support channels
- **Alternative Support**: Added NPM package page as alternative support channel
### Changed
- Updated issue templates to remove Discussions references
- Enhanced README.md with working support links
- Updated GitHub Actions workflow with alternative support channels
- Replaced `npm run discussions` with `npm run npm` for NPM package access
- Added ENABLE_DISCUSSIONS.md guide for manual setup
### Added
- **ENABLE_DISCUSSIONS.md**: Guide for manually enabling GitHub Discussions
- **NPM Package Links**: Direct links to NPM package for reviews and feedback
- **Improved Support Flow**: Better guidance for users seeking help
## [0.3.1] - 2024-01-15
### Added
- **Issue Management System**
- GitHub issue templates for bugs, features, and questions
- Comprehensive ISSUES.md guide for issue reporting
- GitHub Actions workflow for automated issue management
- Enhanced package.json with npm-specific issue tracking fields
- Support for GitHub Discussions and email support
- Auto-labeling and welcome messages for new issues
- NPM scripts for quick access to issues, discussions, and docs
### Changed
- Enhanced README.md with issue reporting section and support information
- Enhanced package.json with author information, funding, and engine requirements
- Added new keywords for better npm discoverability
- Improved issue tracking with email support in bugs field
## [0.3.0] - 2024-01-15
### Added
- **JSON Export/Import Functionality**
- `toJSON(pretty?: boolean)` method to PipelineBuilder and PipelineComposer for JSON string export
- `toObject()` method to get pipeline as plain object
- `exportWithMetadata(metadata)` method to export pipeline with additional metadata
- `toString()` method for human-readable string representation
- `fromJSON(jsonString: string)` static method in PipelineUtils for JSON parsing
- **PipelineUtils Class**
- Static utility class for advanced pipeline operations
- `getStats(pipeline)` for pipeline statistics and complexity estimation
- `describe(pipeline)` for human-readable pipeline descriptions
- `compare(pipeline1, pipeline2)` for pipeline comparison
- `clone(pipeline)` for deep copying pipelines
- `validate(pipeline, options)` for comprehensive pipeline validation
- `filterByStageType(pipeline, operator)` for filtering stages by type
- `removeStageType(pipeline, operator)` for removing stages by type
- `insertStage(pipeline, index, stage)` for inserting stages at specific positions
- `replaceStage(pipeline, index, stage)` for replacing stages
- **Enhanced PipelineComposer**
- JSON export methods (`toJSON`, `toObject`, `exportWithMetadata`)
- String representation method (`toString`)
- `hasStage(operator)` method to check for specific stage types
- `getStagesByType(operator)` method to get all stages of a specific type
- **Pipeline Analysis Features**
- Pipeline complexity estimation based on stage types
- Stage type counting and analysis
- Total size calculation
- Metadata support with timestamps and custom fields
- **Comprehensive Examples**
- Added EXAMPLES.md with detailed usage examples
- JSON export/import examples
- Pipeline manipulation examples
- Pipeline comparison examples
- Complete workflow examples
- **Issue Management System**
- GitHub issue templates for bugs, features, and questions
- Comprehensive ISSUES.md guide for issue reporting
- GitHub Actions workflow for automated issue management
- Enhanced package.json with npm-specific issue tracking fields
- Support for GitHub Discussions and email support
- Auto-labeling and welcome messages for new issues
### Changed
- Enhanced README.md with new features documentation and issue reporting section
- Updated API documentation to include new methods
- Improved type safety and error handling
- Enhanced package.json with author information, funding, and engine requirements
- Added new keywords for better npm discoverability
### Fixed
- Enhanced error messages for better debugging
- Improved validation logic in PipelineUtils
## [0.2.1] - 2024-01-10
### Added
- Comprehensive MongoDB aggregation pipeline methods to `PipelineBuilder`, including:
- `$addFields`
- `$bucket`
- `$bucketAuto`
- `$collStats`
- `$count`
- `$facet`
- `$geoNear`
- `$graphLookup`
- `$indexStats`
- `$lookup`
- `$merge`
- `$out`
- `$redact`
- `$replaceRoot`
- `$replaceWith`
- `$sample`
- `$setWindowFields`
- `$sortByCount`
- `$unionWith`
- `$unset`
- `$unwind`
- Repository, bugs, and homepage links to `package.json`.
- `CONTRIBUTING.md` to the `files` array in `package.json`.
- `CHANGELOG.md` to track project changes.
### Changed
- Alphabetized the methods in `PipelineBuilder.ts` for better organization.
### Fixed
- A 404 error for `CONTRIBUTING.md` on the npm package page.
- A bug in the `sortByCount` method.