Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 30 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,38 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [0.14.0] - 2026-04-04

See [docs/releases/v0.14.0.md](docs/releases/v0.14.0.md) for full notes and [docs/releases/v0.14.0/assets.md](docs/releases/v0.14.0/assets.md) for release asset inventory.

### Added

- Render inline diffs in chat work entries.
- Add prompt enhancement menu to chat composer.
- Auto-refresh file tree on filesystem changes.
- Show PR status for threads with linked branches.
- Propagate project runtime env to git and provider actions.
- Always show recommended next action label on git button.
- Use distinct git icons for PR states in sidebar threads.

### Changed

- CLI npm package name is `okcodes`. Install with `npm install -g okcodes`; the `okcode` binary name is unchanged.
- Switch mobile pairing to link-based flow, replacing QR code pairing.
- Prompt to pull behind branches before starting threads.
- Make stitch border more discrete and add toggle to settings.
- Constrain skills page overflow.

### Fixed

- Render diff content directly to fix empty diffs panel.
- Update Cotton Candy theme to pure pink and blue, remove purple tones.

### Removed

- Remove telemetry plumbing from server and marketing.
- Remove QR-based mobile pairing settings.
- Remove favorites sidebar feature.

## [0.13.0] - 2026-04-04

Expand Down Expand Up @@ -376,4 +405,5 @@ First public version tag. See [docs/releases/v0.0.1.md](docs/releases/v0.0.1.md)
[0.0.12]: https://github.com/OpenKnots/okcode/releases/tag/v0.0.12
[0.0.12]: https://github.com/OpenKnots/okcode/releases/tag/v0.0.12
[0.10.0]: https://github.com/OpenKnots/okcode/releases/tag/v0.10.0
[0.14.0]: https://github.com/OpenKnots/okcode/releases/tag/v0.14.0
[0.13.0]: https://github.com/OpenKnots/okcode/releases/tag/v0.13.0
2 changes: 1 addition & 1 deletion apps/desktop/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@okcode/desktop",
"version": "0.13.0",
"version": "0.14.0",
"private": true,
"main": "dist-electron/main.js",
"scripts": {
Expand Down
2 changes: 1 addition & 1 deletion apps/mobile/android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ android {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode 1
versionName "0.13.0"
versionName "0.14.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
aaptOptions {
// Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps.
Expand Down
4 changes: 2 additions & 2 deletions apps/mobile/ios/App/App.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -303,7 +303,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 0.13.0;
MARKETING_VERSION = 0.14.0;
OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" \"-DDEBUG\"";
PRODUCT_BUNDLE_IDENTIFIER = com.openknots.okcode.mobile;
PRODUCT_NAME = "$(TARGET_NAME)";
Expand All @@ -325,7 +325,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 0.13.0;
MARKETING_VERSION = 0.14.0;
PRODUCT_BUNDLE_IDENTIFIER = com.openknots.okcode.mobile;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "";
Expand Down
2 changes: 1 addition & 1 deletion apps/mobile/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@okcode/mobile",
"version": "0.13.0",
"version": "0.14.0",
"private": true,
"type": "module",
"scripts": {
Expand Down
2 changes: 1 addition & 1 deletion apps/server/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "okcodes",
"version": "0.13.0",
"version": "0.14.0",
"license": "MIT",
"repository": {
"type": "git",
Expand Down
2 changes: 1 addition & 1 deletion apps/web/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@okcode/web",
"version": "0.13.0",
"version": "0.14.0",
"private": true,
"type": "module",
"scripts": {
Expand Down
34 changes: 34 additions & 0 deletions docs/releases/v0.14.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# OK Code v0.14.0

**Date:** 2026-04-04
**Tag:** [`v0.14.0`](https://github.com/OpenKnots/okcode/releases/tag/v0.14.0)

## Summary

Inline diffs in chat, prompt enhancement, auto-refreshing file tree, telemetry removal, and link-based mobile pairing replace the QR flow.

## Highlights

- **Render inline diffs in chat work entries.** Code changes now appear directly in conversation turns so you can review diffs without switching panels.
- **Add prompt enhancement menu to chat composer.** A new menu lets you refine and improve prompts before sending them to the agent.
- **Auto-refresh file tree on filesystem changes.** The sidebar file tree updates automatically when files are created, renamed, or deleted.
- **Show PR status for threads with linked branches.** Threads that track a pull request now display the PR state (open, merged, draft) in the sidebar.
- **Remove telemetry plumbing from server and marketing.** All analytics and telemetry collection code has been stripped from the codebase.
- **Switch mobile pairing to link-based flow.** QR-code pairing has been replaced with a simpler clipboard/link-based pairing experience.
- **Prompt to pull behind branches before starting threads.** OK Code warns and offers to pull when the local branch is behind the remote.
- **Propagate project runtime env to git and provider actions.** Project-level environment variables are now forwarded to git operations and provider sessions.

## Breaking changes

- **QR-based mobile pairing removed.** Mobile companion pairing now uses link-based flow exclusively. The QR code settings UI has been removed.
- **Favorites sidebar removed.** The favorites sidebar feature has been removed in favor of other navigation methods.

## Upgrade and install

- **CLI:** `npm install -g okcodes@0.14.0` (after the package is published to npm manually).
- **Desktop:** Download from [GitHub Releases](https://github.com/OpenKnots/okcode/releases/tag/v0.14.0). This release includes signed macOS arm64/x64 DMGs, Linux x64 AppImage, and Windows x64 NSIS installer. Filenames are listed in [assets.md](v0.14.0/assets.md).
- **iOS:** Available via TestFlight (uploaded automatically by the Release iOS workflow).

## Known limitations

OK Code remains early work in progress. Expect rough edges around session recovery, streaming edge cases, and platform-specific desktop behavior. Report issues on GitHub.
50 changes: 50 additions & 0 deletions docs/releases/v0.14.0/assets.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# v0.14.0 — Release assets (manifest)

Binaries are **not** stored in this git repository; they are attached to the [GitHub Release for `v0.14.0`](https://github.com/OpenKnots/okcode/releases/tag/v0.14.0) by the [Release Desktop workflow](../../.github/workflows/release.yml).

The GitHub Release also includes **documentation attachments** (same content as in-repo, stable filenames for download):

| File | Source in repo |
| --------------------------- | ------------------------------------- |
| `okcode-CHANGELOG.md` | [CHANGELOG.md](../../../CHANGELOG.md) |
| `okcode-RELEASE-NOTES.md` | [v0.14.0.md](../v0.14.0.md) |
| `okcode-ASSETS-MANIFEST.md` | This file |

After the workflow completes, expect **installer and updater** artifacts similar to the following (exact names may include the product name `OK Code` and version `0.14.0`).

## Desktop installers and payloads

| Platform | Kind | Typical pattern |
| ------------------- | -------------- | ----------------- |
| macOS Apple Silicon | DMG (signed) | `*.dmg` (arm64) |
| macOS Intel | DMG (signed) | `*.dmg` (x64) |
| macOS | ZIP (updater) | `*.zip` |
| Linux x64 | AppImage | `*.AppImage` |
| Windows x64 | NSIS installer | `*.exe` |

### macOS code signing and notarization

All macOS DMG and ZIP payloads are **code-signed** with an Apple Developer ID certificate and **notarized** via the Apple notarization service. Gatekeeper will verify the signature on first launch. The hardened runtime is enabled with entitlements defined in `apps/desktop/resources/entitlements.mac.plist`.

## Electron updater metadata

| File | Purpose |
| ------------------ | --------------------------------------------------------- |
| `latest-mac.yml` | macOS update manifest (merged from per-arch builds in CI) |
| `latest-linux.yml` | Linux update manifest |
| `latest.yml` | Windows update manifest |
| `*.blockmap` | Differential download block maps |

## iOS (TestFlight)

The iOS build is uploaded directly to App Store Connect / TestFlight by the [Release iOS workflow](../../.github/workflows/release-ios.yml). No IPA artifact is attached to the GitHub Release.

| Detail | Value |
| ----------------- | ------------------------------------------ |
| Bundle ID | `com.openknots.okcode.mobile` |
| Marketing version | `0.14.0` |
| Build number | Set from `GITHUB_RUN_NUMBER` at build time |

## Checksums

SHA-256 checksums are not committed here; verify downloads via GitHub's release UI or `gh release download` if you use the GitHub CLI.
2 changes: 1 addition & 1 deletion packages/contracts/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@okcode/contracts",
"version": "0.13.0",
"version": "0.14.0",
"private": true,
"files": [
"dist"
Expand Down
Loading