Files
OSGKeyboard/CHANGELOG.md
T
rocky 07067ca6c5 feat: initial release v0.1.0
- Custom Keyboard Extension with push-to-talk UI
- iOS 26 SpeechAnalyzer + DictationTranscriber (iOS 18 SF fallback)
- OpenAI-compatible LLM client (4 built-in providers + custom)
- 3-page onboarding flow + provider config UI
- App Group shared storage for cross-process config
- 8s LLM timeout with raw-transcript fallback
- App Store privacy manifests for both targets
- SwiftLint + XcodeGen + GitHub Actions CI
- Unit tests (4/4 passing)
2026-06-17 23:08:58 +08:00

1.4 KiB

Changelog

All notable changes to OSGKeyboard will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Added

  • Initial open-source release.
  • Custom Keyboard Extension with push-to-talk UI.
  • iOS 26 SpeechAnalyzer + DictationTranscriber on-device ASR.
  • iOS 18 SFSpeechRecognizer fallback path (on-device only).
  • OpenAI-compatible LLM client (BaseURL / API Key / Model / System Prompt user-editable).
  • Built-in presets: OpenAI, DeepSeek, Qwen DashScope, Custom.
  • Three-page onboarding (welcome → enable keyboard → API config).
  • ProviderConfig persisted in App Group group.com.osgkeyboard.ios.
  • 8-second LLM call timeout with graceful fallback to raw transcript.
  • App Store privacy manifest (PrivacyInfo.xcprivacy) for both targets.
  • SwiftLint config, XcodeGen project definition, GitHub Actions CI.
  • Unit tests for ProviderConfig and OpenAICompatibleClient.

Known limitations

  • 2 failing tests stub state pollution was fixed in this release; regression coverage in place.
  • The keyboard does not work in password fields (iOS limitation).
  • Microphone requires "Allow Full Access" to be enabled in iOS Settings.
  • Whisper.cpp / on-device LLM polish is intentionally out of scope for v1 (cloud-only).

[0.1.0] - 2026-06-17

Added

  • First public pre-release.