Releases: klyx-dev/klyx
Releases · klyx-dev/klyx
v3.0.0
What's New
BREAKING CHANGES
- Visual Node Graph Extensions: The legacy WASM-based extension system and Rust build logic have been completely removed. We are introducing a fully visual, node-based execution engine. Previous extension formats are no longer supported. all extensions must now be built using the visual Node Graph editor.
- Terminal Engine Swap: I have entirely removed the Termux library and the Rust terminal implementation. The backend is now powered by C, and the UI has been replaced with a native Compose Terminal.
New Features
- Native Compose Terminal: The new terminal is built from the ground up using Compose Multiplatform for significantly better performance and native integration.
- Expanded Settings: Added comprehensive new settings for both the Terminal and the Editor.
- Terminal Audio: The terminal now supports bell sounds.
Fixes & Improvements
- UI: Wrapped the
StatusBarin a Popup for better UI layering, fixed dialog dismissal bugs in Editor Preferences, and improved the splash screen. - File System & RootsFS: Handled exceptions in UTF-8 validation methods (closes #125), updated Ubuntu RootFS URLs (improving ARMv7 handling), and fixed terminal SAF directory tracking.
Others
- Build System & Tooling: Bumped Kotlin to
2.3.20, AGP to9.1.0, Gradle to9.4.1, and Compose Multiplatform to1.10.1. - CI Optimization: Refactored GitHub Actions to simplify the build environment and upload APKs separated by ABI type.
- Dependencies: Updated core libraries including Skiko, Kotest, Arrow, KSP, and various ModelContextProtocol (MCP) SDKs.
Full Changelog: v2.0.1...v3.0.0
v2.0.1
What's Changed
- replaced lsp4j with custom lsp implemention
- migrate to kotlin 2.3.0
- added StrictMode
Maintenance
- chore(deps): update dependency io.github.rosemoe:editor-bom to v0.24.2 by @renovate[bot] in #87
- chore(deps): update dependency io.github.itsvks19:anyhowkt to v1.0.1 by @renovate[bot] in #93
- chore(deps): update actions/checkout action to v6 by @renovate[bot] in #80
- chore(deps): update dependency io.github.rosemoe:editor-bom to v0.24.3 by @renovate[bot] in #99
- chore(deps): update dependency io.github.charlietap.chasm:chasm to v1.2.1 by @renovate[bot] in #109
- chore(deps): update multiplatformmarkdownrenderer to v0.39.0 by @renovate[bot] in #108
- chore(deps): update ksp to v2.3.4 by @renovate[bot] in #103
Full Changelog: v2.0.0...v2.0.1
Release v2.0.0
What's Changed
BREAKING CHANGES in Klyx v2.0.0
There are important terminal-related breaking changes in the new v2.0.0 update of Klyx.
Please back up any important terminal files before updating.
A clean install is strongly recommended to avoid issues.
Features
- feat: implement Node.js runtime and core platform abstractions (bfba9e9)
- feat: improve file/process handling on Android (ef8bb52)
- refactor: remove Zip file utility implementations (495829c)
- feat: add
isSpawnedcheck toKxProcess(2b61ddd) - feat: process management with KxProcess and SystemProcess (25bf060)
- docs: mark Undo/Redo as implemented (972097e)
- feat(wasm-ksp): support suspend functions in HostProcessor (737b2b5)
- feat: implement platform detection and archive extraction for extensions (351df07)
- feat: enhance WASI environment configuration (d3be63b)
Fixes
- fix: replace
localDirwithdataDirin Android terminal setup check (402f8d9) - fix: prevent multiple spawns in KxProcess (8fe958b)
- fix: support legacy Android versions in landscape system bar hiding logic (e298fc2)
Documentation
- docs: mark Undo/Redo as implemented (972097e)
Refactoring
- refactor: enhance sandbox path resolution and extension environment (9c0a001)
- refactor: remove Zip file utility implementations (495829c)
- refactor: merge
terminalmodule intocore(97a7a85)
Maintenance
- chore: bump version to 2.0.0 (887598b)
- chore(deps): update dependency org.jetbrains.compose.material3:material3 to v1.10.0-alpha05 (c8ccae5)
- chore(deps): update ksp to v2.3.3 (dc261ba)
- chore(deps): update dependency io.github.rosemoe:editor-bom to v0.24.1 (a47a54c)
- chore: disable UseOrEmpty detekt rule (8c225c7)
- feat: enhance WASI environment configuration (d3be63b)
- chore(deps): update composemultiplatform to v1.10.0-beta02 (9045712)
Full Changelog: v1.9.2...v2.0.0
Release v1.9.2
What's Changed
Features
- Added configurable status bar settings (1335591)
- feat: update language server configuration on settings change (1eb55e6)
- feat: implement LSP inlay hints and document colors support (d8f6a5a)
- feat: enable inlay hints and update process DSL (284a276)
- feat: add draggable status bar with LSP state (895cf35)
- refactor: opt-in to ExperimentalComposeUiApi and address warnings (04cb30a)
Documentation
- feat: implement LSP inlay hints and document colors support (d8f6a5a)
Refactoring
- refactor: move terminal files to core module (0c5442b)
- refactor: opt-in to ExperimentalComposeUiApi and address warnings (04cb30a)
- refactor extension screen (2be20b8)
Maintenance
- ci: handle empty grep results and improve string checks in release workflow (96b3162)
- Added configurable status bar settings (1335591)
- feat: update language server configuration on settings change (1eb55e6)
- chore(deps): update dependency com.squareup.okio:okio to v3.16.4 (934b627)
- chore(deps): update ksp to v2.3.2 (c48c263)
- chore(deps): update androidx.lifecycle to v2.9.6 (9a32411)
- chore(deps): update plugin com.gradle.plugin-publish to v2 (ccdd8c0)
- chore(deps): update actions/download-artifact action to v6 (55c3ad1)
- chore(deps): update actions/upload-artifact action to v5 (64934ec)
- chore: update AGP to 8.13.1 (fcefcd7)
- chore: update sora-editor to 0.24.0 (5157792)
- chore: update compose multiplatform dependency to v1.10.0-beta01 (13708e6)
- ci: improve changelog generation script (2b05586)
- chore(deps): update ktor to v3.3.2 (f8bc241)
Other Changes
Full Changelog: v1.9.1...v1.9.2
Release v1.9.1
What's Changed
Features
- feat: only show run button for supported files
- feat: runner (closes #72)
- feat: hide system bars in landscape mode
- feat: add setting to toggle virtual keys
- feat: improve top bar title display
Bug Fixes
- fix: open drawer after opening a project
- fix: add backward compatibility for closing window
Refactoring
- refactor: implement terminal as a standalone activity
- refactor: use adaptive layout for settings page
- refactor: move drawer state management into WorktreeDrawer
- refactor: use adaptive navigation for worktree
- refactor: improve unsubscription of events
- refactor: remove unnecessary dependencies
- refactor: make font picker text field unclickable
Other Changes
- Revert "refactor: use adaptive layout for settings page"
- minor changes
Full Changelog: v1.9.0...v1.9.1
Release v1.9.0
What's Changed
Features
- feat: allow using custom fonts
- feat: change app font
- feat(app): introduce new welcome page and navigator
- feat: improve virtual keys design
- feat: show dropdown on tab click
- feat: implement undo/redo functionality
- feat: add context menu to editor tabs
- feat: improve file opening and sharing
- feat: apply imePadding to drawer
- feat: handle unsupported file types
- feat: add copy button to crash screen
- feat: add file type icons
- feat: implement iOS process execution
- feat: add Discord community link to help menu
- feat: add feedback option to about page
- feat: add give feedback dialog
- feat: add keyboard action to create terminal session
- feat: add setting to use Compose editor
- feat: add text selection and context menu
- feat: improve composing region handling
- feat: handle composing text
- feat: improve top bar title display
Bug Fixes
- fix: open drawer after opening a project
- fix: add backward compatibility for closing window
- fix: error when no Activity found to handle mail Uri
- fix: Uri files
- fix: make dialog text fields full width
- fix: prevent duplicate commands from being added
- fix: remove cursor moving on composing text
- fix: hide FAB menu when tab is open
- fix: handle selection and text retrieval from IME
- fix: handle composing text correctly
- fix: clear log file on app startup
- fix: change log parameter type to Any?
Performance
- perf(editor): improve editor performance for large files
Refactoring
- refactor: remove unnecessary dependencies
- refactor: make font picker text field unclickable
- refactor: change app category to productivity
- refactor: provide ViewModels using CompositionLocal
- refactor: move top bar actions to a common composable
- refactor: update undo/redo state after action
- refactor: return Job from EventBus subscribe and add mimeType
- refactor: make single activity app
- refactor: use object routes in navigation
- refactor: use object routes in navigation
- refactor: change open project shortcut to Ctrl+O
- refactor: fetch extensions fast
- refactor: move Klyx menu into Help menu
- refactor: update deprecated code
- refactor: migrate
compose.components.uiToolingPreviewtocompose.preview - refactor: improve buffer loading state handling
- refactor: improve command registration
- refactor: move cursor and selection state to Content
- refactor: use checkNotNull instead of requireNotNull
- refactor: rename command builder to buildCommand
- refactor: use AlertDialog in DisclaimerDialog
- refactor: improve scrollbar display
- refactor: clear line length cache on font change
- refactor: default logs file path logic
- refactor: improve text measurement caching
Maintenance
- chore: bump version
- chore(deps): update ksp to v2.3.0
- chore: improve file action dialog
- chore(deps): update dependency org.jetbrains.skiko:skiko to v0.9.30
- chore(deps): update kotlin to v2.2.21
- chore(deps): upgrade gradle to 8.14.3
- chore(deps): update dependency org.jetbrains.compose to v1.10.0-alpha03
- chore(deps): update androidx.lifecycle to v2.9.5
- chore(deps): update dependency org.jetbrains.compose.material3:material3 to v1.9.0
- chore(deps): update dependency org.jetbrains.androidx.navigation:navigation-compose to v2.9.1
- chore(deps): update dependency com.squareup.okio:okio to v3.16.2
- chore(deps): update dependency io.github.irgaly.kfswatch:kfswatch to v1.4.0
- chore(deps): update dependency io.github.charlietap.chasm:chasm to v1.2.0
- build: simplify nightly workflow
- build: refactor nightly builds
- build: fix apk name
- build: add nightly build workflow
- ci: run nightly workflow only on odd days
- ci: update nightly release name
Other Changes
- minor changes
Full Changelog: v1.9.0-alpha01...v1.9.0
nightly
Release v1.9.0-alpha01
What's Changed
Features
- feat(editor): add event manager for editor events
- feat: add log sharing for debug builds
- feat: add new info dialog
- feat: remember CodeEditorState in composition
- feat: add input environment detection
- feat(editor): add 2D scroll
- feat(editor): compose code editor
- feat: add "sp" suffix to font size input
- feat: disable high contrast toggle in light mode
- feat: show version info on about page
- feat: monochrome icon
- feat: new look and appearance
- feat: base compose text editor
- feat: implement fuzzy search for extensions
Bug Fixes
- fix(wasm): wrap Memory in WasmMemory
- fix: handle negative scroll values in scrollbar
Performance
- perf(fps): run FPS tracker on default dispatcher
Refactoring
- refactor: remove
ifNullutility function - refactor: use elevated surface color for drawer
- refactor: Material 3 Expressive and improve UI
- refactor: pass PlatformContext to InputEnvironmentDetector
- refactor: simplify event subscription
- refactor(settings): move composition locals to settings package
- refactor: dismiss menu after item click
- refactor: improve wasm memory handling
- refactor: remove jvm-specific scroll code
- refactor: remove MainMenuBar and move menu logic
- refactor: improve editor performance
- refactor: remove expect/actual for CommandManager
- refactor: migrate settings to StateFlow
- refactor: remove platform-specific theme files
- refactor: improve text buffer and line break handling
- refactor: remove TextBufferTest
- refactor
Maintenance
- chore: bump version to 1.9.0-alpha01
- chore: update Compose Multiplatform to 1.10.0-alpha02
- chore(deps): update dependency org.jetbrains.compose.hot-reload to v1.0.0-rc02
- chore(deps): update ksp to v2.2.20-2.0.4
- chore(deps): update ktor to v3.3.1
- chore(deps): update dependency com.squareup.okio:okio to v3.16.1
- chore(deps): update actions/checkout action to v5
- chore(deps): update actions/download-artifact action to v5
- chore(deps): update actions/setup-java action to v5
- chore(deps): update filekit to v0.12.0
- chore(deps): update ktor
- chore(deps): update filekit to v0.11.0
- chore(deps): update dependency org.jetbrains.compose.hot-reload to v1.0.0-beta08
- chore(deps): update dependency io.github.charlietap.chasm:chasm to v1.1.0
- chore(deps): update dependency androidx.compose.material3:material3 to v1.4.0
- chore(deps): update koin to v4.1.1
- build: improve pre-release version parsing
Full Changelog: v1.8.0...v1.9.0-alpha01
Release v1.8.0
What's Changed
Features
- feat: add terminal tab support
- feat: async extension loading
- feat: open file from external app
- feat: better signature help window
- feat: enable drawer swipe when no tab is open
- feat: implement filetree refresh
- feat(editor): add tab size setting
- feat: add update available status
Bug Fixes
- fix: support file scheme URIs
- fix: signature help
- fix: bugs related to extensions
- fix: update status bar sync icon
Refactoring
- refactor: improve extension loading
- refactor: handle intent in correctly
- refactor: migrate from kotlinx-datetime to kotlin.time
- refactor: merge lsp module into editor module
- refactor(lsp): improve performance
- refactor(lsp): optimize lsp client
Maintenance
- chore: bump version to 1.8.0
- chore(deps): update dependency com.akuleshov7:ktoml-core to v0.7.1
- ci: simplify changelog generation
Full Changelog: v1.7.4...v1.8.0
Release v1.7.4
What's Changed
Features
- feat(extension): add update system for extensions
- feat: add unzip support and log LSP errors
- feat: implement compose based text action window
- feat: added LSP-based code formatting
- feat(lsp): add signature help support
- feat(editor): add virtual keys to code editor
Bug Fixes
- fix(terminal): fixed tar extraction issue
Documentation
- docs: update README
Refactoring
- refactor: improve tar extraction
- refactor: remove
documentLaunchModefromMainActivity
Maintenance
- ci: fix changelog formatting in release workflow
Full Changelog: v1.7.3...v1.7.4