Upyo changelog
Version 0.4.0
To be released.
Version 0.3.1
Released on November 3, 2025.
@upyo/smtp
- Added STARTTLS support for secure connection upgrade. The SMTP transport now automatically detects and uses STARTTLS when connecting to servers that advertise this capability (such as Protonmail, Office 365, and others). This allows using port 587 with
secure: falsefor automatic encryption upgrade. [#14]
Version 0.3.0
Released on September 16, 2025.
@upyo/pool
Added pool transport for combining multiple email providers with load balancing and failover strategies. [#8]
- Added
PoolTransportclass withAsyncDisposablesupport. - Added
PoolConfiginterface. - Added
ResolvedPoolConfigtype. - Added
TransportEntryinterface. - Added
ResolvedTransportEntrytype. - Added
PoolStrategytype for built-in strategies. - Added
Strategyinterface for custom routing logic. - Added
TransportSelectioninterface. - Added
RoundRobinStrategyclass for equal distribution. - Added
WeightedStrategyclass for proportional distribution. - Added
PriorityStrategyclass for failover-based routing. - Added
SelectorBasedStrategyclass for content-based routing. - Support for round-robin, weighted, priority, and selector-based strategies.
- Automatic failover and retry logic with configurable limits.
- Comprehensive error aggregation across multiple providers.
- Added
@upyo/plunk
- Added
PlunkTransportclass. - Added
PlunkConfiginterface. - Added
ResolvedPlunkConfiginterface. - Added
PlunkErrorinterface. - Added
PlunkResponseinterface. - Support for both cloud-hosted and self-hosted Plunk instances.
- Added
@upyo/resend
- Added
ResendTransportclass. - Added
ResendConfiginterface. - Added
ResolvedResendConfiginterface. - Added
ResendApiErrorinterface. - Added
ResendBatchResponseinterface. - Added
ResendErrorinterface. - Added
ResendResponseinterface.
- Added
Version 0.2.2
Released on November 3, 2025.
@upyo/smtp
- Added STARTTLS support for secure connection upgrade. The SMTP transport now automatically detects and uses STARTTLS when connecting to servers that advertise this capability (such as Protonmail, Office 365, and others). This allows using port 587 with
secure: falsefor automatic encryption upgrade. [#14]
Version 0.2.1
Released on August 4, 2025.
@upyo/smtp
Fixed “Maximum call stack size exceeded” error when sending large attachments. [#6]
The SMTP transport now uses
Buffer.from().toString('base64')instead of the legacybtoa()function for base64 encoding, which resolves stack overflow issues with large attachments (e.g., 500KB+ files).Fixed UTF-8 encoding issue where email addresses were incorrectly encoded in SMTP headers. [#7]
Only display names are now encoded using RFC 2047 encoding, while email addresses remain unencoded. For example,
German ÄÖÜ <info@example.com>now correctly becomes=?UTF-8?B?...?= <info@example.com>instead of encoding the entire string including the email address.
Version 0.2.0
Released on July 17, 2025.
@upyo/core
Improved type safety by making array fields readonly.
- Changed the type of
Message.recipientsproperty fromAddress[]toreadonly Address[]. - Changed the type of
Message.ccRecipientsproperty fromAddress[]toreadonly Address[]. - Changed the type of
Message.bccRecipientsproperty fromAddress[]toreadonly Address[]. - Changed the type of
Message.replyRecipientsproperty fromAddress[]toreadonly Address[]. - Changed the type of
Message.attachmentsproperty fromAttachment[]toreadonly Attachment[]. - Changed the type of
Message.tagsproperty fromstring[]toreadonly string[].
- Changed the type of
Enhanced email address type safety with template literal types.
- Added
EmailAddresstype. - Changed
Address.addressproperty type fromstringtoEmailAddress. - Added
isEmailAddress()type guard function for runtime email validation.
- Added
@upyo/ses
Added Amazon SES transport. [#3]
- Added
SesTransportclass. - Added
SesConfiginterface. - Added
SesAuthenticationinterface.
- Added
@upyo/opentelemetry
Added OpenTelemetry observability support. [#5]
- Added
OpenTelemetryTransportclass. - Added
OpenTelemetryConfiginterface. - Added
ObservabilityConfiginterface. - Added
MetricsConfiginterface. - Added
TracingConfiginterface. - Added
AttributeExtractortype. - Added
ErrorClassifiertype. - Added
createErrorClassifier()function. - Added
defaultErrorClassifier()function. - Added
AutoConfiginterface. - Added
createOpenTelemetryTransport()function. - Added
CreateOpenTelemetryTransportConfiginterface. - Added
createEmailAttributeExtractor()function.
- Added
Version 0.1.2
Released on Nowember 3, 2025.
@upyo/smtp
- Added STARTTLS support for secure connection upgrade. The SMTP transport now automatically detects and uses STARTTLS when connecting to servers that advertise this capability (such as Protonmail, Office 365, and others). This allows using port 587 with
secure: falsefor automatic encryption upgrade. [#14]
Version 0.1.1
Released on July 14, 2025.
@upyo/smtp
- Fixed CJK character encoding corruption in SMTP transport HTML emails. Korean, Japanese, and Chinese characters are now properly encoded using UTF-8 quoted-printable encoding. [#4]
Version 0.1.0
Initial release. Released on July 13, 2025.