naro-cli 0.28.0 → 0.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -48,6 +48,9 @@ effectively your env credentials.
48
48
 
49
49
  ## Requirements
50
50
 
51
+ Node.js **22 or newer** (Node 20 reached end of life on 2026-04-30; npm warns
52
+ with `EBADENGINE` and, with `engine-strict`, refuses to install).
53
+
51
54
  Next.js **16 or newer**. Next 15 and below are not supported — they stop at the
52
55
  version gate right after install with `NEXT_VERSION_UNSUPPORTED`.
53
56
 
@@ -244,7 +247,8 @@ naro functions [list] Naro Functions: name, version, verify_jwt, st
244
247
  naro functions new <name> Write naro/functions/<name>/index.ts, a handler to start from
245
248
  naro functions deploy [name…] [--no-verify-jwt] [--import-map <file>] [--skip-check]
246
249
  Bundle on this machine (Node.js 22 or later), check that it starts, upload;
247
- every function in the folder when no name is given
250
+ every function in the folder when no name is given;
251
+ several go live together in one upload
248
252
  naro functions versions <name> Its stored versions, newest first
249
253
  naro functions rollback <name> [<version>]
250
254
  Put an earlier version live again (the one before the live one by default)
@@ -897,6 +901,42 @@ An `--update-check` you give replaces the default: without
897
901
 
898
902
  ## Release notes
899
903
 
904
+ ### 0.30.0
905
+
906
+ - `naro functions deploy` with several names (or none, for the whole folder)
907
+ puts them live in one upload. A project's functions now run in one worker;
908
+ each function still has its own versions, rollback and URL. Projects can have
909
+ up to 100 functions, adding up to 64 MiB (`413 FUNCTIONS_TOO_LARGE`); the
910
+ compressed-size check is gone.
911
+ - `naro env pull` and `naro link` refuse a symbolic link where they write, and
912
+ `naro deploy` checks `.naro/` before it deploys, so a repository cannot point
913
+ them at another file.
914
+ - Login: the callback server checks `Host` and answers `410` after the first
915
+ callback; the session file is written to a temporary name, then moved into
916
+ place with mode `0600`; `naro logout` also removes a leftover temporary file.
917
+ On Windows the login URL opens with `rundll32` instead of `cmd.exe`.
918
+ - Node.js 22 or later. wrangler, miniflare and esbuild are pinned to patched
919
+ releases; `@vercel/frameworks` is no longer a dependency (the 10 presets keep
920
+ their detection rules).
921
+ - naro-mcp 0.29.0 goes out with it: `deploy_function` takes `names` (1–100),
922
+ the MCP SDK is pinned to 1.32.2, and `get_runtime_logs`, `get_build_logs`,
923
+ `list_deployments` and `get_deployment` mark their results as untrusted data.
924
+ - naro-js 0.9.0 goes out with it: a recovery link is not used while another
925
+ account is signed in, and on the server the service key goes in the `apikey`
926
+ header, not the WebSocket URL.
927
+
928
+ ### 0.29.0
929
+
930
+ - `naro usage` shows Hobby custom domains as `1 per project` (an apex and its
931
+ `www.` form count as one) instead of `No limit`.
932
+ - `naro policy rules` marks an action allowed by a policy written as
933
+ `CREATE POLICY` as `custom`, and one covered by a policy it cannot read as
934
+ `invalid`, and lists those policies under the table. `--json` is unchanged.
935
+ - The hints under `naro policy rules --env <name>` point at that environment.
936
+ - naro-mcp 0.28.0 goes out with it: `get_team_usage` explains
937
+ `domainsPerProject` and `perProject`, and `list_policy_rules` says that
938
+ `none` means no rule `naro policy set` wrote, not nobody.
939
+
900
940
  ### 0.28.0
901
941
 
902
942
  - Next.js 15 and below are refused up front with `NEXT_VERSION_UNSUPPORTED`
@@ -1673,6 +1713,21 @@ RENAME` the way the control plane now reads it: a column rename whose
1673
1713
  `<cwd>/tmp/x.env`. A file it overwrites is set to 0600 as well. Before,
1674
1714
  only a new file was, and an existing 0644 `.env.local` kept 0644 with the
1675
1715
  secrets in it.
1716
+ - `naro env pull` refuses to write through a symbolic link, before it asks
1717
+ for the values: `VALIDATION_FAILED`
1718
+ `.env.local is a symbolic link. Remove it, or pass another file name.`
1719
+ A cloned repository can commit `.env.local` as a link (git keeps mode
1720
+ 120000), and the file followed it — into `public/`, say, which the next
1721
+ deploy ships. `naro link` refuses a `.naro`, `.naro/project.json` or
1722
+ `.naro/README.txt` that is a link the same way
1723
+ (`.naro is a symbolic link. Remove it before linking the project.`);
1724
+ `naro deploy` checks the same places before it asks or sends anything
1725
+ (`Remove it before deploying.`), since it writes the link only once the
1726
+ deployment exists. Both leave a `.gitignore` that is a link alone.
1727
+ - naro-cli now ships `wrangler` 4.158.0 (was 4.148.0), `miniflare`
1728
+ 5.20261104.0-beta and `esbuild` 0.28.2. miniflare's `undici` 7.30.1 and
1729
+ `sharp` 0.35.5 close what `npm audit` reported against 7.29.1 (dropped TLS
1730
+ options, cache poisoning over cross-origin redirects) and 0.35.4 (librsvg).
1676
1731
  - `naro git connect` with `--json` or without a terminal no longer opens a
1677
1732
  browser and waits three minutes when the Naro GitHub App cannot reach the
1678
1733
  repository. It fails at once with `REPOSITORY_NOT_ACCESSIBLE`