## Added - Feed Media Enhancement with Media RSS namespace support - RSS enclosure, media:content, media:thumbnail elements - JSON Feed image field for first image - ADR-059: Full feed media standardization roadmap ## Fixed - Media display on homepage (was only showing on note pages) - Responsive image sizing with CSS constraints - Caption display (now alt text only, not visible) - Logging correlation ID crash in non-request contexts ## Documentation - Feed media design documents and implementation reports - Media display fixes design and validation reports - Updated ROADMAP with v1.3.0/v1.4.0 media plans 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
12 KiB
StarPunk Roadmap
Current Status
Latest Version: v1.1.2 "Syndicate" Released: 2025-11-27 Status: Production Ready
StarPunk has achieved V1 feature completeness with all core IndieWeb functionality implemented:
- ✅ IndieAuth authentication
- ✅ Micropub endpoint
- ✅ Notes management
- ✅ RSS syndication
- ✅ Full-text search
- ✅ Custom slugs
Version History
Released Versions
v1.1.2 "Syndicate" (2025-11-27)
- Multi-format feed support (RSS 2.0, ATOM 1.0, JSON Feed 1.1)
- Content negotiation for automatic format selection
- Feed caching with LRU eviction and TTL expiration
- ETag support with 304 conditional responses
- Feed statistics dashboard in admin panel
- OPML 2.0 export for feed discovery
- Complete metrics instrumentation
v1.1.1 (2025-11-26)
- Fix metrics dashboard 500 error
- Add data transformer for metrics template
v1.1.0 "SearchLight" (2025-11-25)
- Full-text search with FTS5
- Complete search UI
- Custom slugs via Micropub mp-slug
- RSS feed ordering fix
- Migration system improvements
v1.0.1 (2025-11-24)
- Fixed Micropub URL double-slash bug
- Minor bug fixes
v1.0.0 (2025-11-24)
- Initial production release
- IndieAuth authentication
- Micropub server implementation
- Notes CRUD functionality
- RSS feed generation
- Web interface (public & admin)
Future Roadmap
v1.1.1 "Polish" (Superseded)
Timeline: Completed as hotfix Status: Released as hotfix (2025-11-26) Note: Critical fixes released immediately, remaining scope moved to v1.2.0
Planned Features:
Search Configuration System (3-4 hours)
SEARCH_ENABLEDflag for sites that don't need searchSEARCH_TITLE_LENGTHconfigurable limit (currently hardcoded at 100)- Enhanced search term highlighting in results
- Search result relevance scoring display
- Graceful FTS5 degradation with fallback to LIKE queries
Performance Monitoring Foundation (4-6 hours)
- Add timing instrumentation to key operations
- Database query performance logging
- Slow query detection and warnings (configurable threshold)
- Memory usage tracking in production
/admin/performancedashboard with real-time metrics
Production Readiness Improvements (3-5 hours)
- Graceful degradation when FTS5 unavailable
- Better error messages for common configuration issues
- Database connection pooling optimization
- Improved logging structure with configurable levels
- Enhanced health check endpoints (
/healthand/health/ready)
Bug Fixes & Edge Cases (2-3 hours)
- Fix 10 flaky timing tests from migration race conditions
- Handle Unicode edge cases in slug generation
- RSS feed memory optimization for large note counts
- Session timeout handling improvements
Technical Decisions:
- ADR-052: Configuration System Architecture
- ADR-053: Performance Monitoring Strategy
- ADR-054: Structured Logging Architecture
- ADR-055: Error Handling Philosophy
v1.1.2 "Syndicate" (Completed)
Timeline: Completed 2025-11-27 Status: Released Actual Effort: ~10 hours across 3 phases Focus: Expanded syndication format support
Delivered Features:
- ✅ Phase 1: Metrics Instrumentation
- Comprehensive metrics collection system
- Business metrics tracking for feed operations
- Foundation for performance monitoring
- ✅ Phase 2: Multi-Format Feeds
- RSS 2.0 (existing, enhanced)
- ATOM 1.0 feed at
/feed.atom(RFC 4287 compliant) - JSON Feed 1.1 at
/feed.json - Content negotiation at
/feed - Auto-discovery links for all formats
- ✅ Phase 3: Feed Enhancements
- Feed caching with LRU eviction (50 entries max)
- TTL-based expiration (5 minutes default)
- ETag support with SHA-256 checksums
- HTTP 304 conditional responses
- Feed statistics dashboard
- OPML 2.0 export at
/opml.xml - Content-Type negotiation (optional)
- Feed validation tests
See: ADR-038: Syndication Formats
v1.2.0 "Polish"
Timeline: December 2025 (Next Release) Focus: Quality improvements and production readiness Effort: 12-18 hours
Next Planned Features:
- Search Configuration System (3-4 hours)
SEARCH_ENABLEDflag for sites that don't need searchSEARCH_TITLE_LENGTHconfigurable limit- Enhanced search term highlighting
- Search result relevance scoring display
- Performance Monitoring Dashboard (4-6 hours)
- Extend existing metrics infrastructure
- Database query performance tracking
- Memory usage monitoring
/admin/performancededicated dashboard
- Production Improvements (3-5 hours)
- Better error messages for configuration issues
- Enhanced health check endpoints
- Database connection pooling optimization
- Structured logging with configurable levels
- Bug Fixes (2-3 hours)
- Unicode edge cases in slug generation
- Session timeout handling improvements
- RSS feed memory optimization for large counts
v1.3.0 "Semantic"
Timeline: Q1 2026 Focus: Enhanced semantic markup, organization, and advanced feed media Effort: 10-16 hours for microformats2, 12-18 hours for feed media, plus category system
Planned Features:
- Strict Microformats2 Compliance (10-16 hours)
- Complete h-entry properties (p-name, p-summary, p-author)
- Author h-card implementation
- h-feed wrapper for index pages
- Full IndieWeb parser compatibility
- Microformats2 validation suite
- See: ADR-040: Microformats2 Compliance
- Enhanced Feed Media Support (12-18 hours) - Full Standardization Phase A
- Multiple image sizes/thumbnails (150px, 320px, 640px, 1280px)
- Full Media RSS implementation (media:group, all attributes)
- Enhanced JSON Feed attachments
- ATOM enclosure links for all media
- See: ADR-059: Full Feed Media Standardization
- Tag/Category System
- Database schema for tags
- Tag-based filtering
- Tag clouds
- Category RSS/ATOM/JSON feeds
- p-category microformats2 support
- Hierarchical Slugs
- Support for
/in slugs - Directory-like organization
- Breadcrumb navigation with microformats2
- Support for
- Draft Management
- Explicit draft status
- Draft preview
- Scheduled publishing
- Search Enhancements
- Tag search
- Date range filtering
- Advanced query syntax
v1.4.0 "Connections"
Timeline: Q2 2026 Focus: IndieWeb social features
Planned Features:
- Webmentions
- Receive endpoint
- Send on publish
- Display received mentions
- Moderation interface
- IndieAuth Provider (optional)
- Self-hosted IndieAuth server
- Token endpoint
- Client registration
- Reply Contexts
- In-reply-to support
- Like/repost posts
- Bookmark posts
v1.4.0 "Media"
Timeline: Q3 2026 Focus: Rich content support and podcast/video syndication
Planned Features:
- Media Uploads
- Image upload via Micropub
- File management interface
- Thumbnail generation
- CDN integration (optional)
- Photo Posts
- Instagram-like photo notes
- Gallery views
- EXIF data preservation
- Audio/Podcast Support (10-16 hours) - Full Standardization Phase B
- Podcast RSS with iTunes namespace
- Audio duration extraction
- Episode metadata support
- Apple/Google podcast compatibility
- See: ADR-059: Full Feed Media Standardization
- Video Support (16-24 hours) - Full Standardization Phase C
- Video upload handling
- Poster image generation
- Video in Media RSS feeds
- HTML5 video embedding
v2.0.0 "MultiUser"
Timeline: 2027 Focus: Multi-author support (BREAKING CHANGES)
Major Features:
- User Management
- Multiple authors
- Role-based permissions
- User profiles
- Content Attribution
- Per-note authorship
- Author pages
- Author RSS feeds
- Collaborative Features
- Draft sharing
- Editorial workflow
- Comment system
Design Principles
All future development will maintain these core principles:
- Simplicity First: Every feature must justify its complexity
- IndieWeb Standards: Full compliance with specifications
- Progressive Enhancement: Core functionality works without JavaScript
- Data Portability: User data remains exportable and portable
- Backwards Compatibility: Minor versions preserve compatibility
Feature Request Process
To propose new features:
-
Check Alignment
- Does it align with IndieWeb principles?
- Does it solve a real user problem?
- Can it be implemented simply?
-
Document Proposal
- Create issue or discussion
- Describe use case clearly
- Consider implementation complexity
-
Architectural Review
- Impact on existing features
- Database schema changes
- API compatibility
-
Priority Assessment
- User value vs. complexity
- Maintenance burden
- Dependencies on other features
Deferred Features
These features have been considered but deferred indefinitely:
- Static Site Generation: Conflicts with dynamic Micropub
- Multi-language UI: Low priority for single-user system
- Advanced Analytics: Privacy concerns, use external tools
- Comments System: Use Webmentions instead
- WYSIWYG Editor: Markdown is sufficient
- Mobile App: Web interface is mobile-friendly
Support Lifecycle
Version Support
- Current Release (v1.1.0): Full support
- Previous Minor (v1.0.x): Security fixes only
- Older Versions: Community support only
Compatibility Promise
- Database: Migrations always provided
- API: Micropub/IndieAuth remain stable
- Configuration: Changes documented in upgrade guides
Contributing
StarPunk welcomes contributions that align with its philosophy:
Code Contributions
- Follow existing patterns
- Include tests
- Document changes
- Keep it simple
Documentation
- User guides
- API documentation
- Deployment guides
- Migration guides
Testing
- Bug reports with reproduction steps
- Compatibility testing
- Performance testing
- Security testing
Technology Evolution
Near-term Considerations
- Python 3.12+ adoption
- SQLite WAL mode
- HTTP/2 support
- Container optimizations
Long-term Possibilities
- Alternative database backends (PostgreSQL)
- Federation protocols (ActivityPub)
- Real-time features (WebSockets)
- AI-assisted writing (local models)
Success Metrics
StarPunk success is measured by:
- Simplicity: Lines of code remain minimal
- Reliability: Uptime and stability
- Standards Compliance: Passing validators
- User Satisfaction: Feature completeness
- Performance: Response times <300ms
Philosophy
"Every line of code must justify its existence. When in doubt, leave it out."
This philosophy guides all development decisions. StarPunk aims to be the simplest possible IndieWeb CMS that works correctly, not the most feature-rich.
Document Created: 2025-11-25 Last Updated: 2025-11-25 Status: Living Document
For the latest updates, see: