Skip to content

Releases: CrossPaste/crosspaste-desktop

1.1.1.1232

30 Jan 04:05
158a07e
Compare
Choose a tag to compare

Bug Fixes πŸ›

  • πŸ› Fix switch component with label text (#2310)
  • πŸ› Support automatic type conversion in config copying (#2321)
  • πŸ› Incorrect background color of contrast button (#2325)
  • πŸ› Fix color copy failure issue (#2341)
  • πŸ› The log files can sometimes be very large (#2342)
  • πŸ› Ensure UI updates correctly when Realm object state changes (#2348)
  • πŸ› Catch exceptions thrown by existFile (#2355)

New Features ✨

  • ✨ Add dynamic theme support (#2312)
  • ✨ Make logo adapt to app theme (#2329)
  • ✨ Add dynamic parameter formatting support for i18n API (#2387)
  • ✨ Support direct access to the web URL path with i18n support (#2383)

UI Improvements πŸ’„

  • πŸ’„ Increase touch targets size according to Google Play report (#2306)
  • πŸ’„ Improve UI contrast ratios based on Google Play report (#2308)
  • πŸ’„ Add three contrast levels for theme settings (#2323)
  • πŸ’„ Adaptive status colors based on background (#2334)
  • πŸ’„ Adaptive notification colors based on background (#2339)
  • πŸ’„ Improve Counter component contrast ratio (#2344)
  • πŸ› Standardize preview image sizes using default screen density (#2388)

Multiplatform & Refactor & Code Style πŸ”¨

  • πŸ”¨ Move logo view to expect implementation in commonMain (#2331)
  • πŸ”¨ Add openTopBar parameter to PasteboardScreen (#2346)
  • πŸ”¨ Remove unused commented code (#2357)
  • πŸ”¨ Refactor RealmManagerFactory (#2360)
  • πŸ”¨ Implement dependency injection by modules (#2362)
  • πŸ”¨ Add utility method to get current timestamp (#2368)
  • πŸ”¨ Extract common signature logic in CryptographyUtils (#2370)
  • πŸ”¨ Restructure UI implementation for better multiplatform reusability (#2372)
  • πŸ”¨ Convert interface to actual/expect implementation (#2374)
  • πŸ”¨ Refactor settings UI for mobile customization (#2376)
  • πŸ”¨ Refactor AppLaunch to improve mobile usability (#2385)

Dependencies ⬆️

  • ⬆️ Bump ktor from 3.0.2 to 3.0.3
  • ⬆️ Bump kotlinx-coroutines from 1.9.0 to 1.10.1
  • ⬆️ Bump jna from 5.15.0 to 5.16.0
  • ⬆️ Bump guava from 33.3.1-jre to 33.4.0-jre
  • ⬆️ Bump compose-plugin from 1.7.1 to 1.7.3
  • ⬆️ Bump webp-imageio from 0.8.0 to 0.9.0
  • ⬆️ Bump koin from 4.0.0 to 4.0.1
  • ⬆️ Bump logback-classic from 1.5.12 to 1.5.15
  • ⬆️ Bump koin-compose from 4.0.0 to 4.0.1
  • ⬆️ Bump mockk from 1.13.13 to 1.13.14
  • ⬆️ Bump logback-classic from 1.5.15 to 1.5.16
  • ⬆️ Bump okio from 3.9.1 to 3.10.2
  • ⬆️ Bump kotlinx-serialization-json from 1.7.3 to 1.8.0
  • ⬆️ Bump mockk from 1.13.14 to 1.13.16
  • ⬆️ Bump koin from 4.0.1 to 4.0.2
  • ⬆️ Bump koin-compose from 4.0.1 to 4.0.2

Documentation πŸ“

  • πŸ”– Update version to 1.1.1 (#2400)

1.1.0.1184

20 Dec 12:08
c8803b8
Compare
Choose a tag to compare

Important update: Starting from version 1.1.0, desktop and mobile apps can now share pasteboard. The Android beta version is available for download at https://crosspaste.com/download. Your feedback is welcome!

Bug Fixes

  • πŸ› Resolve custom encryption related bugs
  • πŸ› Resolve incorrect deletion of folder pasteboard
  • πŸ› Fix bugs related to multi-file and multi-image pasteboard handling
  • πŸ› Fix commonMain implementation to support iOS compilation
  • πŸ› Avoid circular reference between fileUtils and CodecsUtils
  • πŸ› Fix code style issues
  • πŸ› Fix PasteTaskExtraInfo serialization issue on iOS
  • πŸ› Use class instead of object for serialization to prevent iOS crashes
  • πŸ› Disable encryption on error response
  • πŸ› Fix FileInfoTree serialization issue on iOS
  • πŸ› Fix storage migration error where multi-language conversion was incorrect
  • πŸ› Display AdaptiveTextButton correctly on Android

New Features

  • ✨ Implement custom encryption protocol to replace signal
  • ✨ Add click-to-copy feature for pasteboard
  • ✨ Add toggle switch for sound effects
  • ✨ Support Beta AppEnv to enable mobile beta version public testing
  • ✨ Abstract application launch states
  • ✨ Implement RealmManagerFactory for custom database storage across platforms
  • ✨ Add placeholder and leadingIcon to DefaultTextField

UI Improvements

  • πŸ’„ Auto-scroll pasteboard list to latest item
  • πŸ’„ Enhance UI contrast in device and settings screen
  • πŸ’„ Enhance UI components visibility and theming
  • πŸ’„ Add padding to Counter component UI

Multiplatform & Refactor & Code Style

  • πŸ”¨ Optimize urlBuilder related interfaces to simplify usage
  • πŸ”¨ Move ExceptionHandler to commonMain for multiplatform support
  • πŸ”¨ Remove accidentally committed debug logs
  • πŸ”¨ Refactor single file and image view
  • πŸ”¨ Migrate FileIcon to Material 3 icon
  • πŸ”¨ Move file hash algorithm to commonMain for multiplatform reuse
  • πŸ”¨ Remove unused Base64 MIME encode/decode functions
  • πŸ”¨ Move SHA256 algorithm to commonMain for multiplatform reuse
  • πŸ”¨ Replace manual path separator with Okio Path API
  • πŸ”¨ Make FileInfoTree creation multiplatform compatible
  • πŸ”¨ Replace javaClass comparison with platform-independent implementation in equals method
  • πŸ”¨ Abstract common logic into CacheManager interface
  • πŸ”¨ Base64 implementation using kotlin.io, better multiplatform equivalent implementation
  • πŸ”¨ Add Server interface for better iOS SwiftUI integration
  • πŸ”¨ Migrate state variables to StateFlow in DeviceManager
  • πŸ”¨ Optimize app sync api compatibility check
  • πŸ”¨ Refactor Data Communication Layer to Avoid Direct Realm Object Serialization
  • πŸ”¨ Make PasteServer extensible for mobile platforms
  • πŸ”¨ Implement multiplatform dateUtils for reusability
  • πŸ”¨ Convert RealmInstant utils to extension functions
  • πŸ”¨ Make launch function suspendable
  • ⚑ Optimize heartbeat performance by caching sync information

Dependencies

  • ⬆️ Bump coil from 3.0.0-rc02 to 3.0.2
  • ⬆️ Bump org.jmdns:jmdns from 3.5.12 to 3.6.0
  • ⬆️ Bump ktor from 2.3.12 to 3.0.1
  • ⬆️ Bump lifecycle from 2.8.3 to 2.8.4
  • ⬆️ Bump coil from 3.0.2 to 3.0.3
  • ⬆️ Bump compose-plugin from 1.7.0 to 1.7.1
  • ⬆️ Bump io.github.oshai:kotlin-logging from 7.0.0 to 7.0.3
  • ⬆️ Bump org.jlleitschuh.gradle.ktlint from 12.1.1 to 12.1.2
  • ⬆️ Bump coil from 3.0.3 to 3.0.4
  • ⬆️ Bump org.jsoup:jsoup from 1.18.1 to 1.18.3
  • ⬆️ Bump ktor from 3.0.1 to 3.0.2
  • ⬆️ Bump compose from 1.7.5 to 1.7.6

Documentation

  • πŸ“ Add tech blog links to README
  • πŸ“ Remove signal documentation
  • πŸ”– Update version to 1.1.0

Full Changelog: 1.0.13.1121...1.1.0.1184

1.0.13.1121

06 Nov 12:34
d32ae10
Compare
Choose a tag to compare

Bug Fixes

  • πŸ› Initialize copywriter and notificationManager in configManager by @guiyanakuang in #2115
  • πŸ› Correct image cropping and centering on Android platform by @guiyanakuang in #2144
  • πŸ› Improve color format parsing and add conversion tests by @guiyanakuang in #2153
  • πŸ› Actively close Realm database when exiting the app to ensure data persistence by @guiyanakuang in #2170
  • πŸ› Fix regression issue with image type pasteboard display by @guiyanakuang in #2176

New Features

UI Improvements

Multiplatform & Refactor & Code Style

  • πŸ”¨ Make AppTokenService multiplatform reusable by @guiyanakuang in #2109
  • πŸ”¨ Move EndpointInfoFactory to commonMain for multiplatform reuse by @guiyanakuang in #2113
  • πŸ”¨ Move common pasteboard consumption logic to TransferableConsumer for multiplatform reuse by @guiyanakuang in #2117
  • πŸ”¨ Extract remote pasteboard listening service to common interface by @guiyanakuang in #2120
  • πŸ”¨ Refactor QR code UI for multiplatform reuse by @guiyanakuang in #2126
  • πŸ”¨ Restructure notification component for multiplatform reuse by @guiyanakuang in #2131
  • πŸ”¨ Optimize SyncManager implementation by @guiyanakuang in #2138
  • πŸ”¨ Extract PasteMenuService interface for multiplatform reuse by @guiyanakuang in #2142
  • πŸ”¨ Migrate pasteboard process plugin to common module for multiplatform support by @guiyanakuang in #2149
  • πŸ”¨ Move shared utils implementation to commonMain by @guiyanakuang in #2157
  • πŸ”¨ Refactor search input into separate component by @guiyanakuang in #2163
  • πŸ”¨ enhance pastetype from object to data class by @guiyanakuang in #2172

Dependencies

  • ⬆️ Bump ch.qos.logback:logback-classic from 1.5.8 to 1.5.12 by @dependabot in #2136
  • ⬆️ Bump dev.hydraulic.conveyor from 1.11 to 1.12 by @dependabot in #2135
  • ⬆️ Bump coil from 3.0.0-rc01 to 3.0.0-rc02 by @dependabot in #2164
  • ⬆️ Bump androidx.compose.material3:material3 from 1.3.0 to 1.3.1 by @dependabot in #2167
  • ⬆️ Bump compose from 1.7.4 to 1.7.5 by @dependabot in #2166

Documentation

New Contributors

Full Changelog: 1.0.12.1084...1.0.13.1121

1.0.12.1084

21 Oct 07:43
fa05241
Compare
Choose a tag to compare

This is an urgent hotfix release that addresses the issue of the system tray icon not displaying on Linux in version 1.0.12.1077

Bug Fixes

UI Improvements

Dependencies

Full Changelog: 1.0.12.1077...1.0.12.1084

1.0.12.1077

21 Oct 02:39
ca6aa73
Compare
Choose a tag to compare

Bug Fixes

New Features

UI Improvements

  • ⚑ Enhance Transparency Checkerboard for improved image background by @guiyanakuang in #2057

Refactor & Code Style

  • πŸ”¨ Fix issues found by code inspection by @guiyanakuang in #2031
  • πŸ”¨ Modify HtmlRenderingService API to support asynchronous HTML rendering by @guiyanakuang in #2037
  • 🎨 Modify plugin interface to add pasteboard source parameter by @guiyanakuang in #2042
  • πŸ”¨ Improve screen routing implementation by @guiyanakuang in #2049
  • πŸ”¨ Move getPasteTitle api to PasteItem interface by @guiyanakuang in #2055
  • πŸ“ Implement ReadWriteConfig to decouple services from specific configurations, facilitating the creation of unit tests by @guiyanakuang in #2074
  • πŸ”₯ Remove theme listener interface as it's unnecessary; Compose UI will automatically recompose based on state by @guiyanakuang in #2076
  • πŸ”¨ Implement DialogService in commonMain for multi-platform reuse by @guiyanakuang in #2078
  • πŸ”¨ Refactor theme implementation by @guiyanakuang in #2080
  • πŸ”¨ Improve UI Reusability and multiplatform Compatibility by @guiyanakuang in #2082
  • πŸ”¨ Optimize code style by @guiyanakuang in #2084

Dependencies

Documentation

Full Changelog: 1.0.11.1046...1.0.12.1077

1.0.11.1046

06 Oct 10:01
7ab6bcc
Compare
Choose a tag to compare

What's Changed

Bug Fixes

  • πŸ› Fix UI issue where the bottom bar was not displayed in the search window by @guiyanakuang in #2014
  • πŸ› Fix issue where shortcut key order affects simulated paste by @guiyanakuang in #2025

New Features

  • ✨ Support cross-application paste by double-clicking pasteboard item in main window by @guiyanakuang in #2021

UI Improvements

Refactor & Code Style

  • πŸ”¨ Refactor commonMain for multiplatform compatibility by @guiyanakuang in #2011
  • πŸ”¨ Abstract AbstractFaviconLoader and AbstractThumbnailLoader to allow maximum reuse across multiple platforms by @guiyanakuang in #2016
  • πŸ”¨ Use direct import instead of referencing through package by @guiyanakuang in #2018
  • πŸ”¨ Rename ChromeService to HtmlRenderingService by @guiyanakuang in #2023

Full Changelog: 1.0.11.1037...1.0.11.1046

1.0.11.1037

04 Oct 13:11
8af49a8
Compare
Choose a tag to compare

What's Changed

Bug Fixes

New Features

Performance Improvements

Refactor & Code Style

  • πŸ”¨ Refactor routing impl for early returns and reduced nesting by @guiyanakuang in #1953
  • πŸ”¨ Refactor pasteboard preview UI using ViewModel by @guiyanakuang in #1963
  • πŸ”¨ Refactor application window implementation by @guiyanakuang in #1972
  • πŸ”¨ Replace desktop click methods with pointerInput for multiplatform support by @guiyanakuang in #1980
  • πŸ”¨ Refactor PlatformContext retrieval for multi-platform compatibility by @guiyanakuang in #1982
  • πŸ”¨ Use official method to load drawable resources for multiplatform reuse by @guiyanakuang in #1984
  • πŸ”¨ Use expect/actual for FileSystem to support multiple platforms by @guiyanakuang in #1986
  • πŸ”¨ Fix UI multiplatform reuse issues by @guiyanakuang in #1988
  • πŸ”¨ Use official method to load fonts for multiplatform reuse by @guiyanakuang in #1990
  • πŸ”¨ Refactor Coil implementation and introduce dependency injection by @guiyanakuang in #1992
  • πŸ”¨ Refactor UI components, move desktop-related component UI abstractions to desktopMain by @guiyanakuang in #1994
  • πŸ”¨ Use dependency injection to obtain LocaleUtils, facilitating multiplatform implementation by @guiyanakuang in #1996
  • πŸ”¨ Abstract PasteShimmer to allow independent impl of shimmer effects on different platforms by @guiyanakuang in #1998
  • πŸ”¨ Provide AppEnvUtils to allow multiple platforms to impl equivalent functionality by @guiyanakuang in #2000
  • πŸ”¨ Replace unnecessary BoxWithConstraints with Box by @guiyanakuang in #2002

Dependencies

  • ⬆️ Bump org.jetbrains.kotlinx:kotlinx-serialization-json from 1.7.2 to 1.7.3 by @dependabot in #1950
  • ⬆️ Bump io.insert-koin:koin-compose from 4.0.0-RC2 to 4.0.0 by @dependabot in #1949
  • ⬆️ Bump io.insert-koin:koin-core from 3.5.6 to 4.0.0 by @dependabot in #1946
  • ⬆️ Bump compose from 1.7.1 to 1.7.2 by @dependabot in #1948
  • ⬆️ Bump org.seleniumhq.selenium:selenium-manager from 4.24.0 to 4.25.0 by @dependabot in #1947
  • ⬆️ Bump com.google.guava:guava from 33.3.0-jre to 33.3.1-jre by @dependabot in #1969

Build System

  • πŸ‘· Remove the task for extracting selenium-manager, as it is no longer used by @guiyanakuang in #1978

Documentation

Testing

Full Changelog: 1.0.10.1001...1.0.11.1037

v1.0.10

21 Sep 07:43
9214dd9
Compare
Choose a tag to compare

What's Changed

Bug Fixes

  • πŸ› [Mac] Skip listening to initial pasteboard change by @guiyanakuang in #1905
  • πŸ› Use chrome-headless-shell for HTML rendering without window creation by @guiyanakuang in #1925
  • πŸ› Fix bug in verifying if proxy is working by @guiyanakuang in #1929
  • πŸ› Fix the issue where the hover effect of the search button on the main UI is affected by TokenView by @guiyanakuang in #1931
  • πŸ› Relax restrictions on private IP addresses by @guiyanakuang in #1927

New Features

  • ✨ Integrate MurmurHash3 source code and add StreamingMurmurHash3 by @guiyanakuang in #1901
  • ✨ Implement native macOS API for thumbnail generation by @guiyanakuang in #1907

UI Improvements

  • πŸ’„ Upgrade UI to Material 3 for reuse on mobile platforms by @guiyanakuang in #1915

Refactor & Code Style

  • πŸ”¨ Merge FileExtUtils into FileUtils by @guiyanakuang in #1889
  • πŸ”¨ Constants in PasteTypePlugin are now uniformly recorded within the default companion object by @guiyanakuang in #1891
  • πŸ”¨ Fix typos throughout the project by @guiyanakuang in #1897
  • πŸ”¨ Refactor ImageWriter into a generic interface for reuse on mobile platforms by @guiyanakuang in #1899
  • πŸ”¨ Refactor toByteArray to be platform-independent in commonMain by @guiyanakuang in #1909
  • πŸ”¨ Allow null ext in createRandomFileName for multi-platform reuse by @guiyanakuang in #1914
  • πŸ”¨ Implement expect/actual pattern for main UI screens by @guiyanakuang in #1921
  • πŸ”¨ Optimize NetUtils and DeviceUtils by @guiyanakuang in #1933
  • πŸ”¨ Move font file to the resource folder in desktopMain by @guiyanakuang in #1936

Dependencies

Build System

  • πŸ‘· Enable expect/actual classes in JVM target with "-Xexpect-actual-classes" flag by @guiyanakuang in #1911

Full Changelog: 1.0.9.974...1.0.10.1001

v1.0.9

13 Sep 13:17
Compare
Choose a tag to compare

What's Changed

Extensive refactoring has been done to make commonMain reusable across multiple platforms, preparing for mobile implementation

Bug Fixes

  • πŸ› [Win] Fix mouse cursor displacement to bottom-right when invoking search window by @guiyanakuang in #1816
  • πŸ› Fix bug where app reads pasteboard on first launch to get CrossPaste source by @guiyanakuang in #1875
  • πŸ› Failure to copy images exceeding backup file threshold by @guiyanakuang in #1879

New Features

  • ✨ Add a switch to control whether to read pasteboard content set before application startup by @guiyanakuang in #1877

UI Improvements

Optimizations

  • ⚑ Prioritize matching pasteboard when searching and pasting by @guiyanakuang in #1815

Refactor & Code Style

Click to expand detailed Refactor & Code Style notes
  • πŸ”¨ Refactor TxtRecordUtils for multi-platform support by @guiyanakuang in #1809
  • πŸ”¨ Refactor Ktor plugin and client code for multi-platform support by @guiyanakuang in #1812
  • πŸ”¨ Extract cross-platform logic into BaseSyncRouting for iOS/Android reuse by @guiyanakuang in #1818
  • πŸ”¨ Move PasteRouting and PullRouting to commonMain for code reuse by @guiyanakuang in #1820
  • πŸ”¨ Move AppPathProvider interface to desktopMain for desktop-specific impl by @guiyanakuang in #1824
  • πŸ”¨ Merge os package into platform package and rename currentPlatform to getPlatform by @guiyanakuang in #1826
  • πŸ”¨ Refactor file persistence to multiplatform impl by @guiyanakuang in #1828
  • πŸ”¨ Refactor DesktopDeviceManager to DeviceManager for multi-platform support by @guiyanakuang in #1832
  • πŸ”¨ Refactor SyncManager and SyncHandler for multi-platform reuse in iOS and Android by @guiyanakuang in #1834
  • πŸ”¨ Refactor DesktopPasteServer for multi-platform support by @guiyanakuang in #1836
  • πŸ”¨ Refactor QR code generation to support multiplatform by @guiyanakuang in #1847
  • πŸ”¨ Refactor task module for multi-platform impl by @guiyanakuang in #1849
  • πŸ”¨ Convert TaskUtils to multiplatform impl by @guiyanakuang in #1851
  • πŸ”¨ Move Realm query impl to commonMain by @guiyanakuang in #1853
  • πŸ”¨ Migrate clientApi impl to commonMain by @guiyanakuang in #1855
  • πŸ”¨ Migrate SyncInfoFactory to commonMain by @guiyanakuang in #1859
  • πŸ”¨ Adopt Ktor's multiplatform concurrent map by @guiyanakuang in #1857
  • πŸ”¨ Abstract AbstractFileExtImageLoader for multi-platform reuse by @guiyanakuang in #1864
  • πŸ”¨ Categorize and sort dependency injection items by @guiyanakuang in #1865
  • πŸ”¨ Rename PlatformUtils to DispatcherUtils for better accuracy by @guiyanakuang in #1867
  • πŸ”¨ Refactor DesktopPasteSyncProcessManager to commonMain for multi-platform reuse by @guiyanakuang in #1869
  • πŸ”¨ Optimize lock usage and replace AtomicLock by @guiyanakuang in #1871
  • πŸ”¨ Refactor Compose dependency injection to use official Koin methods by @guiyanakuang in #1873
  • πŸ”¨ Remove unused implementation of PasteResourceLoader by @guiyanakuang in #1882
  • πŸ”¨ Standardize using 'get' method to obtain utils classes by @guiyanakuang in #1884
  • πŸ”¨ Merge two interfaces of NotificationManager, no need for repetition by @guiyanakuang in #1886

Documentation

Dependencies

  • ⬆️ Bump ch.qos.logback:logback-classic from 1.5.7 to 1.5.8 by @dependabot in #1840
  • ⬆️ Bump dev.hydraulic.conveyor from 1.10 to 1.11 by @dependabot in #1839
  • ⬆️ Bump compose from 1.6.8 to 1.7.0 by @dependabot in #1837

New Contributors

  • @sunxiang0918 Thanks for providing multiple detailed bug reproduction processes

Full Changelog: 1.0.8.925...1.0.9.974

v1.0.8

04 Sep 11:36
88bd1e4
Compare
Choose a tag to compare

What's Changed

Bug Fixes

New Features

UI Improvements

Optimizations

  • ⚑ Replace MD5 with Murmur3 128-bit hash for improved large file performance by @guiyanakuang in #1745

Refactor & Code Style

  • πŸ”¨ Move logic for binding desktop UI in AppWindowManager from commonMain to desktopMain by @guiyanakuang in #1735
  • πŸ”¨ Move cross platform utility methods to commonmain by @guiyanakuang in #1739
  • πŸ”¨ Refactor file operations using okio for cross-platform compatibility and add desktop unit tests by @guiyanakuang in #1743
  • πŸ”¨ Move PasteRealm from desktopMain to commonMain by @guiyanakuang in #1748
  • ✏️ Correct the spelling mistakes in the list of methods. by @sunxiang0918 in #1737

Documentation

  • πŸ“ Remove description of first-time chromeDriver / chrome-headless-shell download from README by @guiyanakuang in #1760
  • πŸ“ Move doc to separate directory to reduce clutter in main source folder by @guiyanakuang in #1775

Dependencies

  • ⬆️ Bump org.jetbrains.kotlinx:kotlinx-datetime from 0.6.0 to 0.6.1 by @dependabot in #1727
  • ⬆️ Bump org.jmdns:jmdns from 3.5.11 to 3.5.12 by @dependabot in #1729
  • ⬆️ Bump org.seleniumhq.selenium:selenium-manager from 4.23.1 to 4.24.0 by @dependabot in #1767
  • ⬆️ Bump org.jetbrains.kotlinx:kotlinx-serialization-json from 1.7.1 to 1.7.2 by @dependabot in #1766
  • ⬆️ Bump org.yaml:snakeyaml from 2.2 to 2.3 by @dependabot in #1768

New Contributors

Full Changelog: 1.0.7.891...1.0.8.925