Commit Graph
1366 Commits
Author SHA1 Message Date
zeekay b9924dbab0 Merge openai/main: sync latest codex upstream into dev baseline 2026-02-13 17:47:01 -08:00
zeekay cbd963bb6e feat(tui): remove OpenAI migration prompts, rebrand browser UI, bump 0.6.67
- Disable OpenAI model upgrade prompts (GPT-5.2/5.3 migration banners)
  Users choose their own model via /model or config.toml
- Make migration prompt UI monochromatic (no blue/green accents)
- Rebrand /chrome and /browser: remove Chrome-specific strings,
  settings section now shows "Browser" instead of "Chrome"
- Add Enso browser recommendation to README
- Bump version to 0.6.67
2026-02-13 13:13:37 -08:00
zeekay 7331673016 fix(release): force package.json version to 0.6.66
The merge resolution silently kept 3.0.13 from the CI-generated
release commit. Forcibly set back to 0.6.66 so the next release
workflow publishes the correct version.
2026-02-12 19:31:58 -08:00
zeekay c996085f52 docs: use official Hanzo mono logo in READMEs
Add hanzo-logo.svg (mono black) and hanzo-logo.png from the logo repo.
npm package READMEs use the PNG via GitHub raw URL so the correct mark
renders on npmjs.com instead of the old every-logo.png.
2026-02-12 19:06:00 -08:00
zeekay b63dc9f31a Merge origin/main: adopt release changelog, keep 0.6.66 version 2026-02-12 13:55:58 -08:00
zeekay b958c48d5b docs: replace old Every Code logo with Hanzo Dev heading
Remove the every-logo.png image reference from all three READMEs
(main, dev-cli, codex-cli/.pack) and use a text heading instead.
The old logo was still showing "EVERY CODE" on the npm page.
2026-02-12 13:48:37 -08:00
GitHub Action 6618545961 chore(release): 3.0.13 [skip ci] 2026-02-12 21:33:49 +00:00
zeekay f766a865c6 feat(login): rebrand to Hanzo Dev, fix multi-auth, bump 0.6.66
- Replace Codex branding with Hanzo logo/styling on login success page
- Dark-first theme with Hanzo red (#fd4444) accent
- Default platform_url to hanzo.ai instead of platform.openai.com
- MCP client name/title: codex-mcp-client → hanzo-dev-mcp-client
- CLI help text: codex mcp → dev mcp
- Fix OAuth token exchange for Casdoor/hanzo.id (optional id_token,
  send client_secret alongside PKCE code_verifier)
- Fix refresh token to use id_token_or_access() fallback for Casdoor
- Restore 0.6.x version series (v3.0.12 leaked from upstream merge)
2026-02-12 10:51:15 -08:00
GitHub Action 8fb3b7c68e chore(release): 3.0.12 [skip ci] 2026-02-12 02:50:25 +00:00
pakrym-oaiandGitHub 703fb38d2a Make codex-sdk depend on openai/codex (#11503)
Do not bundle all binaries inside the SDK as it makes the package huge.
Instead depend on openai/codex
2026-02-11 16:20:10 -08:00
zeekay aabf2d8979 fix(tui): update VT100 snapshots for zen-mode theme changes
Accept 32 refreshed VT100 snapshots after zen-mode border, padding,
and theme-driven layout changes. Includes upstream merge artifacts
(workflows, codex-cli scripts, docs, MCP connection manager).

All 39 snapshot tests now pass locally.
2026-02-11 14:35:50 -08:00
zeekay b2ac873c51 docs: rebrand README to Hanzo Dev, document TUI features and agent piping
Rewrite all READMEs from "Every Code" to "Hanzo Dev" branding. Add
comprehensive chat TUI documentation (Zen mode, themes, keyboard
shortcuts, session management), CLI agent piping section (Claude/Gemini/
Qwen orchestration), Auto Review docs, upstream comparison table, and
architecture overview. Update config paths to ~/.hanzo/ and default
model to gpt-5.3-codex.
2026-02-11 14:03:37 -08:00
zeekay 8feb3a48e7 Update TUI 2026-02-10 17:35:37 -08:00
zeekay 434ac17f31 Remove code-rs/, rebrand all references to hanzo-dev/
- Delete entire code-rs/ directory (1796 files) — just-every/code fork
  is no longer needed; hanzo-dev/ is the canonical Rust workspace
- Update all build scripts, CI workflows, docs, and configs to
  reference hanzo-dev/ instead of code-rs/
- Update binary name references: code → dev throughout
- Fix hanzo-cli/index.js, hanzo.sh, README.md, dev-cli READMEs
- Include pre-existing TUI improvements (theme, colors, greeting,
  card styles, chatwidget refactor) and build-fast.sh enhancements
  (symlink install, smarter crate prefix detection)
- codex-rs/ (read-only upstream mirror) is untouched
2026-02-10 16:14:50 -08:00
zeekay f3ae6520aa Merge openai/main: mem v2, tool building, sandbox metadata, image handling
Brings in 42 commits from openai/codex including:
- feat: mem v2 (memory extraction, prompt module, phase 1+2 consolidation)
- feat: connector capabilities for sub-agents
- feat: sandbox metadata in turn headers, proxy-aware network routing
- fix: canonicalize wrapper approvals, heredoc prefix support
- fix: reduce open_if_present usage, websocket incrementality
- chore: split NPM packages, extract hooks crate, tool building extraction
- Strip unsupported images, sanitize MCP image output for text-only models
- Thin LTO for alpha Rust release builds
2026-02-10 14:56:40 -08:00
zeekay 6845c62e8b Remove binary, merge latest 2026-02-10 14:53:44 -08:00
Michael BolinandGitHub d9c014efce # Use @openai/codex dist-tags for platform binaries instead of separate package names (#11339)
https://github.com/openai/codex/pull/11318 introduced logic to publish
platform artifacts as separate npm packages (for example,
`@openai/codex-darwin-arm64`, `@openai/codex-linux-x64`, etc.). That
requires provisioning and maintaining multiple package entries in npm,
which we want to avoid.

We still need to keep the package-size mitigation (platform-specific
payloads), but we want that layout to live under a single npm package
namespace (`@openai/codex`) using dist-tags.

We also need to preserve pre-release workflows where users install
`@openai/codex@alpha` and get platform-appropriate binaries.

Additionally, we want GitHub Release assets to group Codex npm tarballs
together, so platform tarballs should follow the same `codex-npm-*`
filename prefix as the main Codex tarball.

## Release Strategy (New Scheme)

We publish **one npm package name for Codex binaries** (`@openai/codex`)
and use **dist-tags** to select platform-specific payloads. This avoids
creating separate platform package names while keeping the package size
split by platform.

### What gets published

#### Mainline release (`x.y.z`)

- `@openai/codex@latest` (meta package)
- `@openai/codex@darwin-arm64`
- `@openai/codex@darwin-x64`
- `@openai/codex@linux-arm64`
- `@openai/codex@linux-x64`
- `@openai/codex@win32-arm64`
- `@openai/codex@win32-x64`
- `@openai/codex-responses-api-proxy@latest`
- `@openai/codex-sdk@latest`

#### Alpha release (`x.y.z-alpha.N`)

- `@openai/codex@alpha` (meta package)
- `@openai/codex@alpha-darwin-arm64`
- `@openai/codex@alpha-darwin-x64`
- `@openai/codex@alpha-linux-arm64`
- `@openai/codex@alpha-linux-x64`
- `@openai/codex@alpha-win32-arm64`
- `@openai/codex@alpha-win32-x64`
- `@openai/codex-responses-api-proxy@alpha`
- `@openai/codex-sdk@alpha`

As an example, the `package.json` for `@openai/codex@alpha` (using
`0.99.0-alpha.17` as the `version`) would be:

```
{
  "name": "@openai/codex",
  "version": "0.99.0-alpha.17",
  "license": "Apache-2.0",
  "bin": {
    "codex": "bin/codex.js"
  },
  "type": "module",
  "engines": {
    "node": ">=16"
  },
  "files": [
    "bin"
  ],
  "repository": {
    "type": "git",
    "url": "git+https://github.com/openai/codex.git",
    "directory": "codex-cli"
  },
  "packageManager": "[email protected].2+sha512.41872f037ad22f7348e3b1debbaf7e867cfd448f2726d9cf74c08f19507c31d2c8e7a11525b983febc2df640b5438dee6023ebb1f84ed43cc2d654d2bc326264",
  "optionalDependencies": {
    "@openai/codex-linux-x64": "npm:@openai/[email protected].0-alpha.17-linux-x64",
    "@openai/codex-linux-arm64": "npm:@openai/[email protected].0-alpha.17-linux-arm64",
    "@openai/codex-darwin-x64": "npm:@openai/[email protected].0-alpha.17-darwin-x64",
    "@openai/codex-darwin-arm64": "npm:@openai/[email protected].0-alpha.17-darwin-arm64",
    "@openai/codex-win32-x64": "npm:@openai/[email protected].0-alpha.17-win32-x64",
    "@openai/codex-win32-arm64": "npm:@openai/[email protected].0-alpha.17-win32-arm64"
  }
}
```

Note that the keys in `optionalDependencies` have "clean" names, but the
values have the tag embedded.

### Important note

**Note:** Because we never created the new platform package names on npm
(for example,
`@openai/codex-darwin-arm64`) since #11318 landed, there are no extra
npm packages to clean up.

## What changed

### 1. Stage platform tarballs as `@openai/codex` with platform-specific
versions

File: `codex-cli/scripts/build_npm_package.py`

- Added `CODEX_NPM_NAME = "@openai/codex"` and platform metadata
`npm_tag` values:
- `darwin-arm64`, `darwin-x64`, `linux-arm64`, `linux-x64`,
`win32-arm64`, `win32-x64`
- For platform package staging (`codex-<platform>` inputs), switched
generated `package.json` from:
  - `name = @openai/codex-<platform>`
  to:
  - `name = @openai/codex`
- Added `compute_platform_package_version(version, platform_tag)` so
platform tarballs have unique
versions (`<release-version>-<platform-tag>`), which is required because
npm forbids re-publishing
  the same `name@version`.

### 2. Point meta package optional dependencies at dist-tags on
`@openai/codex`

File: `codex-cli/scripts/build_npm_package.py`

- Updated `optionalDependencies` generation for the main `codex` package
to use npm alias syntax:
- key remains alias package name (for example,
`@openai/codex-darwin-arm64`) so runtime lookup behavior is unchanged
  - value now resolves to `@openai/codex` by dist-tag
- Stable releases emit tags like `npm:@openai/codex@darwin-arm64`.
- Alpha releases (`x.y.z-alpha.N`) emit tags like
`npm:@openai/codex@alpha-darwin-arm64`.

### 3. Publish with per-tarball dist-tags in release CI

File: `.github/workflows/rust-release.yml`

- Reworked npm publish logic to derive the publish tag per tarball
filename:
  - platform tarballs publish with `<platform>` tags for stable releases
- platform tarballs publish with `alpha-<platform>` tags for alpha
releases
- top-level tarballs (`codex`, `codex-responses-api-proxy`, `codex-sdk`)
continue using
the existing channel tag policy (`latest` implicit for stable, `alpha`
for alpha)
- Added fail-fast behavior for unexpected tarball names to avoid silent
mispublishes.

### 4. Normalize Codex platform tarball filenames for GitHub Release
grouping

Files: `scripts/stage_npm_packages.py`,
`.github/workflows/rust-release.yml`

- Renamed staged platform tarball filenames from:
  - `codex-linux-<arch>-npm-<version>.tgz`
  - `codex-darwin-<arch>-npm-<version>.tgz`
  - `codex-win32-<arch>-npm-<version>.tgz`
- To:
  - `codex-npm-linux-<arch>-<version>.tgz`
  - `codex-npm-darwin-<arch>-<version>.tgz`
  - `codex-npm-win32-<arch>-<version>.tgz`

This keeps all Codex npm artifacts grouped under a common `codex-npm-`
prefix in GitHub Releases.

### 5. Documentation update

File: `codex-cli/scripts/README.md`

- Updated staging docs to clarify that platform-native variants are
published as dist-tagged
  `@openai/codex` artifacts rather than separate npm package names.

## Resulting behavior

- Mainline release:
  - `@openai/codex@latest` resolves the meta package
- meta package optional dependencies resolve
`@openai/codex@<platform-tag>`
- Alpha release:
  - users can continue installing `@openai/codex@alpha`
- alpha meta package optional dependencies resolve
`@openai/codex@alpha-<platform-tag>`
- Release assets:
- Codex npm tarballs share `codex-npm-` prefix for cleaner grouping in
GitHub Releases

This preserves platform-specific payload distribution while avoiding
separate npm package names and
improves release-asset discoverability.

## Validation notes

- Verified staged `package.json` output for stable and alpha meta
packages includes expected alias targets.
- Verified staged platform package manifests are `name=@openai/codex`
with unique platform-suffixed versions.
- Verified publish tag derivation maps renamed platform tarballs to
expected stable and alpha dist-tags.
2026-02-10 10:33:47 -08:00
jif-oaiandGitHub c19969c676 chore: split NPM packages (#11318) 2026-02-10 14:49:53 +00:00
GitHub Action 2e5893beec chore(release): 3.0.11 [skip ci] 2026-02-10 12:07:45 +00:00
zeekay 9771519cd6 Merge origin/main: adopt upstream changes; keep Hanzo fork identity 2026-02-10 03:17:20 -08:00
zeekay ca54a6d9ab merge upstream/main 2026-02-09 21:08:46 -08:00
GitHub Action a15f1b064f chore(release): 3.0.11 [skip ci] 2026-02-09 18:13:18 +00:00
GitHub Action 62132754bb chore(release): 0.6.60 [skip ci] 2026-02-07 23:17:44 +00:00
GitHub Action 83a7957505 chore(release): 3.0.10 [skip ci] 2026-02-06 06:54:38 +00:00
zeekay 5f999f2519 fix(ci): fix codespell and prettier issues
- Fix typos: parellel→parallel, neccessary→necessary, mulitple→multiple,
  responible→responsible, geniune→genuine, yeild→yield
- Add ignore words: Nd, nd, edn, lightening (valid terms)
- Run prettier --write to fix all formatting issues
2026-02-05 22:17:28 -08:00
GitHub Action 1844815868 Merge origin/main: adopt remote workflow changes; keep release changes [skip ci] 2026-02-06 05:37:39 +00:00
GitHub Action 7a95c14fd0 chore(release): 3.0.9 [skip ci] 2026-02-06 05:37:25 +00:00
GitHub Action 5c202e040e chore(release): 0.6.59 [skip ci] 2026-02-06 01:11:39 +00:00
GitHub Action c8282fce6a chore(release): 3.0.8 [skip ci] 2026-02-06 01:02:19 +00:00
GitHub Action 58488dd817 chore(release): 0.6.58 [skip ci] 2026-02-05 03:28:32 +00:00
GitHub Action ccc8492654 chore(release): 3.0.7 [skip ci] 2026-02-05 02:50:06 +00:00
zeekay 9fa5bb14de Merge openai-upstream/main: sync with openai/codex (3363 commits)
Catch-up merge from upstream openai/codex repository:
- Accept upstream codex-rs/ and codex-cli/ changes
- Accept upstream docs, sdk/typescript, and configs
- Preserves hanzo-specific directories (code-rs, hanzo-*, dev-cli)
2026-02-04 18:09:15 -08:00
GitHub Action 0f2057e7a3 chore(release): 0.6.57 [skip ci] 2026-02-02 06:54:57 +00:00
GitHub Action 6ca3058f9c chore(release): 0.6.56 [skip ci] 2026-02-02 04:08:00 +00:00
GitHub Action 9cfecd7862 chore(release): 0.6.55 [skip ci] 2026-02-02 00:42:33 +00:00
GitHub Action 08d7e023a3 chore(release): 3.0.6 [skip ci] 2026-01-31 00:46:37 +00:00
Michael BolinandGitHub b7f26d74f0 chore: ensure pnpm-workspace.yaml is up-to-date (#10140)
On the back of:

https://github.com/openai/codex/pull/10138

Let's ensure that every folder with a `package.json` is listed in
`pnpm-workspace.yaml` (not sure why `docs` was in there...) and that we
are using `pnpm` over `npm` consistently (which is why this PR deletes
`codex-cli/package-lock.json`).
2026-01-29 10:49:03 -08:00
GitHub Action 7c4b6fcb93 chore(release): 0.6.54 [skip ci] 2026-01-29 15:41:05 +00:00
Michael BolinandGitHub 4d9ae3a298 fix: remove references to corepack (#10138)
Currently, our `npm publish` logic is failing.

There were a number of things that were merged recently that seemed to
contribute to this situation, though I think we have fixed most of them,
but this one stands out:

https://github.com/openai/codex/pull/10115

As best I can tell, we tried to fix the pnpm version to a specific hash,
but we did not do it consistently (though `shell-tool-mcp/package.json`
had it specified twice...), so for this PR, I ran:

```
$ git ls-files | grep package.json
codex-cli/package.json
codex-rs/responses-api-proxy/npm/package.json
package.json
sdk/typescript/package.json
shell-tool-mcp/package.json
```

and ensured that all of them now have this line:

```json
  "packageManager": "[email protected].2+sha512.41872f037ad22f7348e3b1debbaf7e867cfd448f2726d9cf74c08f19507c31d2c8e7a11525b983febc2df640b5438dee6023ebb1f84ed43cc2d654d2bc326264"
```

I also went and deleted all of the `corepack` stuff that was added by
https://github.com/openai/codex/pull/10115.

If someone can explain why we need it and verify it does not break `npm
publish`, then we can bring it back.
2026-01-28 23:31:25 -08:00
GitHub Action 5d5d2d24ee chore(release): 0.6.53 [skip ci] 2026-01-27 10:41:36 +00:00
GitHub Action e3565cd4d7 chore(release): 0.6.52 [skip ci] 2026-01-26 23:58:38 +00:00
GitHub Action bdf8fae1c2 chore(release): 0.6.51 [skip ci] 2026-01-26 00:05:41 +00:00
GitHub Action 24a390ac38 chore(release): 3.0.5 [skip ci] 2026-01-25 22:51:06 +00:00
GitHub Action 744a222557 chore(release): 3.0.4 [skip ci] 2026-01-25 21:14:20 +00:00
GitHub Action 30b8ed752e chore(release): 3.0.3 [skip ci] 2026-01-25 20:26:24 +00:00
GitHub Action 5ff0110fd5 chore(release): 3.0.2 [skip ci] 2026-01-25 09:33:14 +00:00
GitHub Action 5e5deeb826 chore(release): 0.6.51 [skip ci] 2026-01-24 23:53:11 +00:00
GitHub Action 26f3033a91 chore(release): 0.6.50 [skip ci] 2026-01-22 10:19:24 +00:00
GitHub Action 26db4bb664 chore(release): 0.6.50 [skip ci] 2026-01-22 10:19:24 +00:00
ca23b0da5b fix(cli): add execute permission to bin/codex.js (#9532)
## Summary
Fixes #9520

The `bin/codex.js` file was missing execute permissions (`644` instead
of `755`), causing the `codex` command to fail after npm global
installation.

## Changes
- Added execute permission (`+x`) to `codex-cli/bin/codex.js`

## Verification
After this fix, npm tarballs will include the correct file permissions:
```bash
# Before: -rw-r--r-- (644)
# After:  -rwxr-xr-x (755)
```

---
🤖 Generated with Claude Code

Co-authored-by: Claude <[email protected]>
2026-01-20 14:53:14 -08:00