Skip to content

Releases: klyx-dev/klyx

v3.0.0

25 Mar 06:08
c805637

Choose a tag to compare

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 StatusBar in 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 to 9.1.0, Gradle to 9.4.1, and Compose Multiplatform to 1.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

27 Dec 15:40
5df7b7a

Choose a tag to compare

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

30 Nov 11:44
v2.0.0
887598b

Choose a tag to compare

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 isSpawned check to KxProcess (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 localDir with dataDir in 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 terminal module into core (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

20 Nov 15:58
v1.9.2
96b3162

Choose a tag to compare

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

  • bump app version to 1.9.2 (de22a16)
  • Merge pull request #69 from klyx-dev/renovate/ktor (0040c80)

Full Changelog: v1.9.1...v1.9.2

Release v1.9.1

17 Nov 16:17
v1.9.1
a8fffec

Choose a tag to compare

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

04 Nov 06:32
c6cec6d

Choose a tag to compare

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.uiToolingPreview to compose.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

03 Nov 19:48
d76b6fd

Choose a tag to compare

nightly Pre-release
Pre-release

Latest nightly build from main branch.
Commit: d76b6fd

Release v1.9.0-alpha01

14 Oct 11:26
v1.9.0-alpha01
8a615b1

Choose a tag to compare

Pre-release

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 ifNull utility 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

25 Sep 06:48
v1.8.0
a7e5049

Choose a tag to compare

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

14 Sep 12:36
v1.7.4
aa998d2

Choose a tag to compare

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 documentLaunchMode from MainActivity

Maintenance

  • ci: fix changelog formatting in release workflow

Full Changelog: v1.7.3...v1.7.4