1
0
mirror of https://github.com/axllent/mailpit.git synced 2024-12-28 23:06:43 +02:00
mailpit/CHANGELOG.md
2024-06-29 23:01:49 +12:00

28 KiB

Changelog

Notable changes to Mailpit will be documented in this file.

[v1.19.0]

Feature

  • Add ability to rename and delete tags globally
  • Add option to disable auto-tagging for plus-addresses & X-Tags (#323)

Chore

  • Update node dependencies
  • Update Go dependencies

[v1.18.7]

Feature

  • Add optional label to identify Mailpit instance (#316)

Chore

  • Refactor JavaScript, use arrow functions instead of "self" aliasing
  • Handle websocket errors caused by persistent connection failures (#319)

Testing

  • Add POP3 integration tests

[v1.18.6]

Chore

  • Update caniemail database
  • Update node dependencies
  • Update Go dependencies
  • Delete multiple POP3 messages in single action
  • Handle POP3 RSET command

Fix

  • POP3 end of file reached error (#315)
  • POP3 size output to show compatible sizes (#312)

[v1.18.5]

Feature

  • Add pagination & limits to URL parameters (#303)

Chore

  • Update node dependencies
  • Update Go dependencies

[v1.18.4]

Chore

  • Update node dependencies
  • Update Go dependencies
  • Clone new Docker images to ghcr.io (#302)

[v1.18.3]

Feature

  • iCalendar (ICS) viewer (#298)

Chore

  • Update Go dependencies
  • Update node dependencies

Fix

  • Add dot stuffing for POP3 (#300)

[v1.18.2]

Chore

  • Update node dependencies

Fix

  • Replace invalid Windows username characters in sendmail (#294)

[v1.18.1]

Feature

  • Return queued Message ID in SMTP response (#293)

Chore

  • Update node dependencies
  • Update Go dependencies
  • Simplify JSON HTTP responses

[v1.18.0]

Feature

  • API endpoint for sending (#278)
  • Set tagging filters via a config file
  • Search filter support for auto-tagging
  • New search filter prefix addressed: includes From, To, Cc, Bcc & Reply-To

Chore

  • Update node dependencies
  • Update Go dependencies
  • Update go-release-action
  • JSON key case-consistency for posted API data (backwards-compatible)
  • Remove function duplication - use common tools.InArray()
  • Improve tag sorting in web UI, ignore casing
  • Replace moment JS library with dayjs
  • Auto-update relative received message times

[v1.17.1]

Chore

  • Update node dependencies
  • Update Go dependencies
  • Clearer error messages for read/write permission failures (#281)

Fix

  • Prevent error when two identical tags are added at the exact same time (#283)

[v1.17.0]

Feature

  • Option to auto relay for matching recipient expression only (#274)
  • Add UI settings screen

Chore

  • Update caniemail database
  • Update node dependencies
  • Update Go dependencies
  • Auto-rotate thumbnail images based on exif data
  • Replace disintegration/imaging with kovidgoyal/imaging to fix CVE-2023-36308
  • Update API documentation regarding date/time searches & timezones
  • Move Link check & HTML check features out of beta
  • Remove deprecated --disable-html-check option

Fix

  • Add delay to close database on fatal exit (#280)

[v1.16.0]

Feature

  • Search support for before: and after: dates (#252)
  • Add optional tenant ID to isolate data in shared databases (#254)
  • Option to use rqlite database storage (#254)

Chore

  • Update caniemail test database
  • Update node dependencies
  • Update Go dependencies
  • Switch database flag/env to --database / MP_DATABASE

Fix

  • Remove duplicated authentication check (#276)
  • Prevent conditional JS error when global mailbox tag list is modified via auto/plus-address tagging while viewing a message
  • Extract plus addresses from email addresses only, not names

[v1.15.1]

Feature

  • Add readyz subcommand for Docker healthcheck (#270)

Chore

  • Code cleanup, remove redundant functionality
  • Add labels to Docker image (#267)

[v1.15.0]

Feature

  • Add SMTP TLS option (#265)

Chore

  • Update node dependencies
  • Update Go dependencies

Fix

  • Enforce SMTP STARTTLS by default if authentication is set

[v1.14.4]

Feature

  • Allow setting SMTP relay configuration values via environment variables (#262)

Chore

  • Update caniemail test data
  • Reorder CLI flags to group by related functionality

[v1.14.3]

Chore

  • Update node dependencies
  • Update Go dependencies

Fix

  • Prevent crash when calculating deleted space percentage (divide by zero)

[v1.14.2]

Chore

  • Allow setting of multiple message tags via plus addresses (#253)

Fix

  • Prevent runtime error when calculating total messages size of empty table (#263)

[v1.14.1]

Feature

  • Option to enforce TitleCasing for all newly created tags
  • Set message tags using plus addressing (#253)

Chore

  • Tag names now allow . and must be a minimum of 1 character
  • Update node dependencies
  • Update Go dependencies

Fix

  • Handle null values in Mailpit settings, set DeletedSize=0 if null

[v1.14.0]

Feature

  • Optional POP3 server (#249)

Chore

  • Update node dependencies
  • Update Go dependencies
  • Refactor storage library
  • Security improvements (gosec)
  • Switch to short uuid format for database IDs
  • Better handling of automatic database compression (vacuuming) after deleting messages

Docker

  • Add edge Docker images for latest unreleased features

[v1.13.3]

Feature

  • Add reply-to: search filter (#247)

Chore

  • Update node dependencies
  • Update Go dependencies
  • Compress database only when >= 1% of total message size has been deleted
  • Update "About" modal layout when new version is available

API

  • Include Reply-To information in message summaries for message list & websocket events

[v1.13.2]

Feature

  • Add option to log output to file (#246)

Chore

  • Update caniemail data
  • Update node modules
  • Update Go modules
  • Bump actions build requirement versions
  • Update esbuild

[v1.13.1]

Feature

  • Add TLSRequired option for smtpd (#241)

Chore

  • Update node dependencies
  • Update Go dependencies

UI

  • Only show number of messages ignored statistics if --ignore-duplicate-ids is set

Fix

  • Workaround for specific field searches containing unicode characters (#239)

[v1.13.0]

Feature

  • Add option to disable SMTP reverse DNS (rDNS) lookup (#230)
  • Display List-Unsubscribe & List-Unsubscribe-Post header info with syntax validation (#236)
  • Add optional SpamAssassin integration to display scores (#233)

Chore

  • Compress compiled assets with npm run build
  • Update Go modules
  • Update node modules

Fix

  • Display multiple whitespace characters in message subject & recipient names (#238)
  • Sendmail support for -f 'Name <email[@example](https://github.com/example).com>' format

[v1.12.1]

Feature

  • Add option to only allow SMTP recipients matching a regular expression (disable open-relay behaviour #219)

Chore

  • Significantly increase database performance using WAL (Write-Ahead-Log)
  • Standardize error logging & formatting

UI

  • Automatically refresh connected browsers if Mailpit is upgraded (version change)

Libs

  • Update node modules

Fix

  • Log total deleted messages when auto-pruning messages (--max)
  • Prevent rare error from websocket connection (unexpected non-whitespace character)
  • Log total deleted messages when deleting all messages from search

Tests

  • Run tests on Linux, Windows & Mac

[v1.12.0]

Chore

  • Include runtime statistics in API (info) & UI (About)
  • Use memory pointer for internal message parsing & storage
  • Update caniemail test data
  • Convert to many-to-many message tag relationships
  • Standardize error logging & formatting

UI

  • Refresh search results when search resubmitted or active tag filter clicked

Libs

  • Update node modules
  • Update Go modules

[v1.11.1]

UI

  • Allow multiple tags to be searched using Ctrl-click (#216)

Libs

  • Update node modules
  • Update Go modules

Fix

  • Fix regression to support for search query params to all /latest endpoints (#206)

Testing

  • Add new ingest subcommand to import an email file or maildir folder over SMTP

[v1.11.0]

Feature

  • Add configuration option to set maximum SMTP recipients (#205)

API

  • Allow ID "latest" for message summary, headers, raw version & HTML/link checks

Libs

  • Update node modules
  • Update Go modules

[v1.10.4]

Fix

  • Remove JS debug information for favicon

[v1.10.3]

Feature

  • Add @ as valid character for webroot (#215)

Chore

  • Update caniemail library & add hr element test

Libs

  • Update node modules
  • Update Go modules

Fix

  • New favicon notification badge to fix rendering issues (#210)

[v1.10.2]

Feature

  • Allow port binding using hostname

Chore

  • Add favicon fallback font (sans-serif) for unread count
  • Clearer log messages for bound SMTP & HTTP addresses

UI

  • Enable tag colors by default

Libs

  • Update node modules
  • Update Go modules

[v1.10.1]

Chore

  • Use NextReader() instead of ReadMessage() for websocket reading (#207)

Libs

  • Update node modules
  • Update Go modules

Fix

  • Prevent JavaScript error if message is missing From header (#209)

Swagger

  • Revert BinaryResponse type to string

[v1.10.0]

Feature

  • Support search query params to /latest endpoints (#206)
  • Option to allow untrusted HTTPS certificates for screenshots & link checking (#204)
  • Add URL redirect (/view/latest) to view latest message in web UI (#166)

Libs

  • Update node modules
  • Update Go modules

Fix

  • Correctly close websockets on client disconnect (#207)

[v1.9.10]

UI

  • Fix column width in search view

Libs

  • Update node modules
  • Update Go modules
  • Update caniemail test data

Fix

  • Correctly display "About" modal when update check fails (resolves #199)

Docs

  • Update documentation links

[v1.9.9]

Feature

  • Set optional webhook for received messages (#195)
  • Reset message date on release (#194)

Chore

  • Move html2text module to internal/html2text

Libs

  • update node modules
  • Update Go modules

[v1.9.8]

Chore

  • Replace satori/go.uuid with github.com/google/uuid (#190)
  • Replace html2text modules with simplified internal function

Libs

  • Update node modules
  • Update Go modules

Swagger

  • Update swagger documentation

Tests

  • Add test to validate swagger.json
  • Add html2text tests

[v1.9.7]

Libs

  • Update node modules
  • Downgrade microcosm-cc/bluemonday, revert to Go 1.20
  • Update Go modules & minimum Go version (1.21)

Fix

  • Enable delete button when new messages arrive

[v1.9.6]

UI

  • Display message previews on separate line (#175)

Libs

  • Update node modules
  • Update Go modules

[v1.9.5]

Feature

  • Add reindex subcommand to reindex all messages
  • Display email previews (#175)

Fix

  • HTML message preview background color when switching themes in Chrome
  • Correctly detect tags in search (UI)

Tests

  • Add message summary tests
  • Add snippet tests

[v1.9.4]

Feature

  • Set auth credentials directly from environment variables

Chore

  • Remove some flags deprecated 08/2022

UI

  • Add option to delete a message after release

Libs

  • Update node modules
  • Update Go modules

[v1.9.3]

Chore

  • Update internal/storage import paths
  • Move storage package to internal/storage
  • Update internal import paths
  • Move utils/* packages to internal/*

UI

  • Do not show excluded search tags as "current" in nav
  • Display "Loading messages" instead of "No results" while loading results
  • Only queue broadcast events if clients are connected

Testing

  • Add endpoints for integration tests

Tests

  • Add more API tests
  • Add tests for ArgsParser & CleanTag

[v1.9.2]

UI

  • Reset pagination when returning to inbox from search

Libs

  • Update node modules

Fix

  • Delete all messages matching search when more than 1000 results

Tests

  • Add message tag tests
  • Add search delete tests

[v1.9.1]

Chore

  • Update caniemail data

UI

  • Set 404 page when loading a non-existent message
  • Link email addresses in message summary to search
  • Better support for mobile screen sizes

Libs

  • Update Go modules

[v1.9.0]

Feature

  • Improved search parser
  • New search filter [!]is:tagged

UI

  • Rewrite web UI, add URL routing and components

API

  • Remove redundant Read status from message (always true)
  • Delete by search filter
  • Add endpoint to return all tags in use

Libs

  • Update minimum Go version to 1.20
  • Update Go modules
  • Update node modules

Fix

  • Correctly escape certain characters in search (eg: ')

Tests

  • Bump Go version to 1.21

[v1.8.4]

Fix

  • Correctly decode proxy links containing HTML entities (screenshots)

[v1.8.3]

Feature

  • HTML screenshots

UI

  • Group message tabs on mobile

Libs

  • Update node modules

[v1.8.2]

Feature

  • Link check to test message links
  • Workaround for non-RFC-compliant message headers containing

UI

  • Set hostname in page meta title to identify Mailpit instance

Libs

  • Update Go libs

Build

  • Update wangyoucao577/go-release-action@v1.39

[v1.8.1]

Libs

  • Update node modules
  • Update Go modules

Fix

  • Check/set message Reply-To using SMTP FROM
  • Exclude "sendmail" from recipients list when using mailpit sendmail <options>
  • Exclude