REA 6.8.0: What Changed (and What Breaks Your Setup)
Last verified 2026-10-26, rea-agents 6.8.0 · Non-affiliated: reaguide.online is an independent tutorial site with no relationship to the REA developers.
TL;DR: The rea 6.8.0 changelog landed on Oct 25, 2026 (GitHub tag 08:36 UTC, npm 09:07 UTC) and it is the biggest rea 6.8.0 release of the October run: 1,740 commits and 497 merged PRs per the developer-published rea 6.8.0 changelog record, the MCP tool surface growing from 207 to 229 in our count, and four headline breaking changes — two of which we reproduced on our own machine within a day of release. The two rea 6.8.0 changes that bite most users: the evidence contract re-computes every evidence_id (so cross-version IDs no longer line up), and the supported Node range tightened, which trips rea doctor on Node 22.22 and below. Agent environments ship for the first time in a rea 6.8.0 npm release — our AgentEnv page has the full before/after. If you pin (as our setup guide recommends), read the rea 6.8.0 changelog migration checklist below before you bump.
Where 6.8.0 sits in the release timeline
All rea 6.8.0 changelog dates from the developer-published GitHub releases and the npm registry, fetched 2026-10-26:
- 6.0.0 — Oct 8 · 6.1.0–6.4.0 — Oct 9–11 · 6.5.0 — Oct 14 · 6.7.0 — Oct 18
- 6.8.0 — Oct 25, 2026 (tag
rea-agents-6.8.0published 08:36 UTC; npmrea-agents@6.8.009:07 UTC) — that makes seven releases in October so far, and the cadence is exactly why we say never install bare@latest.
The full rea 6.8.0 changelog below is organized by what actually breaks, then what the rea 6.8.0 release adds, with our own test runs separated from developer-published notes.
The two changes that bite: Node range and evidence IDs
Node engines tightened. Per the developer-published changelog, rea 6.8.0 requires a runtime satisfying ^22.23.4 || ^24.22.1 || >=26.12.1; Node 23 and 25 are unsupported [official changelog]. Our lab runs the rea 6.8.0 package on Node 22.22.0: it installs fine, and rea doctor immediately reports missing_dependency with the message "Install Node.js 22.x (>=22.23.4)…". This is the single most common rea 6.8.0 upgrade stumble — fix Node first, then upgrade REA — the rea 6.8.0 changelog says the installer will not do it for you. Our setup guide carries the same warning with the full version matrix.
Every rea 6.8.0 evidence_id is recomputed. We ran the same two analysis objects under both versions back to back (same binary sha256 36cdabb6…, same HAR sha256 d2e45b8d…):
inspect-binary-layouton the same binary: 6.7.0 stampedev_79a48ab6…→ 6.8.0 stampsev_5cad21e9933f…inspect-web-network-captureon the same HAR: 6.7.0 stampedev_a94aa727…→ 6.8.0 stampsev_d864f4a7df7c…
The rea 6.8.0 changelog re-hash left the analytical payloads unchanged — the IDs moved because the contract fields moved. That is the third rea release in a row where re-running the same command produces new IDs (6.4→6.7 rewrote them, now 6.7→6.8 again), and it is why our rea 6.8.0-era evidence hub pins a version to every record: a rea 6.8.0 changelog time-series of IDs only means something if every row was produced by a known build. Old bundles are not orphaned this time, though: a bundle exported under 6.7.0 re-imports successfully under 6.8.0 in our test (39,142 bytes, records 1) — the 6.4→6.7 evidence_integrity_mismatch hard refusal did not recur.
bash — lab@realearn (lab-env-680, same inputs under both versions) verified: ran 2026-10-26
$ npx rea inspect-binary-layout lab-env/hello # sha256 36cdabb6…4207352 evidence_id: ev_5cad21e9933f… (6.7.0: ev_79a48ab6… — contract fields re-hashed) $ npx rea inspect-web-network-capture lab08-session.har har --format json evidence_id: ev_d864f4a7df7c… (6.7.0: ev_a94aa727… — same file, new ID) $ npx rea evidence-export hello-bundle-670.json /tmp/reexport.json status: exported — 6.7.0 bundle re-imports cleanly under 6.8.0 (records 1, 39142 bytes)
One more fail-closed edge in the rea 6.8.0 changelog we hit: evidence-export now refuses a single Evidence record (non-bundle) with a wrong-kind error pointing you to the MCP export_evidence_bundle tool — CLI form takes bundles, records go through MCP.
rea 6.8.0 changelog — the four headline breaking changes, tested
The developer-published rea 6.8.0 changelog release body lists 21 breaking-change entries. Four carry the user-visible weight; we tested what our Linux lab can reach and marked the rest.
analyze_functiondefaults to a retained summary (#5660). The MCP tool now returns a summary by default; ask fordetail: "complete"for the old inline dossier. On the CLI,rea functionkeeps its complete default — but--detail summaryrequires--evidence_output(snake_case; kebab-case returns Unknown flag). Missing the flag is refused at schema level, verbatim: "Summary delivery requires --evidence_output so complete source Evidence remains available." We reproduced the rea 6.8.0 refusal and the correct-spelling path; the summary success path itself needs a deep-analysis engine our lab does not run (provider_unavailable, fail-closed — no silent degradation).--format jsonltail-record framing (#5629). JSON Lines output now ends with a$rea: "jsonl/v1"metadata record after the rows, and only object collections (rows / items / records / occurrences) are eligible. Feed the rea 6.8.0 jsonl writer something else and it refuses with a structured error, not a stack trace:unreadable_output, reason "JSON Lines requires an array or one explicit rows, items, records, or occurrences collection", remediation pointing at--format jsonor--filter-output. We fed itinspect-binary-layoutoutput and got exactly that refusal.- Accessibility node values accept numbers and booleans (cc90771, #6759). Consumers that assumed text-only node values must be updated [official changelog]. Skipped in our rea 6.8.0 lab — no macOS accessibility sample — so we state it only as published, untested.
- Interface Builder graph identities move to decimal table UIDs (6fbe67d). Authored
objectID/object-idbecome attributes; update persisted graph lookups [official changelog]. Skipped in our rea 6.8.0 lab — no macOS storyboard/nib sample.
bash — lab@realearn (lab-env-680) verified: ran 2026-10-26
$ npx rea function hello main --detail summary invalid_request / issues[0]: path evidence_output, invalid_value message: "Summary delivery requires --evidence_output so complete source Evidence remains available." $ npx rea function hello main --detail summary --evidence_output /tmp/fn-summ.json provider_unavailable # no ghidra/hopper/ida/kuna on this host — fail-closed
The other breaking changes, briefly [official changelog]
Not reproduced in our rea 6.8.0 lab; summarized from the developer-published release body only: Frida instrument-with-frida JSON returns canonical Evidence directly (read normalized_result.cleanup_error); reconstruction proof records no longer establish verified ledgers without implementation/revision bindings; Mach-O imports may carry a null name (distinguish via raw_name/name_status); browser-storage comparisons stay unknown until both sides are recaptured; environment-serve serves derived state by default (--replay-only for stateless replay; stop-summary reads state, not state_evidence_id); MCP input schemas default to compact (REA_MCP_INPUT_SCHEMA_PROFILE=full restores the full advertisement); plus narrower schema relaxations — null timestamps and console argument types, WebSocket opcode handling, APK locale selector format (es-419, not es-r419), XML plist unknown-scalar wrapper, Swift binding nullability, and reference-source rootFailure reporting. Audit any consumer code that reads these fields before bumping.
The numbers: 229 MCP tools and two new configurable ceilings
Our rea 6.8.0 changelog baseline, measured with rea mcp doctor --format json on 2026-10-26: 229 tools (expected == observed, missing none, duplicates none), 6 prompts, catalog digest fe938a7c…. That rea 6.8.0 count is +22 over the 207 we measured on 6.7.0 on 2026-10-24 — and CLI commands grew 170 → 175, with the five additions being the environment commands (environment-build/serve/export/compare) plus decode-signal-recording. If your MCP client caches a rea 6.8.0 tool list, refresh it.
Two ceilings became explicit and configurable, and we pinned both down:
REA_MCP_MAX_RESPONSE_BYTES(#6005): default 10 MiB (10485760) — and it is a floor, not a knob-down: setting 1 refuses at startup with "REA configuration is invalid: REA_MCP_MAX_RESPONSE_BYTES: Too small: expected number to be >=10485760". Setting 20 MiB comes up healthy. Large-response truncation is now a documented, tunable rea 6.8.0 boundary.REA_BRIDGE_MAX_REQUEST_BYTES(#6376): default 16 MiB (16777216), legal range 7464 to 536870887. An out-of-range rea 6.8.0 value adds aruntime-configurationcheck item to doctor with the full constraint text in the error.
Both rea 6.8.0 defaults and ranges are now filled into the environment-variables section of our setup guide — the values we previously could only call "unverified" are measured.
bash — lab@realearn (mcp doctor + ceiling probes) verified: ran 2026-10-26
$ npx rea mcp doctor --format json healthy: true, server rea@6.8.0, protocol 2025-11-25 tools expected=229 observed=229 missing=none unexpected=none duplicates=none $ REA_MCP_MAX_RESPONSE_BYTES=1 npx rea mcp doctor REA configuration is invalid: REA_MCP_MAX_RESPONSE_BYTES: Too small: expected number to be >=10485760
What the rea 6.8.0 changelog adds [official changelog]
The additive side of the rea 6.8.0 changelog, per the developer-published rea 6.8.0 release notes — the rea 6.8.0 changelog items below are only lab-verified where marked:
- Agent environments, first npm release. Build local agent environments from network captures, browser scenarios or a prompt, then serve derived reads and evidence-gated writes. Not just a rea 6.8.0 changelog line — fully lab-tested: see our AgentEnv before/after.
- More shipped formats: GPU code objects (static CUDA/HIP), BEAM, CPython bytecode, Unity IL2CPP metadata (versions 24/27), Godot PCK, PyInstaller archives, Node.js SEA blobs, devicetrees, plus PE/ELF extras (Authenticode certificates, TLS callbacks, ELF notes, kernel-module metadata) [official changelog]. The
inspect-il2cpp-metadatacommand appears in our installed --help listing; we have no Unity sample, so format coverage itself is published-not-tested for us. - Large-investigation focus: retained summaries, selected fact queries, configurable recovery limits, and row-oriented CLI exports [official changelog].
- Engine workflow additions: bounded single Ghidra decompilation without closing the session, GameCube/Wii DOL executables, objdump disassembly by symbol (objdump path verified in our lab: section headers and disassemble-main both returned clean evidence IDs) [official changelog + lab].
- Opt-in Streamable HTTP transport for MCP (#4955) and FreeBuff setup registration (first appearance in 6.8.0; the release body itself notes native FreeBuff loading remains unverified) [official changelog]. The HTTP side we exercised indirectly:
environment-servespeaks streamable HTTP on 127.0.0.1 in our lab run. - State learning: write-model learning including PR #7034's derived-value learning from write responses — merged Oct 25 on main, shipped in this release. Our AgentEnv page covers what it changes.
rea 6.8.0 changelog migration checklist (6.7.0 → 6.8.0)
- Check Node first: 22.23.4+ / 24.22.1+ / 26.12.1+ — Node 23 and 25 are out. Upgrade before installing; the installer will not do it for you.
- Pin, don't ride
@latest— the rea 6.8.0 changelog is the seventh October release — seven October releases and counting. Pinrea-agents@6.8.0(or your tutorial's stated version). - Re-derive every stored evidence_id under 6.8.0 if you compare IDs across runs; old bundles still re-import, but new IDs will not match old notes.
- Audit analyze_function consumers: MCP default is now a summary — set
detail: "complete"where you need the dossier; CLI--detail summaryneeds snake_case--evidence_output. - Switch jsonl parsing to expect the
$rea:"jsonl/v1"framing record, and only point jsonl at real object collections. - Refresh MCP client tool lists (207 → 229) and re-run
rea doctor— expect the newruntime-configurationcheck item if your bridge/response byte settings are unset or invalid. - If you use environment-serve: it now derives state by default; add
--replay-onlywhere you want the old stateless behavior, and read stop-summarystateinstead ofstate_evidence_id.
FAQ
Why does `rea function --detail summary` refuse to run without an evidence output?
That is the intended 6.8.0 contract, not a bug: a summary view is only allowed when the complete source Evidence is still exported. We reproduced the refusal — `rea function hello main --detail summary` is rejected with "Summary delivery requires --evidence_output so complete source Evidence remains available." Note the flag spelling is snake_case `--evidence_output`; `--evidence-output` returns Unknown flag. The CLI default stays complete.
Are my old evidence_id values still valid after upgrading to 6.8.0?
They are readable but no longer comparable. Because REA stamps content-addressed IDs, the 6.8.0 evidence-contract fields feed the hash and every ID is recomputed: the same binary produced ev_79a48ab6… under 6.7.0 and ev_5cad21e9933f… under 6.8.0 in our back-to-back runs. Bundles survive: a 6.7.0 export re-imports cleanly under 6.8.0 (unlike the 6.4→6.7 hard refusal). Cross-version ID comparisons are meaningless — including ours, which is why every walkthrough page states its verification version.
Why does rea doctor report missing_dependency after I upgrade to 6.8.0?
6.8.0 tightened the supported Node range to ^22.23.4 || ^24.22.1 || >=26.12.1 — Node 23 and 25 are unsupported. Node 22.22.0 still installs, but doctor reports missing_dependency ("Install Node.js 22.x (>=22.23.4)…"), which is exactly what our lab machine shows. Upgrade Node before updating REA; the installer does not upgrade it. The other doctor findings on our host (unsupported host, missing engines) are unchanged from 6.7.0.
Why does `--format jsonl` fail on binary-layout output?
JSON Lines now only emits object collections (rows, items, records or occurrences) plus a $rea:"jsonl/v1" framing record. inspect-binary-layout output is not a supported collection, so 6.8.0 refuses it fail-closed with code unreadable_output and a remediation line: use --format json for the whole document, or select one record collection with --filter-output. We reproduced the exact structured error in the lab.
Related: the 6.5–6.7 changelog: what changed · AgentEnv: capture to MCP server (6.8.0 before/after) · the setup guide (Node version warning, env var defaults) · the REA evidence contract · all our evidence practices