Releases: Alchemist-Aloha/xflow
Release list
v0.4.0
XFlow — Update v0.4.0
Summary
Version 0.4.0 focuses on stability, performance, and extensibility: we improved background playback and sync reliability, optimized media caching and startup time, and shipped a set of UX improvements across feed and settings screens.
Highlights
- Background Playback & Low-Latency Start: Improvements to audio/video warm-up and prefetch reduce perceived startup latency for media playback.
- Offline-First Sync & Conflict Resolver: Database sync was made more robust with deterministic conflict resolution and reduced duplicate content on resume.
- Media Cache Optimizations: Faster pruning and new cache metrics; cache pruning is now incremental and configurable from settings.
- UI/UX Polishes: Updated timeline headers, subscription sorting, and accessibility improvements on the settings and discovery screens.
- Build & Platform: Web build size improvements and Android packaging fixes to reduce cold-start time.
Changelog (selected changes)
- feat: implement incremental media cache pruning and metrics
- fix: reduce startup latency by eager media prefetch and decoder warm-up
- feat: add deterministic conflict resolver for sync operations
- perf: optimize DB indices for timeline queries
- chore: improve web build pipeline and Android packaging
- feat: accessibility: improve contrast and screen-reader labels in settings
Notable files changed / new
- lib/core/plugin/ — new plugin host and registration API
- lib/features/media/mixer_plugin.dart — plugin interface for media mixers
- lib/core/cache/media_cache_manager.dart — incremental pruning and metrics
- lib/core/sync/conflict_resolver.dart — deterministic conflict resolution
- lib/features/settings/query_settings_screen.dart — exposure of new cache and sync toggles
- web/ and android/ build tweaks in respective build configs
Migration notes
- If you rely on the older media mixer implementation, update your code to register via the new plugin API (
lib/core/plugin/). See plugin host docs for lifecycle and priority rules. - New cache pruning defaults are conservative; if you previously relied on aggressive pruning, adjust values in Settings → Storage.
Full Changelog: v0.3.0...v0.4.0
v0.3.0
XFlow — Update v0.3.0
Summary
This release introduces the Discovery Engine, a powerful new system for feed generation, along with significant overhauls to the settings architecture, media caching, and Twitter authentication. Version 0.3.0 focuses on giving users more control over their feed algorithm and improving the overall stability of data synchronization.
Highlights
- Discovery Engine: A new core engine (
lib/core/client/discovery_engine.dart) that manages feed generation with user-controllable parameters, including media saturation logic to avoid consecutive user repeats, unseen content boosts, and multi-pass logic for diverse content discovery. - Feed Strategies: Support for multiple timeline fetching strategies including Video Mixer (algorithmic), Chronological, and specialized Discovery modes.
- Settings Overhaul: Completely redesigned Settings page with a new
QuerySettingsScreen. Users can now fine-tune batch sizes, sync intervals, and discovery parameters via interactive sliders and toggles. - Media Cache Management: Implementation of a rolling media cache with SQLite tracking (
cached_mediatable). Added cache statistics and a "Clear Cache" functionality in the settings for better storage management. - Background Sync: Added background synchronization for metadata and automated startup pruning to keep the local database healthy and performant.
- Authentication & Core: Added account provider support for Twitter authentication and enhanced the
TwitterClientwith improved timeout handling and flexible fetching parameters.
Changelog (selected commits)
- b682f8c — feat: add color resources and account provider for Twitter authentication
- ad8ba89 — overhaul settings page, sort subscriptions, and new icons
- d3c6ef2 — feat: add timeline batch size setting and update fetch logic in FeedNotifier
- 1b88fe8 — feat: add support for video mixer, algorithmic, and chronological feeds
- 7f561e1 — feat: add Debug Timeline screen for testing official Twitter API fetch
- 21d531c — feat: enhance Tweet model and Repository for media_key support and database deduplication
- 4fdc3e1 — feat: enhance DiscoveryEngine with media saturation and multi-pass logic
- ad958d2 — feat: implement Feed Discovery Engine with user-controllable parameters
- a2ad980 — feat: add cached_media table and pruning logic to SQLite
- d50a8c2 — feat: implement background sync for metadata and startup pruning
Full Changelog: v0.2.1...v0.3.0
v0.2.1
Full Changelog: v0.2.0...v0.2.1
Full Changelog: v0.2.0...v0.2.1
v0.2.0
XFlow — Update v0.2.0
Summary
This release marks the project version 0.2.0 and bundles several player, feed, caching, and profile improvements focused on rendering reliability, media prefetching, and developer tooling.
Highlights
- Rendering & player: Improved video rendering (wrapped
TiktokMediaContainerinRepaintBoundary) and stabilized the player pool and prefetch logic (lib/features/player/,lib/features/feed/). - Feed & parsing: Added timeline fetching helpers and improved tweet/date parsing to support more robust feed display and overlays.
- Caching & performance: Aggressive media and response caching using
ffcache,cached_network_image, and local caching strategies to reduce buffering and network usage. - Profile & subscriptions: Enhanced profile media display, feature flags for profile label improvements, subscription import and management screens.
- Developer & CI: Added
AppLoggerandLogViewerScreenfor diagnostics and a GitHub Actions workflow for automated APK builds.
Changelog (selected commits)
- c3ef2d5 — feat: wrap TiktokMediaContainer in RepaintBoundary for improved rendering
- a82febe — feat: add high-resolution avatar URL support for tweets and profiles
- e8bbeae — feat: add fetchUserTimelineByScreenName method and enhance tweet prefetching logic
- 272d4eb — feat: implement caching in fetch method and enhance feed with media warmup
- 15209d4 — feat: add player pool and prefetch logic
- c835425 — feat: implement AppLogger and LogViewerScreen for diagnostics
- ba23ebc — feat: add GitHub Actions workflow for building and releasing APKs
- cd6f7ab — feat: update project version to 0.2.0 and add release notes
Full recent history is available in the git log for the repository if you want an exhaustive list.
Notable files referenced
pubspec.yaml— version bump and dependency listlib/features/player/— player pool and rendering componentslib/features/feed/— TikTok-style feed, warmup/prefetch logiclib/core/client/twitter_client.dart— Twitter/X client flags and fetch logicsquawker_source/— upstream auth/data-layer reference
Full Changelog: v0.1.0...v0.2.0
Full Changelog: v0.1.0...v0.2.0
v0.1.0
XFlow - Initial Release
XFlow is a Flutter-based application that reimagines how you consume media from Twitter/X. It provides a seamless, TikTok-style infinite scrolling experience specifically tailored for browsing videos, images, and GIFs from the platform.
By leveraging the robust authentication and data layers originally built for the Squawker project, XFlow allows you to securely log in, view media from your subscriptions, and explore trending content in a highly optimized, full-screen player environment.
✨ Features
- TikTok-Style Media Feed: Infinite vertical scrolling through full-screen media content.
- Smart Pre-caching: Automatically warms up the next few videos in your feed so playback starts instantly without buffering.
- Subscription Management: Easily manage your X/Twitter subscriptions and view a dedicated feed of their media.
- Profile & Media Grid: View user profiles and lazily-loaded grids of their media uploads.
- Optimized Caching: Implements
ffcacheandcached_network_imageto aggressively cache API responses and media assets, dramatically reducing network requests and improving load times. - State Preservation: Keeps your place in the infinite scroll feed even when navigating deep into user profiles or switching tabs.
Full Changelog: https://github.com/Alchemist-Aloha/xflow/commits/v0.1.0
Full Changelog: https://github.com/Alchemist-Aloha/xflow/commits/v0.1.0