Skip to content

Releases: tuist/tuist

4.0.0

07 Feb 17:53
Compare
Choose a tag to compare

These release notes are longer than usual because it's a major release and we include migration guidelines. Breaking changes are prefixed with Breaking.

Tuist

Improved

Removed

  • Breaking: Remove the signing capabilities #5716 by @pepicrft. Signing is already solved by community tooling like Fastlane and Xcode itself, which do a much better job at that. If you were using Tuist signing capabilities, which consisted of encrypting the certificates and profiles in the repository and installing them in the right places at generation time, you might want to replicate that logic in your own scripts that run before project generation. In particular:
    • A script that decrypts the certificates and profiles using a key either stored in the file-system or in a environment variable, and installs certificates in the keychain, and the provisioning profiles in the directory ~/Library/MobileDevice/Provisioning\ Profiles.
    • A script that can take an existing profiles and certificates and encrypt them.
  • Breaking: Remove Carthage integration via Dependencies.swift. You'll have to use Carthage directly to pull the pre-compiled frameworks and XCFrameworks into Carthage's standard directory, and then reference those binaries from your tagets using the TargetDependency.xcframework and TargetDependency.framework cases.
  • Breaking: Remove the TargetDependency.packagePlugin API in favour TargetDependency.package which takes an additional argument where you can specify the type of package.
  • Breaking: Remove the APIs that were marked as deprecated #5560 by @danyf90

Changed

  • Breaking: Remove tuistenv in favor of Mise as default installer with Homebrew as an alternative. You'll have to uninstall the current version of Tuist by running curl -Ls https://uninstall.tuist.io | bash and then install it using the installation method of your choice. You'll have to propagate this installation method across CI environments and developers' local environment. We strongly recommend the usage of Mise because it's able to install and activate versions deterministically across environments. #5724 by @pepicrft
  • Breaking: Remove the init from all the ProjectDescription models to improve the readability and expressiveness of the APIs. Every model provides now a static constructor. We commend checking out the new APIs in our documentation site
  • Breaking: Add --no-selective-testing flag, rename --no-cache to --no-binary-cache by @fortmarek
  • Breaking: Rename tuist fetch for tuist install to align with the industry convention. You might need to adjust your CI pipelines and communicate the new command name to your team #5857 by @pepicrft
  • Breaking: Change the Package.swift directory from /Tuist to root. You'll have to move the content from your Tuist/Dependencies.swift to a Package.swift at the root, and use the #if TUIST directive to configure the integration. You can use the tuist Package.swift as a reference #5862 by @fortmarek
  • Rename the builds cache directory from builds to BinaryCache to better reflect its purpose #5842 by @fortmarek
  • Make all ProjectDescription models attributes mutable for better ergonomics #5843 by @fortmarek
  • Align the cache directories with the UNIX XDG Base Directory Specification #5855 @pepicrft
  • Improve scaffold feature's default parameter type for stencil file #5845 by @haeseoklee
  • Throw an error when focusing on a non-existent target #5874 by @fortmarek

Fixed

  • Fix error when running tuist generate and dependencies have not been previously fetch with tuist install #5875 by @fortmarek
  • Fix tuist clean dependencies #5872 by @fortmarek
  • Fix running tuist clean without a specific category #5868 by @fortmarek

Tuist Cloud

Fixed

  • Fix an issue that caused binary-caching of targets for macOS to fail due to missing destinations for targetted architectures.

Changed

  • Rename cache directories from builds to BinaryCache and from tests to SelectiveTests to better reflect its purpose #5842 by @fortmarek
  • Rename tuist cache warm to tuist cache to shorten the command execution.
  • Move the tuist cache print-hashes option into tuist cache --print-hashes.

Removed

  • Breaking: Remove the cache configuration and the concept of profiles in favor of passing the configuration to use via the --configuration flag when warming the cache with tuist cache. We plan to add the same option to the other commands and just the generation so that the only configuration generated is the one that has been passed via the flag.
  • Breaking: Remove the --skip-cache flag from the generate command in favor of controlling for which targets the binary cache should be skipped by using the arguments.
    • Before
      tuist generate --skip-cache Foo
    • After
      tuist generate Foo

4.0.0-beta.4

06 Feb 15:25
Compare
Choose a tag to compare
4.0.0-beta.4 Pre-release
Pre-release

Tuist

  • no changes

Tuist Cloud

  • no changes

4.0.0-beta.3

05 Feb 09:51
Compare
Choose a tag to compare
4.0.0-beta.3 Pre-release
Pre-release

Tuist

Changed

Fixed

Tuist Cloud

Changed

  • Fix tuist clean, remove --skip-cache by @fortmarek

Fixed

  • Fixed binary-caching of macOS targets might fail due to missing destinations by @fortmarek

4.0.0-beta.2

01 Feb 18:45
Compare
Choose a tag to compare
4.0.0-beta.2 Pre-release
Pre-release

Tuist

Fixed

Changed

Tuist Cloud

Changed

  • no changes

4.0.0-beta-1

31 Jan 16:30
Compare
Choose a tag to compare
4.0.0-beta-1 Pre-release
Pre-release

Tuist

  • no changes

Tuist Cloud

Changed

  • Add --no-selective-testing flag, rename --no-cache to --no-binary-cache by @fortmarek

3.42.2

30 Jan 07:33
Compare
Choose a tag to compare

Tuist

Fixed

  • Fix parsing of conditon on SPM .product dependencies #5846 by @waltflanagan
  • Fix missing plugin executable when the macro framework/library is not precompiled but the executable is #5849 by @pepicrft
  • Fix Swift Macros unresolved by the Xcode editor #5851 by @pepicrft
  • Fix false static side effect positives when the project contains Swift Macros #5850 by @pepicrft

Tuist Cloud

  • no changes

3.42.1

26 Jan 14:01
Compare
Choose a tag to compare

Tuist

Changed

Fixed

  • Not bundle Swift Macros into the parent framework #5834 by @pepicrft

Tuist Cloud

Changed

  • Remove the the warning to nudge users to cache using --xcframeworks by @pepicrft

3.42.0

24 Jan 12:45
Compare
Choose a tag to compare

Tuist

Fixed

  • Rename Compiled group to Frameworks #5826 by @kwridan
  • Use the correct Swift tools version when loading the PackageSettings #5831 by @fortmarek

Tuist Cloud

  • no changes

3.41.0

19 Jan 18:22
Compare
Choose a tag to compare

Tuist

Added

Fixed

  • Fix generation not including macros from XCFrameworks #5801 by @pepicrft
  • Fix loading PackageSettings when not specified in Package.swift #5805 by @fortmarek

Tuist Cloud

  • no changes

3.40.0

15 Jan 15:09
Compare
Choose a tag to compare

Tuist

Changed

  • Remove raw xcodebuild logs in favor of resultBundlePath and xcactivitylog #5776 by @fortmarek

Fixed

  • Fix incremental test execution when migrating from Tuist versions older than 3.36.0 #5791 by @pepicrft

Tuist Cloud

Changed

  • Build macOS xcframework for both Intel and ARM by @fortmarek