Skip to content

fix(deps): update dependency @upyo/core to v0.5.0#1723

Merged
renovate[bot] merged 1 commit into
mainfrom
renovate/upyo-core-0.x
Jul 6, 2026
Merged

fix(deps): update dependency @upyo/core to v0.5.0#1723
renovate[bot] merged 1 commit into
mainfrom
renovate/upyo-core-0.x

Conversation

@renovate

@renovate renovate Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
@upyo/core (source) 0.4.00.5.0 age confidence

Release Notes

dahlia/upyo (@​upyo/core)

v0.5.0

Compare Source

Released on July 1, 2026.

@​upyo/core
  • Added structured delivery error metadata to failed Receipt values.
    Failed receipts still include errorMessages for existing code, and may
    now also include errors, retryable, provider, attempts, and
    timestamp fields for programmatic error handling. Structured errors may
    also include provider-specific providerDetails when a transport exposes
    them. [#​25, #​27]

    Receipt, ReceiptError, and Transport are now generic over the
    transport provider id, and Transport implementations expose a stable
    id field so provider metadata can be type-checked.

    • Added the ReceiptError interface.
    • Added the ReceiptErrorCategory type.
    • Added the ReceiptErrorClassification interface.
    • Added the CreateReceiptErrorOptions interface.
    • Added the CreateFailedReceiptOptions interface.
    • Added the classifyHttpStatus() function.
    • Added the classifyReceiptError() function.
    • Added the createReceiptError() function.
    • Added the createFailedReceipt() function.
    • Added the parseRetryAfter() function.
@​upyo/jmap
  • Updated JmapTransport to return structured failure receipts with
    provider ids, retryability, HTTP status codes, retry delay metadata from
    Retry-After, and attempt counts where available. [#​25, #​27]
@​upyo/lettermint
  • Added Lettermint transport. [#​22, #​23]

    • Added LettermintTransport class.
    • Added LettermintConfig interface.
    • Added ResolvedLettermintConfig type.
    • Added LettermintSettings interface.
    • Added LettermintApiError class.
    • Added LettermintBatchResponse type.
    • Added LettermintError interface.
    • Added LettermintResponse interface.
    • Added LettermintStatus type.
    • Supports single sends, batch sends, idempotency keys, attachments,
      inline images, routes, tags, metadata, and tracking settings.
@​upyo/mailgun
  • Updated MailgunTransport to return structured failure receipts with
    provider ids, retryability, HTTP status codes, retry delay metadata from
    Retry-After, and attempt counts where available. [#​25, #​27]
@​upyo/plunk
  • Updated PlunkTransport to return structured failure receipts with
    provider ids, retryability, HTTP status codes, retry delay metadata from
    Retry-After, and attempt counts where available. [#​25, #​27]
@​upyo/resend
  • Updated ResendTransport to return structured failure receipts with
    provider ids, retryability, HTTP status codes, retry delay metadata from
    Retry-After, and attempt counts where available. Batch item failures
    now include structured error metadata as well. [#​25, #​27]
@​upyo/sendgrid
  • Updated SendGridTransport to return structured failure receipts with
    provider ids, retryability, HTTP status codes, retry delay metadata from
    Retry-After, and attempt counts where available. [#​25, #​27]
@​upyo/ses
  • Updated SesTransport to return structured failure receipts with provider
    ids, retryability, HTTP status codes, retry delay metadata from
    Retry-After, and attempt counts where available. [#​25, #​27]
@​upyo/smtp
  • Updated SmtpTransport to return structured failure receipts with
    provider ids, retryability, attempt counts, and classified network,
    timeout, authentication, and rejection errors. [#​25, #​27]

  • Added OAuth 2.0 authentication support to the SMTP transport, using the
    SASL XOAUTH2 and OAUTHBEARER (RFC 7628) mechanisms. This enables
    authentication with providers such as Gmail and Outlook that require OAuth
    2.0 instead of passwords. [#​19, #​24]

    • SmtpAuth is now a discriminated union of SmtpUserPassAuth
      (username/password, as before) and the OAuth 2.0 variants. Existing
      { user, pass } configurations continue to work unchanged.
    • Added SmtpOAuth2Auth, SmtpOAuth2TokenAuth, and
      SmtpOAuth2RefreshAuth interfaces, and the SmtpUserPassAuth
      interface.
    • Added the OAuth2TokenProvider type. The accessToken field accepts
      either a static token string or a callback returning a fresh token,
      which can integrate an external OAuth client (e.g.,
      google-auth-library or msal-node) for transparent refresh.
    • Added the built-in refresh_token grant flow
      (SmtpOAuth2RefreshAuth): provide clientId, refreshToken, and
      tokenEndpoint, and the transport exchanges them for an access token,
      caching it across pooled connections until shortly before it expires.
    • Added the SmtpAuthError class, thrown on OAuth token acquisition and
      SASL authentication failures.
  • Changed SmtpTransport.send() and SmtpTransport.sendMany() to report
    connection and authentication setup failures as a failed Receipt instead
    of throwing. Previously, a failure to connect or authenticate (e.g., an
    invalid host, a refused connection, or rejected credentials) rejected the
    returned promise, which was inconsistent with message-level failures (such
    as a rejected recipient) that were already reported as a failed Receipt.
    Now all delivery failures—including setup failures—are reported uniformly
    as a failed Receipt. Cancellation via AbortSignal continues to reject.
    [#​19, #​24]

@​upyo/pool
  • Updated PoolTransport to preserve child transport provider ids in
    aggregated structured errors. The pool itself reports failed aggregate
    receipts with the "pool" provider id, while child errors keep the
    underlying transport ids as a type-safe union. [#​25, #​27]
@​upyo/retry
  • Added retry transport. RetryTransport wraps any existing transport and
    retries transient failed receipts or thrown transient errors using
    configurable exponential backoff, jitter, Retry-After metadata, and
    sendMany() launch throttling. Use it when one provider should absorb
    temporary rate limits, server errors, and network failures before handing
    a failure back to application code. [#​26, #​28]
@​upyo/opentelemetry
  • Changed the built-in error category labels from underscore spelling to
    hyphen spelling: rate-limit, service-unavailable, and server-error.
    OpenTelemetry metrics now prefer structured receipt categories when a
    wrapped transport returns them, then fall back to the configured error
    classifier. [#​25, #​27]

Configuration

📅 Schedule: (in timezone Asia/Tokyo)

  • Branch creation
    • "before 3am"
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot added the T: renovate Automatic renewal by renovate label Jul 6, 2026
@renovate renovate Bot enabled auto-merge July 6, 2026 17:03
@renovate renovate Bot added this pull request to the merge queue Jul 6, 2026
@codecov

codecov Bot commented Jul 6, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 45.53%. Comparing base (68afbf2) to head (bef414b).

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1723   +/-   ##
=======================================
  Coverage   45.53%   45.53%           
=======================================
  Files         159      159           
  Lines        5749     5749           
  Branches      927      927           
=======================================
  Hits         2618     2618           
  Misses       3131     3131           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Merged via the queue into main with commit c6281af Jul 6, 2026
7 checks passed
@renovate renovate Bot deleted the renovate/upyo-core-0.x branch July 6, 2026 17:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

T: renovate Automatic renewal by renovate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants