Releases: TechSquidTV/Tuvix-RSS
v0.5.0 - Major Optimizations
What's Changed
This release focuses on large optimizations aimed at making the hosted saas version of the platform faster and more stable.
- perf: parallelize independent DB queries in RSS fetcher by @seer-by-sentry[bot] in #85
- ci: remove outdated CI/CD documentation and workflows by @KyleTryon in #86
- fix: admin dashboard charts not displaying data by @KyleTryon in #84
- perf: optimize database queries with strategic indexes by @KyleTryon in #87
- feat: improve admin panel by @KyleTryon in #88
- fix: fetch only new subscription articles instead of all feeds by @KyleTryon in #89
- fix: admin user creation (fixes #83) by @KyleTryon in #91
Full Changelog: v0.4.4...v0.5.0
v0.4.4 - Fix D1 Article Fetch
What's Changed
- Docs/simplify git workflow by @KyleTryon in #78
- fix: batch optimization stage 1 by @KyleTryon in #80
- fix: reduce RSS batch size to prevent D1 rate limit errors by @KyleTryon in #81
Full Changelog: v0.4.3...v0.4.4
v0.4.3 - Fix deployment
v0.4.2 - Fix docker & improve monitoring
What's Changed
- fix(ci): skip deployment for npm package releases by @KyleTryon in #66
- fix(ci): support @tuvixrss/tricorder@* tag format for npm publishing by @KyleTryon in #67
- fix(ci): trigger npm publish on GitHub release creation by @KyleTryon in #68
- fix(ci): extract version from tag and update package.json during publish by @KyleTryon in #69
- fix(tricorder): correct repository URL for provenance verification by @KyleTryon in #70
- Dev by @KyleTryon in #73
PR #73: Observability & Docker Infrastructure
Major Features:
🔍 Comprehensive Observability & Monitoring
- Authentication tracking: Added Sentry spans, breadcrumbs, and security audit logging throughout login, signup, password reset, and email verification flows
- Email monitoring: Implemented fire-and-forget span tracking for verification and welcome emails to ensure delivery visibility without blocking user flows
- Batch operations: Added monitoring for mark read/unread operations with performance tracking
- RSS feed resilience: Automatic retry logic for transient failures (502/503/504/429) with exponential backoff
- OPML import tracking: Full transaction monitoring with per-feed success/failure tracking and success rate metrics
- OpenGraph image fetching: Added span tracking with domain-based metrics for error pattern analysis
🐳 Docker Infrastructure Overhaul
- Multi-stage builds: Optimized Docker images with proper workspace support
- Security hardening: All containers run as non-root user (uid 1001)
- Non-privileged ports: Nginx app container uses port 8080 instead of 80
- Health checks: Comprehensive health monitoring with proper timing (API: 30s start period, App: explicit IPv4 checks)
- CI/CD testing: Full Docker build and test workflow with security verification
- Permission handling: Proper SQLite database permissions for containerized deployment
- Environment flexibility: DATABASE_PATH respects environment variables for CI vs local dev
🔐 Security Improvements
- Audit logging fix: Repaired completely non-functional security audit logging (added SQL DEFAULT to fix silent failures)
- Request metadata: Extracted header parsing utility to normalize authentication metadata collection
- Admin dashboard: Added emailVerified field to user management for accurate status tracking
📚 Documentation
- URL updates: Fixed all subscription URLs from old feedsmith.dev to feed.tuvix.app
- Browser extension: Added Tuvix Tricorder Extension section to README
- Claude Code config: Team-wide AI development settings with security guardrails
- Deployment guide: Updated Docker deployment documentation
Technical Improvements:
- Separated fetch errors from parse errors in retry logic (parse errors throw immediately)
- Fixed header extraction to preserve undefined values correctly
- Added explicit type annotations for dynamic imports
- Consolidated security module imports
- Extracted retry constants (MAX_RETRIES, RETRY_DELAY_MS, TRANSIENT_STATUS_CODES)
- Fixed migration statement separators for better-sqlite3 compatibility
Bug Fixes:
- Fixed incorrect security action type for failed password resets
- Fixed admin dashboard showing unverified users as "active"
- Fixed gitignore patterns for wrangler.toml files
- Resolved TypeScript unsafe call errors with proper imports
- Fixed null domain handling in Sentry attributes
- Added TRPCError rethrow guards to prevent parse errors from being retried
Files Changed: 50+ files across authentication, Docker infrastructure, CI/CD, monitoring, and documentation
Impact: This PR establishes production-grade observability and containerized deployment capabilities for TuvixRSS.
Full Changelog: v0.4.1...v0.4.2
v0.4.1
What's Changed
- docs: add blank line for readability in README development process se… by @KyleTryon in #62
- Feat/tricorder deployment by @KyleTryon in #64
- feat: use old.reddit.com for RSS feeds and subreddit icons by @seer-by-sentry[bot] in #63
- Dev by @KyleTryon in #65
New Contributors
- @seer-by-sentry[bot] made their first contribution in #63
Full Changelog: v0.4.0...v0.4.1
@tuvixrss/[email protected] - Fix publish
What's Changed
- fix(tricorder): correct repository URL for provenance verification by @KyleTryon in #70
Full Changelog: https://github.com/TechSquidTV/Tuvix-RSS/compare/@tuvixrss/[email protected]...@tuvixrss/[email protected]
@tuvixrss/[email protected] - Fix publish
What's Changed
- fix(ci): extract version from tag and update package.json during publish by @KyleTryon in #69
Full Changelog: https://github.com/TechSquidTV/Tuvix-RSS/compare/@tuvixrss/[email protected]...@tuvixrss/[email protected]
@tuvixrss/[email protected] - Fix publishing
What's Changed
- fix(ci): trigger npm publish on GitHub release creation by @KyleTryon in #68
Full Changelog: https://github.com/TechSquidTV/Tuvix-RSS/compare/@tuvixrss/[email protected]...@tuvixrss/[email protected]
@tuvixrss/[email protected] Tricorder first publish
What's Changed
- fix(ci): skip deployment for npm package releases by @KyleTryon in #66
- fix(ci): support @tuvixrss/tricorder@* tag format for npm publishing by @KyleTryon in #67
Full Changelog: https://github.com/TechSquidTV/Tuvix-RSS/compare/@tuvixrss/[email protected]...@tuvixrss/[email protected]
Tricorder - First Public Release
Tricorder is the feed discovery service used within Tuvix. As a separate package, Tricorder can be used in other tools, such as a browser extension.