Releases: freedit-org/freedit
Releases · freedit-org/freedit
v0.8.7
v0.8.6
⚠️ Breaking Changes & Upgrade Instructions
Attention: This release introduces breaking changes. Upgrading from v0.7.6 to v0.8.x requires a database migration.
Upgrade Steps
- Stop your running website instance.
- Back up your database and data files before proceeding.
- Run the migration script to update your database:
cargo run --example migration
- add
podcast_path = "data/podcasts"andsnapshots_path = "data/snapshots"in config.toml file. - Replace the binary with the new version and restart the website.
Failure to follow these steps will result in data incompatibility and runtime errors.
Details
- The user and item data schemas have changed.
- The following trees have been removed:
home_pages,lang,pub_keys,inns_private. - All relevant data is now stored on the
userstree.
Highlights
-
Podcast Audio Download Support
- Items with podcast enclosures can now automatically download and save audio files.
- Audio files are stored in
/static/podcasts. - Transcript display and synchronized audio playback in the feed item view.
-
Database Migration Example
- Added
examples/migration.rsto demonstrate migration of user and item schemas.
- Added
-
User Model Refactor
Userstruct now includeslang,home_page, andpub_keyfields directly.- Removed separate trees for
home_pages,lang, andpub_keys; now stored with user data.
Features & Enhancements
-
Podcast Integration
- RSS and Atom feed parsing now supports podcast enclosures (audio, metadata).
- New
Podcaststruct on items, with metadata and download status. - Added cron job (
cron_download_audio) to download podcast audio for recent items (up to 300MB). - UI enhancements: audio player and transcript display in feed item view.
- New JS (
static/js/transcript.js) for transcript rendering and audio synchronization. - New CSS for transcript and audio player styling.
-
User & Settings Refactor
- User settings for language and homepage are now stored in the user object.
- Key management (public keys) now handled in user object.
- Refactored message and key logic to use new user fields.
-
Config & Routing
- Added
podcast_pathto config and router for static podcast files. - Updated static file serving for
/static/podcasts.
- Added
-
Performance
- Increased HTTP client timeout for feed update and podcast download.
- Improved internal feed update and podcast download logic.
-
Miscellaneous
- Minor CSS improvements and fixes.
- Updated documentation for local docs generation.
- Template updates for new podcast display and audio player.
Internal & Dev
- Added
examples/migration.rsfor migration from old schema. - Updated documentation commands (
cargo doc --document-private-items --open).
For full details, see the commit comparison: v0.7.6...v0.8.6
v0.7.6
v0.7.6