Docker image: ghcr.io/tuist/tuist:1.354.0
⛰️ Features
- run profile jobs on the BER1 rack for accounts on runner_site (#14086)
- carry coverage from what Tuist skipped and remove client-side test enumeration (#14027)
- add build-system productivity guides for agents (#14026)
- monitor physical database pools and shadow queries (#14013)
- add a Start open source plan action to /ops (#14011)
- balance Mix shards by wall clock, declaring concurrent modules as Xcode does (#14007)
- make public project overviews crawlable with bounded caching (#13967)
- report Mix code coverage with mix tuist.test --cover (#13947)
- invite organization members through the MCP server (#13972)
- add Tuist-first problem and comparison guides for agents (#13965)
- align build health analytics across toolchains (#13908)
- accept mix on project creation via API, CLI and MCP (#13968)
- link GitHub's Set up job step to the Tuist runner job page (#13963)
- serve full documentation at llms-full.txt (#13955)
- support readable Once and Bazel action names (#13944)
- roll up non-Xcode test runs per commit in the PR run report (#13938)
- serve agent-oriented marketing guides as Markdown (#13939)
- grant prepaid runner pools from the ops account page (#13883)
- support absolute bundle size growth thresholds (#13931)
- enable macOS custom volumes across managed runners (#13937)
- add macOS custom runner cache volumes (#13604)
- keep build and run artifacts for 7 days on Air (#13690)
- dogfood Mix insights and shard CI tests (#13906)
- read coverage files, targets and changes from stored deltas (#13861)
- store complete commits' coverage as per-file deltas (#13860)
- generate dynamic Open Graph images for public projects (#12916)
- show daily cache totals and replay estimated origins (#13856)
- mark a commit incomplete when a scheme's only CI runs were dirty (#13880)
- build and test insights for Elixir (Mix) projects (#13560)
- deliver actionable events to subscribed agents (#13843)
🐛 Bug Fixes
- allow docs crawlers while keeping dashboards protected (#14083)
- price concurrency-aware shard plans at the mean module duration (#14056)
- stop the marketing 404 from linking to missing paths in every locale (#14057)
- truncate long volume names and theme volume chart grid lines (#14054)
- reclaim Kura disk held by unused Enterprise instances and over-pinned rings (#14047)
- give Mix builds LiveView tests more time to render async assigns (#14025)
- resolve the Set up job runner link through runner sessions (#14024)
- admit cache volumes for executed jobs not yet marked running (#14021)
- tag same-second Kura returns as cold returns in time_to_ready (#14014)
- stop counting pre-archive rollouts as new Kura instances (#14010)
- handle branchless previews when looking up the latest preview (#13995)
- read carried coverage lines only from the nearest evidence run (#13993)
- keep the bundles endpoints' path parameters in path order (#13951)
- stop one slow cache miss from stalling every API request on a node (#13959)
- honor flaky test suite and module filters (#13964)
- keep cache globe figures rolling forward and fitting their cells (#13962)
- link homepage get started button to docs (#13945)
- support separate GitHub Enterprise API URLs (#13932)
- hide coverage View more buttons on empty sections (#13949)
- settle a coverage commit's place after its refs advance (#13917)
- align Elixir Open Graph previews with project cards (#13936)
- inline MCP authentication instructions for marketplace review (#13940)
- count local-only compilation cache misses as cacheable tasks (#13927)
- stop reporting first-attempt ClickHouse memory-cap failures in build processing (#13919)
- carry coverage for schemes skipped whole and past submodule files (#13920)
- keep globe counters responsive and hide empty regions (#13926)
- keep cache globe origins off the ocean (#13925)
- keep cache globe arcs visible during sparse playback (#13922)
- stop custom S3 storage requests from crashing on Finch pool exhaustion (#13912)
- read xccov counts that wrapped around as the ones that did not (#13918)
- keep the seed script's sandbox connections past 120s (#13902)
- stop the Flaky Tests page from crashing on raw run ids (#13900)
- only list Code Coverage in the sidebar for Xcode projects (#13897)
- only poll control-plane gauges from web pods (#13879)
- stop the cross-run flakiness lookup from reading every run on the commit (#13868)
- grant the processor role the MCP event publishing surface (#13865)
- contain runner log scrolling (#13851)
- admit Kura claim growth that fits by rebuilding a replica onto another box (#13846)
- show interrupted and cancelled Once runs instead of in progress or failed (#13845)
- declare L10N.md sources as path mappings (#13844)
📚 Documentation
- clarify GitHub Enterprise app permission requirements (#14049)
- list Linux Tuist Runners outbound IP addresses (#14044)
- document GitHub Enterprise App permissions (#14029)
- list Tuist Runners outbound IP addresses (#13984)
- clarify outbound IP allowlist only needs HTTPS (#13981)
- document gRPC routing for self-hosted Kura behind load balancers (#13888)
- improve feature cards and surface colocated runners (#13890)
- update signed tax form (#13838)