Introducing PinePods 0.8.0 – The absolute biggest Pinepods release to date. Pinepods mobile clients are officially released! Additionally the backend api has gotten a complete rewrite in rust!
📱 Official Native Mobile App
- Flutter-Based App – Brand new official mobile app built with Flutter for iOS and Android
- Cross-Platform Synchronization – Seamless sync between mobile, web, and other Pinepods clients (More to come on other very soon)
- Offline Support – Download episodes for offline listening with intelligent storage management
- Native Mobile Features – Background playback, lock screen controls, notification management, and mobile-optimized UI
- Professional Distribution – Will be available on both iOS App Store and Google Play Store along with open stores such as f-droid and izzyondroid
The android apk will be attached to the github release. As well as released to the Google Play Store, f-droid, and izzyondroid Shortly after the 0.8.0 release. I need to get this release out in order to get them on the android stores fully.
Links:
🦀 Complete Rust API Transformation
- Python Elimination – All Python dependencies have been completely removed from the container, resulting in a dramatically smaller and more efficient deployment
- Horust Process Management – Switched from supervisor to Horust for robust, lightweight process supervision and startup management. This is part of removing the python dependency and also utilizes more great rust based dependancies
- Internal Task Scheduler – Background processes now run directly within the Rust API service using
tokio-cron-scheduler
, eliminating the Celery dependency entirely - Enhanced Reliability – Background tasks are more reliable with better error handling, automatic retries, and integrated logging
- Streamlined Container – Significantly reduced container size and complexity with the removal of Python runtime and associated dependencies
🔧 Infrastructure & Reliability Improvements
- Horust Service Management – All services now managed by Horust with proper process supervision, automatic restarts, and clean shutdown handling
- Integrated Background Processing – Podcast refresh, nightly maintenance, and cleanup tasks now run as scheduled jobs within the main Rust API service
- Database Operation Reliability – Improved server backup and restore operations with better error handling and validation
- Timezone Configuration – Runtime timezone configuration without container rebuilds, properly affecting all time-sensitive operations
- Simplified Deployment – Reduced container complexity and startup time with streamlined process management
🏗️ Development & Performance
- Pure Rust API – Complete rewrite of the Python API in Rust for improved performance, memory efficiency, and type safety
- Eliminated Dependencies – Removed Python runtime, Celery worker system, and associated packages from the container
- Better Resource Usage – Significantly reduced memory footprint and CPU usage with native Rust performance
- Improved Error Handling – Better error messages, logging, and debugging capabilities throughout the system
- Type Safety – Enhanced reliability through Rust's type system and memory safety guarantees
🐞 General App Fixes and Improvments
- Better Youtube Support – The youtube search api is now embeded in the standard Pinepods Search api. This makes searching Youtube much faster and more consistent.
- Multi-Select Episodes – On the page for any given podcast you can now select and take actions on any given number of episodes. This allows you to mark all episodes of a given podcast as complete in one fell swoop. Arrows also appear on the episodes allowing you to mark all episodes newer or older than a particular episode.
- Playlist Limits – System Playlists are now limited to a max of 1000 episodes. This will take the most relevant 1000 for the playlist.
- Playlist Fixes - Also fixed an issue with the Almost Complete playlist where the completed percentage wasn't working correctly.
- Category Fixes - Categories throughout the app have been improved. Sometimes they would previously show as a strange looking vector. This will no longer occur.
- Premium Feeds - Premium feeds should now be fully functional everywhere.
- Backup/Restore Database - The Backup and Restore functionality has been 100% totally rebuilt. This should fix some issues that it previously had with actually restoring. There's also an option to schedule backups now. So that they run on a regular basis. The restore option will automtically see these backups as options to restore from.
- Subscribed People Fixes - The functionality around subscribed people has gotten some major fixes as well. This should fix numerous bugs related to people subscription
- Match Podcast Index IDs - There's a new option in settings to match a podcast to it's podcast index counterpart. Having this ID correct will allow for more consistent host following.
- Auto Complete Options - There's also been an option added to playback settings in the settings area to auto complete an episode if it gets to a certain amount of seconds to the end of it. For example, you can set it to 30 seconds and if an episode is within 30 seconds of the end it will automatically mark it complete.
- Authenciation options added to NTFY Notifications - The NTFY notification settings now support username and passwords or authentication tokens. These can be skipped entirely still if you have no auth.
- Additional OIDC Settings - Experimental name claim settings added to to OIDC setup area. Name, email, user, roles claim options. As well as admin and user roles have all been added.
🕸️ Website Rebuild
- The Pinepods Website has gotten a complete revamp! It's looking much nicer!
- Many more docs have been written as well. There's documentation for just about every option in Pinepods. If you find something missing please let me know!
Thanks again to the amazing PinePods community. This release marks a real turning point for Pinepods. At this point we capable of fitting into just about anyone's daily podcast needs from a feature standpoint. As always, please test and report anything you catch regardless of whether you're using the mobile apps or the web client. Any issue discovered is more then welcome. This is a huge update, and I would expect some issues here and there.