platformservice/changelog.md

14 KiB
Raw Blame History

Changelog

2025-05-08 - 2.11.1 - fix(platform)

Update commit info with no functional changes; regenerated commit information.

2025-05-08 - 2.11.0 - feat(platformservice)

Expose DcRouter and update package visibility. Changed package.json 'private' flag from true to false to allow public publication, and added export of DcRouter in ts/index.ts for improved API accessibility.

  • Changed package.json: set 'private' to false
  • Added export for DcRouter in ts/index.ts

2025-05-08 - 2.10.0 - feat(config): Implement standardized configuration system

Create a comprehensive configuration system with validation, defaults, and documentation

  • Added consistent configuration interfaces across all services
  • Implemented validation for all configuration objects with detailed error reporting
  • Added default values for optional configuration parameters
  • Created an extensive documentation system for configuration options
  • Added migration helpers for managing configuration format changes
  • Enhanced platform service to load configuration from multiple sources (file, environment, code)
  • Updated email and SMS services to use the new configuration system

2025-05-08 - 2.9.0 - feat(errors): Implement comprehensive error handling system

Enhance error handling with structured errors, consistent patterns, and improved logging

  • Added domain-specific error classes for better error categorization and handling
  • Created comprehensive error codes for all service types (email, MTA, security, etc.)
  • Implemented detailed error context with severity, category, and recoverability classification
  • Added utilities for error conversion, formatting, and handling with automatic retry mechanisms
  • Enhanced logging with correlation tracking, context support, and structured data
  • Created middleware for handling errors in HTTP requests with proper status code mapping
  • Added retry with exponential backoff for transient failures

2025-05-08 - 2.8.9 - fix(types)

Fix TypeScript build errors and improve API type safety across platformservice interfaces

  • Fixed interface placement in EmailService and MtaConnector classes
  • Aligned DeliveryStatus enum and updated ApiManager handlers with proper type-safe signatures
  • Added comprehensive TypeScript interfaces for ISendEmailOptions, ITemplateContext, IValidateEmailOptions, IValidationResult, and IEmailServiceStats
  • Removed circular dependencies in type definitions and added proper type assertions
  • Improved test stability by handling race conditions in SenderReputationMonitor and IPWarmupManager; external DNS lookups are disabled under test environment

2025-05-08 - 2.8.8 - fix(types): Fix TypeScript build errors and improve API interfaces

Fix TypeScript build errors caused by interface placement and improve API type alignment

  • Fixed interface placement in EmailService and MtaConnector classes
  • Aligned DeliveryStatus enum with EmailSendJob implementation
  • Added proper method signatures for API endpoint handlers in ApiManager class
  • Updated getStats and checkEmailStatus methods to conform to API contracts
  • Implemented type-safe return values for all API methods
  • Fixed circular dependencies in type definitions
  • Added proper type assertion where needed to satisfy TypeScript compiler

2025-05-08 - 2.8.7 - feat(types): Add comprehensive TypeScript interfaces for API types

Improve type safety across the platform by adding detailed TypeScript interfaces for APIs

  • Added ISendEmailOptions interface with complete documentation for email sending options
  • Created ITemplateContext interface for email template rendering with full type safety
  • Added IValidateEmailOptions and IValidationResult interfaces for email validation
  • Improved IEmailServiceStats interface with detailed statistics types
  • Added IEmailStatusResponse and IEmailStatusDetails interfaces for MTA status checking
  • Updated sendEmail and other methods to use these new interfaces instead of 'any'
  • Removed need for type assertions in various components

2025-05-08 - 2.8.6 - fix(tests)

fix: Improve test stability by handling race conditions in SenderReputationMonitor and IPWarmupManager. Disable filesystem operations and external DNS lookups during tests by checking NODE_ENV, add proper cleanup of singleton instances and active timeouts to ensure consistent test environment.

  • Bumped version from 2.8.4 to 2.8.5 in package.json and changelog.md
  • Improved SenderReputationMonitor to skip filesystem operations and DNS record loading when NODE_ENV is set to test
  • Added cleanup of singleton instances and active timeouts in test files
  • Updated readme.plan.md with roadmap items for test stability

2025-05-08 - 2.8.5 - fix(tests): Improve test stability by fixing race conditions

Enhance the SenderReputationMonitor tests to prevent race conditions and make tests more reliable

  • Modified SenderReputationMonitor to detect test environment and disable filesystem operations
  • Added proper cleanup of singleton instances and timeouts between tests
  • Disabled DNS lookups during tests to prevent external dependencies
  • Set a consistent test environment using NODE_ENV=test
  • Made all tests independent of each other to prevent shared state issues

2025-05-08 - 2.8.4 - fix(mail)

refactor(mail): Remove Mailgun references from PlatformService. Update keywords, error messages, and documentation to use MTA exclusively.

  • Removed Mailgun integration from keywords in package.json and npmextra.json
  • Updated EmailService to remove Mailgun API key usage and reference MTA instead
  • Updated changelog.md and readme.md to reflect removal of Mailgun and update examples
  • Revised error messages to mention 'MTA not configured' instead of generic provider errors
  • Updated readme.plan.md to document Mailgun removal

2025-05-08 - 2.8.3 - refactor(mail): Remove Mailgun references

Remove all Mailgun references from the codebase since it's no longer used as an email provider

  • Removed "mailgun integration" from keywords in package.json and npmextra.json
  • Updated comments and documentation in EmailService to remove Mailgun mentions
  • Updated error messages to reference MTA instead of generic email providers
  • Updated the readme email example to use PlatformService reference instead of Mailgun API key

2025-05-08 - 2.8.2 - fix(tests)

Fix outdated import paths in test files for dcrouter and ratelimiter modules

  • Updated dcrouter import from '../ts/dcrouter/index.js' to '../ts/classes.dcrouter.js'
  • Updated ratelimiter import from '../ts/mta/classes.ratelimiter.js' to '../ts/mail/delivery/classes.ratelimiter.js'

2025-05-08 - 2.8.1 - fix(readme)

Update readme with consolidated email system improvements and modular directory structure

Clarify that the platform now organizes email functionality into distinct directories (mail/core, mail/delivery, mail/routing, mail/security, mail/services) and update the diagram and key features list accordingly. Adjust code examples to reflect explicit module imports and the use of SzPlatformService.

  • Changed description of consolidated email configuration to include 'streamlined directory structure'.
  • Updated mermaid diagram to show 'Mail System Structure' with separate components for core, delivery, routing, security, and services.
  • Modified key features list to document modular directory structure.
  • Revised code sample imports to use explicit paths and SzPlatformService.

2025-05-08 - 2.8.0 - feat(docs)

Update documentation to include consolidated email handling and patternbased routing details

  • Extended MTA section to describe the new unified email processing system with forward, MTA, and process modes
  • Updated system diagram to reflect DcRouter integration with UnifiedEmailServer, DeliveryQueue, DeliverySystem, and RateLimiter
  • Revised readme.plan.md checklists to mark completed features in core architecture, multimodal processing, unified queue, and DcRouter integration

2025-05-08 - 2.7.0 - feat(dcrouter)

Implement unified email configuration with patternbased routing and consolidated email processing. Migrate SMTP forwarding and storeandforward into a single, configuration-driven system that supports glob pattern matching in domain rules.

  • Introduced IEmailConfig interface to consolidate MTA, forwarding, and processing settings.
  • Added pattern-based domain routing with glob patterns (e.g., '@example.com', '@*.example.net').
  • Reworked DcRouter integration to expose unified email handling and updated readme.plan.md and changelog.md accordingly.
  • Removed deprecated SMTP forwarding components in favor of the consolidated approach.

2025-05-08 - 2.7.0 - feat(dcrouter)

Implement consolidated email configuration with pattern-based routing

  • Added new pattern-based email routing with glob patterns (e.g., *@task.vc, *@*.example.net)
  • Consolidated all email functionality (MTA, forwarding, processing) under a unified emailConfig interface
  • Implemented domain router with pattern specificity calculation for most accurate matching
  • Removed deprecated components (SMTP forwarding, Store-and-Forward) in favor of the unified approach
  • Updated DcRouter tests to use the new consolidated email configuration pattern
  • Enhanced inline documentation with detailed interface definitions and configuration examples
  • Updated implementation plan with comprehensive component designs for the unified email system

2025-05-07 - 2.6.0 - feat(dcrouter)

Implement integrated DcRouter with comprehensive SmartProxy configuration, enhanced SMTP processing, and robust storeandforward email routing

  • Marked completion of tasks in readme.plan.md with [x] flags for SMTP server setup, email processing pipeline, queue management, and delivery system.
  • Reworked DcRouter to use direct SmartProxy configuration, separating smtpConfig and smtpForwarding approaches.
  • Added new components for delivery queue and delivery system with persistent storage support.
  • Improved SMTP server implementation with TLS support, event handlers for connection, authentication, sender/recipient validation, and data processing.
  • Refined domain-based routing and transformation logic in EmailProcessor with metrics and logging.
  • Updated exported modules in dcrouter index to include SMTP storeandforward components.
  • Enhanced inline documentation and code comments for configuration interfaces and integration details.

2025-05-07 - 2.5.0 - feat(dcrouter)

Enhance DcRouter configuration and update documentation

  • Added new implementation hints (readme.hints.md) and planning documentation (readme.plan.md) outlining removal of SzPlatformService dependency and improvements in SMTP forwarding, domain routing, and certificate management.
  • Introduced new interfaces: ISmtpForwardingConfig and IDomainRoutingConfig for precise SMTP and HTTP domain routing configuration.
  • Refactored DcRouter classes to support direct integration with SmartProxy and enhanced MTA functionality, including SMTP port configuration and improved TLS handling.
  • Updated supporting modules such as SmtpPortConfig and EmailDomainRouter to provide better routing and security options.
  • Enhanced test coverage across dcrouter, rate limiter, IP warmup manager, and email authentication, ensuring backward compatibility and improved quality.

2025-05-07 - 2.4.2 - fix(tests)

Update test assertions and singleton instance references in DMARC, integration, and IP warmup manager tests

  • In test.emailauth.ts, update expected DMARC policy from 'none' to 'reject' and verify actualPolicy and action accordingly
  • In test.integration.ts, remove deprecated casting and adjust dedicated policy naming (use 'dedicated' instead of 'dedicatedDomain')
  • In test.ipwarmupmanager.ts and test.reputationmonitor.ts, replace singleton reset from '_instance' to 'instance' for proper instance access
  • Update round robin allocation tests to verify IP cycle returns one of the available IPs
  • Enhance daily limit tests by verifying getBestIPForSending returns null when limit is reached
  • General refactoring across tests for improved clarity and consistency

2025-05-07 - 2.4.1 - fix(tests)

Update test assertions and refine service interfaces

  • Converted outdated chai assertions to use tap's toBeTruthy, toEqual, and toBeGreaterThan methods in multiple test files
  • Appended tap.stopForcefully() tests to ensure proper cleanup in test suites
  • Added stop() method to PlatformService for graceful shutdown
  • Exposed certificate property in MtaService from private to public
  • Refactored dcrouter smartProxy configuration to better handle MTA service integration and certificate provisioning

2025-05-07 - 2.4.0 - feat(email)

Enhance email integration by updating @push.rocks/smartmail to ^2.1.0 and improving the entire email stack including validation, DKIM verification, templating, MIME conversion, and attachment handling.

  • Updated smartmail dependency from ^2.0.1 to ^2.1.0 in package.json
  • Enhanced EmailValidator with comprehensive checks (syntax, MX, disposable and role validations)
  • Refactored TemplateManager to support dynamic variable substitution and loading templates from directory
  • Improved conversion between internal Email and smartmail.Smartmail, streamlining MIME handling and attachment mapping
  • Augmented DKIM verification with caching and custom header injection for improved security reporting
  • Updated readme.plan.md with detailed roadmap for further performance, security, analytics, and deliverability enhancements
  • Expanded test suite to cover smartmail integration, validation, templating, and conversion between formats

2025-05-04 - 1.0.10 to 1.0.8 - core

Applied core fixes across several versions on this day.

  • Fixed core issues in versions 1.0.10, 1.0.9, and 1.0.8

2024-04-01 - 1.0.7 - core

Applied a core fix.

  • Fixed core functionality for version 1.0.7

2024-03-19 - 1.0.6 - core

Applied a core fix.

  • Fixed core functionality for version 1.0.6

2024-02-16 - 1.0.5 to 1.0.2 - core

Applied multiple core fixes in a contiguous range of versions.

  • Fixed core functionality for versions 1.0.5, 1.0.4, 1.0.3, and 1.0.2

2024-02-15 - 1.0.1 - core

Applied a core fix.

  • Fixed core functionality for version 1.0.1

Note: Versions that only contained version bumps (for example, 1.0.11 and the plain "1.0.x" commits) have been omitted from individual entries and are implicitly included in the version ranges above.