Tuist

Tuist

変更履歴

Product

Module Cache reported how often the cache was hit, but not which modules were responsible. The new Modules page ranks every module by cache misses, with its hit rate and how many modules have to be rebuilt when it changes.

Each miss carries a reason. Changed means the module's own content moved, upstream means only a dependency did, and cold means there was nothing to compare against. Upstream misses are the ones better module boundaries can remove.

The module detail page in the Tuist dashboard, showing cache analytics for a module and the list of builds it took part in

Opening a module adds every build it took part in, filterable by branch, commit SHA or reason, so a high upstream share leads to the commits behind it. Dependents needs the dependency edges newer CLI versions send; everything else works with the data the CLI already reports.

Find it under Module Cache › Modules.

Product

The Linux runner catalog topped out at 32 GB of memory. There is now a 16 vCPU / 64 GB shape, the new ceiling.

Pick it when you create or edit a Linux profile. Jobs that exhausted memory on the 32 GB shape — Android release builds running Gradle and Kotlin daemons are the common case — fit without tuning heap sizes down. Existing profiles keep the shape they were created with.

Learn more in the runner profiles documentation.

Product

Gradle Build Insights now supports user-defined tags and key-value metadata from settings.gradle.kts or environment variables. Filter builds by tag in the dashboard and inspect metadata values on each build's detail page.

Product

Gradle build details now explain cache work that previously appeared only as a miss. The cache tab distinguishes confirmed remote misses, the time spent executing after those misses, and outputs stored for later builds. Its task table also identifies the reason a cacheable task ran again.

The new Build Setup tab shows configuration work by build, settings, and project phase. When Gradle uses its configuration cache, the tab records whether it was reused and lists invalidation reasons. It also lists the slowest artifact transforms, so dependency setup costs are visible beside task execution.

The Build Setup tab in the Tuist dashboard, showing configuration cache diagnostics and artifact transforms

Existing Gradle integrations remain compatible. Older build reports continue to render normally, while newer plugin versions contribute the additional diagnostics when they are available.

Product

The platform's programmatic interfaces now provide read parity for project configuration, shareable previews, automation alerts and their revision history, notification alert rules, continuous-integration runner activity including job logs, steps, and machine metrics, webhook delivery history, and account and project token metadata. Each operation follows the authorization policy of its platform domain. Token values remain unavailable after their one-time reveal, webhook signing secrets and encrypted automation action credentials are never returned, and webhook delivery data remains restricted to account administrators.

This makes it easier to investigate a project or audit its configuration from an agent without copying identifiers or sensitive token values into a conversation.

Product

Organizations had two roles, admin and user, and both could act on what they saw. Muting a flaky test, deleting a preview, writing to the cache: a user could do all of it. Opening your build and test insights to the wider engineering team meant handing every one of them the ability to quarantine a test.

Members can now be added as viewers. A viewer reads projects, builds, test runs, previews, bundles, and runner activity, and cannot change any of it. Where a control would mutate something, a viewer sees the current value instead: a muted test case still reads as muted, it just cannot be un-muted from that page.

The invite member dialog with the role set to Viewer

Product

macOS runner profiles have offered a single machine shape since launch: 6 vCPU / 14 GB. There is now a second, 12 vCPU / 28 GB, running on M4 Pro hardware.

Pick it when you create or edit a macOS profile. The 6 vCPU shape stays the default, and existing profiles keep the shape they were created with.

Learn more in the runner profiles documentation.

Product

Reliability automations used to measure every run of a test, whichever branch it came from, so uploading pre-commit results meant letting work-in-progress failures move the number that decides whether a test gets quarantined.

They now measure runs on your project's default branch. There is nothing to configure: existing alerts pick it up, and send your pre-commit runs to Tuist to get the reports and failure detail while the reliability figure keeps describing your trunk. A test case needs at least ten default-branch runs in the window before an alert acts on it, so a single bad run cannot quarantine anything.

Flakiness automations are unchanged and still measure every branch.

Product

When a pull request pushes your app past a size threshold, Tuist fails the tuist/bundle-size check run and puts an Accept button on it, so an increase you meant to make does not need a second commit to get through. Until now anyone with write access to the repository could press it, which is a wide door for a check whose job is to stop the merge.

Settings > Bundles now carries an Approvals policy.

The Approvals section of a project's bundle settings, with the policy set to selected GitHub users and one approver listed

Learn more in the bundle size documentation.

Product

Project automation settings now include a configuration history. Each entry shows who made the change, when it happened, the fields that changed, and the previous and new values.

The latest five changes are shown first, with Show more available when an automation has older history. This makes it easier to understand why an automation behaves differently while keeping long histories readable.

Automation configuration history with a centered Show more button