Repository navigation
Graft 1.0.0-beta.9
Pre-releaseAll @usegraft/* packages release together at 1.0.0-beta.9 — they are one product on one
version line (fixed in .changeset/config.json), so this is the release for all 22.
npm i @usegraft/cli@1.0.0-beta.9@usegraft/auth
Patch Changes
- Updated dependencies [9a17a95]
- Updated dependencies [42213aa]
- Updated dependencies [acb4a84]
- Updated dependencies [3374aab]
- @usegraft/contracts@1.0.0-beta.9
- @usegraft/core@1.0.0-beta.9
@usegraft/cli
Minor Changes
-
42213aa:
graft api --paginate --slurpprints every page as one JSON array once the last one arrives.graft api -X DELETEnow asks before it sends anything when run on a terminal; with--no-input, or with no terminal, it still needs--yes.graft help authexplainsgraft login, saved tokens,--remote,GRAFT_URLandGRAFT_TOKEN. -
9a17a95: BREAKING:
graftexits with a code that says what kind of failure it was,
and refuses a flag the command does not take.Before, every failure exited 1, and a flag meant for another command was
silently ignored:graft init --applysucceeded and did nothing, which is how
a dry run gets mistaken for a real one. Now:Exit code Meaning 0 It worked 1 It failed; the error says why and what to do 2 The command was called wrong: an unknown command or flag, or a missing argument. Nothing ran 3 A person has to approve the action first ( DESTRUCTIVE_OP_REQUIRES_APPROVAL)4 The credential is missing, wrong, or lacks the access this needs ( UNAUTHORIZED,TOKEN_INVALID)A script that checks for exit code 1 after a usage mistake must check for 2.
An unknown command no longer prints the whole help on stdout; it prints the
closest command on stderr:graft: unknown command "complie". Did you mean `graft compile`? Run `graft --help` to list the commands.Every command that prints data now takes
--json:init,doctor,add,
compile,check,content,compilations,asset put,studio invite,
content import,pull,push,mirror,db migrate,migrate,
harden,approvals,approve,deny,branch,branch create,
branch drop,merge,ci changesandci skip-build. It prints one JSON
object on stdout and sends every message to stderr. The object is indented on
a terminal and on one line when piped, sograft doctor --jsonpiped to a
file is now one line. A command run with--jsonthat fails prints one line
of JSON on stderr:{"error", "message", "fix", "details"}, the shape every
Graft error has.graft check --jsonlists each problem with its code and
fix.Also new:
graft help <command>andgraft help <topic>(exit-codes,json,
environment).graft commands --jsondescribes every command, its arguments and flags,
so an agent can learn the CLI in one call.graft addwith no item lists the primitives you can add, instead of
failing withREGISTRY_ITEM_NOT_FOUND.graft db --help,graft ci --help
and the other families print help for every member.--no-inputongraft createandgraft db claim, or
GRAFT_PROMPT_DISABLED=1for every command, never asks a question.- Color follows
NO_COLOR,FORCE_COLOR,CLICOLOR,CLICOLOR_FORCEand
TERM=dumb. - An unexpected error prints one line instead of a stack trace;
GRAFT_DEBUG=1prints the trace. - The CLI turns on Node's compile cache, which makes
graft checkabout 8%
faster on a 48-document project.
Two error codes are added for these, with entries in the error reference and
inexplain_error:USAGE_INVALIDandINTERNAL_ERROR. -
1a627ef: Read and write content from the terminal. The new commands run the same MCP
tools an agent calls, in the CLI's own process, so they check the schema,
compile, and file approvals exactly as the agent's call would. With--json,
each prints exactly what the tool returns.Command Tool graft content list [collection]list_collections,list_contentgraft content get <collection>/<slug>get_content, printed as the MDX filegraft content search <query>search_contentgraft content write <collection>/<slug>write_content, from--fileor--datagraft content set <collection> <slug...> --field --valuewrite_contentfor each documentgraft content delete <collection>/<slug>delete_contentgraft drafts,drafts publish,drafts discardlist_drafts,publish_drafts,discard_draftsgraft schemadescribe_schemagraft fn,fn describe,fn runlist_functions,describe_function,run_functiongraft explain <code>explain_errorgraft mcp tools,graft mcp call <tool>any tool, by name graft content get pages/home > home.mdxand
graft content write pages/home --file home.mdxround-trip a document. A
delete, or a destructive function, exits 3 and itsfixnames the exact
command to repeat with--approval <id>once a person has approved it.BREAKING:
graft contentnow lists the documents from the content files
(or from the database, where content is kept there) instead of reading the
Postgres index. It works on the static engine with noDATABASE_URL, and
--jsonprints{ branch, collections: [{ collection, documents }] }.@usegraft/mcpexports the client the CLI uses:connectInProcess(server)
andconnectClient(transport)return aToolClientthat calls tools by name
and rejects with the GraftError a tool failed with
(toolResultToGraftError). -
acb4a84: Work with a hosted site from the terminal.
graft login <url>checks a token
made in Studio under Developer, Agents, and saves it in
~/.config/graft/hosts.json(mode 600). The token comes from stdin
(--with-token) or a prompt that does not echo, never from an argument.printf %s "$TOKEN" | graft login https://cms.example.com --with-token graft content list --remote graft api entries -f collection=posts --paginate
--remoteongraft content,graft drafts,graft schema,graft fn,
graft mcp tools,graft mcp callandgraft approvalsruns the same MCP
tools on the site's/api/mcp.GRAFT_URLandGRAFT_TOKENin the
environment do the same without the flag, and--localoverrides them.
Neither is read from.env.graft api <path>calls any Studio API route with the saved token:-X,
-f/-Ffields,-H,--input,--includeand--paginate. It reaches
only the logged-in site, follows no redirects, and needs--yesfor
-X DELETE.graft auth statuschecks each saved token against its site,
graft auth tokenprints one for piping, andgraft logoutforgets one.- A refused token exits 4 with
TOKEN_INVALID; an unreachable site is the new
REMOTE_UNREACHABLE. No token can approve an action, so a remote delete
still exits 3 until a person approves it.
@usegraft/mcpaddsconnectRemote({ origin, token }), aToolClientover
HTTP to a hosted/api/mcp. -
1deb1a7:
graftnow tells you when a newer Graft is on npm. After a command finishes, it prints the new version, the version you have, and a link to the upgrade guide on stderr. On a beta the notice is yellow, because beta releases often include security fixes. On a stable release it is cyan.The CLI asks the registry at most once a day and caches the answer under
~/.cache/graft(orXDG_CACHE_HOME). It never fails a command, and waits at most 1.5 seconds for the registry. The check is off underCI, forgraft mcp, and whenGRAFT_NO_UPDATE_CHECK=1is set in the environment or the project's.env.NO_COLORturns the color off. -
42213aa:
graft checkandgraft compileskip the executable-MDX scan for a body they have already scanned. Results are kept under$XDG_CACHE_HOME/graft/mdx-safety(by default~/.cache/graft/mdx-safety), outside the project, and are keyed on the body and on the version of every package the scanner runs, down its whole dependency tree. A repeatgraft checkon a 50-page site went from about 1.7 s to about 0.3 s.@usegraft/mdx-safetyaddsscanMdx, theMdxScanCacheinterface,mdxScanVersion,mdxScanPackagesandscanVersionOf, and the compiler'svalidateDocuments,compileandcompileStatictake an optionalmdxScanCache. Studio saves and MCP writes do not pass one, so they scan every body every time.
Patch Changes
- 42213aa: Static projects no longer load the Postgres code.
@usegraft/db/staticis a new entry with the SQLite content index, the content diff, the search query check and branch scopes, and no drizzle-orm or Postgres driver behind it. Core, the compiler and the MCP server load the rest of@usegraft/dbonly inside the functions that talk to Postgres. On a 50-page static site,graft content getwent from about 950 ms to about 480 ms. Everything in@usegraft/db/staticis still exported from@usegraft/db. - Updated dependencies [9a17a95]
- Updated dependencies [1a627ef]
- Updated dependencies [42213aa]
- Updated dependencies [acb4a84]
- Updated dependencies [42213aa]
- Updated dependencies [1deb1a7]
- Updated dependencies [3374aab]
- @usegraft/contracts@1.0.0-beta.9
- @usegraft/mcp@1.0.0-beta.9
- @usegraft/db@1.0.0-beta.9
- @usegraft/core@1.0.0-beta.9
- @usegraft/compiler@1.0.0-beta.9
- @usegraft/mdx-safety@1.0.0-beta.9
- @usegraft/registry@1.0.0-beta.9
- @usegraft/auth@1.0.0-beta.9
- @usegraft/content-api@1.0.0-beta.9
- @usegraft/content-migrations@1.0.0-beta.9
- @usegraft/studio@1.0.0-beta.9
- @usegraft/assets@1.0.0-beta.9
@usegraft/compiler
Minor Changes
-
42213aa:
graft checkandgraft compileskip the executable-MDX scan for a body they have already scanned. Results are kept under$XDG_CACHE_HOME/graft/mdx-safety(by default~/.cache/graft/mdx-safety), outside the project, and are keyed on the body and on the version of every package the scanner runs, down its whole dependency tree. A repeatgraft checkon a 50-page site went from about 1.7 s to about 0.3 s.@usegraft/mdx-safetyaddsscanMdx, theMdxScanCacheinterface,mdxScanVersion,mdxScanPackagesandscanVersionOf, and the compiler'svalidateDocuments,compileandcompileStatictake an optionalmdxScanCache. Studio saves and MCP writes do not pass one, so they scan every body every time.
Patch Changes
- 42213aa: Static projects no longer load the Postgres code.
@usegraft/db/staticis a new entry with the SQLite content index, the content diff, the search query check and branch scopes, and no drizzle-orm or Postgres driver behind it. Core, the compiler and the MCP server load the rest of@usegraft/dbonly inside the functions that talk to Postgres. On a 50-page static site,graft content getwent from about 950 ms to about 480 ms. Everything in@usegraft/db/staticis still exported from@usegraft/db. - Updated dependencies [9a17a95]
- Updated dependencies [42213aa]
- Updated dependencies [acb4a84]
- Updated dependencies [42213aa]
- Updated dependencies [3374aab]
- @usegraft/contracts@1.0.0-beta.9
- @usegraft/db@1.0.0-beta.9
- @usegraft/core@1.0.0-beta.9
- @usegraft/mdx-safety@1.0.0-beta.9
@usegraft/content-api
Patch Changes
- Updated dependencies [9a17a95]
- Updated dependencies [acb4a84]
- Updated dependencies [3374aab]
- @usegraft/contracts@1.0.0-beta.9
@usegraft/content-migrations
Patch Changes
- Updated dependencies [9a17a95]
- Updated dependencies [42213aa]
- Updated dependencies [acb4a84]
- Updated dependencies [42213aa]
- Updated dependencies [3374aab]
- @usegraft/contracts@1.0.0-beta.9
- @usegraft/core@1.0.0-beta.9
- @usegraft/mdx-safety@1.0.0-beta.9
@usegraft/contracts
Minor Changes
-
9a17a95: BREAKING:
graftexits with a code that says what kind of failure it was,
and refuses a flag the command does not take.Before, every failure exited 1, and a flag meant for another command was
silently ignored:graft init --applysucceeded and did nothing, which is how
a dry run gets mistaken for a real one. Now:Exit code Meaning 0 It worked 1 It failed; the error says why and what to do 2 The command was called wrong: an unknown command or flag, or a missing argument. Nothing ran 3 A person has to approve the action first ( DESTRUCTIVE_OP_REQUIRES_APPROVAL)4 The credential is missing, wrong, or lacks the access this needs ( UNAUTHORIZED,TOKEN_INVALID)A script that checks for exit code 1 after a usage mistake must check for 2.
An unknown command no longer prints the whole help on stdout; it prints the
closest command on stderr:graft: unknown command "complie". Did you mean `graft compile`? Run `graft --help` to list the commands.Every command that prints data now takes
--json:init,doctor,add,
compile,check,content,compilations,asset put,studio invite,
content import,pull,push,mirror,db migrate,migrate,
harden,approvals,approve,deny,branch,branch create,
branch drop,merge,ci changesandci skip-build. It prints one JSON
object on stdout and sends every message to stderr. The object is indented on
a terminal and on one line when piped, sograft doctor --jsonpiped to a
file is now one line. A command run with--jsonthat fails prints one line
of JSON on stderr:{"error", "message", "fix", "details"}, the shape every
Graft error has.graft check --jsonlists each problem with its code and
fix.Also new:
graft help <command>andgraft help <topic>(exit-codes,json,
environment).graft commands --jsondescribes every command, its arguments and flags,
so an agent can learn the CLI in one call.graft addwith no item lists the primitives you can add, instead of
failing withREGISTRY_ITEM_NOT_FOUND.graft db --help,graft ci --help
and the other families print help for every member.--no-inputongraft createandgraft db claim, or
GRAFT_PROMPT_DISABLED=1for every command, never asks a question.- Color follows
NO_COLOR,FORCE_COLOR,CLICOLOR,CLICOLOR_FORCEand
TERM=dumb. - An unexpected error prints one line instead of a stack trace;
GRAFT_DEBUG=1prints the trace. - The CLI turns on Node's compile cache, which makes
graft checkabout 8%
faster on a 48-document project.
Two error codes are added for these, with entries in the error reference and
inexplain_error:USAGE_INVALIDandINTERNAL_ERROR. -
acb4a84: Work with a hosted site from the terminal.
graft login <url>checks a token
made in Studio under Developer, Agents, and saves it in
~/.config/graft/hosts.json(mode 600). The token comes from stdin
(--with-token) or a prompt that does not echo, never from an argument.printf %s "$TOKEN" | graft login https://cms.example.com --with-token graft content list --remote graft api entries -f collection=posts --paginate
--remoteongraft content,graft drafts,graft schema,graft fn,
graft mcp tools,graft mcp callandgraft approvalsruns the same MCP
tools on the site's/api/mcp.GRAFT_URLandGRAFT_TOKENin the
environment do the same without the flag, and--localoverrides them.
Neither is read from.env.graft api <path>calls any Studio API route with the saved token:-X,
-f/-Ffields,-H,--input,--includeand--paginate. It reaches
only the logged-in site, follows no redirects, and needs--yesfor
-X DELETE.graft auth statuschecks each saved token against its site,
graft auth tokenprints one for piping, andgraft logoutforgets one.- A refused token exits 4 with
TOKEN_INVALID; an unreachable site is the new
REMOTE_UNREACHABLE. No token can approve an action, so a remote delete
still exits 3 until a person approves it.
@usegraft/mcpaddsconnectRemote({ origin, token }), aToolClientover
HTTP to a hosted/api/mcp.
Patch Changes
- 3374aab: These packages now need zod 4.6.7 or newer. Earlier 4.x releases can run out of memory while validating a very large array or set that has a size limit.
@usegraft/core
Patch Changes
- 42213aa: Static projects no longer load the Postgres code.
@usegraft/db/staticis a new entry with the SQLite content index, the content diff, the search query check and branch scopes, and no drizzle-orm or Postgres driver behind it. Core, the compiler and the MCP server load the rest of@usegraft/dbonly inside the functions that talk to Postgres. On a 50-page static site,graft content getwent from about 950 ms to about 480 ms. Everything in@usegraft/db/staticis still exported from@usegraft/db. - 3374aab: These packages now need zod 4.6.7 or newer. Earlier 4.x releases can run out of memory while validating a very large array or set that has a size limit.
- Updated dependencies [9a17a95]
- Updated dependencies [42213aa]
- Updated dependencies [acb4a84]
- Updated dependencies [3374aab]
- @usegraft/contracts@1.0.0-beta.9
- @usegraft/db@1.0.0-beta.9
@usegraft/db
Minor Changes
- 42213aa: Static projects no longer load the Postgres code.
@usegraft/db/staticis a new entry with the SQLite content index, the content diff, the search query check and branch scopes, and no drizzle-orm or Postgres driver behind it. Core, the compiler and the MCP server load the rest of@usegraft/dbonly inside the functions that talk to Postgres. On a 50-page static site,graft content getwent from about 950 ms to about 480 ms. Everything in@usegraft/db/staticis still exported from@usegraft/db.
Patch Changes
- Updated dependencies [9a17a95]
- Updated dependencies [acb4a84]
- Updated dependencies [3374aab]
- @usegraft/contracts@1.0.0-beta.9
@usegraft/mcp
Minor Changes
-
1a627ef: Read and write content from the terminal. The new commands run the same MCP
tools an agent calls, in the CLI's own process, so they check the schema,
compile, and file approvals exactly as the agent's call would. With--json,
each prints exactly what the tool returns.Command Tool graft content list [collection]list_collections,list_contentgraft content get <collection>/<slug>get_content, printed as the MDX filegraft content search <query>search_contentgraft content write <collection>/<slug>write_content, from--fileor--datagraft content set <collection> <slug...> --field --valuewrite_contentfor each documentgraft content delete <collection>/<slug>delete_contentgraft drafts,drafts publish,drafts discardlist_drafts,publish_drafts,discard_draftsgraft schemadescribe_schemagraft fn,fn describe,fn runlist_functions,describe_function,run_functiongraft explain <code>explain_errorgraft mcp tools,graft mcp call <tool>any tool, by name graft content get pages/home > home.mdxand
graft content write pages/home --file home.mdxround-trip a document. A
delete, or a destructive function, exits 3 and itsfixnames the exact
command to repeat with--approval <id>once a person has approved it.BREAKING:
graft contentnow lists the documents from the content files
(or from the database, where content is kept there) instead of reading the
Postgres index. It works on the static engine with noDATABASE_URL, and
--jsonprints{ branch, collections: [{ collection, documents }] }.@usegraft/mcpexports the client the CLI uses:connectInProcess(server)
andconnectClient(transport)return aToolClientthat calls tools by name
and rejects with the GraftError a tool failed with
(toolResultToGraftError). -
acb4a84: Work with a hosted site from the terminal.
graft login <url>checks a token
made in Studio under Developer, Agents, and saves it in
~/.config/graft/hosts.json(mode 600). The token comes from stdin
(--with-token) or a prompt that does not echo, never from an argument.printf %s "$TOKEN" | graft login https://cms.example.com --with-token graft content list --remote graft api entries -f collection=posts --paginate
--remoteongraft content,graft drafts,graft schema,graft fn,
graft mcp tools,graft mcp callandgraft approvalsruns the same MCP
tools on the site's/api/mcp.GRAFT_URLandGRAFT_TOKENin the
environment do the same without the flag, and--localoverrides them.
Neither is read from.env.graft api <path>calls any Studio API route with the saved token:-X,
-f/-Ffields,-H,--input,--includeand--paginate. It reaches
only the logged-in site, follows no redirects, and needs--yesfor
-X DELETE.graft auth statuschecks each saved token against its site,
graft auth tokenprints one for piping, andgraft logoutforgets one.- A refused token exits 4 with
TOKEN_INVALID; an unreachable site is the new
REMOTE_UNREACHABLE. No token can approve an action, so a remote delete
still exits 3 until a person approves it.
@usegraft/mcpaddsconnectRemote({ origin, token }), aToolClientover
HTTP to a hosted/api/mcp.
Patch Changes
-
9a17a95: BREAKING:
graftexits with a code that says what kind of failure it was,
and refuses a flag the command does not take.Before, every failure exited 1, and a flag meant for another command was
silently ignored:graft init --applysucceeded and did nothing, which is how
a dry run gets mistaken for a real one. Now:Exit code Meaning 0 It worked 1 It failed; the error says why and what to do 2 The command was called wrong: an unknown command or flag, or a missing argument. Nothing ran 3 A person has to approve the action first ( DESTRUCTIVE_OP_REQUIRES_APPROVAL)4 The credential is missing, wrong, or lacks the access this needs ( UNAUTHORIZED,TOKEN_INVALID)A script that checks for exit code 1 after a usage mistake must check for 2.
An unknown command no longer prints the whole help on stdout; it prints the
closest command on stderr:graft: unknown command "complie". Did you mean `graft compile`? Run `graft --help` to list the commands.Every command that prints data now takes
--json:init,doctor,add,
compile,check,content,compilations,asset put,studio invite,
content import,pull,push,mirror,db migrate,migrate,
harden,approvals,approve,deny,branch,branch create,
branch drop,merge,ci changesandci skip-build. It prints one JSON
object on stdout and sends every message to stderr. The object is indented on
a terminal and on one line when piped, sograft doctor --jsonpiped to a
file is now one line. A command run with--jsonthat fails prints one line
of JSON on stderr:{"error", "message", "fix", "details"}, the shape every
Graft error has.graft check --jsonlists each problem with its code and
fix.Also new:
graft help <command>andgraft help <topic>(exit-codes,json,
environment).graft commands --jsondescribes every command, its arguments and flags,
so an agent can learn the CLI in one call.graft addwith no item lists the primitives you can add, instead of
failing withREGISTRY_ITEM_NOT_FOUND.graft db --help,graft ci --help
and the other families print help for every member.--no-inputongraft createandgraft db claim, or
GRAFT_PROMPT_DISABLED=1for every command, never asks a question.- Color follows
NO_COLOR,FORCE_COLOR,CLICOLOR,CLICOLOR_FORCEand
TERM=dumb. - An unexpected error prints one line instead of a stack trace;
GRAFT_DEBUG=1prints the trace. - The CLI turns on Node's compile cache, which makes
graft checkabout 8%
faster on a 48-document project.
Two error codes are added for these, with entries in the error reference and
inexplain_error:USAGE_INVALIDandINTERNAL_ERROR. -
42213aa: Static projects no longer load the Postgres code.
@usegraft/db/staticis a new entry with the SQLite content index, the content diff, the search query check and branch scopes, and no drizzle-orm or Postgres driver behind it. Core, the compiler and the MCP server load the rest of@usegraft/dbonly inside the functions that talk to Postgres. On a 50-page static site,graft content getwent from about 950 ms to about 480 ms. Everything in@usegraft/db/staticis still exported from@usegraft/db. -
1deb1a7: BREAKING:
@usegraft/sdk-nextno longer supports Next.js 14. Its peer range isnext@^15.0.0 || ^16.0.0, and CI no longer builds a Next.js 14 app. Next.js 14 gets no security fixes, and its last release, 14.2.35, has two critical remote code execution advisories that will not be fixed on 14.The adapter still runs on 14.2, so a project that cannot upgrade yet keeps working. pnpm and bun print a peer warning on install, and npm refuses unless you pass
--legacy-peer-deps.withGraftnow says that 14 is not supported and links to "Run Graft on Next.js 14" in the Next.js guide, which lists what differs on 14. Upgrade to 15.5.24 or 16.3.3 or later.The MCP
list_packagestool says@usegraft/sdk-nextis for Next.js 15 or 16. -
3374aab: These packages now need zod 4.6.7 or newer. Earlier 4.x releases can run out of memory while validating a very large array or set that has a size limit.
-
Updated dependencies [9a17a95]
-
Updated dependencies [42213aa]
-
Updated dependencies [acb4a84]
-
Updated dependencies [42213aa]
-
Updated dependencies [3374aab]
- @usegraft/contracts@1.0.0-beta.9
- @usegraft/db@1.0.0-beta.9
- @usegraft/core@1.0.0-beta.9
- @usegraft/compiler@1.0.0-beta.9
- @usegraft/mdx-safety@1.0.0-beta.9
- @usegraft/registry@1.0.0-beta.9
- @usegraft/assets@1.0.0-beta.9
@usegraft/mdx-safety
Minor Changes
-
42213aa:
graft checkandgraft compileskip the executable-MDX scan for a body they have already scanned. Results are kept under$XDG_CACHE_HOME/graft/mdx-safety(by default~/.cache/graft/mdx-safety), outside the project, and are keyed on the body and on the version of every package the scanner runs, down its whole dependency tree. A repeatgraft checkon a 50-page site went from about 1.7 s to about 0.3 s.@usegraft/mdx-safetyaddsscanMdx, theMdxScanCacheinterface,mdxScanVersion,mdxScanPackagesandscanVersionOf, and the compiler'svalidateDocuments,compileandcompileStatictake an optionalmdxScanCache. Studio saves and MCP writes do not pass one, so they scan every body every time.
Patch Changes
- Updated dependencies [9a17a95]
- Updated dependencies [acb4a84]
- Updated dependencies [3374aab]
- @usegraft/contracts@1.0.0-beta.9
@usegraft/registry
Patch Changes
- 3374aab: These packages now need zod 4.6.7 or newer. Earlier 4.x releases can run out of memory while validating a very large array or set that has a size limit.
- Updated dependencies [9a17a95]
- Updated dependencies [acb4a84]
- Updated dependencies [3374aab]
- @usegraft/contracts@1.0.0-beta.9
@usegraft/sdk-astro
Patch Changes
- Updated dependencies [42213aa]
- @usegraft/db@1.0.0-beta.9
- @usegraft/sdk-core@1.0.0-beta.9
@usegraft/sdk-core
Patch Changes
- Updated dependencies [9a17a95]
- Updated dependencies [42213aa]
- Updated dependencies [acb4a84]
- Updated dependencies [3374aab]
- @usegraft/contracts@1.0.0-beta.9
- @usegraft/db@1.0.0-beta.9
- @usegraft/core@1.0.0-beta.9
@usegraft/sdk-next
Minor Changes
-
1deb1a7: BREAKING:
@usegraft/sdk-nextno longer supports Next.js 14. Its peer range isnext@^15.0.0 || ^16.0.0, and CI no longer builds a Next.js 14 app. Next.js 14 gets no security fixes, and its last release, 14.2.35, has two critical remote code execution advisories that will not be fixed on 14.The adapter still runs on 14.2, so a project that cannot upgrade yet keeps working. pnpm and bun print a peer warning on install, and npm refuses unless you pass
--legacy-peer-deps.withGraftnow says that 14 is not supported and links to "Run Graft on Next.js 14" in the Next.js guide, which lists what differs on 14. Upgrade to 15.5.24 or 16.3.3 or later.The MCP
list_packagestool says@usegraft/sdk-nextis for Next.js 15 or 16.
Patch Changes
- Updated dependencies [9a17a95]
- Updated dependencies [42213aa]
- Updated dependencies [acb4a84]
- Updated dependencies [42213aa]
- Updated dependencies [3374aab]
- @usegraft/contracts@1.0.0-beta.9
- @usegraft/db@1.0.0-beta.9
- @usegraft/mdx-safety@1.0.0-beta.9
- @usegraft/sdk-core@1.0.0-beta.9
@usegraft/sdk-react
Patch Changes
- Updated dependencies [9a17a95]
- Updated dependencies [acb4a84]
- Updated dependencies [3374aab]
- @usegraft/contracts@1.0.0-beta.9
- @usegraft/content-api@1.0.0-beta.9
- @usegraft/sdk-core@1.0.0-beta.9
@usegraft/sdk-react-router
Patch Changes
- Updated dependencies [42213aa]
- @usegraft/db@1.0.0-beta.9
- @usegraft/sdk-core@1.0.0-beta.9
@usegraft/sdk-sveltekit
Patch Changes
- Updated dependencies [42213aa]
- @usegraft/db@1.0.0-beta.9
- @usegraft/sdk-core@1.0.0-beta.9
@usegraft/sdk-tanstack-start
Patch Changes
- Updated dependencies [42213aa]
- @usegraft/db@1.0.0-beta.9
- @usegraft/sdk-core@1.0.0-beta.9
@usegraft/studio
Patch Changes
- Updated dependencies [9a17a95]
- Updated dependencies [42213aa]
- Updated dependencies [acb4a84]
- Updated dependencies [42213aa]
- Updated dependencies [3374aab]
- @usegraft/contracts@1.0.0-beta.9
- @usegraft/db@1.0.0-beta.9
- @usegraft/core@1.0.0-beta.9
- @usegraft/compiler@1.0.0-beta.9
- @usegraft/mdx-safety@1.0.0-beta.9
- @usegraft/assets@1.0.0-beta.9