Release 1.27.0: tiered RUN search + skip reason + PG trace#81
Merged
Conversation
Consolidates the eight open dependabot PRs into one commit, and aligns the
Testcontainers family (dependabot bumped only the meta-package, leaving the
two siblings behind).
- Dapper 2.1.72 -> 2.1.79
- Testcontainers, Testcontainers.MsSql, Testcontainers.PostgreSql 4.11.0 -> 4.12.0
- Aspire.Hosting.{PostgreSQL,SqlServer,Azure.ServiceBus} 13.3.2 -> 13.3.4
- Microsoft.AspNetCore.TestHost 8.0.26 -> 8.0.27
- coverlet.collector 10.0.0 -> 10.0.1
- actions/setup-node 5 -> 6 (codeql workflow)
Supersedes #73, #74, #75, #76, #77, #78, #79, #80.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
RUN search performance - Drop the redundant FlowStepAttempts scan from search (its output duplicates the current step row); search still covers run identity columns + current step rows incl. output JSON. - Single-pass pagination via COUNT(*) OVER() instead of a second COUNT query. - New non-breaking IFlowRunStore.GetRunsPageAsync(..., bool deepSearch, ...) default-interface overload: deepSearch=false matches only top-level run columns (quick typeahead), deepSearch=true keeps the per-step scan. /api/runs accepts deep=false; un-updated stores delegate to deep and stay correct. - Optional startedFrom/startedTo (from/to) start-time window to bound scans. - PostgreSQL: migrator best-effort creates pg_trgm + GIN trigram indexes so ILIKE substring search is index-accelerated (graceful degrade without it). - Command palette (Cmd/Ctrl+K) run lookup is server-backed via the quick path with request cancellation. Fixes - Dashboard shows the Skip reason for Skipped steps (was only rendered for Failed), in a skip-styled panel. - PostgreSQL now persists the When-clause "Why skipped" evaluation trace (evaluation_trace_json column + read/write), matching SQL Server; previously dropped on PG so the dashboard trace panel was always empty. Tests: tiered quick/deep parity + scope (InMemory), endpoint deep wiring, SQL/PG search scope, PG trace round-trip, PG migrator idempotency. Bumps VersionPrefix to 1.27.0; CHANGELOG + docs updated. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This was referenced May 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
RUN search performance
FlowStepAttemptsscan from search (output duplicates the current step row); search still covers run identity columns + current step rows incl. output JSON.COUNT(*) OVER()(no second COUNT query).IFlowRunStore.GetRunsPageAsync(..., bool deepSearch, ...)default-interface overload —deepSearch:falsematches only top-level run columns (quick typeahead),deepSearch:truekeeps the per-step scan./api/runsacceptsdeep=false; un-updated stores delegate to deep and stay correct.startedFrom/startedTo(from/to) start-time window to bound scans.pg_trgm+ GIN trigram indexes soILIKEsubstring search is index-accelerated (graceful degrade without the extension).Fixes
Skippedsteps (was only rendered forFailed).evaluation_trace_json), matching SQL Server (previously dropped on PG → empty trace panel).Deps: consolidates dependabot PRs #73–#80 (Dapper, Testcontainers family, Aspire, TestHost, coverlet, setup-node).
Test plan
dotnet build0 warnings / 0 errors (net8/9/10)RESULT: 33/33 passed(all four sample instances incl. PG Why-skipped trace)🤖 Generated with Claude Code