Skip to content

Releases: linroid/Ketch

v0.0.1-rc9

24 Feb 14:57
543ba18

Choose a tag to compare

What's Changed

  • refactor: simplify state model, rename engine classes, and fix thread-safety by @linroid in #106
  • feat: add dedicated coroutine dispatchers for task, network, and I/O by @linroid in #107
  • chore: remove unnecessary tests by @linroid in #108
  • refactor: flatten config classes and improve naming by @linroid in #109
  • refactor: extract DownloadExecution, introduce TaskHandle and TaskController by @linroid in #110
  • feat: add FTP/FTPS download source by @linroid in #111
  • refactor: redesign KetchError subclasses and persist error type by @linroid in #112
  • feat: AI agent-driven resource discovery by @linroid in #113
  • fix: add missing POM metadata for ftp module by @linroid in #115
  • fix: avoid redundant webpack build in CLI native image on Windows by @linroid in #116
  • fix: resolve Android META-INF conflict and Desktop ProGuard errors by @linroid in #117
  • fix: ensure Maven Central publish waits for all build jobs by @linroid in #118
  • fix: use RUNNER_TEMP instead of /tmp for CLI web assets on Windows by @linroid in #119
  • fix: initialize all org.slf4j classes at build time for GraalVM native image by @linroid in #120

Full Changelog: v0.0.1-rc7...v0.0.1-rc9

v0.0.1-rc7

21 Feb 14:35
83e29ec

Choose a tag to compare

What's Changed

  • feat: add mDNS/DNS-SD LAN server discovery by @linroid in #84
  • Show add-remote-server dialog when no backend is available by @linroid in #87
  • feat: auto-set API token for apps and prompt on 401 Unauthorized by @linroid in #86
  • Expand server status endpoint with detailed system and config info by @linroid in #88
  • refactor: simplify KDownStatus and unify server config by @linroid in #89
  • Allow zero connections to use config default instead of throwing by @linroid in #90
  • feat: handle HTTP 429 rate limiting with automatic connection reduction by @linroid in #91
  • feat: live resegmentation with reactive connection management by @linroid in #92
  • chore(deps): bump org.jetbrains.kotlinx:kotlinx-io-core from 0.8.2 to 0.9.0 by @dependabot[bot] in #94
  • feat: respect RateLimit headers for proactive connection capping by @linroid in #93
  • Add support for Android Uri destinations by @zacharee in #85
  • fix: instance shouldn't be closed on AppShell dispose by @linroid in #96
  • fix: skip binaryen validation for ktoml WasmJs compatibility by @linroid in #98
  • Rename project from KDown to Ketch by @linroid in #97
  • refactor: make KetchLogger a class with tag constructor parameter by @linroid in #99
  • feat: add app icon and branding across all platforms by @linroid in #100
  • fix(android): call startForeground() immediately to prevent ANR by @linroid in #101
  • refactor: simplify wire models with serializable API types by @linroid in #102
  • refactor: enhance logging across library modules by @linroid in #103
  • fix: disable HTTP timeouts in RemoteKetch to prevent SSE disconnects by @linroid in #104
  • fix: add consumer ProGuard rules and resolve release build errors by @linroid in #105

New Contributors

Full Changelog: v0.0.1-rc5...v0.0.1-rc7

v0.0.1-rc5

14 Feb 15:01
5f56d22

Choose a tag to compare

What's Changed

  • feat: add one-line install script for CLI by @linroid in #75
  • docs: move API reference and modules into dedicated doc files by @linroid in #76
  • docs: add Android and iOS to app download section by @linroid in #77
  • feat: bundle web UI into CLI server by @linroid in #74
  • refactor: split ApiModels into individual files and reformat CliConfig by @linroid in #79
  • feat: add log level control to Logger and CLI verbose flags by @linroid in #78
  • chore: reduce CLI native image size with GraalVM flags and UPX by @linroid in #80
  • refactor: unify app IDs to com.linroid.kdown.app by @linroid in #81
  • refactor: redesign BackendManager to InstanceManager by @linroid in #82
  • feat(android): add persistent foreground service notification by @linroid in #83

Full Changelog: v0.0.1-rc4...v0.0.1-rc5

v0.0.1-rc4

14 Feb 06:33
Immutable release. Only release title and notes can be modified.
e7e0eb9

Choose a tag to compare

What's Changed

  • Implement KDown download functionality and comprehensive test suite by @linroid in #1
  • Add GitHub Actions CI workflow for automated testing by @linroid in #2
  • Enable strict compiler warnings and fix compilation issues by @linroid in #3
  • Add public file example selector to KMP example app by @linroid in #4
  • Add Dependabot configuration by @linroid in #5
  • Bump actions/download-artifact from 4 to 7 by @dependabot[bot] in #6
  • Bump actions/setup-java from 4 to 5 by @dependabot[bot] in #7
  • Bump actions/checkout from 4 to 6 by @dependabot[bot] in #8
  • Bump gradle/actions from 4 to 5 by @dependabot[bot] in #10
  • Bump ch.qos.logback:logback-classic from 1.5.27 to 1.5.28 by @dependabot[bot] in #9
  • Bump actions/upload-artifact from 4 to 6 by @dependabot[bot] in #11
  • Bump kotlin from 2.3.0 to 2.3.10 by @dependabot[bot] in #13
  • Bump org.jetbrains.kotlinx:kotlinx-serialization-json from 1.8.0 to 1.10.0 by @dependabot[bot] in #16
  • Bump org.jetbrains.compose.material3:material3 from 1.10.0-alpha05 to 1.11.0-alpha02 by @dependabot[bot] in #14
  • Replace String paths with kotlinx.io.files.Path throughout codebase by @linroid in #12
  • Add custom HTTP headers support to download requests by @linroid in #17
  • Add Claude Code GitHub Workflow by @linroid in #18
  • Move CLAUDE.md to .claude/ and add code style rules by @linroid in #19
  • Add comprehensive logging support by @linroid in #20
  • Revert "Bump org.jetbrains.compose.material3:material3 from 1.10.0-alpha05 to 1.11.0-alpha02" by @linroid in #23
  • Add allowed_bots configuration to Claude code review workflow by @linroid in #24
  • Add pluggable TaskStore for persistent task storage with SQLite support by @linroid in #22
  • Fix pause setting state to Canceled and losing progress by @linroid in #26
  • Redesign example app with task-based download manager UI by @linroid in #25
  • Add pluggable FileNameResolver and refactor DownloadRequest API by @linroid in #27
  • Add observable task list and remove TaskRecord from public API by @linroid in #28
  • Fix race conditions and improve error classification by @linroid in #29
  • Add project roadmap and allow breaking API changes by @linroid in #30
  • Reorganize into domain-based packages by @linroid in #31
  • Replace TimeProvider with kotlin.time.Instant by @linroid in #32
  • Add per-task and global speed limiting by @linroid in #33
  • Add priority-based download queue management by @linroid in #34
  • Fix speed-limited downloads completing with partial data by @linroid in #37
  • Add scheduled downloads with time and condition triggers by @linroid in #35
  • Add pluggable download source abstraction by @linroid in #36
  • Add daemon server with REST API, SSE events, and CLI entry point by @linroid in #38
  • Refactor to api + core + remote module architecture by @linroid in #39
  • Fix wasmJs browser tests and switch core to Node.js by @linroid in #40
  • Add multi-backend support to example app by @linroid in #41
  • Rename examples/ to app/ and cli/ for production app structure by @linroid in #42
  • Update documentation and add KDoc to public APIs by @linroid in #43
  • Add GitHub Actions workflow to deploy web app to GitHub Pages by @linroid in #44
  • Update roadmap and project description by @linroid in #45
  • Improve README feature list and WIP notice by @linroid in #46
  • Improve README: Desktop/Web naming, Web badge, and LICENSE file by @linroid in #47
  • Overhaul Compose UI with sidebar navigation and component architecture by @linroid in #48
  • Migrate to type-safe Ktor Resources for API routing by @linroid in #49
  • Overhaul Compose UI with adaptive navigation and component architecture by @linroid in #50
  • Add start lifecycle to KDownApi backends by @linroid in #51
  • Enhance speed limit UI with collapsible dialog panels by @linroid in #52
  • Enable trailing commas for named parameters and arguments by @linroid in #53
  • Move server module to library and shift server entrypoint to CLI by @linroid in #54
  • Fix IDE lint errors across library and app modules by @linroid in #55
  • Add resolve URL API and file selection support by @linroid in #56
  • fix: prevent reschedule from causing Canceled state by @linroid in #57
  • feat: use platform-specific default directories for downloads and database by @linroid in #58
  • feat: add TOML config file support for CLI server by @linroid in #59
  • docs: reorganize docs into docs/ directory by @linroid in #61
  • fix: iOS build error from NSFileManager.createDirectoryAtPath by @linroid in #62
  • docs: add CLI documentation by @linroid in #60
  • feat: add GraalVM native-image support for CLI by @linroid in #63
  • ci: add release workflow with multi-platform builds by @linroid in #64
  • fix: resolve release workflow failures on Windows ARM64 by @linroid in #65
  • fix: pass only database filename to NativeSqliteDriver on iOS by @linroid in #66
  • Bump actions/upload-pages-artifact from 3 to 4 by @dependabot[bot] in #69
  • Bump actions/checkout from 4 to 6 by @dependabot[bot] in #68
  • feat: add Maven Central publishing for all library modules by @linroid in #67
  • fix: standardize release artifact naming with version and arch by @linroid in #71
  • docs: add Maven Central badge and installation instructions by @linroid in #72
  • Update GitHub Sponsors username in FUNDING.yml by @linroid in #73

New Contributors

Full Changelog: https://github.com/linroid/KDown/commits/v0.0.1-rc4

v0.0.1-rc2

14 Feb 05:35
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

v0.0.1-rc2 Pre-release
Pre-release

What's Changed

  • Implement KDown download functionality and comprehensive test suite by @linroid in #1
  • Add GitHub Actions CI workflow for automated testing by @linroid in #2
  • Enable strict compiler warnings and fix compilation issues by @linroid in #3
  • Add public file example selector to KMP example app by @linroid in #4
  • Add Dependabot configuration by @linroid in #5
  • Bump actions/download-artifact from 4 to 7 by @dependabot[bot] in #6
  • Bump actions/setup-java from 4 to 5 by @dependabot[bot] in #7
  • Bump actions/checkout from 4 to 6 by @dependabot[bot] in #8
  • Bump gradle/actions from 4 to 5 by @dependabot[bot] in #10
  • Bump ch.qos.logback:logback-classic from 1.5.27 to 1.5.28 by @dependabot[bot] in #9
  • Bump actions/upload-artifact from 4 to 6 by @dependabot[bot] in #11
  • Bump kotlin from 2.3.0 to 2.3.10 by @dependabot[bot] in #13
  • Bump org.jetbrains.kotlinx:kotlinx-serialization-json from 1.8.0 to 1.10.0 by @dependabot[bot] in #16
  • Bump org.jetbrains.compose.material3:material3 from 1.10.0-alpha05 to 1.11.0-alpha02 by @dependabot[bot] in #14
  • Replace String paths with kotlinx.io.files.Path throughout codebase by @linroid in #12
  • Add custom HTTP headers support to download requests by @linroid in #17
  • Add Claude Code GitHub Workflow by @linroid in #18
  • Move CLAUDE.md to .claude/ and add code style rules by @linroid in #19
  • Add comprehensive logging support by @linroid in #20
  • Revert "Bump org.jetbrains.compose.material3:material3 from 1.10.0-alpha05 to 1.11.0-alpha02" by @linroid in #23
  • Add allowed_bots configuration to Claude code review workflow by @linroid in #24
  • Add pluggable TaskStore for persistent task storage with SQLite support by @linroid in #22
  • Fix pause setting state to Canceled and losing progress by @linroid in #26
  • Redesign example app with task-based download manager UI by @linroid in #25
  • Add pluggable FileNameResolver and refactor DownloadRequest API by @linroid in #27
  • Add observable task list and remove TaskRecord from public API by @linroid in #28
  • Fix race conditions and improve error classification by @linroid in #29
  • Add project roadmap and allow breaking API changes by @linroid in #30
  • Reorganize into domain-based packages by @linroid in #31
  • Replace TimeProvider with kotlin.time.Instant by @linroid in #32
  • Add per-task and global speed limiting by @linroid in #33
  • Add priority-based download queue management by @linroid in #34
  • Fix speed-limited downloads completing with partial data by @linroid in #37
  • Add scheduled downloads with time and condition triggers by @linroid in #35
  • Add pluggable download source abstraction by @linroid in #36
  • Add daemon server with REST API, SSE events, and CLI entry point by @linroid in #38
  • Refactor to api + core + remote module architecture by @linroid in #39
  • Fix wasmJs browser tests and switch core to Node.js by @linroid in #40
  • Add multi-backend support to example app by @linroid in #41
  • Rename examples/ to app/ and cli/ for production app structure by @linroid in #42
  • Update documentation and add KDoc to public APIs by @linroid in #43
  • Add GitHub Actions workflow to deploy web app to GitHub Pages by @linroid in #44
  • Update roadmap and project description by @linroid in #45
  • Improve README feature list and WIP notice by @linroid in #46
  • Improve README: Desktop/Web naming, Web badge, and LICENSE file by @linroid in #47
  • Overhaul Compose UI with sidebar navigation and component architecture by @linroid in #48
  • Migrate to type-safe Ktor Resources for API routing by @linroid in #49
  • Overhaul Compose UI with adaptive navigation and component architecture by @linroid in #50
  • Add start lifecycle to KDownApi backends by @linroid in #51
  • Enhance speed limit UI with collapsible dialog panels by @linroid in #52
  • Enable trailing commas for named parameters and arguments by @linroid in #53
  • Move server module to library and shift server entrypoint to CLI by @linroid in #54
  • Fix IDE lint errors across library and app modules by @linroid in #55
  • Add resolve URL API and file selection support by @linroid in #56
  • fix: prevent reschedule from causing Canceled state by @linroid in #57
  • feat: use platform-specific default directories for downloads and database by @linroid in #58
  • feat: add TOML config file support for CLI server by @linroid in #59
  • docs: reorganize docs into docs/ directory by @linroid in #61
  • fix: iOS build error from NSFileManager.createDirectoryAtPath by @linroid in #62
  • docs: add CLI documentation by @linroid in #60
  • feat: add GraalVM native-image support for CLI by @linroid in #63
  • ci: add release workflow with multi-platform builds by @linroid in #64
  • fix: resolve release workflow failures on Windows ARM64 by @linroid in #65
  • fix: pass only database filename to NativeSqliteDriver on iOS by @linroid in #66

New Contributors

Full Changelog: https://github.com/linroid/KDown/commits/v0.0.1-rc2