Releases: linroid/Ketch
Releases · linroid/Ketch
v0.0.1-rc9
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
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
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
Immutable
release. Only release title and notes can be modified.
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
- @linroid made their first contribution in #1
- @dependabot[bot] made their first contribution in #6
Full Changelog: https://github.com/linroid/KDown/commits/v0.0.1-rc4
v0.0.1-rc2
Immutable
release. Only release title and notes can be modified.
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