# Changelog ## 2025-10-24 - 1.2.1 - fix(mail/delivery) Centralize runtime/plugin imports and switch modules to use plugins exports; unify EventEmitter usage; update Deno dependencies and small path/server refactors - Centralized Node and third-party imports in ts/plugins.ts and re-exported commonly used utilities (net, tls, dns, fs, smartfile, smartdns, smartmail, mailauth, uuid, ip, LRUCache, etc). - Replaced direct EventEmitter / Node built-in imports with plugins.EventEmitter across delivery, smtpclient, routing and the unified email server to standardize runtime integration. - Updated deno.json dependency map: added @push.rocks/smartfile, @push.rocks/smartdns, @tsclass/tsclass and ip; reordered lru-cache entry. - Stopped exporting ./dns/index.ts from ts/index.ts (DNS is available via mail/routing) to avoid duplicate exports. - Added keysDir alias and dnsRecordsDir in ts/paths.ts and small path-related fixes. - Added a placeholder SmtpServer and other minor delivery/smtpserver refactors and sanitizations. - Added a local .claude/settings.local.json for development permissions (local-only configuration). ## 2025-10-24 - 1.2.0 - feat(plugins) Add smartmail, mailauth and uuid to Deno dependencies and export them from plugins; include local dev permissions file - Add @push.rocks/smartmail, mailauth and uuid to deno.json dependencies so email parsing, DKIM and UUID utilities are available. - Export smartmail, mailauth and uuid from ts/plugins.ts for centralized access across the codebase. - Add .claude/settings.local.json to define local development permissions (tooling/dev environment configuration). ## 2025-10-24 - 1.1.0 - feat(ci) Add CI, release and npm-publish automation; introduce release template and local settings - Add CI workflow (.gitea/workflows/ci.yml) to run TypeScript checks, linting, formatting and platform compilation tests - Add release workflow (.gitea/workflows/release.yml) to compile binaries for multiple platforms, generate checksums, create/update Gitea releases and upload assets - Add npm publish workflow (.gitea/workflows/npm-publish.yml) to build package from a tag and publish precompiled binaries to npm (tag-triggered) - Add a Gitea release template (.gitea/release-template.md) describing platforms, checksums and installation options - Add local tool permission settings (.claude/settings.local.json) used by local tooling - No API or runtime source changes — this commit is focused on CI/CD, release automation and packaging ## 2025-10-24 - 1.0.1 - fix(dev) Add local development settings file to grant tooling permissions - Add a local development settings file to configure permissions used by repository tooling (file-system reads and a small set of shell/CLI operations). - This is a developer-only configuration — it doesn't change runtime code or published artifacts. - No functional changes to the mailer library; bumps patch version only to record the repository config change. ## 1.0.0 (2025-10-24) ### Features - Initial release of @serve.zone/mailer - SMTP server and client implementation - HTTP REST API (Mailgun-compatible) - Automatic DNS management via Cloudflare - Systemd daemon service - CLI interface for all operations - DKIM signing and SPF validation - Email routing and delivery queue - Rate limiting and bounce management