Releases: mailtrap/mailtrap-local
Releases · mailtrap/mailtrap-local
Release list
v0.1.0
mailtrap-local v0.1.0
Single-binary local email sandbox + catcher — SMTP + Web UI + JSON
API in one process. See README.md for install instructions.
Changelog
Features
- 7b62d1a feat(api): AbortSignal threading + 30s timeout in axios client
- 99a894a feat(cmd): refuse non-loopback bind without --unsafe-non-loopback
- 02b1e85 feat(frontend): refetch message list on WebSocket reconnect
- 2c72e3c feat(frontend): replace Linaria with Tailwind v4
- 3ec6e13 feat(frontend): surface connection-load failures with a retry banner
- f4b6d0e feat(frontend): vitest scaffold + first 28 tests; gofmt nit
- d3af509 feat(jobs): graceful shutdown drains in-flight side-effect goroutines
- bb8e5b3 feat(observability): structured logging via slog + request-ID middleware
- 8a1a971 feat(secrets): encrypt cloud token / relay password / webhook secret at rest
- 01244bb feat: expose build version in API and About dialog
- 8972bb0 feat: wire YAML config pinning into connection API (#14)
Fixes
- de666b1 fix(api): require explicit signal for DELETE /api/v1/messages
- d155503 fix(frontend): show search results in an empty inbox; repair stale tests
- 5e14f62 fix(frontend): stable cable subscription so favicon counter can't double-count
- b8956cc fix(live): slow subscriber no longer stalls broadcast to others
- 6c229c5 fix(security): sandbox HTML opened via "open in new tab"
- 4b5ac92 fix(sidebar): selected-row subject readable when message is already read
- 9e3daa1 fix: cap HTTP JSON request bodies at 25 MB
- 1c08019 fix: resolve golangci-lint issues on connection handlers
- 7f79084 fix: use maxSnippetLen constant for snippet truncation
Other
- dd05768 Initial commit — single-binary local email catcher
- caceb45 Merge branch 'main' into refactor/frontend-named-exports
- 35d7a70 Merge branch 'test/improve-go-coverage-testify'
- 09df0e2 Merge pull request #1 from mailtrap/fix/relay-rewrite-to-header
- 4594bb0 Merge pull request #10 from mailtrap/ci/docker-image-smoke
- cabe1a4 Merge pull request #11 from mailtrap/docs/oss-governance
- 0242d61 Merge pull request #12 from mailtrap/test/improve-go-coverage-testify
- 858e3f8 Merge pull request #13 from mailtrap/ci/golangci-lint
- 49c6541 Merge pull request #15 from mailtrap/fix/http-body-limits
- fdfae44 Merge pull request #2 from mailtrap/fix/cors-and-content-headers
- a0bbc86 Merge pull request #23 from mailtrap/refactor/frontend-drop-unused-exports
- 10881d3 Merge pull request #24 from mailtrap/refactor/frontend-named-exports
- 4d7a74d Merge pull request #27 from mailtrap/feat/version-api-about-dialog
- 6dd3079 Merge pull request #28 from mailtrap/chore/release-ops-public-launch
- 4cab7f6 Merge pull request #3 from mailtrap/fix/persist-secret-key-in-container
- 639aa26 Merge pull request #4 from mailtrap/fix/popout-html-sandbox
- 4b4ebee Merge pull request #6 from mailtrap/refactor/relay-auth-plain-only
- d24a54d Merge pull request #7 from mailtrap/chore/backend-cleanups
- 56d5da6 Merge pull request #8 from mailtrap/fix/frontend-test-failures
- 0870a9b Merge pull request #9 from mailtrap/fix/flaky-shutdown-test
- 2c8ad8f api: scope CORS/WebSocket to loopback, harden content responses
- 6e0e530 chore(frontend): enable TypeScript strict mode + no-explicit-any
- b468770 chore(live): gofmt fix to unbreak CI
- df9e275 chore(store): enforce singleton invariant on connection tables
- 8acbc95 cloud partial-update, FTS prefix search, attachments UI
- c41c85c cut up messageview
- cf4002e docker: add --unsafe-non-loopback to default CMD
- 2e186fd docker: persist the secret key on the data volume
- c4dd07d docs(readme): clarify Mailtrap Sandbox positioning + cloud setup
- e948960 fix setState, extract more css components
- 105317f perf(jobs): retention runs on a 60s ticker, not per-ingest
- d1a9b5d perf(store): FTS5-backed search
- fee2547 refactor components, fix code smells, add skill
- 81bde62 refactor into smaller components, css reuse
- d5cb481 refactor(frontend): collapse the three connection providers and dialogs
- 1c985d9 refactor(frontend): drop export from file-local symbols
- 7f78592 refactor(frontend): extract shared HtmlCheckSuccess type
- edfbcd3 refactor(frontend): remove dead code
- a707b99 refactor(frontend): replace parent-side Tailwind descendant variants with per-element classes
- bd407cf refactor(frontend): standardize props types on
interface Props - 3cc8611 refactor(frontend): use named exports for all components
- 8626b8d relay: rewrite To: header on manual release
- 5c4367d relay: simplify auth to PLAIN/none, fail closed on tls=starttls
- cd27f81 test(frontend): component-level tests for Sidebar / MessageView / dialogs
- c3e4a6f test(internal): cover the five untested packages
- a207323 test(jobs): replace flaky shutdown test with deterministic retry tests
Channels:
- Homebrew:
brew install mailtrap/local/mailtrap-local - Docker:
docker run -p 3535:3535 -p 3550:3550 ghcr.io/mailtrap/mailtrap-local:v0.1.0 - Binary: download the platform tarball above and
tar xzf.
On macOS, an unsigned binary needs a one-time Gatekeeper bypass:
xattr -d com.apple.quarantine ./mailtrap-local