-
v1.2.0
StableAll checks were successfulCI / quality (pull_request) Successful in 1m41sCI / docker (pull_request) Successful in 1m17sCI / e2e (chromium) (pull_request) Successful in 2m15sCI / e2e (firefox) (pull_request) Successful in 3m15sCI / e2e (webkit) (pull_request) Successful in 4m17sCI / quality (push) Successful in 1m41sCI / docker (push) Successful in 30sCI / e2e (chromium) (push) Successful in 2m11sCI / e2e (firefox) (push) Successful in 3m3sCI / e2e (webkit) (push) Successful in 4m9sRelease / quality (push) Successful in 1m35sRelease / docker (push) Successful in 30sRelease / e2e (chromium) (push) Successful in 2m10sRelease / e2e (firefox) (push) Successful in 3m6sRelease / e2e (webkit) (push) Successful in 4m7sRelease / test (push) Successful in 0sRelease / release (push) Successful in 2m36sreleased this
2026-10-01 13:53:38 +00:00 | 0 commits to main since this release1.2.0 (2026-10-01)
Features
- deploy: Add a production Compose file for Coolify with every variable
- smtp: Read the PROXY protocol version 2 as well as version 1
Bug fixes
- deploy: Take the public URL from SERVICE_URL_TRAPBOX, without the container port
- connection: Give Laravel MAIL_SCHEME instead of MAIL_ENCRYPTION
- sso: Accept Microsoft Entra ID's xms_edov claim as the email verification
- deploy: Send the PROXY protocol version 1 from Traefik
- local-mode: Keep sign-in on a data directory created with it
Documentation
- Document using, administering, configuring, deploying and operating Trapbox
Other
- deploy: Move the production Compose file next to the Docker Compose deployment
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v1.1.0
StableAll checks were successfulCI / quality (pull_request) Successful in 1m37sCI / docker (pull_request) Successful in 53sCI / e2e (chromium) (pull_request) Successful in 2m8sCI / e2e (firefox) (pull_request) Successful in 3m1sCI / e2e (webkit) (pull_request) Successful in 4m11sCI / quality (push) Successful in 1m36sCI / docker (push) Successful in 29sCI / e2e (chromium) (push) Successful in 2m11sCI / e2e (firefox) (push) Successful in 3m1sCI / e2e (webkit) (push) Successful in 4m9sRelease / quality (push) Successful in 1m34sRelease / docker (push) Successful in 28sRelease / e2e (webkit) (push) Successful in 4m7sRelease / test (push) Successful in 0sRelease / e2e (chromium) (push) Successful in 2m3sRelease / e2e (firefox) (push) Successful in 2m58sRelease / release (push) Successful in 2m27sreleased this
2026-09-28 13:18:11 +00:00 | 11 commits to main since this release1.1.0 (2026-09-28)
Features
- local-mode: Run as is, without sign-in or SMTP authentication, when no public URL is set
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v1.0.0
StableAll checks were successfulCI / quality (pull_request) Successful in 1m39sCI / docker (pull_request) Successful in 53sCI / e2e (chromium) (pull_request) Successful in 2m7sCI / quality (push) Successful in 1m38sCI / e2e (firefox) (push) Successful in 2m57sCI / e2e (firefox) (pull_request) Successful in 3m0sCI / e2e (webkit) (pull_request) Successful in 4m7sCI / docker (push) Successful in 28sCI / e2e (chromium) (push) Successful in 2m4sCI / e2e (webkit) (push) Successful in 4m6sRelease / quality (push) Successful in 1m36sRelease / docker (push) Successful in 28sRelease / e2e (chromium) (push) Successful in 2m3sRelease / e2e (firefox) (push) Successful in 3m4sRelease / e2e (webkit) (push) Successful in 4m6sRelease / test (push) Successful in 0sRelease / release (push) Successful in 2m38sreleased this
2026-09-28 10:00:34 +00:00 | 12 commits to main since this release1.0.0 (2026-09-28)
Features
- core: Load runtime configuration, prepare the data directory and log as JSON
- db: Add the SQLite layer, locked migrations with pre-upgrade snapshots and instance settings
- core: Model users, projects, environments and memberships with role-based permissions
- audit: Record audit entries for user, project, environment and membership changes
- credentials: Manage SMTP credentials with one-time secrets and constant-time authentication
- smtp: Accept authenticated SMTP messages and store them durably per environment
- smtp: Support STARTTLS and implicit TLS with hot-reloaded certificates and the PROXY protocol
- core: Boot Trapbox with the web server and expose health and readiness endpoints
- auth: Add password authentication and sessions
- security: Harden the web application with strict headers, CSRF checks and proxy-aware client IPs
- processing: Parse stored messages in worker threads and index them
- processing: Apply attachment storage and size rules with stripped raw copies
- quotas: Enforce environment quotas, size limits and the disk guard at intake
- jobs: Run retention, expiry and housekeeping jobs in the background
- smtp: Limit the sending rate per credential and block brute-force attempts
- api: Establish the REST API conventions, guards and OpenAPI reference
- app: Build the webmail shell with the environment selector and localized interface
- messages: Show the message list with personal read status and live updates
- messages: Add the message view with isolated HTML rendering
- messages: Add attachment downloads, previews, .eml download and navigation
- messages: Add read status, delete, bulk actions and delete all
- tags: Add manual, bulk and automatic message tags with the tag filter
- messages: Pin and unpin messages within the instance limit
- search: Add full-text search and the message list filters
- environments: Add the usage gauge, recent rejections and banners
- environments: Add the connection panel and the test email
- credentials: Let Managers create, edit and revoke SMTP credentials
- settings: Add personal settings for the profile, password and language
- api: Add personal API tokens with scopes and per-token rate limits
- api: Add environment tokens bound to one environment
- environments: Let Managers set, extend or clear the expiry date
- api: Wait for a message matching criteria
- api: Let pipelines provision, rotate and delete environments
- core: Add the outbound request policy and its safe HTTP client
- analysis: Check the links of a message from the message view
- analysis: Check the HTML compatibility of a message
- analysis: Show the spam score from the operator's SpamAssassin
- feeds: Add personal RSS feeds per environment
- webhooks: Deliver signed webhook notifications with retries
- webhooks: Let Managers configure webhooks and follow their deliveries
- failure-injection: Simulate SMTP failures and delays per environment
- admin: Let administrators configure and rebrand the instance
- admin: Manage user accounts and one-time setup links
- projects: Administer projects and let Managers run their environments
- admin: Administer environments, their quotas and their members
- admin: Show the instance overview and its alerts
- audit: Browse, filter and export the audit log
- auth: Add OpenID Connect single sign-on
- setup: Add the token-protected web setup wizard
- api: Complete the REST API reference and check it route by route
- mailpit: Add the Mailpit-compatible API under /mailpit
- observability: Add Prometheus metrics and Sentry-compatible error reporting
- cli: Add the trapbox command with version, check and reset-admin-password
- backup: Add the trapbox backup and restore commands
- ui: WCAG 2.1 AA accessibility pass and three-engine e2e suite
- setup: Run locally without configuration and point at the first password
Bug fixes
- messages: Keep fast tag edits in order in the tag editor
- config: Name TRAPBOX_DATA_DIR when the data directory cannot be created
- tags: Show the stored tags after a failed save instead of the previous ones
- home: Keep a navigation started before the redirect to the last environment
- tags: Show a change in the stored order so that the answer moves no chip
Documentation
- deploy: Add tested deployment guides and manifests
Other
- Initial commit
- Add docs, tasks and gitignore
- Scaffold Nuxt 4 application with i18n, lint, typecheck and Vitest
- Add Playwright e2e harness and GitLab, GitHub and Forgejo pipelines
- docker: Add the production container image and its test suite
- release: Publish signed multi-architecture images from version tags
- perf: Add the performance validation suite of the §15 targets
- tasks: Record the completion of the task queue
- tasks: Record the completion check of the task queue
- helpers: Start test instances again on new ports after a port conflict
- tasks: Record the completion of the task queue
- tasks: Record the completion check of the task queue
- tasks: Record the completion check of the task queue
- caniemail: Update caniemail
- Merge pull request 'develop' (#1) from develop into main
Reviewed-on: #1
- unit: Give the disk-heavy tests time on slow CI disks
- Run the image tests on the runner's Docker engine with a full client
- setup: Measure the free-space check on a probe, not on this machine's disk
- Merge pull request 'develop' (#2) from develop into main
Reviewed-on: #2
- release: Install the Docker client and Buildx in the Forgejo release job
- e2e: Keep parallel tests apart from instance-wide changes and sign-in load
- e2e: Wait for the navigation before reloading, and for the palette to filter before clicking
- release: Use action refs that exist and replace the actions Forgejo cannot run
- docker: Build the application once on the builder's platform for every image
- release: Install envsubst for cosign-installer in the Forgejo release job
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads