Skip to content

Releases: CrossPaste/crosspaste-desktop

1.2.8.1999

17 Feb 07:01
c1c2dce

Choose a tag to compare

Highlights 🌟

  • 🎨 Material 3 & Tailwind UI Evolution
    A comprehensive visual overhaul migrating the application to the CrossPasteColor M3 theme and a Tailwind CSS-inspired color palette. The entire icon system has been refactored using Material Symbols, providing a unified and modern aesthetic (#3718 #3734 #3740).

  • πŸ€– MCP Server for AI Integration
    Introduced support for the Model Context Protocol (MCP), allowing AI agents to securely access your clipboard data. This update includes a dedicated settings interface for managing agent permissions and connectivity (#3839 #3841).

  • 🫧 BubbleWindow & Advanced Inline Editing
    Launched the BubbleWindow, enabling seamless inline text and HTML editing directly from the Search window. The new editor includes a floating toolbar with undo/redo support and optimized layouts for rapid content adjustments (#3837 #3860 #3862 #3867).

  • πŸ”„ Advanced File Management & Sync Control
    Significant upgrades to the sync engine, including the ability to sync large files directly to system download directories and granular controls for specific content types. A new "Cut" operation with full undo support has also been added for file and image items (#3737 #3833 #3843 #3871).

  • πŸ›‘οΈ Architecture Hardening & Massive Test Suite
    Major stability improvements addressing native resource leaks on Windows (COM/DC), macOS, and Linux. To ensure long-term reliability, we've added over 750 new unit and integration tests covering the core data, sync, and UI layers (#3742 #3780 #3782 #3816 #3820-3827).

Bug Fixes πŸ›

  • Fix native resource leaks: Windows (DC, COM, HICON), macOS (Keychain), and Linux (Pointer bugs) (#3770 #3780 #3782 #3786)
  • Resolve synchronization race conditions, silent error swallowing, and redundant retry loops (#3762 #3766 #3875 #3889)
  • Patch Zip Slip vulnerability and security risks in the encryption layer (#3810 #3768)
  • Fix runBlocking UI freezes and thread-safety issues in RTF and UI infrastructure (#3804 #3808 #3794)
  • Fix Bonjour service race condition causing registration with port 0 (#3772)
  • Resolve stream leaks during import/export and orphaned database entries (#3752 #3900 #3908)
  • Correct macOS shortcut rawCode mapping and fragile reflection logic (#3784)
  • Fix cleanup logic where expiration was guarded by the wrong configuration flag (#3896)
  • Fix "launch_at_startup" switch being bound to the incorrect config field (#3722)

New Features ✨

  • ✨ Add "In Downloads" indicator for synced files and hide missing local items (#3852)
  • ✨ Support drag-and-drop overlay UI for remote file synchronization (#3846)
  • ✨ Add mutedText color to the theme system for better typography (#3728)
  • ✨ Implement PasteTypeExt constants and composable helpers for better type handling (#3724 #3726)

UI Improvements πŸ’„

  • πŸ’„ Redesign menu items for improved visual clarity (#3720)
  • πŸ’„ Enhanced image info components with adaptive layouts and decimal byte formatting (#3697 #3699 #3700)
  • πŸ’„ Fix BubbleWindow visual glitches (white corners/tails) on Linux platform (#3910)
  • πŸ’„ Add isLoading state support for Dialog action buttons (#3835)
  • πŸ’„ Fix InfoItem value text alignment issues during text wrapping (#3831)

Multiplatform Β· Refactor Β· Code Style πŸ”¨

  • πŸ”¨ Clean up core data models and unify error handling logic (#3744)
  • πŸ”¨ Refactor icon system with unified IconData and Material Symbols (#3740)
  • πŸ”¨ Update CLAUDE.md with strict commit message conventions and code formatting rules (#3707 #3732)
  • πŸ”¨ Refactor SemanticColorGroup to utilize Tailwind CSS color palette (#3734)

Performance ⚑

  • ⚑ Enable per-device concurrent sync event processing to reduce latency (#3881)
  • ⚑ Replace binary search with cumulative size scan for faster threshold cleanup (#3898)
  • ⚑ Resolve task executor semaphore starvation and queue backpressure (#3894)
  • ⚑ Optimize image processing by removing redundant hash computations and bitmap copies (#3748 #3774)

Dependencies ⬆️

  • ⬆️ Kotlin 2.3.0 β†’ 2.3.10 (#3801)
  • ⬆️ Compose Plugin 1.10.0 β†’ 1.10.1 (#3856)
  • ⬆️ Ktor 3.3.3 β†’ 3.4.0 (#3701)
  • ⬆️ Gradle Wrapper 8.14 β†’ 9.3.1 (#3710)
  • ⬆️ Logback Classic 1.5.25 β†’ 1.5.31 (#3708 #3892)
  • ⬆️ Atomicfu 0.29.0 β†’ 0.31.0 (#3702)
  • ⬆️ Kotlinx Serialization 1.9.0 β†’ 1.10.0 (#3703)

Build & Tooling πŸ‘·

  • πŸ‘· Replace Thread.sleep with runTest to resolve flaky test results (#3858)

Full Changelog: 1.2.7.1883...1.2.8.1999

1.2.7.1883

25 Jan 11:13
9a86a46

Choose a tag to compare

πŸš€ v1.2.7 - Emergency Hotfix

This release addresses a critical issue where devices were unable to connect or sync due to an incorrectly configured HTTP header.

⚠️ Critical Fixes

  • Connection Failure: Removed manually set Host reserved header which caused communication timeouts in certain network environments. (#3691)

πŸ“ Other Improvements

  • Compatibility: Fixed cursorColor method for better Android compatibility. (#3681)
  • UI: Fixed FileBottomSolid size calculation logic. (#3686)
  • Internal: New getNoDeletePasteDataFlow for better multiplatform data handling. (#3688)

Full Changelog: 1.2.6.1876...1.2.7.1883

1.2.6.1876

21 Jan 13:40
63a33aa

Choose a tag to compare

Highlights 🌟

  • 🎨 Material 3 Design Overhaul
    A massive visual upgrade transitioning the entire application to Material 3 principles. This includes a complete refactor of Settings, Device Management, Dialogs, OCR, and Import/Export interfaces for a modern, unified experience (#3516 #3529 #3546 #3560).

  • ✏️ Editable Paste Titles
    You can now customize and edit the titles of items in your clipboard history directly via the SidePasteTitleView, allowing for better organization and quicker identification of important snippets (#3664).

  • πŸͺŸ Enhanced Desktop Aesthetics
    Significant improvements to platform-specific visuals, including a new frosted glass (translucent) background for the search window on Windows. For macOS, we've introduced support for the "Liquid Glass" effect and ensured full compatibility with macOS 26+ (#3628 #3630 #3643).

  • πŸ”„ Clipboard Relay & Sync
    Introduced a new Clipboard Relay system and refactored the task submission architecture. Improved device discovery reliability with network interface fallbacks and enhanced sync status UI (#3662 #3679 #3651).

  • πŸ› οΈ Infrastructure & Performance
    Upgraded to Kotlin 2.3.0 and Compose 1.10.0. Optimized Bonjour service discovery and resolved critical stability issues, including a SIGSEGV crash in XToolkit for Linux users (#3510 #3637 #3521 #3645).

Bug Fixes πŸ›

  • Fix SIGSEGV in XToolkit by deferring JNativeHook initialization (#3645)
  • Resolve search window position flickering when opened (#3507)
  • Fix layout of platform text in DeviceRowContent (#3552)
  • Fix flaky testDecryptionWithWrongKeyPair unit test (#3568)
  • Resolve configuration cache issues for copyDevProperties task (#3577)
  • Fix AlwaysOnTop button theme color and size inconsistencies (#3606)
  • Avoid special fonts in DeviceDisplayName to ensure cross-platform compatibility (#3608)
  • Resolve x86 compilation error by restricting Liquid Glass to ARM64 (#3643)
  • Fix nested padding issues by introducing InnerScaffold (#3525)
  • Add network interface fallback to ensure service discovery starts reliably (#3679)

New Features ✨

  • ✨ Support adding tags to clipboard items (#3389)
  • ✨ Support keyboard shortcuts for top 9 clipboard items (#3385)
  • ✨ Add support for F13-F20 function keys (#3515)
  • ✨ Support toggling search window via global shortcut (#3570)
  • ✨ Implement Clipboard Relay system for advanced syncing (#3662)
  • ✨ Enhance i18n tool with unused key detection and auto-cleanup (#3556)
  • ✨ Implement dynamic debug mode and move About view to desktop source set (#3649)
  • ✨ Add callback for TrustByToken and loading states in device dialogs (#3668)

UI Improvements πŸ’„

  • πŸ’„ Refactor major UI components (Settings, Devices, Dialog, Token, Notification, OCR) to Material 3 (#3516 #3529 #3531 #3536 #3546 #3560)
  • πŸ’„ Implement AnimatedSegmentedControl component (#3610)
  • πŸ’„ Add frosted glass background to search window on Windows (#3628)
  • πŸ’„ Refactor macOS acrylic background for macOS 26+ support (#3630)
  • πŸ’„ Implement dynamic semantic color support (#3604)
  • πŸ’„ Support editing paste item titles in SidePasteTitleView (#3664)
  • πŸ’„ Add IncompatibleSection to device detail view (#3519)
  • πŸ’„ Improve token input readability with adjusted line height (#3538)
  • πŸ’„ Refine device row UI and state tag appearance (#3602)

Multiplatform Β· Refactor Β· Code Style πŸ”¨

  • πŸ”¨ Refactor navigation to pass IDs instead of complex objects (#3579)
  • πŸ”¨ Rename QR Code to "Pairing Code" across UI and i18n (#3598)
  • πŸ”¨ Introduce multi-platform support for Export/Import Param Factories (#3585)
  • πŸ”¨ Consolidate MainWindow menu bar into DesktopMenuBar component (#3636)
  • πŸ”¨ Remove deprecated color contrast support from theme system (#3625 #3632)
  • πŸ”¨ Clean up unused code and i18n entries after refactoring (#3575 #3596)

Performance ⚑

  • ⚑ Optimize DesktopPasteBonjourService discovery and throttling logic (#3521)
  • ⚑ Track connected host addresses and refactor PasteClient headers (#3676)
  • ⚑ Improve device refresh UX and sync reliability UI (#3651)

Dependencies ⬆️

  • ⬆️ Kotlin 2.2.21 β†’ 2.3.0 (#3510)
  • ⬆️ Compose Plugin 1.9.3 β†’ 1.10.0 (#3637)
  • ⬆️ JBR (JetBrains Runtime) β†’ 21.0.9b1163.94 (#3634)
  • ⬆️ Jewel 0.32.1 β†’ 0.33.0 (#3528)
  • ⬆️ Logback 1.5.20 β†’ 1.5.25 (#3509 #3655)
  • ⬆️ MaterialKolor 4.0.5 β†’ 4.1.0 (#3639)
  • ⬆️ JmDNS 3.6.2 β†’ 3.6.3 (#3620)
  • ⬆️ ICU4J 78.1 β†’ 78.2 (#3656)

Build & Tooling πŸ‘·

  • πŸ‘· Update macOS runner to macos-26 in build-release workflow (#3670)
  • πŸ‘· Sync JBR version in conveyor.conf with actual runtime version (#3672)
  • πŸ”– Update version to 1.2.6 (#3641)

Full Changelog: 1.2.5.1787...1.2.6.1876

1.2.5.1787

19 Dec 02:06
c8fa7ad

Choose a tag to compare

πŸš€ Highlights

This is an urgent release addressing critical performance issues and streamlining the UI.

  • ⚑️ Performance & Stability Hotfix: Addressed UI freezing and lag. We migrated database operations to an async/await pattern with an IO dispatcher and introduced HikariCP to handle concurrency. Also fixed the freeze issue during token refreshes.

  • βœ‚οΈ UI Streamlining: Removed deprecated and redundant UI elements, including the Main Window clipboard display and the Central Search Window, to provide a cleaner and lighter user experience.

What's Changed

Full Changelog: 1.2.4.1778...1.2.5.1787

1.2.4.1778

16 Dec 13:21
9cc7a65

Choose a tag to compare

Highlights 🌟

  • 🏷️ Clipboard Item Tagging
    Organize your clipboard history more effectively with the new tagging system. You can now add custom tags to items, complete with a refined UI for easier management (#3389 #3392 #3415 #3442).

  • πŸ“₯ Native System Tray
    Improved desktop integration with native system tray support, now fully implemented for both Windows and Linux environments (#3413 #3471).

  • 🎨 Visual & UX Polish
    Introduced macOS acrylic window background effects, overhauled file/folder icons, and added image resolution overlays. Navigation has been smoothed out with consistent back-button behavior (#3404 #3426 #3444 #3448).

  • ⌨️ Smart Shortcuts & Focus
    Added support for keyboard shortcuts to quickly access the top 9 clipboard items. Window focus logic has been significantly improved for better stability and automatic monitoring (#3378 #3384 #3385).

  • ⚑ Performance & Stability
    Significant under-the-hood optimizations to reduce application size and memory footprint, resulting in a snappier and more responsive experience (#3383 #3399 #3408).

  • 🐧 Linux AppImage Support
    Greatly enhanced Linux compatibility with official AppImage packaging support, simplifying installation across different distributions (#3456).

Bug Fixes πŸ›

  • Resolve SIGSEGV crash due to unsafe window pointer usage (#3473)
  • Fix crash caused by process-based hostname retrieval (#3393)
  • Fix migration crash for PasteTagEntity (#3392)
  • Ensure Settings window automatically appears on first launch (macOS) (#3395)
  • Fix drag-and-drop performance issue in SidePasteItemView (#3402)
  • Prevent tagged items from being removed during deduplication (#3415)
  • Fix compilation errors in securedao (#3421)
  • Resolve aliasing in side app source icons due to crop transformation (#3432)
  • Fix sync control parameter inconsistency in device detail view (#3452)
  • Fix incorrect directory size check allowing large folders to bypass limit (#3465)
  • Patch incorrect icon paths in decorated window icon keys via reflection (#3469)
  • Fix tray menu showing search window instead of main window (#3471)
  • Improve main window focus behavior when already visible (#3477)
  • Add cache invalidation for native window handles to prevent stale state (#3479)
  • Reset active image memory reclamation logic (#3483)

New Features ✨

  • ✨ Support adding tags to clipboard items (#3389)
  • ✨ Support keyboard shortcuts for top 9 clipboard items (#3385)
  • ✨ Add support for automatic window focus change monitoring (#3384)
  • ✨ Implement native tray support for Windows and Linux (#3413)
  • ✨ Add AppImage packaging support for Linux builds (#3456)
  • ✨ improve window focus logic and display interface (#3378)

UI Improvements πŸ’„

  • πŸ’„ Implement acrylic window background (macOS) (#3404)
  • πŸ’„ Overhaul file and folder icons with modern aesthetics (#3426)
  • πŸ’„ Display image resolution overlay in side panel (#3444)
  • πŸ’„ Refine tag chip styling and sizing consistency (#3442)
  • πŸ’„ Improve text styling with consistent line height configuration (#3430)
  • πŸ’„ Implemented FileBottomSolid to display file info in preview (#3436)
  • πŸ’„ Refactored UrlBottomSolid for layout harmony and readability (#3434)
  • πŸ’„ Implement navigation improvements with graph routing (#3448)
  • πŸ’„ Enhance UI consistency with unified background styling (#3450)

Multiplatform Β· Refactor Β· Code Style πŸ”¨

  • πŸ”¨ Replace Guava with Caffeine to reduce dependency size (#3383)
  • πŸ”¨ Consolidate theme logic into unified reactive ThemeState (#3397)
  • πŸ”¨ Migrate to centralized reactive AppSizeValue architecture (#3410)
  • πŸ”¨ Refactor UI context management and optimize window state access (#3419)
  • πŸ”¨ Refactor bottom solid components to support multiplatform usage (#3440)
  • πŸ”¨ Replace jSystemThemeDetector with native Compose API (#3446)
  • πŸ”¨ Refactor NavigationEvent from sealed class to interface pattern (#3454)

Performance ⚑

  • ⚑ Optimize UI performance by eliminating unnecessary state (#3399)
  • ⚑ Add @Stable annotation to PasteDetailInfoItem (#3406)
  • ⚑ Optimize image loading and UI performance across multiple components (#3408)
  • ⚑ Optimize AppSourceIcon layout stability and scaling logic (#3417)
  • ⚑ Optimize scroll performance in SidePasteboardContentView (#3438)

Dependencies ⬆️

  • ⬆️ Jewel 0.31.0 β†’ 0.32.1 (#3373 #3458)
  • ⬆️ Ktor 3.3.2 β†’ 3.3.3 (#3386)
  • ⬆️ SQLDelight 2.0.2 β†’ 2.2.1 (#3343 #3346)
  • ⬆️ Okio 3.16.2 β†’ 3.16.4 (#3411)
  • ⬆️ Ktlint 13.1.0 β†’ 14.0.1 (#3457)
  • ⬆️ Ph-css 8.0.1 β†’ 8.1.1 (#3459)
  • ⬆️ ZXing Core 3.5.3 β†’ 3.5.4 (#3463)
  • ⬆️ Mockk 1.14.6 β†’ 1.14.7 (#3462)

Build & Tooling πŸ‘·

  • ⬆️ Upgrade Gradle to 8.14 (#3428)
  • ⬆️ Update Conveyor build action to v21.0 (#3481)
  • πŸ‘· Cache Kotlin Native dependencies to speed up build (#3423)
  • πŸ“¦ Set JNA library path for production builds (#3467)
  • πŸ”Š Add AWT exception handler for better crash logging (#3475)

Full Changelog: 1.2.3.1718...1.2.4.1778

1.2.3.1718

25 Nov 01:42
c834946

Choose a tag to compare

Highlights 🌟

  • πŸ–ΌοΈ Optical Character Recognition (OCR)
    Extract text directly from images in your clipboard. This new module supports asynchronous processing and includes guidance for first-time usage (#3302 #3306 #3321).

  • 🧩 Extensions Framework
    Added the foundation for the upcoming extension system, including a new management UI, download module, and configurable proxy support (#3291 #3295 #3296).

  • πŸ”Ž Enhanced Search Experience
    You can now edit text content directly in the search window and use multi-select to paste multiple items in sequence based on your selection order (#3277 #3279).

  • πŸ“‚ File & Folder Visualization
    The clipboard history now visually renders file and folder items, making it easier to distinguish and manage file-based content (#3262).

  • 🧹 Smarter Memory Management
    The app now proactively clears loaded image memory when the window is hidden, reducing the memory footprint during background operation (#3368).

Bug Fixes πŸ›

  • Fix search window pasteboard type selection not resetting (#3226)
  • Disable gzip encoding to restore expected decryption behavior (#3242)
  • Resolve zh_hant.properties not being updated in i18n batch script (#3245)
  • Correct middle ellipsis logic for URL text display (#3249)
  • Fix NPE in writePasteboard when no PasteText item exists (#3256)
  • Fix client interface version recognition (#3283)
  • Fix settings UI width and scrollbar position (#3293)
  • Fix typo in Linux log path (~/.local/share) (#3309)
  • Bring main window to front when displaying token (#3311)
  • Establish bidirectional connection automatically when connecting devices (#3313)
  • Resolve secret key loss or mismatch issues (#3316)
  • Improve display text when network info is unavailable (#3315)
  • Fix incorrect sha512 hash for JBR SDK (#3328)
  • Fix macOS app signing, notarization, and runtime compatibility issues (#3332 #3338 #3342)
  • Ensure search window displays on top (#3348)
  • Restrict URL preview to text/html and application/xml only (#3350)
  • Fix connection address overwrite after failed host connection attempt (#3354)
  • Prevent duplicate cropping in CropTransformation (#3364)
  • Prioritize longer key combinations to prevent prefix misfires (#3371)

New Features ✨

  • ✨ Support editing text pasteboard in search window (#3277)
  • ✨ Support multi-select paste based on selection order (#3279)
  • ✨ Support rendering files and folders for file pasteboard (#3262)
  • ✨ Add OCR Module for text extraction (#3302)
  • ✨ Add extension UI and download module (#3291 #3296)
  • ✨ Support configurable extension proxy (#3295)
  • ✨ Support automatic redirect in HttpClient (#3360)

UI Improvements πŸ’„

  • πŸ’„ Add extension management UI (#3291)
  • πŸ’„ Add guidance for first-time OCR usage (#3321)

Multiplatform Β· Refactor Β· Code Style πŸ”¨

  • πŸ”¨ Remove Debug UI, enable debugging via hot reload (#3228)
  • πŸ”¨ Migrate navigation to event-driven architecture (#3230 #3238)
  • πŸ”¨ Clean up libs.versions.toml (#3234)
  • πŸ”¨ Update UrlBottomSolid implementation for multi-platform reuse (#3251)
  • πŸ”¨ Rename native target to nativeApp to avoid template conflicts (#3264)
  • πŸ”¨ Extract SidePasteTitleView to separate file (#3281)
  • πŸ”¨ Modify sync address update strategy to use merge instead of overwrite (#3322)
  • πŸ”¨ Remove JvmStatic annotation from commonMain (#3352)
  • πŸ”¨ Abstract ResourcesClient implementation for multiplatform reuse (#3356 #3358)
  • πŸ”¨ Improve Coil3 fetch implementation (#3366)

Performance ⚑

  • ⚑ Make text extraction and related operations asynchronous (#3306)
  • ⚑ Clear loaded image memory proactively when window is hidden (#3368)
  • ⚑ Improve image generation service with proper cancellation handling (#3247)

Dependencies ⬆️

  • ⬆️ Kotlin 2.2.10 β†’ 2.2.21 (#3257 #3287)
  • ⬆️ Compose Plugin 1.9.0-rc01 β†’ 1.9.3 (#3232 #3203 #3297)
  • ⬆️ Compose Hot Reload 1.0.0-beta06 β†’ 1.0.0-rc02 (#3254 #3285)
  • ⬆️ Navigation Compose 2.9.0-rc02 β†’ 2.9.1 (#3253 #3275)
  • ⬆️ Ktor 3.2.3 β†’ 3.3.2 (#3236 #3268 #3303)
  • ⬆️ Jewel 0.30.0 β†’ 0.31.0 (#3273 #3304)
  • ⬆️ Lifecycle 2.9.3 β†’ 2.9.6 (#3265 #3284)
  • ⬆️ JNA 5.17.0 β†’ 5.18.1 (#3259 #3267)
  • ⬆️ Logback 1.5.18 β†’ 1.5.20 (#3266 #3274)
  • ⬆️ Guava 33.4.8-jre β†’ 33.5.0-jre (#3269)
  • ⬆️ Okio 3.16.0 β†’ 3.16.2 (#3286)
  • ⬆️ ICU4J 77.1 β†’ 78.1 (#3299)
  • ⬆️ Ph-css 8.0.0 β†’ 8.0.1 (#3298)
  • ⬆️ FileKit Dialogs 0.11.0 β†’ 0.12.0 (#3369)
  • ⬆️ Mockk 1.14.5 β†’ 1.14.6 (#3344)

Build & Tooling πŸ‘·

  • πŸ”§ Upgrade minimum macOS version to 14.0.0 (#3336)
  • ⬆️ Upgrade JBR version to 21.0.8b1163.69 (#3320 #3330)
  • ⬆️ Upgrade conveyor action version to 20.0 and compatibility level to 19 (#3334 #3340)
  • πŸ› Fix sign native libraries in tesseract JAR for macOS x86_64 notarization (#3342)

Full Changelog: 1.2.2.1640...1.2.3.1718

1.2.2.1640

11 Sep 02:38
2713d7e

Choose a tag to compare

Highlights 🌟

  • πŸš€ Database Performance Boost
    SQLite is now tuned for better concurrency and responsiveness, improving overall app performance (#3102).

  • 🌐 Network Interface Selection
    Choose which network interface CrossPaste uses for discovery and sync, giving you more control in multi-network environments (#3142).

  • πŸ“± Smarter Device Management
    Preview device details before adding, and enjoy a fully reactive sync service with dynamic polling intervals for faster, more reliable connections (#3148 #3166 #3171).

  • πŸ“ Rich Text Everywhere
    HTML clipboard rendering now uses rich text (no Chrome dependency) and RTF is also rendered via RichText (#3193 #3198).

  • 🍏 Native macOS Status Bar
    CrossPaste now integrates with the macOS system status bar, offering a more seamless and intuitive interaction experience(#3222).

Bug Fixes πŸ›

  • Handle invalid filename characters when syncing files from other systems to Windows (#3074)
  • Fix FileNameNormalizer extension preservation and dot-only files (#3076)
  • Fix PasteDataScopeImpl implementation (#3132)
  • Fix PasteShimmer UI in side window (#3139)
  • Fix UI recomposition for AsyncImagePainter state changes (#3189)
  • Fix infinite sync update loop by checking for actual changes (#3175)
  • Integrate Swift dylib compilation with resources pipeline to work with atomicfu (#3181)
  • Fix murmurhash3 compilation warnings (#3183)
  • Fix issue where scrolling clipboard doesn’t load more items (#3200)
  • Normalize HSL inputs for hslToColor in getAdaptiveColor (#3207)
  • Improve error handling in paste data deserialization (#3213)
  • Ensure PasteItem.fromJson catches exceptions (#3217)
  • Remove locale-dependent format directives for cross-platform compatibility (#3221)

New Features ✨

  • ✨ Native app menu support (#3053)
  • ✨ Reintroduce β€œClear All Paste” button (#3114)
  • ✨ Dynamic polling interval adjustment in sync manager (#3171)
  • ✨ Use rich text rendering for HTML clipboard content (#3193)
  • ✨ Use RichText to render RTF clipboard content (#3198)
  • ✨ Smart contrast colour utility for colour palette (#3219)
  • ✨ Network interface selection (#3142)
  • ✨ View device details before adding nearby devices (#3148)
  • ✨ Multi-language support for date/time formatting (#3096)

UI Improvements πŸ’„

  • πŸ’„ Newly added clipboard items are displayed at the top (#3073)

Multiplatform Β· Refactor Β· Code Style πŸ”¨

  • πŸ”¨ Make toRGBString compatible with iOS (#3069)
  • πŸ”¨ Move JsonUtils to commonMain for cross-platform reuse (#3085)
  • πŸ”¨ Refactor build.gradle.kts and reorder dependencies (#3087)
  • πŸ”¨ Migrate shared code to shared module in preparation for CLI module creation (#3089)
  • πŸ”¨ Rewrite all toByteArray calls to encodeToByteArray (#3112)
  • πŸ”¨ Remove PasteboardViewProvider interface to simplify implementation (#3124)
  • πŸ”¨ Add PasteDataScope and refactor preview views structure (#3130)
  • πŸ”¨ Refactor pasteboard-related UI using PasteDataScope to avoid repeatedly passing PasteData between UI functions (#3136)
  • πŸ”¨ Optimize PasteDataScope related code (#3138)
  • πŸ”¨ Abstract ResourcesClient to support multi-platform resource reading (#3150)
  • πŸ”¨ Rename ImageWriter to imageHandler and add read methods (#3152)
  • πŸ”¨ Standardize image resource file naming convention (#3154)
  • πŸ”¨ Make the device sync service fully reactive (#3166)
  • πŸ”¨ Extract independent connection maintenance logic for connected and pending devices (#3168)
  • πŸ”¨ Resolve multiplatform support issues for network components (#3177)
  • πŸ”¨ Rewrite SyncPollingManager to use atomic instead of @Volatile for multiplatform support (#3179)
  • πŸ”¨ Implement screen navigation and switching in base class for multi-platform reuse (#3185)
  • πŸ”¨ Rewrite ColorUtils based on ph-css source code (#3191)
  • πŸ”¨ Make border parameter optional in HighlightedCard component (#3187)
  • πŸ”¨ Update theme definitions to use non-deprecated JewelTheme API (#3215)

Performance ⚑

  • ⚑ Configure SQLite for better concurrency and performance (#3102)
  • ⚑ Optimize search state management and add throttling for pagination (#3211)

Dependencies ⬆️

  • ⬆️ Compose 1.8.3 β†’ 1.9.0 (#3118)
  • ⬆️ Compose-plugin 1.8.2 β†’ 1.9.0-rc01 (#3161)
  • ⬆️ Compose-hot-reload 1.0.0-beta04 β†’ 1.0.0-beta06 (#3119 #3162)
  • ⬆️ Kotlin 2.2.0 β†’ 2.2.10 (#3122)
  • ⬆️ Ktor 3.2.2 β†’ 3.2.3 (#3079)
  • ⬆️ Okio 3.15.0 β†’ 3.16.0 (#3083)
  • ⬆️ Ksoup 0.2.4 β†’ 0.2.5 (#3077)
  • ⬆️ Coil 3.2.0 β†’ 3.3.0 (#3057)
  • ⬆️ Jewel 0.28.0-252.15920 β†’ 0.30.0-252.26252 (#3056 #3195)
  • ⬆️ Lifecycle 2.9.1 β†’ 2.9.3 (#3121 #3159)
  • ⬆️ Koin 4.1.0 β†’ 4.1.1 (#3194)
  • ⬆️ kotlin-logging 7.0.7 β†’ 7.0.13 (#3080 #3099 #3145)
  • ⬆️ filekit-dialogs 0.10.0-beta04 β†’ 0.11.0 (#3078 #3205)
  • ⬆️ ktlint-gradle 13.0.0 β†’ 13.1.0 (#3144)
  • ⬆️ snakeyaml 2.4 β†’ 2.5 (#3158)
  • ⬆️ jmdns 3.6.1 β†’ 3.6.2 (#3160)

Documentation πŸ“

  • πŸ“ Update product images in README (#3055)
  • πŸ“ Update main image in README (#3065)
  • πŸ“ Add missing alt text to Chinese ad images (#3060)
  • πŸ“ Update project documentation (#3116)

Build & Tooling πŸ‘·

  • πŸ‘· Switch Claude review to comment-triggered workflow (#3062)
  • πŸ‘· Reject dependencies with β€œdev” versions in Gradle resolution strategy (#3202)

Tests βœ…

  • βœ… Enhance SecureMessageProcessor unit tests (#3106)
  • βœ… Add comprehensive unit tests for DefaultPasteSync ProcessManager and PasteSingleProcessImpl (#3108)
  • βœ… Enhance GeneralSyncManager unit tests with scope updates (#3110)

Full Changelog: 1.2.1.1551...1.2.2.1640

1.2.1.1551

26 Jul 02:53
79d3617

Choose a tag to compare

Highlights 🌟

  • 🌐 New Language Support
    Germanβ€―(de), Frenchβ€―(fr), Koreanβ€―(ko), andβ€―Traditionalβ€―Chineseβ€―(zh‑Hant) are now fully localised, with automatic English fallback for missing keys.

  • πŸ” Sidebar Search Window 2.0
    brand‑new edge window with its own search box, clipboard list, settings button, context menu, and favourite toggle for lightning‑fast access.

  • πŸš€ One‑Click Online Upgrade
    trigger the updater directly from the app UI to stay current without manual downloads.

  • πŸ–ΌοΈ Smarter Content Intelligence
    OpenΒ Graph titleβ€―/β€―image extraction, rendered‑image background‑colour analysis, and ANSI text fallback for legacy apps.

  • ✨ Drag &Β Drop Everywhere
    drag clips into/out of the main window, plus double‑click‑to‑paste in the side window.

  • πŸ’„ Customise Your Workspace
    choose a custom font, keep the main window always on top, pin windows, and enjoy refined icons & dialogs.

BugΒ FixesΒ πŸ›

  • Fixed uncaught exceptions during update checksΒ (#2863)
  • Prevented clipboard‑rendering info from syncing across devicesΒ (#2896)
  • Resolved Linux tray menu and mixed‑window display issuesΒ (#2916Β #2920)
  • Corrected search footer text contrast and hover statesΒ (#2922Β #3015)
  • Fixed JSON serialisation, index mismatches, RTF icon assignment, and tutorial‑button visibilityΒ (#2936Β #2973Β #2968Β #2984)
  • Patched HTML background‑colour extraction & alpha‑loss bugs, plus added extra testsΒ (#2988Β #2990)
  • Fixed window not showing after minimisation on some platformsΒ (#3008)
  • Resolve mutex lock conflicts in concurrent operations (#3035)

New Features ✨

  • ✨ Native system file dialogs for open/save operationsΒ (#2954)
  • ✨ Right‑click context menu, creation‑time stamp, character count, and hints for pasteboardsΒ (#2938Β #2946Β #2986Β #2960)
  • ✨ Hot‑reload support via compose‑hot‑reloadΒ (#2994)
  • ✨ Check‑for‑updates menu item added to the main windowΒ (#3023)
  • ✨ Support for dragging clipboard data across apps in side windowΒ (#2956)
  • ✨ Add configurable paste behavior with primary/mixed type (#3047)

UIΒ ImprovementsΒ πŸ’„

  • πŸ’„ Movable decorative bar and improved notification/dialog layoutΒ (#2911Β #2942Β #2943)
  • πŸ’„ Settings button in edge window and polished basic‑type iconsΒ (#2940Β #2944)
  • πŸ’„ Added quit option, favourite star, pin button, and better default widthsΒ (#2951Β #2996Β #2998Β #3000)
  • πŸ’„ Adjusted dialog width, font‑settings icon, and check‑for‑updates visibilityΒ (#2943Β #2963Β #3023)
  • πŸ’„ Enhance side panel UI with smart image display and improved sync handling (#3037)
  • πŸ’„ Improve Windows icon extraction implementation (#3039)

MultiplatformΒ Β·Β RefactorΒ Β·Β CodeΒ StyleΒ πŸ”¨

  • πŸ”¨ Replaced Jsoup β†’Β Ksoup for full multiplatform parsingΒ (#2887)
  • πŸ”¨ Unified search window instance & refactored window‑position logicΒ (#2918Β #2929)
  • πŸ”¨ Moved JVM‑only code and PNG analyser to DesktopMain, removed unused SVGs and search methodsΒ (#2965Β #3021Β #2971Β #2910)
  • πŸ”¨ Created DesktopClient, revamped AppConfig, RenderingService, and general code structureΒ (#2890Β #2866Β #2894Β #2892)

Performance ⚑

  • ⚑ Faster page‑title / image extraction and smoother decoration‑bar dragΒ (#2958Β #3009)

Dependencies ⬆️

  • ⬆️ Composeβ€―Β 1.8.2Β β†’Β 1.8.3Β (#2876)
  • ⬆️ Compose‑pluginβ€―Β 1.8.1Β β†’Β 1.8.2Β (#2933)
  • ⬆️ Kotlinβ€―Β 2.1.21Β β†’Β 2.2.0Β (#2899)
  • ⬆️ Ktorβ€―Β 3.1.3Β β†’Β 3.2.2Β (#2857Β #2932Β #3026)
  • ⬆️ Okioβ€―Β 3.12.0Β β†’Β 3.15.0Β (#2858Β #2897Β #2931)
  • ⬆️ Lifecycleβ€―Β 2.9.0Β β†’Β 2.9.1Β (#2878)
  • ⬆️ Koinβ€―Β 4.0.4Β β†’Β 4.1.0Β (#2852)
  • ⬆️ ktlint‑gradleβ€―Β 12.3.0Β β†’Β 13.0.0Β (#2980)
  • ⬆️ mockkβ€―Β 1.14.2Β β†’Β 1.14.5Β (#2879Β #2982Β #3027)
  • ⬆️ webp‑imageioβ€―Β 0.10.0Β β†’Β 0.10.2Β (#2901Β #2982)
  • ⬆️ kotlinx‑serialization‑jsonβ€―Β 1.8.1Β β†’Β 1.9.0Β (#2900)
  • ⬆️ kotlinx‑datetimeβ€―Β 0.6.2Β β†’Β 0.7.1‑0.6.x‑compatΒ (#2979)
  • ⬆️ Plus routine bumps to cryptography, turbine, coroutines‑core, jSystemThemeDetector, and compose‑hot‑reload (#2930Β #2855Β #2981Β #2934Β #3028).

DocumentationΒ πŸ“

  • πŸ“ Added CLAUDE.md and refreshed READMEΒ (#2908Β #2854)

BuildΒ &Β ToolingΒ πŸ‘·

  • πŸ‘· Introduced ClaudeΒ Code Review workflow, approval bindings, and auto‑close logicΒ (#2909Β #2924Β #2927Β #2953)
  • πŸ‘· Split OSS upload steps to prevent CI time‑outs and updated OSS pluginΒ (#3031Β #3033)
  • πŸ‘· Added hot‑reload build supportΒ (#2994)

Contributors ✨

  • @amir1376 implemented the new font‑settings featureΒ (#2961) β€” welcome aboard!

FullΒ Changelog: 1.2.0.1444...1.2.1.1551

1.2.0.1444

10 Jun 13:48
e3a7275

Choose a tag to compare

Highlights 🌟

  • 🌐 Persian Language Support Added
    We’ve added support for Persian language (fa) to enhance international accessibility.

  • πŸ” Enhanced Search Matching with ICU4J Tokenizer
    Search experience has been significantly improved, especially for multi-language content and punctuation-based queries.

  • 🧠 Auto-generate Text from HTML/RTF Clipboard
    When copying rich content, plain text versions are now auto-generated to improve compatibility and fallback rendering.

  • πŸ”„ HTML Charset Enforcement
    Introduced ensureHtmlCharsetUtf8 to fix issues with incorrect HTML encoding on some systems, ensuring consistent display.

  • πŸ’‘ New Guide Auto Switch
    The usage guide now updates automatically when switching languages.

  • 🀝 Recommendation Sharing Feature
    Easily share CrossPaste with your friends through a new built-in recommendation system β€” complete with preview and social support.

  • πŸ§ͺ New Unit Tests
    Added tests to ensure correct behavior of reactive SyncRuntimeInfoDao flows.

  • 🐧 Ubuntu .deb Package Support
    Official .deb installation support for Ubuntu 22.04 LTS (Jammy) and later has been added.

Bug Fixes πŸ›

  • πŸ› Prevent crash by specifying parentCoroutineContext during port conflict (#2711)
  • πŸ› Fix IP address not syncing to other devices after DHCP reassignment (#2715)
  • πŸ› Fix AbstractMethodError in ExpandView (#2727)
  • πŸ› Correct background and icon color contrast (#2742)
  • πŸ› Fix ExpandView compilation issue on Android Compose (#2738)
  • πŸ› Revert TextOverflow to Ellipsis from Clip for better layout (#2812)
  • πŸ› Fix UI regression issues after refactor (#2824)
  • πŸ› Fix rememberCoroutineScope exits due to partial UI switching (#2839)
  • πŸ› Fix device sync control settings being unintentionally overridden (#2835)
  • πŸ› Fix SQLITE_BUSY caused by bulk deletion (#2840)
  • πŸ› Fix incorrect icon color in search window (#2793)

New Features ✨

  • ✨ Add auto-scroll support in ExpandView component (#2795)
  • ✨ Automatically update guide when switching languages (#2760)
  • ✨ Add recommendation sharing feature (#2770)
  • ✨ Auto-generate missing text from HTML/RTF clipboard (#2828)
  • ✨ Add ensureHtmlCharsetUtf8 method (#2831)

UI Improvements πŸ’„

  • πŸ’„ Create HighlightedCard display effect (#2703)
  • πŸ’„ Add vertical alignment to DialogButtonsView button row (#2713)
  • πŸ’„ Add leading/trailing icons to search input (#2723)
  • πŸ’„ Change toast text alignment to Justify (#2744)
  • πŸ’„ Use Divider (1.dp) in search window (#2777)
  • πŸ’„ Switch default theme to blue Sea (#2779)
  • πŸ’„ Enable scrolling for long text (#2791)
  • πŸ’„ Improve DialogButtonsView spacing (#2801)
  • πŸ’„ Implement spacing and sizing system (#2803)
  • πŸ’„ Remove CursorWait usage for better UX (#2842)
  • πŸ’„ Improve ToastView message readability (#2844)
  • πŸ’„ Polish UI visuals and enhance consistency (#2787)

Multiplatform & Refactor & Code Style πŸ”¨

  • πŸ”¨ Improve ExpandView to support platform-specific rendering (#2725)
  • πŸ”¨ Use DI to provide Platform instance for better testability (#2740)
  • πŸ”¨ Migrate deprecated APIs for JDK 21 compatibility (#2752)
  • πŸ”¨ Move core initialization to InitPasteDataService (#2754)
  • πŸ”¨ Obtain DesktopAppSize through DI framework (#2756)
  • πŸ”¨ Rename GlobalCopywriter with platform prefix (#2762)
  • πŸ”¨ Remove MobileExpandView since desktop is fully handled (#2797)
  • πŸ”¨ Limit windowDecorationHeight to desktop (#2799)
  • πŸ”¨ Extract all textStyles to AppUIFont (#2805)
  • πŸ”¨ Replace toByteArray with encodeToByteArray for UTF-8 (#2808)
  • πŸ”¨ Remove redundant encodeToString import (#2810)
  • πŸ”¨ Extract UI constants to AppUISize, AppUIFont, AppUIColors (#2822)

Dependencies ⬆️

  • ⬆️ Bump org.jsoup:jsoup from 1.19.1 β†’ 1.20.1 (#2709)
  • ⬆️ Bump io.mockk:mockk from 1.14.0 β†’ 1.14.2 (#2708)
  • ⬆️ Bump ktor from 3.1.2 β†’ 3.1.3 (#2716)
  • ⬆️ Bump compose from 1.8.0 β†’ 1.8.1 β†’ 1.8.2 (#2718, #2772)
  • ⬆️ Bump compose-plugin from 1.7.3 β†’ 1.8.0 β†’ 1.8.1 (#2719, #2771)
  • ⬆️ Bump lifecycle from 2.8.4 β†’ 2.9.0-beta01 β†’ 2.9.0 (#2717, #2721)
  • ⬆️ Bump coil from 3.1.0 β†’ 3.2.0 (#2732)
  • ⬆️ Bump kotlin from 2.1.20 β†’ 2.1.21 (#2733)
  • ⬆️ Bump sqldelight from 2.0.2 β†’ 2.1.0, then reverted (#2750, #2764)
  • ⬆️ Bump org.jlleitschuh.gradle.ktlint from 12.2.0 β†’ 12.3.0 (#2773)
  • ⬆️ Bump com.valentinilk.shimmer:compose-shimmer from 1.3.2 β†’ 1.3.3 (#2781)
  • ⬆️ Bump okio from 3.11.0 β†’ 3.12.0 (#2817)
  • ⬆️ Bump webp-imageio from 0.9.0 β†’ 0.10.0 (#2819)

Documentation πŸ“

  • πŸ“ Update changelog (#2699)
  • πŸ“ Add DeepWiki official badge (#2785)
  • πŸ“ Add sponsors and GitHub star buttons to README (#2768)

Build & Tooling πŸ‘·

  • πŸ‘· Upgrade JBR to 21.0.7b968.13 (#2745)
  • πŸ‘· Upgrade Conveyor to 18.1 and JDK to 21 (#2816)

New Contributors ✨

Full Changelog: 1.1.2.1375...1.2.0.1444

1.1.2.1375

01 May 01:01
76f6694

Choose a tag to compare

Highlights 🌟

  • πŸ”„ Migrated from Realm to SQLite (SQLDelight) β€” Breaking Change:
    We've officially transitioned from Realm to SQLDelight for data persistence. Since Realm is no longer actively maintained, this change was essential for long-term project sustainability, better multiplatform support, and open tooling integration.
    ⚠️ Important: Due to differences in storage structure, this is a non-backward-compatible migration. Pasteboard data from previous versions will not be visible in the new version. However, your old data has not been deleted β€” it's still safely stored in the previous Realm database files.

  • πŸ“± Android Version Under Review:
    The Android version of CrossPaste is currently under review on Google Play. A corresponding changelog will be released when it's officially available.

  • πŸ“€πŸ“₯ Import & Export Support for Pasteboard:
    You can now import and export your pasteboard data, making backups, transfers, and marketing scenarios much more flexible and powerful.

  • πŸ” Fully Shared commonMain Logic with Mobile Platforms:
    Core logic is now truly multiplatform. We've refactored platform-specific code to maximize reuse across desktop and mobile environments, simplifying future feature rollouts and bug fixes.

  • 🎨 Refreshed Logo and Branding:
    The app now features a modernized logo and consistent branding across platforms, including SVG-based rendering to ensure crisp display at any resolution.

  • 🧩 Multiple Fixes to Data Migration Logic:
    We've resolved several issues related to migration paths, including path resolution, cleanup logic, and data consistency across updates.

Bug Fixes πŸ›

  • πŸ› Fix iOS build failure due to missing encodeToString import (#2413)
  • πŸ› Remove remaining realm information from the project (#2432)
  • πŸ› Fix mobile build failure due to missing encodeToString import (#2439)
  • πŸ› Fix the issue of failing to clean up pasteboard files (#2443)
  • πŸ› Single device sync failure triggers unnecessary re-sync of all connected devices (#2448)
  • πŸ› Fix ErrorCode code style warnings (#2450)
  • πŸ› Fix missing verification code on first device connection (#2462)
  • πŸ› Enhance pasteboard search functionality (#2464)
  • πŸ› Fix internationalization text translation (#2466)
  • πŸ› Fix toast animation issue on Android platform (#2497)
  • πŸ› Fix the issue where the pasteboard favorites interface doesn't respond in a timely manner (#2483)
  • πŸ› Storage settings interface cannot view saved pasteboard storage details (#2490)
  • πŸ› Fix the issue where selecting paste type in the export interface doesn't respond (#2540)
  • πŸ› Fix the bug caused by concurrent access to state variables (#2535)
  • πŸ› Fix the issue of incorrect colors in multiple view contents (#2536)
  • πŸ› Fix the issue where MutableMap doesn't support computeIfAbsent on iOS (#2538)
  • πŸ› Fix X11 connection leaks (#2594)
  • πŸ› Fix inconsistent icon sizes in ToastView (#2634)
  • πŸ› Fix image file clipboard transfer to web applications (#2638)
  • πŸ› Fix inconsistent font in color palette compared to other views (#2589)
  • πŸ› Fix HTML and RTF pasteboard view rendering issues (#2592)
  • πŸ› Fix all compilation warnings (#2658)
  • πŸ› Fix missing dylib files in build output (#2679)
  • πŸ› Fix incorrect dylib verification path (#2681)
  • πŸ› Fix the storage path cannot be modified (#2682)
  • πŸ› Fix Windows application restart service (#2683)
  • πŸ› Fix logical errors in data migration checks (#2685)
  • πŸ› Fix process termination waiting issue in Windows startup script (#2688)
  • πŸ› Close database driver before data migration (#2690)
  • πŸ› Fix the issue of incomplete Windows right-click menu display (#2691)
  • πŸ› Fix file deletion issue in storage directory copying caused by identical hash values (#2693)
  • πŸ› Fix the issue where the selected underline in TabsView does not match the text length (#2695)
  • πŸ› Fix issue where Window right-click menu height doesn't account for padding (#2697)

New Features ✨

  • ✨ Support pasteboard import and export (#2453)
  • ✨ Add specific callbacks for key actions to support flow control (#2475)
  • ✨ Notification bar supports displaying multiple messages (#2479)
  • ✨ Toast view now supports displaying body content (#2491)
  • ✨ Add method to PasteText for reading first 256 characters for preview (#2504)
  • ✨ Support searching based on source and filename (#2527)
  • ✨ Periodically clean up executed task information in the database (#2532)
  • ✨ Automatically close token and hide interface after successful connection (#2631)
  • ✨ First launch, automatically add tutorial pasteboard examples (#2641)
  • ✨ Add marketing definition support to search interface (#2655)
  • ✨ Create RatingPromptManager for callbacks on important operations (#2669)
  • ✨ Add suspendRetry function for handling suspending retry operations (#2673)

UI Improvements πŸ’„

  • πŸ’„ Create DialogView and TokenView to make the overall interface composition clearer (#2481)
  • πŸ’„ Optimized Dialog UI effects (#2555)
  • πŸ’„ Improve font styles for empty screen prompts and paste type selection area (#2630)
  • πŸ’„ Enhanced date picker UI (#2563)
  • πŸ’„ Add text alignment and line height to ToastView title (#2602)
  • πŸ’„ use new version of logo (#2608)
  • πŸ’„ Remove icons, render all project logos using SVG (#2610)
  • πŸ’„ Improve pasteboard display effects (#2587)
  • πŸ’„ Center align button text in dialog buttons (#2649)
  • πŸ’„ Text and icons in the device bar should adapt to background color changes (#2557)

Multiplatform & Refactor & Code Style πŸ”¨

  • πŸ”¨ Change AppLockState to interface to allow extension by other platforms (#2411)
  • πŸ”¨ Migrate from Realm to SQLDelight for data persistence (#2425)
  • πŸ”¨ Move writeFile function to interface for multiplatform support (#2460)
  • πŸ”¨ Support null duration in sendNotification API (#2469)
  • πŸ”¨ Replace ScreenType enum with sealed interface pattern (#2499)
  • πŸ”¨ Move DesktopToastManager implementation to commonMain (#2488)
  • πŸ”¨ Refactor import/export implementation to facilitate mobile reuse (#2547)
  • πŸ”¨ Refactor pasteboard type icons (#2552)
  • πŸ”¨ Convert verbose if-else returns to expression form (#2668)
  • πŸ”¨ Change SyncManager to explicit lifecycle control (#2660)
  • πŸ”¨ Remove unused resource files (#2662)
  • πŸ”¨ Move MainSettingsContentView to desktop implementation (#2622)
  • πŸ”¨ Abstract PasteDialog to allow different implementations for desktop and mobile (#2566)
  • πŸ”¨ Enhance device sync control with improved conditional checks (#2514)
  • πŸ”¨ Extract nowInstant() method to improve testability (#2452)
  • πŸ”¨ Replace try catch blocks with runCatching style (#2525)
  • πŸ”¨ Enhance device detail page and tab styling (#2636)
  • πŸ”¨ Align Koin and Koin-compose versions for consistent dependency management (#2582)
  • πŸ”¨ Optimize Kotlin code using scope functions and null-safety operators (#2628)
  • πŸ”¨ Add name property to ScreenType (#2559)

Dependencies ⬆️

  • ⬆️ Bump compose from 1.7.6 β†’ 1.7.7 β†’ 1.7.8 β†’ 1.8.0
  • ⬆️ Bump com.valentinilk.shimmer:compose-shimmer from 1.3.1 to 1.3.2
  • ⬆️ Bump coil from 3.0.4 to 3.1.0
  • ⬆️ Bump io.github.oshai:kotlin-logging from 7.0.3 β†’ 7.0.4 β†’ 7.0.5 β†’ 7.0.6 β†’ 7.0.7
  • ⬆️ Bump ktor from 3.0.3 β†’ 3.1.0 β†’ 3.1.1 β†’ 3.1.2
  • ⬆️ Bump org.yaml:snakeyaml from 2.3 to 2.4
  • ⬆️ Bump org.jetbrains.kotlinx:kotlinx-datetime from 0.6.1 to 0.6.2
  • ⬆️ Bump kotlin from 2.0.21 β†’ 2.1.10 β†’ 2.1.20
  • ⬆️ Bump org.jlleitschuh.gradle.ktlint from 12.1.2 to 12.2.0
  • ⬆️ Bump ch.qos.logback:logback-classic from 1.5.16 β†’ 1.5.17 β†’ 1.5.18
  • ⬆️ Bump io.mockk:mockk from 1.13.16 β†’ 1.13.17 β†’ 1.14.0
  • ⬆️ Bump org.jsoup:jsoup from 1.18.3 to 1.19.1
  • ⬆️ Bump jna from 5.16.0 to 5.17.0
  • ⬆️ Bump org.jmdns:jmdns from 3.6.0 to 3.6.1
  • ⬆️ Bump com.google.guava:guava from 33.4.0 β†’ 33.4.5 β†’ 33.4.6 β†’ 33.4.7 β†’ 33.4.8
  • ⬆️ Bump io.github.z4kn4fein:semver from 2.0.0 to 3.0.0
  • ⬆️ Bump androidx.compose.material3:material3 from 1.3.1 to 1.3.2
  • ⬆️ Bump com.squareup.okio:okio from 3.10.2 to 3.11.0
  • ⬆️ Bump org.jetbrains.kotlinx:kotlinx-serialization-json from 1.8.0 to 1.8.1
  • ⬆️ Bump kotlinx-coroutines from 1.10.1 to 1.10.2
  • ⬆️ Bump koin from 4.0.2 β†’ 4.0.3 β†’ 4.0.4
  • ⬆️ Bump io.insert-koin:koin-compose from 4.0.2 to 4.0.4

Documentation πŸ“

  • πŸ“ Add DeepWiki link to README (#2671)
  • πŸ”– Update version to 1.1.2 (#2675)