Skip to content

Commit 4c65c3d

Browse files
committed
release: prepare v0.26.4
1 parent 138fb72 commit 4c65c3d

13 files changed

Lines changed: 230 additions & 8 deletions

File tree

CHANGELOG.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.26.4] - 2026-04-22
11+
12+
See [docs/releases/v0.26.4.md](docs/releases/v0.26.4.md) for full notes and [docs/releases/v0.26.4/assets.md](docs/releases/v0.26.4/assets.md) for release asset inventory.
13+
14+
### Added
15+
16+
- Add out-of-memory session recovery.
17+
18+
### Changed
19+
20+
- Bundle diffs into the server cli.
21+
- Inline diff parsing for cli release.
22+
23+
### Fixed
24+
25+
- Publish cli from cjs bin.
26+
- Make npm publish rerun-safe.
27+
- Verify published cli with okcode bin.
28+
- Verify published cli with temp install.
29+
1030
## [0.26.2] - 2026-04-21
1131

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

apps/desktop/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@okcode/desktop",
3-
"version": "0.26.2",
3+
"version": "0.26.4",
44
"private": true,
55
"main": "dist-electron/main.js",
66
"scripts": {

apps/mobile/android/app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ android {
88
minSdkVersion rootProject.ext.minSdkVersion
99
targetSdkVersion rootProject.ext.targetSdkVersion
1010
versionCode 1
11-
versionName "0.26.2"
11+
versionName "0.26.4"
1212
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
1313
aaptOptions {
1414
// Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps.

apps/mobile/ios/App/App.xcodeproj/project.pbxproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@
306306
"$(inherited)",
307307
"@executable_path/Frameworks",
308308
);
309-
MARKETING_VERSION = 0.26.2;
309+
MARKETING_VERSION = 0.26.4;
310310
OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" \"-DDEBUG\"";
311311
PRODUCT_BUNDLE_IDENTIFIER = com.openknots.okcode.mobile;
312312
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -331,7 +331,7 @@
331331
"$(inherited)",
332332
"@executable_path/Frameworks",
333333
);
334-
MARKETING_VERSION = 0.26.2;
334+
MARKETING_VERSION = 0.26.4;
335335
PRODUCT_BUNDLE_IDENTIFIER = com.openknots.okcode.mobile;
336336
PRODUCT_NAME = "$(TARGET_NAME)";
337337
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "";

apps/mobile/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@okcode/mobile",
3-
"version": "0.26.2",
3+
"version": "0.26.4",
44
"private": true,
55
"type": "module",
66
"scripts": {

apps/server/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "okcodes",
3-
"version": "0.26.2",
3+
"version": "0.26.4",
44
"license": "MIT",
55
"repository": {
66
"type": "git",

apps/web/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@okcode/web",
3-
"version": "0.26.2",
3+
"version": "0.26.4",
44
"private": true,
55
"type": "module",
66
"scripts": {

docs/releases/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ Use this directory for versioned release notes and asset manifests only:
99

1010
| Version | Summary | Assets |
1111
| -------------------- | --------------------------------------------------------------------------------------------------------- | ----------------------------- |
12+
| [0.26.4](v0.26.4.md) | Out-of-memory session recovery and CLI release hardening | [manifest](v0.26.4/assets.md) |
1213
| [0.26.2](v0.26.2.md) | Release with 1 new feature(s), 4 fix(es), 3 improvement(s) | [manifest](v0.26.2/assets.md) |
1314
| [0.26.0](v0.26.0.md) | File-content search, desktop terminal docking, transport sna | [manifest](v0.26.0/assets.md) |
1415
| [0.25.0](v0.25.0.md) | Project icon file picker, gateway auth terminology cleanup, | [manifest](v0.25.0/assets.md) |

docs/releases/v0.26.4.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# OK Code v0.26.4
2+
3+
**Date:** 2026-04-22
4+
**Tag:** [`v0.26.4`](https://github.com/OpenKnots/okcode/releases/tag/v0.26.4)
5+
6+
## Summary
7+
8+
Re-cut release after `v0.26.3` was already present on npm; ships the same branch state with out-of-memory session recovery and CLI release hardening.
9+
10+
## Highlights
11+
12+
- **Add out-of-memory session recovery.**
13+
- **Bundle diffs into the server cli.**
14+
- **Inline diff parsing for cli release.**
15+
- **Publish cli from cjs bin.**
16+
- **Make npm publish rerun-safe.**
17+
- **Verify published cli with okcode bin.**
18+
- **Verify published cli with temp install.**
19+
20+
## Breaking changes
21+
22+
- None.
23+
24+
## Upgrade and install
25+
26+
- **CLI:** `npm install -g okcodes@0.26.4` once the desktop/CLI release workflow finishes.
27+
- **Desktop:** Download from [GitHub Releases](https://github.com/OpenKnots/okcode/releases/tag/v0.26.4). Filenames are listed in [assets.md](v0.26.4/assets.md).
28+
- **iOS:** Available via TestFlight after the separate Release iOS workflow is dispatched for this tag.
29+
30+
## Known limitations
31+
32+
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.
33+
34+
## Release operations
35+
36+
- Review the [asset manifest](v0.26.4/assets.md) to confirm every expected GitHub Release attachment is present.
37+
- Use the [rollout checklist](v0.26.4/rollout-checklist.md) to walk the desktop/CLI release plus the separate iOS TestFlight dispatch through post-release verification.
38+
- Use the [soak test plan](v0.26.4/soak-test-plan.md) to validate the highest-risk surfaces after the tag is live.

docs/releases/v0.26.4/assets.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# v0.26.4 — Release assets (manifest)
2+
3+
Binaries are **not** stored in this git repository; they are attached to the [GitHub Release for `v0.26.4`](https://github.com/OpenKnots/okcode/releases/tag/v0.26.4) by the [Release workflow](../../.github/workflows/release.yml).
4+
5+
The GitHub Release also includes **documentation attachments** (same content as in-repo, stable filenames for download):
6+
7+
| File | Source in repo |
8+
| --------------------------- | ------------------------------------- |
9+
| `okcode-CHANGELOG.md` | [CHANGELOG.md](../../../CHANGELOG.md) |
10+
| `okcode-RELEASE-NOTES.md` | [v0.26.4.md](../v0.26.4.md) |
11+
| `okcode-ASSETS-MANIFEST.md` | This file |
12+
13+
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.26.4`).
14+
15+
## Desktop installers and payloads
16+
17+
| Platform | Kind | Typical pattern |
18+
| ------------------- | -------------- | --------------- |
19+
| macOS Apple Silicon | DMG (signed) | `*.dmg` (arm64) |
20+
| macOS Intel | DMG (signed) | `*.dmg` (x64) |
21+
| macOS | ZIP (updater) | `*.zip` |
22+
| Linux x64 | AppImage | `*.AppImage` |
23+
| Windows x64 | NSIS installer | `*.exe` |
24+
25+
### macOS code signing and notarization
26+
27+
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`.
28+
29+
## Electron updater metadata
30+
31+
| File | Purpose |
32+
| ------------------ | --------------------------------------------------------- |
33+
| `latest-mac.yml` | macOS update manifest (merged from per-arch builds in CI) |
34+
| `latest-linux.yml` | Linux update manifest |
35+
| `latest.yml` | Windows update manifest |
36+
| `*.blockmap` | Differential download block maps |
37+
38+
## iOS (TestFlight)
39+
40+
The iOS build is uploaded directly to App Store Connect / TestFlight by the separately dispatched [Release iOS workflow](../../.github/workflows/release-ios.yml). No IPA artifact is attached to the GitHub Release.
41+
42+
| Detail | Value |
43+
| ----------------- | ------------------------------------------ |
44+
| Bundle ID | `com.openknots.okcode.mobile` |
45+
| Marketing version | `0.26.4` |
46+
| Build number | Set from `GITHUB_RUN_NUMBER` at build time |
47+
48+
## Checksums
49+
50+
SHA-256 checksums are not committed here; verify downloads via GitHub's release UI or `gh release download` if you use the GitHub CLI.
51+
52+
## Operational references
53+
54+
| File | Purpose |
55+
| -------------------------------------------- | ----------------------------------------------------------------- |
56+
| [rollout-checklist.md](rollout-checklist.md) | Step-by-step release playbook from preflight through post-release |
57+
| [soak-test-plan.md](soak-test-plan.md) | Structured release validation for the highest-risk surfaces |

0 commit comments

Comments
 (0)