Releases: codecoradev/trapfall
Releases · codecoradev/trapfall
Release v0.0.4
What's New in v0.0.4
Added
- Project CRUD: archive, unarchive, permanent delete, rename, rotate DSN (#152)
- Active/Archived tabs on Projects page
- Kebab menu (⋮) per project card with Rename, Rotate DSN, Archive actions
- Archived projects: Unarchive, Delete permanently
PATCH /api/0/projects/{slug}— rename projectDELETE /api/0/projects/{slug}— permanent delete (archived only)POST /api/0/projects/{slug}/archive— archive projectDELETE /api/0/projects/{slug}/archive— unarchive projectPOST /api/0/projects/{slug}/rotate-dsn— regenerate DSN key
- Issue search: search bar on Issues page with debounce (#153)
- Merged Search page into Issues — one unified view
- Search by title/culprit with status/level filters combined
- Removed separate Search nav link (4 items: Issues, Projects, Rules, Settings)
- Issue filters: status tabs (All/Unresolved/Resolved/Ignored) + level dropdown (#149)
- Issue pagination: page numbers + showing X–Y of Z (#149)
- Project selector: Issues and Rules pages now have project dropdown (#148, #154)
- Back navigation: issue detail page has Back button + ESC keyboard shortcut (#147)
- VitePress docs: 9 screenshots added to all guide pages
- CF Pages: auto-deploy docs to Cloudflare Pages on release
Fixed
-
Search UX: Enter to search + 1.5s debounce (was 300ms per-keystroke). Empty state shows project name hint (#158)
-
DSN bug:
generate_dsn_with()used hardcoded/1instead of project UUID — Sentry SDKs POSTed to wrong URL, all events silently dropped (#151) -
Rules page: hardcoded to
projects[0]— could not manage rules for other projects (#154)
Changed
- Docker image: shrunk from 112MB to 5.75MB (-95%)
- Switched reqwest TLS from native-tls (OpenSSL) to rustls (pure Rust)
- Builder:
debian→alpine(MUSL static binary) - Runtime:
debian-slim→scratch(zero OS overhead)
- Migration:
project_archivemade idempotent viapragma_table_infocheck
📦 Platforms
| Platform | File |
|---|---|
| Linux (x86_64) | trapfall-x86_64-unknown-linux-gnu-v0.0.4.tar.gz |
| Linux (ARM64) | trapfall-aarch64-unknown-linux-gnu-v0.0.4.tar.gz |
| macOS (Apple Silicon) | trapfall-aarch64-apple-darwin-v0.0.4.tar.gz |
| Windows (x86_64) | trapfall-x86_64-pc-windows-msvc-v0.0.4.zip |
🐳 Docker
docker pull ghcr.io/codecoradev/trapfall:0.0.4🚀 Quick Start
# Run with Docker
docker run -p 3000:3000 ghcr.io/codecoradev/trapfall:0.0.4
# Or download binary (Linux/macOS)
# See Assets below
# Initialize database
./trapfall migrate
# Start server
./trapfall serve --port 3000Full changelog: https://github.com/codecoradev/trapfall/blob/main/CHANGELOG.md
Release v0.0.3
What's New in v0.0.3
Fixed
- Critical: Ingest pipeline broken — handler looked up project by slug but received UUID from URL path. Events silently dropped (#135)
- Critical: Envelope parser only supported 3-line format. Added support for 2-line bare event envelopes (#135)
- Critical: FK constraint — ingest used URL slug instead of project UUID, causing all events to fail (#134)
- WebSocket 401 after login — moved handler outside auth middleware, validates cookie directly (#132)
- API double
/0/path —API_BASE + "/0/projects"→API_BASE + "/projects"(#132) - DSN hardcoded
localhost:9090— now uses requestHostheader (#132) - Setup page code examples caused Svelte build error — escaped curly braces in template literals (#133)
- Secure cookie hardcoded
true— browser rejected cookies via HTTP in local dev (#134) - Search page missing padding — inconsistent with other dashboard pages (#132)
Added
- Multi-project support: "+ Add Project" button on Projects page (#132)
POST /api/0/projectsendpoint for creating projects from dashboard (#132)create_project_with_host()— generates DSN using request Host header (#132)- Setup page shows DSN usage examples (Rust, Python, JS, Flutter) (#132)
get_project_by_id()store method for UUID lookups (#135)- Diagnostic logging throughout ingest pipeline (#135)
AGENTS.md— rules for AI agents working on TrapFall (#134)- Cora Review CI step made non-blocking on API errors (#136)
Changed
- Docker compose dev defaults:
RUST_LOG=debug,SECURE_COOKIE=false(#134) - Digest flush log level promoted from trace to info (#135)
- Integration tests updated to use UUID for ingest URL path (#135)
📦 Platforms
| Platform | File |
|---|---|
| Linux (x86_64) | trapfall-x86_64-unknown-linux-gnu-v0.0.3.tar.gz |
| Linux (ARM64) | trapfall-aarch64-unknown-linux-gnu-v0.0.3.tar.gz |
| macOS (Apple Silicon) | trapfall-aarch64-apple-darwin-v0.0.3.tar.gz |
| Windows (x86_64) | trapfall-x86_64-pc-windows-msvc-v0.0.3.zip |
🐳 Docker
docker pull ghcr.io/codecoradev/trapfall:0.0.3🚀 Quick Start
# Run with Docker
docker run -p 3000:3000 ghcr.io/codecoradev/trapfall:0.0.3
# Or download binary (Linux/macOS)
# See Assets below
# Initialize database
./trapfall migrate
# Start server
./trapfall serve --port 3000Full changelog: https://github.com/codecoradev/trapfall/blob/main/CHANGELOG.md
Release v0.0.2
TrapFall v0.0.2
First public release of TrapFall — lightweight, self-hosted error capture engine.
Highlights
- Error capture — Sentry-compatible ingest via envelope parser
- Self-hosted — Single binary with embedded SvelteKit SPA dashboard
- Secure — Argon2id auth, rate limiting, parameterized SQL, CORS config
- Search — LIKE + sqlite_trigram across all issues
- Alerting — Configurable rules engine with webhook support
- MCP — 12 tool functions via stdio JSON-RPC 2.0
- Real-time — WebSocket broadcast hub with auto-reconnect
📦 Platforms
| Platform | File |
|---|---|
| Linux (x86_64) | trapfall-x86_64-unknown-linux-gnu-v0.0.2.tar.gz |
| Linux (ARM64) | trapfall-aarch64-unknown-linux-gnu-v0.0.2.tar.gz |
| macOS (Apple Silicon) | trapfall-aarch64-apple-darwin-v0.0.2.tar.gz |
| Windows (x86_64) | trapfall-x86_64-pc-windows-msvc-v0.0.2.zip |
🚀 Quick Start
# Download binary for your platform from Assets below
# Initialize database
./trapfall migrate
# Start server
./trapfall serve --port 3000See CHANGELOG.md for full details.