Skip to content

v0.1.4

Choose a tag to compare

@github-actions github-actions released this 25 Apr 11:40
· 47 commits to master since this release

What's Changed

Features

  • recording: Add Recorder.pause() / resume() across JVM (JavaSound + native macOS), Android, iOS, macOS native, and Web (9d033d5, #22, #24)
  • recording: Add AudioRecording.concat for stitching multiple takes with format conversion (d82642a)
  • extensions: New kodio-extensions:ktor — stream AudioFlow over WebSockets (8bc0caf, #6)
  • web: Surface AudioError.DeviceSelectionUnsupported for non-default device selection; OpenAIWhisperEngine supports custom endpointUrl / headers for proxy-based transcription (f815503, #3, #16)
  • file-io: Support AIFF/AU interchange in addition to WAV (dff002c)
  • jvm: Configurable JavaSound recording warmup via -Dkodio.jvm.recording.warmupMillis (default 200 ms) (a169c2c, #5)

Bug Fixes

  • android: Coalesce concurrent microphone permission requests (956d8e8)
  • web: Share PCM decoding across JS / WasmJS playback targets (9962280)
  • apple / jvm: AVAudioEngine format negotiation, Float32 playback path, and related iOS -10868 / playback fixes (cdd6867, 1810920, 62ac4e9)
  • macos: AudioQueue leak / disposal safety; native playback session completion on JVM FFI (c4b5a1b, 02d051f)
  • recording: Thread AudioQuality through the recording pipeline on all platforms (c22f06b)
  • sample-app: Conversion progress UX, iOS file picker / transcription fixes, Xcode wrapper (6dd4661, 86d27fd, add9c3c)

Maintenance

  • ci: Expand matrix (linux-jvm, android-unit, web, macos-native, ios-sim) with host-gated native libs (b30d13e, #11, #12, #13, #14, #15)
  • ci: Stabilise gates — SLF4J on Android unit tests, skip unsupported Compose UI test harnesses, skip mic-only native checks on CI, work around Ktor + K/N test link on Apple (d0d866c, 6454e33, f7fab13)
  • docs: Pause/resume, JVM warmup, Android emulator notes, Ktor / web transcription topics, release checklist (a169c2c)
  • chore: Sample-app polish, JVM property forwarding, JS lockfile, dev ignores (7387bce)
  • release: Bump version to 0.1.4 (8d08a47)

Full Changelog: v0.1.2...v0.1.4


Installation

Add to your build.gradle.kts:

implementation("space.kodio:core:0.1.4")

// Optional extensions
implementation("space.kodio.extensions:compose:0.1.4")
implementation("space.kodio.extensions:compose-material3:0.1.4")
implementation("space.kodio.extensions:transcription:0.1.4")
implementation("space.kodio.extensions:ktor:0.1.4")