@imigueldiaz/mongodb-labeler
Version:
A MongoDB-based labeling system for content moderation with cryptographic signing
299 lines (197 loc) • 7.87 kB
Markdown
Changelog
# [0.4.8] - 2024-12-06
## Changed
- Modified `CreateLabelData` type to properly handle version validation at runtime
- Improved version validation in `createLabel` method to better handle invalid versions
- Updated type definitions to maintain type safety while allowing proper runtime checks
## Fixed
- Fixed ESLint warnings related to unnecessary conditions in version validation
- Fixed handling of optional `cts` property in `mongodb.ts`
- Improved error handling in `saveLabel` method
# [0.4.7] - 2024-12-02
## Added
- Added export for errors/index.js module for better error handling
- Added Vitest support for testing, replacing Jest
- Added MongoDB 6.0 support
- Added basic usage examples in README for label creation and querying
## Changed
- Improved MongoDB date handling in label operations:
- Storing dates as ISO strings for better compatibility
- Enhanced filtering of expired labels using MongoDB queries
- Updated LabelerServer with improved error handling
- Migrated test framework from Jest to Vitest:
- Removed Jest configuration files
- Added Vitest configuration
- Updated test files for Vitest compatibility
- Enhanced ESLint configuration to properly ignore coverage files
## Fixed
- Fixed expired label filtering in MongoDB queries
- Fixed date comparison issues in label operations
- Fixed test cases to properly handle expired labels
# [0.4.6] - 2024-12-01
## Changed
- Enhanced version validation in label schema:
- Modified `CreateLabelData` interface to allow any number in `ver` field for testing flexibility
- Added runtime validation in `createLabel` to ensure `ver` is always 1
- Improved test coverage for version validation scenarios
# [0.4.5] - 2024-12-01
## Added
- New `validateUri` function that properly handles both `did:` and `at://` URIs
- Warning when creating a label for an `at://` URI without a CID
## Changed
- Improved URI and CID validation to follow atproto specification:
- CID is not allowed for `did:` URIs
- CID is recommended but optional for `at://` URIs
- CID field is now omitted from the label object when not provided
- Enhanced error messages for URI validation
- Marked `validateAtUri` as deprecated in favor of `validateUri`
- Simplified type definitions:
- `CreateLabelData` now extends from `UnsignedLabel`
- Removed duplicate field definitions
- Enforced literal type `1` for `ver` field
## Fixed
- Validation now correctly handles the relationship between URI types and CID
- Test coverage improved for URI and CID validation scenarios
# [0.4.4] - 2024-12-01
## Changed
- Improved package exports configuration with better module resolution
- Simplified index.ts exports using `export *` for utility modules
- Added CHANGELOG.md to package files
# [0.4.3] - 2024-12-01
## Changed
- Enhanced package exports configuration to better support TypeScript types
- Improved module resolution for both ESM and CommonJS environments
- Updated package.json exports field with explicit type declarations
# [0.4.2] - 2024-12-01
## Fixed
- Fixed MongoDB client initialization to properly handle database and collection names
- Improved error handling in database connection process
- Simplified MongoDB client setup in LabelerServer
# [0.4.1] - 2024-12-01
## Fixed
- Enhanced error handling in MongoDB client operations
- Improved error message consistency in _getNextId method
- Fixed MongoDB collection mocks in tests for better reliability
- Optimized error propagation in saveLabel method
- Removed unused variables and improved test clarity
# [0.4.0] - 2024-11-30
## Changed
- Migrated test framework from Jest to Vitest for improved performance and developer experience
- Enhanced test execution and coverage workflow configuration
- Optimized test configuration with improved timeout settings
- Updated test script in coverage workflow with better handling of completion
- Improved CI/CD pipeline configuration and performance
# [0.3.3] - 2024-11-29
## Fixed
- Fixed hanging tests in CI environment
- Optimized Jest configuration for CI environments
- Improved MongoDB Memory Server handling in tests
## Changed
- Updated GitHub Actions workflow configuration
- Modified timeout and log management in CI
- Added timeout control to prevent infinite test execution
# [0.3.2] - 2024-11-29
## Changed
- Improved ESLint configuration for test files
- Added explicit `strictNullChecks` configuration in tsconfig.json
- Disabled specific ESLint rules for test files for better Jest compatibility
# [0.3.1] - 2024-11-29
## Added
- Added Jest global setup file for configuring test environment
- Added AT Protocol Technical Cheatsheet and MongoDB setup documentation
- Added global timer mock setup and cleanup functions
## Changed
- Enhanced Jest timeout configuration for tests
- Improved cleanup logic in test environment
- Refactored clearTimeout function and test cleanup actions
- Added original Date.now tracking in Jest setup for better time handling in tests
# [0.3.0] - 2024-11-29
## Added
- Added validation for expired timestamps in `queryLabels` before making database queries
- Improved error handling for timestamp validation errors with clearer error messages
- Added `date-fns` library integration for more accurate date validation
## Changed
- Enhanced timestamp validation logic to use `getDaysInMonth` from `date-fns`
- Refactored error handling in `queryLabels` to properly propagate validation errors
- Updated validation error messages to be more descriptive and consistent
## Fixed
- Fixed timestamp validation to correctly handle days in months
- Fixed error message format in timestamp validation errors
- Fixed handling of expired labels in queries to be more consistent with validation rules
## Testing
- Added comprehensive tests for timestamp validation edge cases
- Improved test coverage for expired label handling
- Added tests for date validation with different month lengths and leap years
## Dependencies
- Added `date-fns` for improved date handling and validation
# [0.2.9] - 2024-11-27
## Changed
- Enhanced MongoDB client configuration
- Improved error handling in database operations
- Updated documentation with more examples
# [0.2.8] - 2024-11-27
## Changed
- Updated MongoDB client implementation
- Enhanced error handling
- Improved type definitions
# [0.2.7] - 2024-11-26
## Changed
- Enhanced MongoDB operations
- Improved error handling
- Updated documentation
# [0.2.6] - 2024-11-26
## Changed
- Updated MongoDB client
- Enhanced error messages
- Improved type safety
# [0.2.5] - 2024-11-26
## Changed
- Enhanced database operations
- Improved error handling
- Updated documentation
# [0.2.4] - 2024-11-24
## Changed
- Updated MongoDB operations
- Enhanced error handling
- Improved documentation
# [0.2.3] - 2024-11-24
## Changed
- Enhanced database client
- Improved error messages
- Updated type definitions
# [0.2.2] - 2024-11-24
## Changed
- Updated MongoDB operations
- Enhanced error handling
- Improved documentation
# [0.2.1] - 2024-11-24
## Changed
- Enhanced database client
- Improved error messages
- Updated type definitions
# [0.2.0] - 2024-11-23
## Changed
- Major update to MongoDB operations
- Enhanced error handling system
- Improved type safety
- Updated documentation
# [0.1.4] - 2024-11-23
## Changed
- Updated MongoDB client
- Enhanced error handling
- Improved documentation
# [0.1.3] - 2024-11-21
## Changed
- Enhanced database operations
- Improved error messages
- Updated type definitions
# [0.1.2] - 2024-11-21
## Changed
- Updated MongoDB client
- Enhanced error handling
- Improved documentation
# [0.1.1] - 2024-11-21
## Changed
- Initial release with basic MongoDB operations
- Basic error handling
- Initial documentation