chore(deps): Update development #142
No reviewers
Labels
No labels
dependencies
major
security-pin
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
trails-cool/trails!142
Loading…
Reference in a new issue
No description provided.
Delete branch "renovate/development"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
1.12.0→1.13.019.2.8→19.3.0Release Notes
Fission-AI/OpenSpec (@fission-ai/openspec)
v1.13.0Compare Source
Minor Changes
#1783
8ba4ac1Thanks @clay-good! - Apply now says when a change has no delta specs. Apply gates on the schema'sapply.requiresalone, so a change whosetasks.mdwas written ahead of its specs read as ready to implement even though it had no spec deltas at all — the stateopenspec validaterejects.openspec instructions applynow reports that gap as a warning (text and--json), naming both ways out: write the specs, or declareskip_specs: true. Changes that have specs, declareskip_specs, or are still blocked on their own required artifacts are unaffected.A blocked apply also names the whole chain now, not just the first hop: a change holding only a proposal reported
Missing artifacts: taskswhile the specs thattasksdepends on were missing too, which reads as an instruction to write the tracking file straight from the proposal. The full build order is reported asmissingPrerequisitesin--json. The remedies these messages give are CLI commands (openspec instructions <artifact> --change <name>) rather than theopenspec-continue-changeskill, which thecoreprofile never installs.Patch Changes
#1798
aedf4d0Thanks @dwin-gharibi! - Stop archive rewriting the inside of fenced code blocks. The final assembly inbuildUpdatedSpeccollapsed runs of blank lines across the whole rebuilt document to tidy the seams between the slices it rejoins, but the pass was not fence-aware, so a requirement documenting a sample with two or more consecutive blank lines had that sample silently edited on archive, and edited again on every later archive. That matters wherever whitespace carries meaning: YAML block scalars, Python, expected-output fixtures, Markdown inside Markdown. Blank runs are now collapsed only outside fenced blocks, using the samebuildCodeFenceMaskevery other structural pass in the module already used. Behavior outside fences is unchanged, including that only a truly empty line counts as blank, so a line of spaces is still never a collapse boundary. Fixes #1797.#1800
fadac3eThanks @dwin-gharibi! - Read a removal or rename written with*or+as the operation it is. CommonMark opens a bullet list with-,*or+, but the bullet form of## REMOVED Requirementsand theFROM:/TO:lines of## RENAMED Requirementsboth hardcoded-, so either other marker matched nothing at all. The operation then silently never happened:openspec validatereported the change valid,openspec archiveexited 0 with "Specs updated successfully", and the requirement that was supposed to be deleted or renamed stayed exactly as it was. The change archived as complete, leaving the spec quietly disagreeing with the delta that was meant to update it. Both forms now accept[-*+], theFROM:/TO:bullet stays optional, and the plain### Requirement:header form is unchanged. Fixes #1799.#1802
8251763Thanks @dwin-gharibi! - Apply every delta section, not just one copy of each. A delta file that wrote the same header twice, two## ADDED Requirementssections say, silently kept one of them: sections were collected into a record keyed by title, so a repeated title overwrote the earlier body, and the case-insensitive lookup returned only the first entry that folded to the target, so## ADDED Requirementsbeside## Added Requirementsleft the second unread. Every requirement under the discarded copy was gone before validation or the merge could see it, soopenspec validatereported zero issues andopenspec archiveexited 0 having applied less than the author wrote, then moved the change to the archive with the live spec quietly diverging from what was reviewed. Sections are now kept as a list and every body whose title matches is read, each keeping its own line numbers so diagnostics still point at the right copy. Rename pairs are read per section, so aFROM:in one copy of the header can never pair with aTO:in another. An author does not have to repeat a header on purpose to hit this: a delta documenting OpenSpec's own syntax inside a fenced example produces the duplicate on its own. Fixes #1801.#1657
6d2dbe6Thanks @clay-good! - Load project context before proposal planning, using the selected project or store root and honoring config precedence and validation limits. When no root exists, stop without writing files and offer initialization instead of creating an implicit root.#1700
3915db7Thanks @clay-good! - Teach the generated guidance how to find and read a project's specs.openspec list --specsappeared in no generated skill, command, or artifact instruction, whileopenspec list --json(the in-flight change list) appeared throughout, so an agent asked to read the existing specs first enumerated changes instead and reported the step complete against the wrong object. The explore skill and command now list the spec inventory alongside the change list and say which is which, and the spec-drivenproposalandspecsinstructions name the command where they ask for existing capabilities to be researched and for a delta's path to match an existing one. Both steps carry--store "<id>", and capabilities are read withopenspec show "<spec-id>" --type spec --json --no-scenariosso the read resolves against the same root the listing came from. Fixes #1689.The filtered read is only an overview. Agents read relevant specs in full, including scenarios, before deciding what is already covered or what should change.
#1779
3c6d318Thanks @clay-good! -openspec initandopenspec updatenow name the workflows your profile left out and how to add them, so a command that was never installed no longer reads as a broken setup.#1808
d9e1a28Thanks @dwin-gharibi! - Stopopenspec updatereporting a tool up to date while a damaged command file sits on disk. The check read thegeneratedByversion marker in a tool's skill files alone, which proves only that the skill files came from this CLI and says nothing about the command files written beside them, so a hand-edited or truncated command file left update printing "All 1 tool(s) up to date" and repairing nothing; the file could be restored only by knowing to pass--force. A deleted command file was already detected, so the claim was false only for a damaged one. Update now also compares command-file content, using the comparison that already existed and was simply never consulted once a skill file supplied a version. Scoped to tools configured for both skills and commands, so the commands-only path is unchanged, and skipped when the delivery mode generates no commands for the tool. Fixes #1807.#1782
c170dc7Thanks @clay-good! - Fixretire_capabilitiesrefusing any spec whose scenario bullets wrap onto a second line. The continuation line was counted as content the merge could not account for, which blocked the retirement and suppressed the hint that names the marker (#1780). A spec bulleted with+is covered too: naming only-and*as list markers reported every one of its scenario bullets as unaccounted content, so that capability could not be retired at all either.react/react (react-test-renderer)
v19.3.0Compare Source
New React Features
<ViewTransition />: Adds<ViewTransition />andaddTransitionTypeAPIs to power View Transition animations in React (@sebmarkbage, @jackpope, @gaearon: #31975, #31987, #31996, #31999, #32001, #32002, #32028, #32029, #32031, #32034, #32038, #32041, #32050, #32090, #32105, #32254, #32379, #32422, #32462, #32540, #32545, #32585, #32599, #32611, #32612, #32617, #32651, #32653, #32656, #32664, #32699, #32723, #32734, #32751, #32752, #32760, #32761, #32764, #32772, #32790, #32819, #32820, #32822, #32833, #32849, #33094, #33191, #33200, #33206, #33293, #33330, #33331, #33332, #33357, #33362, #33433, #33576, #34374, #34450, #34481, #34500, #34502, #34510, #34511, #34539, #35567, #35564, #35485, #35380, #35063, #35060, #34676, #36917, #35337, #35520)<Fragment />to support composable platform behavior (@jackpope, @sebmarkbage, @eps1lon, @Dhakshin2007, @chirokas, @teamleaderleo, @fallintoplace: #32465, #32613, #32619, #32654, #32660, #32682, #32722, #32813, #32814, #33056, #33058, #33093, #34069, #34103, #34544, #34545, #37062, #37061, #37060, #36047, #36010, #35642, #35641, #35637, #35630, #34935, #37457, #37408, #37326, #37251, #37171, #37169, #37168, #37167, #37166, #37165, #37164, #37163, #37162, #37161, #37160, #37125, #37063)New React DOM Features
browser(): a newreact-domAPI that returns a usable which errors during server rendering and resolves in the browser.use(browser())inside a<Suspense>boundary marks a subtree as browser-only without reporting a recoverable error (@gnoff: #37143, #37241)onBrowserBailoutoption to thereact-dom/serverAPIs to observe when a subtree defers to the browser (@gnoff #37193)Notable changes
use()conditionally (@hoxyq, @eps1lon: #37104, #37203, #37491)All Changes
React
lazy()(@sophiebits #36965)memo()comparison function take effect (@sophiebits #36964)$$typeofin Performance Tracks (@eps1lon #35679)-) instead of en dash for removed props in Performance Tracks (@eps1lon #35649)useSyncExternalStoremissing store mutations that happened while an Activity tree was hidden (@sophiebits #36947)<Activity>trees (@ronnakamoto #34983)<Offscreen>component in error messages (@rickhanlonii #35763)use()(@hoxyq, @eps1lon: #37104, #37203, #37491)useDeferredValuegetting stuck (@gaearon #36134)useActionStateerror message to say "action state" instead of "form state" (@rickhanlonii #35790)getNearestMountedFiber(@sebmarkbage #35578).defaultexport of aReact.lazyas the canonical value (@sebmarkbage #34906)useEffectEventreads latest values inforwardRefandmemo()components (@eps1lon #34831)React DOM
sourceonto the synthetictoggleevent (@lazerg #37389)<select>parser (@josepharhar #34804)defaultValuefortype="number"inputs to match other input types (@sophiebits #36980)innerHTMLwhen it hasn't changed (@sophiebits #36949)nonceoption inReactDOM.preloadModule()(@UditDewan #36851)fetchPriorityfor module resources (@TheAlexLichter #36835)credentiallessiframe attribute (@vmx906 #36322)credentiallessas a recognized boolean attribute for iframes (@vmx906 #36148)finishedTaskfrom callingcompleteAllmultiple times (@gnoff #36287)maskTypeSVG prop (@sleitor #35921)onFullscreenChangeandonFullscreenErrorevents (@chirokas #34621)submitterinsubmitevents (@eps1lon #35590)onResetwhen automatically resetting forms (@eps1lon #35176)FormDatasubmitterparameter (@jenseng #29028)resizeevents until the next frame (@eps1lon #35117)React Server
nonceto rendered import maps (@mattcosta7 #37339)onBrowserBailoutoption to observe subtrees that defer to the browser (@gnoff #37193)react-dom/serverhanging on Deno (@fraidev #35235)nonceattributes (@MaxwellCohen #37030)onAllReadyafter the shell errored (@eps1lon #36903)modulepreloadtracking (@fallintoplace #36564)nextSegmentIdafter the prelude flush (@gaojude #36779)referrerPolicyin image preload headers (@ulises-jeremias #36803)use()of a rejected Flight chunk (@lubieowoce #36544)use()to the owner stack and debug task (@eps1lon #35226)useIdtracking on replay (@gnoff #35518)createSuspenseBoundarypath (@sebmarkbage #35087)react-dom/server(@RiskyMH #34193)React Server Components
RangeErrorfrom exponential debug info growth (@unstubbable #37481)pending_weakto the Flight thenable protocol (@acdlite #37154).thenwithObject.defineProperty(@eps1lon #37109)Promisestatics in debug info (@gaearon #36969)toJSON(NodeBuffer) (@unstubbable #36873)JSON.stringifyfor faster serialization (@mhart #36795)FormDataentries indecodeReplyFromBusboy(@unstubbable #36468)AggregateError.errors(@eps1lon #36156)Blobdeserialization is not aBlob(@eps1lon #36055)Error.cause(@eps1lon #35810)transferReferencedDebugInfoduring debug info resolution (@unstubbable #35795)unstable_allowPartialStreamoption to Flight Client (@unstubbable #35731)encodeReplyfor JSX with temporary references (@unstubbable #35730)renderToPipeableStream(@feedthejim #35724)visitAsyncNodewith deep async chains (@unstubbable #35612)request.timeOriginviaoptions.startTime(@lubieowoce #35598)evalis disabled in the dev environment (@eps1lon #35661)unsafe-eval(@eps1lon #35650)react-markuptypes for server references (@eps1lon #35634)toStringon Server Functions (@sebmarkbage #35345)react-server-dom-webpack/*.unbundledto privatereact-server-dom-unbundled(@eps1lon #35290)thenfunctions in Flight replies (@sebmarkbage #35289)hasReadableflag in Node.js clients' debug channel (@unstubbable #35039)startTimeas an option (@sebmarkbage #34912)ArrayBuffererror when streaming typed arrays (@unstubbable #34849)displayNameof Promise instances on the server (@sebmarkbage #34825)asattribute for stylesheets (@unstubbable #34760)toJSONin debug path and omit wide arrays (@sebmarkbage #34759)<Activity>(@eps1lon #34697)Configuration
📅 Schedule: (in timezone Europe/Copenhagen)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Mend Renovate.