- fc74f54a - chore(changelog): update version to 2.9.14 and add IPv6 support details
- 977a446c - feat(validators): improve IPv6 port suggestion handling and error messaging
- 31f62d9e - feat(validators): enhance IPv6 support with bracketed port suggestions
- 430ffa8c - feat(ipv6): Add support for ipv6.
- 0a87a184 - chore(changelog): update for new features and bug fixes in version 2.9.13
- 22f69721 - fix(de.yaml): correct grammatical errors in filament tooltip
- dd3536a3 - feat(manage_services_bottom_sheet): replace loading indicator with shimmer effect
- 9e082617 - fix(klipper_system_service): handle loading state until client is connected
- 91a65338 - fix(json_rpc_client): update api_key handling to prevent sending empty strings
- ed2add6a - Merge branch 'refs/heads/master' into dev
- c13854a3 - feat(group_console): add group console page and related functionality
- a544ee2b - fix(action_bottom_sheet, selection_bottom_sheet): enhance action handling with optional callbacks for confirmation
- fe123288 - fix(confirmation_bottom_sheet, non_printing_bottom_sheet): update bottom sheet navigation to use service for dismissal and confirmation
- ace817ae - New translations en.yaml (Russian) (#590)
- c19122e7 - fix: jrpc fails on empty api key (#593)
- 0504bb56 - fix(paywall_page): adjust layout constraints for responsive design
- dc9c963c - fix(payment_service): defer expired subscription check to avoid state access issues
- 334ded15 - fix(belt_tuner, z_offset_card): guard against accessing ref when provider is unmounted
- d0f6929b - fix(machine_service): guard against accessing ref when provider is unmounted
- 6ca8edb5 - fix(mjpeg): prevent stream build when widget is unmounted
- 155c47e7 - fix(webcam_service): handle unmounted state and prevent stuck stream in webcam info retrieval
- 2b402613 - fix(analysis_options): remove null-aware-elements experiment from analyzer settings
- 47fbba63 - fix(webcam): don't carry local camera port over OctoEverywhere remote URLs
- c1788f22 - feat(paywall_page): add bottom gap to footer for improved layout
- d09c5be5 - fix(bed_mesh_plot): stop gating rendering on activeProfile for bed mesh plotter
- e7376f05 - feat(changelog): add enhancements for printer groups management in app drawer
- 4e327350 - feat(printer_groups): add printer groups management with creation, editing, and deletion functionality
- b0722d64 - fix: guard against unmounted references in async operations across multiple components
- f62a82e9 - fix(file_manager_search): guard against unmounted references during async operations
- 449e2361 - fix(payment_service): handle recoverable purchase errors and improve error reporting
- c0ffd987 - feat(auth): refresh Firebase user on app resume for unverified emails
- 794ac33f - feat(paywall): refactor EULA link handling to use remote config
- e4dcee88 - feat(paywall): add links to Terms of Use and Privacy Policy
- 253688d3 - fix(imprint_view): update privacy policy URL to new domain
- b02843a4 - fix(app_setup): handle transient JRpcTimeoutError in error handlers
- 5aa166f7 - fix(translations): Fix theme editor perk name
- 4a8bd252 - fix(webcam_beacon_service): defer initial beacon send to next microtask and check mounted state
- ae935402 - fix(remote_connection): restore custom HTTP headers input for manual connections
- cf560f0c - fix(changelog): update for version 2.9.14 with multiple bug fixes and improvements
- ea13a852 - fix(bed_mesh_plot, z_offset_card): improve async handling and prevent crashes during data retrieval
- b85978be - fix(pubspec): bump version to 2.9.14+581
- 229d56f8 - fix(legacy_printer_card): ensure mounted state check and improve future handling in build method
- 7d6b32c7 - fix(manual_offset_controller): improve snackbar handling after dialog closure
- 3fa460cc - fix(snackbar_service): update show methods to return ScaffoldFeatureController for better handling
- c6fc2869 - fix(ref): add checks for mounted state to prevent errors during async operations
- 0ca22275 - fix(payment_service): handle product already purchased error by restoring purchases
- b89cbf1d - fix(changelog): update for bottom sheet keyboard overlap and config editor selection toolbar fixes
- f303693f - fix(config_editor): Text selection context menu now shows up at the top rather than behind system UI.
- 0152831f - fix(app_router): add bottom padding to SheetViewport for better layout handling