Skip to content

v0.13.0

Latest

Choose a tag to compare

@knotbin knotbin released this 24 Sep 00:19
· 7 commits to main since this release
2b62eaa

Better Creation Tools and Overhauled Moderation

0.13.0 brings a major upgrade to creating and sharing on Spark. We've revamped the video editor, refreshed story editing, and redesigned the recording and post review flows. There's also a new way to find your Bluesky friends on Spark, a substantial moderation overhaul, and plenty of improvements to browsing, messaging, and everyday reliability.

✨ Highlights

Creating and editing

  • Revamped the video editor with a swipe-to-reveal timeline, contextual editing controls, and draggable tracks for timing and arranging layers. #121
  • Added separate controls for original and added audio, including volume, muting, placement, and looping. #121
  • Added a sound audition flow with waveform previews and range selection, making it easier to choose exactly which part of a sound plays over your video. #122
  • Refreshed the story editor with a new layout, compact tool rail, and updated sticker controls. #128
  • Redesigned camera controls, moved library access and camera switching into the footer, and added camera switching while recording.
  • Unified post creation around the camera, with your photo and video library accessible from the recording screen.
  • Redesigned photo and video review with clearer captions, media previews, sound and crossposting controls, and a persistent Post button.
  • Added a scrollable photo strip for reviewing, editing, removing, and adding photos before posting.
  • Added a clearer warning when crossposting more than four photos: Bluesky receives the first four and a link to the full Spark post.

Finding people and browsing

  • Added Bluesky follow import: find people you already follow who have Spark profiles, then choose whom to follow on Spark.
  • Made follow import available during onboarding, from Settings → Connections, and from an empty Following feed, with retries for any follows that couldn't be completed.
  • Added a final onboarding review for your profile and selected follows.
  • Improved the first-feed experience for new accounts, starting with Discover and providing more useful actions when a feed is empty or caught up.
  • Added pinch-to-zoom for photos in carousels.
  • Added a likes sheet so you can tap a post's like count to see who liked it.
  • Refreshed the share sheet with a draggable bottom-sheet presentation.

Moderation

  • Overhauled moderation so labels and content warnings behave consistently across posts, profiles, stories, messages, search, notifications, sounds, and suggested feeds. #129
  • Added dedicated moderation settings for adult content and label preferences, alongside improved labeler management. #129
  • Added clearer moderation details showing who applied a label, why content is restricted, and an appeal action for eligible labels on your own content. #129
  • Improved reporting with moderation-service selection and report options matched to what each service supports. #129

Messages, notifications, and accounts

  • Migrated messaging to Spark's chat.sprk service and improved placeholders for deleted and unsupported messages in conversations and previews.
  • Updated push-notification support, grouping, and navigation, including clearer handling of replies, follow-backs, and activity via reposts.
  • Connected account management to your hosting provider's account-management page.

UI polish and accessibility

  • Introduced a shared animated pull-to-refresh indicator across the app.
  • Unified app and editor icons with a consistent set of SVG symbols.
  • Added shared toggles with screen-reader support, keyboard interaction, right-to-left layouts, and reduced-motion behavior.
  • Refined recording previews and photo/video review spacing.

🐞 Bug Fixes

  • Fixed video exports to preserve trims, layer timing and animations, audio placement and looping, crop transforms, and story sizing. #121
  • Fixed camera cleanup during navigation and lifecycle changes, including releasing the camera while reviewing photos. #127
  • Fixed the back button on a freshly created post so it returns home correctly. #125
  • Fixed video-review cleanup and feed playback failing to resume after leaving recorded-video review.
  • Improved playback handling when the app loses focus or enters recording, while keeping videos playing when opening likes or comments.
  • Fixed delegated video-upload authorization.
  • Fixed onboarding profile edits being lost between steps and improved save failures and retry handling.
  • Fixed moderation label updates, labeler policy defaults, profile-label scope, and preference-saving races. #129
  • Fixed the refresh indicator appearing when a partial swipe returns to the first feed item.
  • Made the video editor's reveal arrow tappable, with an accessible touch target.
  • Fixed recording placeholder scaling, improved video capture proportions, and corrected crossposting-control visibility.

🧰 Internal

  • Adopted granular ATProto authorization scopes.
  • Reorganized media editors into their own feature area and separated timeline, playback, preview, and export responsibilities.
  • Updated generated Poptart integrations and centralized moderation and preference handling.
  • Migrated the main iOS app from CocoaPods to Swift Package Manager and aligned Swift package lockfiles.
  • Updated dependencies and aligned development and CI with Flutter 3.47.2 and Dart 3.13.
  • Expanded unit and widget coverage across repositories, providers, editors, moderation, onboarding, and shared components. #124
  • Added authentication and registration integration journeys, Android and iOS integration-test workflows, broader analysis, and randomized test execution. #124
  • Fixed photo-test hangs and Android Gradle compatibility.
  • Improved worktree setup and Firebase configuration availability, simplified CI setup, and removed obsolete development scripts.

Full changelog: v0.12.2...v0.13.0