Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: nodemailer/nodemailer
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v7.0.13
Choose a base ref
...
head repository: nodemailer/nodemailer
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v8.0.0
Choose a head ref
  • 5 commits
  • 21 files changed
  • 2 contributors

Commits on Feb 2, 2026

  1. fix: centralize and standardize error codes

    - Add lib/errors.js with 21 documented error codes
    - Update all modules to use centralized error constants
    - Change inconsistent 'NoAuth' code to 'ENOAUTH'
    - Add error codes to previously uncoded errors in:
      - sendmail-transport (ESENDMAIL)
      - xoauth2 (EOAUTH2)
      - fetch (EFETCH)
      - http-proxy-client (EPROXY)
      - mailer (EPROXY)
      - mime-node (EFILEACCESS, EURLACCESS)
      - nodemailer (ECONFIG)
    - Add test/errors/errors-test.js
    
    BREAKING CHANGE: Error code 'NoAuth' renamed to 'ENOAUTH'
    andris9 committed Feb 2, 2026
    Configuration menu
    Copy the full SHA
    45062ce View commit details
    Browse the repository at this point in the history
  2. fix: improve socket cleanup to prevent potential memory leaks

    - Clear socket timeout before destruction to prevent timer leaks
    - Explicitly remove all socket event listeners in close() method
    - Remove error listener from plain socket after TLS upgrade
    andris9 committed Feb 2, 2026
    Configuration menu
    Copy the full SHA
    6069fdc View commit details
    Browse the repository at this point in the history

Commits on Feb 4, 2026

  1. fix: add connection fallback to alternative DNS addresses

    When DNS returns multiple A/AAAA records for an SMTP host, the
    connection now tries alternative addresses if the initial connection
    fails. This improves reliability when some resolved addresses are
    unreachable.
    
    Changes:
    - Resolve both IPv4 and IPv6 addresses and expose via _addresses
    - Add _connectToHost and _onConnectionError methods for fallback logic
    - Fix event listener cleanup by using stored handler references
    - Add tests for connection fallback scenarios
    andris9 committed Feb 4, 2026
    Configuration menu
    Copy the full SHA
    e726d6f View commit details
    Browse the repository at this point in the history
  2. fix: harden DNS fallback against race conditions and cleanup issues

    - Add connection attempt tracking to prevent stale callbacks from executing
      during fallback retries
    - Replace removeAllListeners() with targeted removeListener() to preserve
      TLS internal listeners during socket cleanup
    andris9 committed Feb 4, 2026
    Configuration menu
    Copy the full SHA
    4fa3c63 View commit details
    Browse the repository at this point in the history
  3. chore(master): release 8.0.0 (#1799)

    Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
    github-actions[bot] authored Feb 4, 2026
    Configuration menu
    Copy the full SHA
    edac562 View commit details
    Browse the repository at this point in the history
Loading