Commit Graph
712 Commits
Author SHA1 Message Date
GitHub Action 3508b0921c chore(release): 0.6.91 [skip ci] 2026-04-03 04:11:00 +00:00
GitHub Action 0c61b23afd chore(release): 0.6.90 [skip ci] 2026-03-31 03:41:55 +00:00
GitHub Action a9aa813fd0 chore(release): 0.6.89 [skip ci] 2026-03-31 01:33:59 +00:00
GitHub Action f844de78da chore(release): 0.6.88 [skip ci] 2026-03-31 00:31:08 +00:00
GitHub Action 6a5c2dd2e0 chore(release): 0.6.87 [skip ci] 2026-03-30 23:40:12 +00:00
GitHub Action 0d7a842d3d chore(release): 0.6.86 [skip ci] 2026-03-30 23:02:17 +00:00
GitHub Action 467d9175a0 chore(release): 0.6.85 [skip ci] 2026-03-24 23:18:07 +00:00
GitHub Action 19079fbdaf chore(release): 0.6.84 [skip ci] 2026-03-24 06:04:25 +00:00
GitHub Action dd5d190289 chore(release): 0.6.83 [skip ci] 2026-03-23 09:47:22 +00:00
GitHub Action 60be946cec chore(release): 0.6.82 [skip ci] 2026-03-23 09:08:27 +00:00
GitHub Action 956e8b1136 chore(release): 0.6.81 [skip ci] 2026-03-23 08:11:43 +00:00
GitHub Action 996f6e3be5 chore(release): 0.6.80 [skip ci] 2026-03-23 07:33:27 +00:00
GitHub Action 4eed6013b5 chore(release): 0.6.79 [skip ci] 2026-03-08 15:32:37 +00:00
GitHub Action c6e54b48e5 chore(release): 0.6.78 [skip ci] 2026-03-08 14:41:51 +00:00
GitHub Action 7ba19a3237 chore(release): 0.6.77 [skip ci] 2026-03-07 15:15:53 +00:00
GitHub Action 05547fbf2e chore(release): 0.6.76 [skip ci] 2026-03-07 13:03:16 +00:00
GitHub Action bdafc15524 chore(release): 0.6.75 [skip ci] 2026-03-06 01:22:10 +00:00
GitHub Action 2e04db2c4c chore(release): 0.6.74 [skip ci] 2026-02-27 05:34:35 +00:00
GitHub Action 4e7ced4d56 chore(release): 0.6.73 [skip ci] 2026-02-27 04:38:55 +00:00
GitHub Action 8de7fb12d5 chore(release): 0.6.72 [skip ci] 2026-02-27 01:45:38 +00:00
GitHub Action 6ccec41e5f chore(release): 0.6.71 [skip ci] 2026-02-26 22:34:40 +00:00
GitHub Action ae5225a40f chore(release): 0.6.70 [skip ci] 2026-02-16 05:16:41 +00:00
GitHub Action e5d82773c4 chore(release): 0.6.69 [skip ci] 2026-02-15 07:07:30 +00:00
GitHub Action 6e8cac3a26 chore(release): 0.6.68 [skip ci] 2026-02-14 22:09:17 +00:00
GitHub Action 0a8abf10b0 chore(release): 0.6.67 [skip ci] 2026-02-13 05:33:34 +00:00
GitHub Action 8101a54366 chore(release): 0.6.66 [skip ci] 2026-02-12 23:34:16 +00:00
GitHub Action f34e55b20b chore(release): 0.6.65 [skip ci] 2026-02-11 19:02:36 +00:00
GitHub Action 2f3dde7110 chore(release): 0.6.64 [skip ci] 2026-02-11 11:18:47 +00:00
GitHub Action b13c7d2d05 chore(release): 0.6.63 [skip ci] 2026-02-11 06:19:17 +00:00
James Peter 4a08f7702d Merge upstream/main: keep fork workflows and scripts 2026-02-11 14:24:12 +10:00
GitHub Action c2b35cb450 chore(release): 0.6.62 [skip ci] 2026-02-11 03:57:21 +00:00
Michael BolinandGitHub e8efc0b715 # 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 4c210ab702 chore: split NPM packages (#11318) 2026-02-10 14:49:53 +00:00
GitHub Action 271e89c73d chore(release): 0.6.61 [skip ci] 2026-02-10 10:00:15 +00:00
GitHub Action 57b56b7839 chore(release): 0.6.60 [skip ci] 2026-02-07 23:17:44 +00:00
GitHub Action 366cf12086 chore(release): 0.6.59 [skip ci] 2026-02-06 01:11:39 +00:00
GitHub Action 5a17aff645 chore(release): 0.6.58 [skip ci] 2026-02-05 03:28:32 +00:00
GitHub Action 3ebdd3da35 chore(release): 0.6.57 [skip ci] 2026-02-02 06:54:57 +00:00
GitHub Action 5c3c6630b6 chore(release): 0.6.56 [skip ci] 2026-02-02 04:08:00 +00:00
GitHub Action 866901548b chore(release): 0.6.55 [skip ci] 2026-02-02 00:42:33 +00:00
Michael BolinandGitHub cda6674ec7 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 292a36f936 chore(release): 0.6.54 [skip ci] 2026-01-29 15:41:05 +00:00
Michael BolinandGitHub 9e4e1634d1 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 81daf0557f chore(release): 0.6.53 [skip ci] 2026-01-27 10:41:36 +00:00
GitHub Action f82d6bf7e7 chore(release): 0.6.52 [skip ci] 2026-01-26 23:58:38 +00:00
GitHub Action 6b921a307c chore(release): 0.6.51 [skip ci] 2026-01-26 00:05:41 +00:00
GitHub Action af19de2bb7 chore(release): 0.6.50 [skip ci] 2026-01-22 10:19:24 +00:00
ac88b7cc86 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
GitHub Action efb6bd1e48 chore(release): 0.6.49 [skip ci] 2026-01-17 10:38:36 +00:00
GitHub Action 268b082994 chore(release): 0.6.48 [skip ci] 2026-01-14 00:59:11 +00:00