You've already forked wp-fedistream
feat: Initial release v0.1.0
WP FediStream - Stream music over ActivityPub Features: - Custom post types: Artist, Album, Track, Playlist - Custom taxonomies: Genre, Mood, License - User roles: Artist, Label - Admin dashboard with statistics - Frontend templates and shortcodes - Audio player with queue management - ActivityPub integration with actor support - WooCommerce product types for albums/tracks - User library with favorites and history - Notification system (in-app and email) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
143
CHANGELOG.md
Normal file
143
CHANGELOG.md
Normal file
@@ -0,0 +1,143 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to WP FediStream will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [0.1.0] - 2026-01-28
|
||||
|
||||
Initial release of WP FediStream - a WordPress plugin for streaming music over ActivityPub.
|
||||
|
||||
### Added
|
||||
|
||||
#### Core Plugin Structure
|
||||
|
||||
- Plugin structure with WordPress Plugin API
|
||||
- Composer setup with Twig 3.0 template engine
|
||||
- Internationalization support with .pot template and German (de_CH) translation
|
||||
|
||||
#### Custom Post Types
|
||||
|
||||
- `fedistream_artist` - Artist/band profiles with social links, biography, and member management
|
||||
- `fedistream_album` - Albums, EPs, singles, and compilations with release metadata
|
||||
- `fedistream_track` - Individual tracks with audio upload, duration, BPM, key, and ISRC codes
|
||||
- `fedistream_playlist` - User-created playlists with drag-drop ordering
|
||||
|
||||
#### Custom Taxonomies
|
||||
|
||||
- `fedistream_genre` - Hierarchical music genres with default terms
|
||||
- `fedistream_mood` - Non-hierarchical mood tags for tracks and playlists
|
||||
- `fedistream_license` - Copyright and Creative Commons license options
|
||||
|
||||
#### User Roles
|
||||
|
||||
- `fedistream_artist` - Manage own content, upload files, view stats
|
||||
- `fedistream_label` - Manage all content, taxonomies, and view all statistics
|
||||
|
||||
#### Admin Interface
|
||||
|
||||
- Dashboard with statistics and quick actions
|
||||
- Organized menu under "FediStream"
|
||||
- Meta boxes for all post types with full metadata support
|
||||
- Settings page for ActivityPub and WooCommerce configuration
|
||||
- Custom list table columns with sortable fields
|
||||
- Artwork thumbnails, artist links, and duration display
|
||||
|
||||
#### Frontend Display
|
||||
|
||||
- Archive templates for all post types and taxonomies
|
||||
- Single templates with full metadata display
|
||||
- Card partials for responsive grid layouts
|
||||
- Comprehensive CSS styling with custom properties for theming
|
||||
|
||||
#### Shortcodes
|
||||
|
||||
- `[fedistream_artist]` - Display artist profile
|
||||
- `[fedistream_album]` - Display album with tracklist
|
||||
- `[fedistream_track]` - Display track with player
|
||||
- `[fedistream_playlist]` - Display playlist with tracks
|
||||
- `[fedistream_latest_releases]` - Recent releases grid
|
||||
- `[fedistream_popular_tracks]` - Popular tracks list
|
||||
- `[fedistream_artists]` - Artists grid
|
||||
- `[fedistream_player]` - Audio player widget
|
||||
- `[fedistream_library]` - User library page
|
||||
|
||||
#### Widgets
|
||||
|
||||
- Recent Releases Widget
|
||||
- Popular Tracks Widget
|
||||
- Featured Artist Widget
|
||||
- Now Playing Widget
|
||||
|
||||
#### Audio Player
|
||||
|
||||
- Full playback controls (play, pause, next, previous)
|
||||
- Queue management with add, clear, shuffle functionality
|
||||
- Repeat modes (none, all, one)
|
||||
- Shuffle mode with Fisher-Yates algorithm
|
||||
- Progress bar with seek functionality
|
||||
- Volume control with mute toggle and localStorage persistence
|
||||
- Media Session API integration for system controls
|
||||
- Play count tracking via AJAX
|
||||
|
||||
#### ActivityPub Integration
|
||||
|
||||
- Integration with WordPress ActivityPub plugin
|
||||
- Artists represented as Person/Group actors
|
||||
- RSA key generation for HTTP Signatures
|
||||
- Webfinger support for artist discovery
|
||||
- Object transformers for tracks, albums, and playlists
|
||||
- Inbox handling for Follow, Like, Announce, and Create activities
|
||||
- Outbox publishing with Create, Update, and Delete activities
|
||||
- Follower management with shared inbox deduplication
|
||||
- REST API endpoints for actors, inbox, outbox, and collections
|
||||
|
||||
#### WooCommerce Integration (Optional)
|
||||
|
||||
- Album product type extending WC_Product
|
||||
- Track product type extending WC_Product
|
||||
- Multiple download formats (MP3, FLAC, WAV, AAC, OGG)
|
||||
- Pricing models: Fixed, Pay What You Want, Name Your Price
|
||||
- Secure digital delivery with purchase verification
|
||||
- Album ZIP downloads with all tracks and cover art
|
||||
- Streaming access control based on purchases
|
||||
- 30-second preview for non-purchasers
|
||||
- Purchase tracking database table
|
||||
|
||||
#### User Library
|
||||
|
||||
- Favorite tracks, albums, and playlists
|
||||
- Follow local artists
|
||||
- Listening history tracking with clear option
|
||||
- Library page with tabs (Favorites, Artists, History)
|
||||
- Filter favorites by content type
|
||||
- AJAX endpoints for all library operations
|
||||
|
||||
#### Notification System
|
||||
|
||||
- In-app notifications with admin bar indicator
|
||||
- Email notifications with HTML templates
|
||||
- Notification types: new_release, new_follower, fediverse_like, fediverse_boost, playlist_added, purchase, system
|
||||
- Event triggers for releases, follows, and Fediverse interactions
|
||||
- User preference settings for email notifications
|
||||
- Real-time polling and mark as read functionality
|
||||
|
||||
#### Database Tables
|
||||
|
||||
- `fedistream_plays` - Track play statistics
|
||||
- `fedistream_playlist_tracks` - Playlist-track relationships
|
||||
- `fedistream_followers` - ActivityPub followers
|
||||
- `fedistream_purchases` - WooCommerce purchase tracking
|
||||
- `fedistream_favorites` - User favorites
|
||||
- `fedistream_user_follows` - Local artist follows
|
||||
- `fedistream_listening_history` - Track play history
|
||||
- `fedistream_notifications` - User notifications
|
||||
- `fedistream_reactions` - Fediverse reactions (likes, boosts)
|
||||
|
||||
---
|
||||
|
||||
[Unreleased]: https://src.bundespruefstelle.ch/magdev/wp-fedistream/compare/v0.1.0...HEAD
|
||||
[0.1.0]: https://src.bundespruefstelle.ch/magdev/wp-fedistream/releases/tag/v0.1.0
|
||||
Reference in New Issue
Block a user