- Multi-version support: a single project now holds multiple versions, each with its own platforms and artifacts (no more separate project per app release)
- Brand-new visual design system: light + dark themes, single accent ("ink"), 6px radius, desktop-dense typography, full token set exposed via
AppTokens(ThemeExtension) - In-house widget library under
lib/widgets/ui/:AppButton,AppTextField/AppTextArea,AppRadio/AppCheckbox,AppChip,SegmentedToggle,AppCard,AppSplitter,SectionLabel,Mono,Kbd,AppListRow,AppDialogFrame,EmptyState,DropZone(customCustomPainterdashed border),CodeBlock,AppMenuButton/popup menu,TabStrip,LoadingCard, plusAppIconsandPlatformGlyphs - Redesigned Main screen: sidebar with monogrammed project rows + theme toggle; Xcode-style tab strip with per-tab close; empty state with keyboard-shortcut hints
- Redesigned Workspace (per-tab): top
ArtifactBarwith symbols dropdown and "loaded" indicator, segmentedDrag & drop / Manual pastetoggle, dashed drop zone with⌘Obrowse hint, manual mode with stack-trace cards, per-card and bulk decode - Redesigned Edit Project dialog: chip-based platform toggles, expandable per-platform artifact rows (mono filename + dim path),
Add version/Add artifactflows - Redesigned Select Platform dialog: radio rows grouped under mono version headers,
accentSofthighlight for the selected combo - Redesigned Decode Result dialog: collapsible result cards with mode badge, frame count, Copy/Save buttons, footer "Save all files"
- Floating loader card replacing the fullscreen overlay
- Theme toggle (light / dark / system) in the sidebar footer, persisted via Hive
- Keyboard shortcuts:
⌘Ncreate project,⌘Wclose active tab,⌘Obrowse files in drop zone - Russian (
ru) translations for the entire UI; new strings added toAppLocalizationswith properIntl.pluralrules for Russian
- Upgrade to Flutter 3.38 / Dart 3.10
- Migrate from
hive(unmaintained) tohive_ce; adapters registered via generatedhive_registrar.g.dart - Bump all dependencies to current majors (
file_picker8,intl0.20,multi_split_view3,multiple_localization0.6,loader_overlay4,flutter_lints5,uuid4, etc.) EditProjectScreenredesigned around a list of version cards with per-version platform/artifact editing- Platform selector dialog groups platforms by version
- Skip the "Select platform" dialog when a project has exactly one active (version, platform) combo
- Migrated
RadioListTileto the newRadioGroupancestor pattern - Replaced ad-hoc
ElevatedButton/TextButtonstyling with the newAppButton AppDialog.showAlert/showConfirm/showFormrebuilt aroundAppDialogFrame(no more MaterialAlertDialog/AppBarwrapper)loader_overlayconfigured atMaterialApp.builderlevel so the overlay can read theme tokensMultiSplitViewdivider replaced with a 1px line viadividerBuilder
Project.versionandProject.platforms(replaced byProject.versions: List<ProjectVersion>)tabbed_viewpackage (replaced by in-houseTabStrip)dotted_borderpackage (replaced byDropZone'sCustomPainter)lib/widgets/buttons/,widgets/preview_selector/,widgets/platform_selector/,widgets/platform_tab_data/,widgets/draggable_decode_page/,widgets/manual_decode_page/,widgets/drop_target_box/,widgets/artifact_selector/,widgets/decode_result_field/— superseded by the new widget library andWorkspaceView
- Old Hive boxes are incompatible with the new schema and are dropped on first launch (no migration)
- Support Flutter 3.10
- Support manual decoding
- The first version with dragging decoding