platformservice/changelog.md
Philipp Kunz 970c0d5c60 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.
2025-05-08 01:16:21 +00:00

13 KiB
Raw Permalink Blame History

Changelog

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 - 2.3.1 - fix(platformservice)

Update dependency versions and refactor import paths for improved compatibility; add initial DcRouter plan documentation.

  • Upgrade @git.zone/tsbuild to ^2.3.2 and @push.rocks/tapbundle to ^6.0.3.
  • Upgrade @api.global/typedserver to ^3.0.74 and update related API dependencies (cloudflare, letterxpress).
  • Upgrade smartdata to ^5.15.1, add smartdns (^6.2.2), upgrade smartproxy to ^10.0.2, smartrequest to ^2.1.0, smartrule to ^2.0.1, and smartrx to ^3.0.10.
  • Upgrade @serve.zone/interfaces to ^5.0.4 and @tsclass/tsclass to ^9.1.0; update mailauth to ^4.8.4.
  • Add packageManager field in package.json for PNPM configuration.
  • Add readme.plan.md detailing the DcRouter implementation plan.
  • Refactor import paths in several TS files (e.g. ts/plugins.ts, ts/mta classes) for consistency.

2025-03-15 - 2.3.0 - feat(platformservice)

Add AIBridge module and refactor service file paths for improved module organization

  • Added new AIBridge class in ts/aibridge/classes.aibridge.ts.
  • Renamed letter service file from ts/letter/letterservice.ts to ts/letter/classes.letterservice.ts and updated its index.
  • Updated platformservice.ts to import letter and SMS services from new paths.
  • Renamed SMS service file from ts/sms/smsservice.ts to ts/sms/classes.smsservice.ts and updated its index accordingly.

2025-03-15 - 2.2.1 - fix(platformservice)

Refactor module structure to update import paths and file organization

  • Removed obsolete file 'ts/classes.platformservice.ts' and updated references to use 'ts/platformservice.ts'.
  • Updated import paths in PlatformServiceDb, EmailService, and other modules to use new file structure.
  • Renamed and moved files in the email, mta, letter, and sms directories to align with new module layout.
  • Fixed references to external modules (e.g. '@serve.zone/interfaces', '@push.rocks/*', etc.) to reflect the updated paths.

2025-03-15 - 2.2.0 - feat(plugins)

Add smartproxy support by including the @push.rocks/smartproxy dependency and exporting it in the plugins module.

  • Added '@push.rocks/smartproxy' dependency version '^4.1.0' to package.json
  • Updated ts/plugins.ts to export the smartproxy module alongside other push.rocks modules

2025-03-15 - 2.1.0 - feat(MTA)

Update readme with detailed Mail Transfer Agent usage and examples

  • Added a comprehensive MTA section with usage examples including SMTP server setup, DKIM signing/verification, SPF/DMARC support, and API integration
  • Expanded the conclusion to highlight MTA capabilities alongside email, SMS, letter, and AI services

2025-03-15 - 2.0.0 - BREAKING CHANGE(platformservice)

Remove deprecated AIBridge module and update email service to use the MTA connector; update dependency versions and adjust build scripts in package.json.

  • Completely remove the aibridge module files (aibridge.classes.aibridge.ts, aibridge.classes.aibridgedb.ts, aibridge.classes.openaibridge.ts, aibridge.paths.ts, aibridge.plugins.ts, and index.ts) as they are no longer needed.
  • Switch the email service from using MailgunConnector to the new MTA connector for sending emails.
  • Update dependency versions for @serve.zone/interfaces, @tsclass/tsclass, letterxpress, and uuid in package.json.
  • Enhance the build script in package.json and add pnpm configuration.

2025-03-15 - 1.1.2 - fix(mta)

Expose HttpResponse.statusCode and add explicit generic type annotations in DNSManager cache retrieval

  • Changed HttpResponse.statusCode from private to public to allow external access and inspection
  • Added explicit generic type parameters in getFromCache calls for lookupMx and lookupTxt to enhance type safety

2025-03-15 - 1.1.1 - fix(paths)

Update directory paths to use a dedicated 'data' directory and add ensureDirectories function for proper directory creation.

  • Refactored ts/paths.ts to define a base data directory using process.cwd().
  • Reorganized MTA directories (keys, dns, emails sent/received/failed, logs) under the data directory.
  • Added ensureDirectories function to create missing directories at runtime.

2025-03-15 - 1.1.1 - fix(mta)

Refactor API Manager and DKIMCreator: remove Express dependency in favor of Node's native HTTP server, add an HttpResponse helper to improve request handling, update path and authentication logic, and expose previously private DKIMCreator methods for API access.

  • Replaced Express-based middleware with native HTTP server handling, including request body parsing and CORS headers.
  • Introduced an HttpResponse helper class to standardize response writing.
  • Updated route matching, parameter extraction, and error handling within the API Manager.
  • Modified DKIMCreator methods (createDKIMKeys, storeDKIMKeys, createAndStoreDKIMKeys, and getDNSRecordForDomain) from private to public for better API accessibility.
  • Updated plugin imports to include the native HTTP module.

2025-03-15 - 1.1.0 - feat(mta)

Enhance MTA service and SMTP server with robust session management, advanced email handling, and integrated API routes

  • Introduce a state machine (SmtpState) and session management in the SMTP server to replace legacy buffering
  • Refactor DNSManager with caching and improved SPF, DKIM, and DMARC verification methods
  • Update Email class to support multiple recipients, CC, BCC with input sanitization and validation
  • Add detailed logging, TLS upgrade handling, and error-based retry logic in EmailSendJob
  • Implement a new API Manager with typed routes for sending emails, DKIM key generation, domain verification, and statistics
  • Integrate certificate provisioning with auto-renewal and TLS options in the MTA service configuration

2024-05-11 - 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.