Releases: softartdev/NoteDelight
Releases · softartdev/NoteDelight
desktop/8.4.7
feat: Add settings navigation from SignIn screen and BackHandler
- A settings icon button has been added to the `SignInScreen` top app bar, allowing navigation to the settings screen.
- The `SignInViewModel` now handles `OnSettingsClick` and `OnSignInClick` actions.
- A `BackHandler` has been added to the `SettingsScreen` to handle back navigation, returning to the splash/main screen if the back stack is empty.
feat: Introduce macOS code signing
- Added macOS code signing to the desktop build process.
- Introduced a new script (`import_macos_dev_id_cert.sh`) to import the Developer ID certificate into a temporary keychain on macOS runners.
- Created `keystore.properties` for desktop and encrypted it for CI.
- Updated the `desktop.yaml` workflow to decrypt secrets and execute the certificate import script for macOS jobs.
- Added `macOS_development.p12` to `.gitignore`.
refactor: Replace Napier with Kermit for logging
- The logging library has been migrated from Napier to Kermit across the entire project.
- Napier dependencies (`io.github.aakira:napier`) have been replaced with Kermit (`co.touchlab:kermit`).
- `Napier.x(...)` calls have been updated to `Logger.x { ... }` using lambda syntax for lazy message evaluation.
- `CrashlyticsAntilog` has been replaced with `kermit-crashlytics`.
- `NapierKoinLogger` has been replaced with `kermit-koin`.
- Custom `PrintAntilog` for tests has been replaced with a Kermit `PrintLogWriter`.
chore: Update dependencies and Gradle version
- Upgraded Gradle Wrapper from `9.2.0` to `9.2.1`.
- Bumped various library versions in `libs.versions.toml`, including KSP, Room, and AndroidX libraries.
- Bumped app version to `8.4.7`.
- Enabled Gradle's type-safe project accessors in `settings.gradle.kts`.
chore: Update GitHub Actions and CI scripts
- Updated `actions/checkout` from `v5` to `v6` in all workflows.
- Added caching for Kotlin/Native to the `kmp.yml` workflow.
- Introduced a script to extract the Kotlin version for more precise cache keys.
- Renamed encrypted `keystore.properties.gpg` to `android.keystore.properties.gpg` for clarity.
- Added a `build_quick.sh` script to speed up local builds by excluding iOS-specific tasks.
- Added `desktop.keystore.properties.gpg` and `macOS_development.p12.gpg` to encryption/decryption scripts.
docs: Improve documentation and clean up README
- Moved detailed screenshots from the main `README.md` to a separate `docs/screenshoots/screenshots.md` file.
- Added a `MANUAL_BUILD_INSTALL.md` guide with detailed instructions for all platforms.
- Updated `CONTRIBUTING.md`, `ARCHITECTURE.md`, `AGENTS.md`, and module READMEs to reflect the new logging library and build process changes.
desktop/8.4.6
feat: Implement in-app language switching - Add a language selection dialog to the settings screen, allowing users to switch between English and Russian. - Introduce `LocaleInteractor` as an `expect` class with platform-specific `actual` implementations for Android, iOS, JVM, and WasmJs to manage locale changes. - Implement `LanguageViewModel` to handle the logic for the language dialog. - Create a `LanguageDialog` composable in the `ui/shared` module. - Add UI tests (`LocaleTestCase`) to verify the language switching functionality. - Update dependencies, including Kotlin, KSP, Accompanist, and Firebase. - Refactor the `SettingsViewModel` to include a centralized error handler.
desktop/7.0.0
feat: Add in-app file explorer - Introduce a hidden file explorer screen, accessible via a secret tap gesture in the settings. - Create a new `core:data:file-explorer` module to handle multiplatform file system interactions using `Okio`. - Define `FileRepo` and `AbstractFileRepo` for navigating directories and viewing file contents. - Implement platform-specific `FileRepo` for Android, iOS, JVM, and a no-op version for WasmJS. - Add `FilesViewModel` to manage file explorer state and user actions. - Integrate `accompanist-permissions` for handling storage permissions on Android. - Refactor the `SignInScreen` to use an `AdaptiveFrame` for better layout on different screen sizes. Dependency Updates: - `actions/checkout` to `v5` - `agp` to `8.13.1` - `sqlDelight` to `2.2.1` - `okio` to `3.16.2` - `accompanist-permissions` to `0.36.0`
desktop/6.0.0
feat: Update dependencies and improve Android UI - Update various GitHub Actions to newer versions (`setup-java`, `setup-gradle`, `upload-artifact`, `action-gh-release`, `upload-pages-artifact`). - Upgrade `compose` to `1.9.3` and `androidx.core.splashscreen` to `1.2.0`. - Increment app versions for Android, iOS, and Desktop releases. - Add new adaptive icons and a splash screen theme for the Android app. - Move UI composables into `main` and `settings` subpackages for better organization. - Create `AdaptiveMainScreen` and `AdaptiveSettingsScreen` for better large-screen layouts. - Introduce `MainDetailPanePlaceholder` and `SettingsDetailPanePlaceholder` for empty detail panes.