What's Changed
New
- Added support for X/Twitter Articles, including timeline preview cards and dedicated article detail screens on Android, Desktop, and iOS.
- Added a native Kotlin Multiplatform Readability module for RSS/article extraction, replacing the previous JavaScript/platform scraper path.
- Added AI translation testing in settings so users can verify the current AI translation setup with a rich-text sample.
- Added manual OpenAI model input.
- Added auto-translation excluded languages, allowing selected source languages to be skipped during automatic pre-translation.
Improvements
- Reworked AI translation to use placeholder-based templates, improving preservation of links, mentions, hashtags, rich-text structure, and locked content.
- Improved pre-translation session handling so provider changes cancel stale jobs and clean up in-flight translation state.
- Updated X/Twitter API feature flags and field toggles to support article rich content.
- Improved VVO rich-text mapping for linked images and internal status links.
- Improved iOS timeline performance with a new collection-view based timeline renderer and more targeted cell refreshes.
Fixes
- Fixed RSS charset handling, including feeds that declare GBK or other encodings in XML/HTML metadata.
- Fixed desktop link-click behavior for rich text containing inline images.
- Fixed desktop WebView login session handling by using incognito web settings.
- Fixed Android media picker compatibility by switching to the document picker for images and videos.
- Fixed iOS video seek behavior so playback state is restored correctly after dragging the slider.
- Fixed several iOS notification timeline selection, filtering, refresh, and unnecessary re-render issues.
- Improved Mastodon token response compatibility with servers that omit or vary optional fields.
Dependencies
- Updated Ktor, Nucleus, SKIE, Zoomable, RichText Material3, and ML Kit GenAI Prompt dependencies.
Full Changelog: 1.4.2...1.4.3