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