Skip to content

Release prerelease packages (next) - #3079

Open
github-actions[bot] wants to merge 1 commit into
nextfrom
changeset-release/next
Open

Release prerelease packages (next)#3079
github-actions[bot] wants to merge 1 commit into
nextfrom
changeset-release/next

Conversation

@github-actions

@github-actions github-actions Bot commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to next, this PR will be updated.

⚠️⚠️⚠️⚠️⚠️⚠️

next is currently in pre mode so this branch has prereleases rather than normal releases. If you want to exit prereleases, run changeset pre exit on next.

⚠️⚠️⚠️⚠️⚠️⚠️

Releases

@ethlete/components@1.0.0-next.60

Major Changes

  • 8b90cd4 Bracket: a relayout now animates, with new thirdPlaceTopOffset, finalRoundHeaderGap, alignRoundHeaders and focusInset settings and a --et-bracket-move-duration token; BracketLayout.drawEdges now returns a BracketDrawing instead of an SVG string.
  • 59adb91 Bracket pick card: per-side pick marks, a note line, a readonly results mode and slot wording from
    provideBracketLabels. Breaking: the unresolvableLabel and unavailableLabel inputs are gone.
  • 4033412 Breaking: three features are opt-in. Import MENU_SEARCH_IMPORTS for etMenuSearch, register provideSchedulerEditSurface() for the default appointment editor, and provideStreamPip() for picture-in-picture on player slots.

Minor Changes

  • 40f6464 Bracket: add migrateBracketPicks() so a pick follows its participant when a pairing changes, plus realParticipantOutranksPick and keepPickWhileFeederSideIsOpen on resolveBracketSlot().
  • c6cd941 Bracket: add a framework-free prediction graph and resolver, prediction-aware slot states, an operable pick card, and focused round layout controls.
  • eb7135a Standings: add <et-standings-pick>, a group table a viewer reorders by drag or arrow keys, plus standingPickOutcome and standingPickStartOrder in @ethlete/bracket.

Patch Changes

  • 56d8504 mirroredSingleEliminationBracketLayout's JSDoc now describes the fold as it works: it stops at the
    first round it cannot halve, and that round and every later one are drawn whole in the middle.
  • edb7e77 An et-button keeps a tabindex its consumer set on the element. The host binding no longer removes it, so an opted-out control such as the scrollable's navigation buttons stays out of the tab order.
  • 4033412 Color input: an empty string reads as unselected and colorContrast shares the picker's parser. A pasted OTP keeps its digits through separators, and choice-field support messages animate in severity order.
  • 4033412 Range inputs no longer spin forever registering a side in development, generateBracketDataForEthlete accepts a stage whose leading rounds are empty, and forms and the calendar report a misplaced headless piece with an actionable error.
  • 4033412 Focus follows the keyboard again: calendar arrow keys move DOM focus, the cascader sheet keeps it while drilling, a suffix-button icon click no longer steals it, and table Enter drills before it clicks the row.
  • 4033412 Menu search keeps the runtime metadata Angular needs for its directives, and the phone input imports only the six select declarations its template uses.
  • 4033412 Component CSS now loads with the feature that needs it. Calendar, dropzone, overlay, scheduler, select, cascader, table and the rich text editor ship none of their opt-in chrome unused, and related components share one stylesheet.
  • 4033412 Toggletip follows a dismissal as it starts and re-opens during the leave transition; Escape dismisses a hover-shown tooltip from anywhere without blocking a dialog behind it.
  • 4033412 Command palette: the search field drops aria-controls and reports aria-expanded="false" with no results, and etCommandPaletteShortcut closes a palette opened through injectCommandPalette() instead of stacking one.
  • 4033412 Table selection checkboxes carry their accessible names again, the grid's default remove button emits the item's remove output, and pagination clamps a page past the end to the last one.
  • 291e658 et-match-participant draws the participant's first letter when an emblem is missing or fails to load, and
    letterboxes a non-square logo instead of cropping it. A TBD slot stays blank.
  • 480a1ca A nav tab link that a user reached with Tab follows on Enter again - the tab bar no longer swallows a key it does not act on - and Space no longer follows a disabled link.
  • 4326376 Overlays can be mounted passive and are then skipped as the top layer, so a dialog still closes on a backdrop press while a tooltip shows inside it.
  • 0952147 Overlay: a breakpoint strategy switch now adds or removes the arrow and the drag handle with the strategy, instead of keeping the ones the overlay mounted with.
  • 6c744bb defineQueryForm: branch() now debounces and runs the reset graph like the source form and exposes liveValue; the filter overlay applies liveValue on submit.

@ethlete/agent-rules@0.1.0-next.15

Minor Changes

  • 2178b4f Three skills vendored from mattpocock/skills: grilling, domain-modeling, and the grill-with-docs entry point that runs both.
  • 2178b4f New opt-in subagent-model-policy hook: a Claude Code subagent call must name its model, and fable asks the user first. The new subagent-models rule says which model fits which task.

Patch Changes

  • 5e44c17 The handoff skill now tells the agent to name only its own invocation form, so a saved handoff no longer reports the Claude Code and Codex commands side by side.
  • b9ec4bf A handoff is now written only when work is actually left: the handoff skill tests for it first, and the context-warning hook's auto-mode escalation no longer forces a file.
  • 848482e context-warning hook: the critical tier now asks the agent to finish or hand off instead of forcing a handoff, and every later prompt repeats the remaining budget.
  • e7e4604 Context warnings now distinguish sub-agent pressure from the main session and track each thread independently.

@ethlete/bracket@1.0.0-next.1

Minor Changes

  • 8b90cd4 Bracket: a relayout now animates, with new thirdPlaceTopOffset, finalRoundHeaderGap, alignRoundHeaders and focusInset settings and a --et-bracket-move-duration token; BracketLayout.drawEdges now returns a BracketDrawing instead of an SVG string.
  • 59adb91 Bracket pick card: per-side pick marks, a note line, a readonly results mode and slot wording from
    provideBracketLabels. Breaking: the unresolvableLabel and unavailableLabel inputs are gone.
  • 40f6464 Bracket: add migrateBracketPicks() so a pick follows its participant when a pairing changes, plus realParticipantOutranksPick and keepPickWhileFeederSideIsOpen on resolveBracketSlot().
  • c6cd941 Bracket: add a framework-free prediction graph and resolver, prediction-aware slot states, an operable pick card, and focused round layout controls.
  • eb7135a Standings: add <et-standings-pick>, a group table a viewer reorders by drag or arrow keys, plus standingPickOutcome and standingPickStartOrder in @ethlete/bracket.

Patch Changes

  • 4033412 Bracket: a stage draws while a later round is empty, a mirrored fold converges for a field that is not a power of two, and swiss rounds past a full table group instead of throwing.

@ethlete/cli@2.1.0-next.9

Minor Changes

  • f7ce2eb et update now writes the new range into every package.json in the repo, not only the root one, and refuses a dist tag that points at an older version than the repo is on.

@ethlete/query@6.0.0-next.46

Minor Changes

  • 03f0285 <et-query-devtools-lazy> renders nothing without provideQueryDevtools() - no floating button, no
    shortcut, no panel download - and the now-public isQueryDevtoolsEnabled() is what it gates on.
  • 2d3107d GQL over POST sends variables as a JSON object, as the spec requires, instead of a JSON string. A server that relied on the string must accept the map. GET is unchanged.
  • 6704678 withDefaultRetry() and withEthleteApiErrors() now retry only the client they are on. Before, the first call installed the policy process-wide. Migration: add the feature to every client that should retry - a second client without it no longer retries.
  • 6c744bb defineQueryForm: branch() now debounces and runs the reset graph like the source form and exposes liveValue; the filter overlay applies liveValue on submit.
  • 4033412 HTTP queries gain createHeadQuery and createOptionsQuery with their secure twins, and createFakeQueryPersistenceStore() can fail a removal with failNextRemoves(count).
  • ececb72 Auth: withTokenExpirationWarning reads the expiry claim named by its new expiresInPropertyName option, so a token that carries the expiry under another name no longer reports no expiry at all.

Patch Changes

  • 0dbb0fd The panel drops a client's Cache, Faults and Events entries once that client's injector is destroyed,
    instead of keeping them alive for as long as one of its queries has a tombstone.
  • 4033412 Legacy interop: abort() publishes Cancelled, a second execute() while loading is a no-op again, a poll reports refreshing, triggerImmediately runs at once, and state$ replays Prepared.
  • 4033412 Legacy query containers: teardown destroys an uncacheable query, stops the poll of the last container, tracks dependents per injector, tears down the store's listeners, and leaves a superseded mutation to settle.
  • 4033412 Legacy QueryForm: values track control writes without observe(), a commit no longer cancels an in-flight route change, and a committed value keeps its type through the form's own URL write.
  • 4033412 Legacy: [etInfinityQueryTrigger] no longer throws NG0200, v2BuildQueryCacheKey takes the method, setAuthProvider keeps the refresh cookie, the prepare fallback survives several applications, and the barrel's re-exports carry @deprecated.
  • 4033412 Multi-tab auth: a follower waits for the leader's in-flight refresh and spends one token per rotation, a cached login is no longer broadcast, and withTracking honors trackInternalEvents.
  • 4033412 Bearer auth: a login that races the cookie restore, an empty 2xx body and a refresh that yields no tokens now settle the session instead of stranding it, and the cookie clears in every reachable scope.
  • 4033412 Caching: the key covers the request method and case-folds header names, and an entry's secure, refreshable and retention flags follow the queries still bound to it rather than the one that made it.
  • 4033412 Query: the ET800 circular-dependency guard counts only executions with identical args and measures its window with its own clock, so a fast-typed search no longer trips it.
  • 4033412 Query devtools: a tombstone drops the destroyed view, override recorders and host elements are released, the floating pills settle after first paint, and the Forms tab links every reader of a form.
  • 4033412 Error handling: a malformed violations body degrades to a form-level etServerError instead of throwing, and the 416, 408, 410 and 425 status texts are corrected.
  • 4033412 Query: execute() after destroy warns instead of throwing NG0205, executeUntilSettled settles on cancel, reset() detaches the request, a batch records a throwing item, and snapshots keep their own signals.
  • 4033412 defineQueryForm: an emptied array commits as its null default, skipResets and skipFields no longer leak into the next change, a value written before observe() survives, and liveValue reports the controls.
  • 4033412 defineQueryForm: two forms writing in one tick keep each other's params, appendToUrl: false leaves a foreign param alone, 0 reads back as a number, and a commit no longer cancels a route change.
  • 4033412 GraphQL: a document is parsed once and minified without breaking on comments or string literals, rawResponse can declare its own envelope, and secure queries over POST cache like the rest.
  • 4033412 Query persistence: mutations are never stored, one opted-in consumer is enough, GraphQL over POST persists, a failed IndexedDB open is retried, and a purge always beats a hydration or index load in flight.
  • 4033412 Query types: QueryContext and setDefaultQueryRetryFn leave the published types, createQueryFeature() takes any type string, and createQuerySubmission's onSuccess allows the null a 204 hands it.
  • 4033412 Query stacks and sequences: deduplicateArgs applies without append, each response runs its features once, fetchPreviousPage() returns the page it made, and every link reports the built total.
  • c962f78 Testing entry point: setupQueryTest now installs one console filter instead of nesting a
    new one per call, and exposes restoreConsole. installFakeWebLocks removes the abort
    listeners it adds. The websocket double reports withCredentials().
  • 4033412 Query: a transformResponse that throws lands in error() with code 0, keeps the last good response(), and no longer re-runs withSuccessHandling.
  • 4033412 validateWithQuery: the in-flight request stops when the field goes idle, and the internal query's cache entry and resource are released with the form that owns them.
  • 4033412 WebSockets: a room joined before the socket connects sends one join-room, and a frame carrying no room string is reported as malformed without flooding production logs.

@ethlete/timetrack@0.1.0-next.6

Minor Changes

  • a2a44ed Collect the token spend of every coding-agent turn as an agent-usage event, read from the Claude Code session log.
  • e64d8e2 Add parseCodexSessionLog(): the Codex CLI's rollout logs read for their sessions and each turn's
    token spend. A cursor now carries the session state a log states once rather than per record.
  • 0f046df A short list of applications ships as no work context, media players and messengers, and
    holdsWorkApps takes any of them back one at a time.
  • 21d78f6 Pull request activity on github.com is read through gh, beside GitLab's. It stores no token, it is
    off until the switch in Settings is on, and it says when GitHub's 300-event cap cut a window short.
  • f38dc5a GitLab activity is read through glab, which holds its own login, so the app stores no token to
    collect. A source now reports "not installed" and "not logged in" as two distinct states.
  • bb0dde7 Settings gain noWorkContextApps: applications the user says never hold a checkout, reported with
    their own no-work-context cause instead of as unjudged time.
  • b6c9d05 streamDay() takes the project links and drops a checkout a private link covers: no line, no
    evidence, no spend. TimetrackProjectLink and matchProjectLink() move to the model, so a reader
    outside correlate can honour a link.
  • 2e98dd5 READABLE_MS is exported: the duration under which formatDurationMs reads 0m, so a caller can
    drop a line that would carry no number.
  • 55f4f16 Add streamDay(): what a local day was worked on, for how long and what the agents spent, one line
    per checkout. backfillAgentSpend$() fills in the spend of days collected before it.
  • e1ff549 Add the @ethlete/timetrack/testing entry point: a stateful fake Jira, Tempo, GitLab and git backend, plus the seedable world the app's end-to-end suite drives.
  • 9612097 streamDay() books a turn to its checkout by working directory alone, so an agent that ran while
    nobody was at the machine still bills. Each stream reports that time as unattendedMs, outside both
    presence and engaged time.
  • a27d9d1 An unnamed focus row carries the window titles behind it, each with its own total, longest first. A
    private checkout keeps none.
  • 4c533fc Unnamed focus is now judged against the span: a gap is an application that names checkouts
    elsewhere, and one that never names a checkout reads as unknown.
  • b8dbea3 streamDay reports focusMs and unnamedFocus: the focused-window time no checkout took, per
    application and per cause, so the Other applications line can be read apart.
  • 0fbe8cb The window source status reports what it reads on this machine, and the fake world seeds it, so a
    missing capability no longer reads as a wrong number.

Patch Changes

  • 78216c9 Both agent parsers read the prompts a person typed as agent-prompt events: an instant, a session and
    a checkout, never the text. They key like spend, so a log read again stores each one once.
  • f680628 streamDay() reports ambiguousNames: the checkout names a window claimed that two checkouts share.
    The time folds into the other-applications line, and the day now says why.
  • 47abe4c Exclusion rules now apply per calendar occurrence, and a Google account with a rejected refresh token reports that it stopped working instead of retrying forever.
  • 396b6ed A call a rule counts as work now proposes its own weak row in the day review, on the same issue a meeting lands on. Time a meeting already claims is cut out first.
  • d937c1a A call the app was killed in the middle of no longer counts to now. The next run ends it where the
    watching stopped, so a killed run cannot claim every hour since.
  • 68c7997 A GitLab or calendar failure now clears on the next clean run. It used to clear only in the append step, which a run with no credential never reaches, so a fixed token left the old error on screen.
  • c1855fc The v2 day reads editor heartbeats to name the checkout a window title cannot. A meeting title is no longer quotable evidence.
  • 4e83e1b The e2e fake world serves seeded agent session logs, and its store now honours dedupe keys and keeps
    cursors, so a collector's re-read behaves the way the real store makes it behave.
  • dcd6d68 Git scan: a worktree no longer books the whole repository's commits as its own — a commit is read once
    and named by the checkout that holds its branch.
  • 2004b27 Ask for the GitLab token scope the activity feed needs. /events is documented as read_user or api, and read_api does not cover it, so a token made from the old instruction answered 403.
  • 9939df6 A Google token error now names which request failed and keeps Google's own description. A rejected
    authorization code no longer reports that the stored token needs a reconnect.
  • f680628 New readHeadBranches$() reads the branch a checkout was on at an instant from its reflog, so a day
    holding no git event for a checkout can still name its branch.
  • c1855fc The day counts calls, from which process holds the microphone. TimetrackCallRules decide at read time whether a call was work, and default to no.
  • 54855a9 applyExclusionRules tests a title pattern against the checkout an agent-prompt names, as it already
    does for a turn's spend. A rule that hides a repository now hides its prompts too.
  • ff168af streamDay() rebuilds a day no window observed from the prompts the user typed, with a turn bridging
    the minutes between two of them. It reports the rebuilt part as rebuiltMs. See ADR 0006.
  • 0373c98 A rebuilt day keeps a turn for a checkout no project link covers, and names a stream after a
    directory only when something says the directory is a checkout. See ADR 0006.
  • 63b06b1 A URL in a window title is stored without its query string, and a focus that does not move no longer reads as time no window watched.
  • 3bafba7 repairStoredTitles$ applies the window-title redaction to the titles already stored, which the rule could not reach because it only runs on the way in.
  • aed6f3a streamDay() keeps unrelated windows off a checkout: the sticky context now comes only from a
    window title, and only inside the application that set it.
  • c1855fc A window evidence row names the application when the window source reports no title, so untitled windows no longer collapse into one blank row.

@ethlete/core@5.0.0-next.57

Patch Changes

  • ae96d23 Core: overlays close and restore focus in a pop-up window, unbindProps undoes everything bindProps applied, cookie helpers no-op on the server, equal() compares Dates by tag, and memoizeSignal caches per application.
  • 4326376 Overlays can be mounted passive and are then skipped as the top layer, so a dialog still closes on a backdrop press while a tooltip shows inside it.
  • ef2277d An overlay now restores focus to its opener only when focus is still inside it at teardown, so an outside press that focuses another control keeps focus there.

@ethlete/query-devtools@1.0.0-next.11

Patch Changes

  • 2bfa704 The response diff now reports a changed Blob, Date, Map or Set instead of reading two
    of them as identical, and searching a folded slice no longer overflows on a cyclic value.
  • 0dbb0fd The panel drops a client's Cache, Faults and Events entries once that client's injector is destroyed,
    instead of keeping them alive for as long as one of its queries has a tombstone.
  • 197ba4c Query devtools exports stop carrying live credentials: a copied report slims its args, a session export omits auth-provider bodies and redacts credential-named keys, and an unchainable secure request drops its Authorization.
  • 03f0285 <et-query-devtools-lazy> renders nothing without provideQueryDevtools() - no floating button, no
    shortcut, no panel download - and the now-public isQueryDevtoolsEnabled() is what it gates on.
  • 33251a2 Devtools panel: the Settings client picker now narrows the Events tab, exports survive cyclic and non-JSON bodies, the no auth chip covers mocks with a query string, and copy confirmations reset again.

timetrack-app@0.2.0-next.0

Minor Changes

  • c80f21b The app version now advances through a changeset, like a published package, so the build stamp names the release it came from.

@mergify

mergify Bot commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

@github-actions
github-actions Bot force-pushed the changeset-release/next branch 4 times, most recently from 95debda to 5dcbf53 Compare August 31, 2026 16:12
@github-actions
github-actions Bot force-pushed the changeset-release/next branch 16 times, most recently from e20d180 to c238dfe Compare September 9, 2026 15:53
@github-actions
github-actions Bot force-pushed the changeset-release/next branch from c238dfe to 053f7b6 Compare September 9, 2026 23:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants