β€’ Updated: 12 May 2026 Β· Product News Β· 3 min read

    Announcement: Xcode15 Deprecation in Semaphore

    Contents

    MacOS Xcode15 reached the end of its supported lifecycle on Semaphore. To ensure the security, reliability, and maintainability of our platform, we are announcing the deprecation and end of life of MacOS Xcode15 build environments.

    Semaphore users should consider switching to Xcode26 as Xcode16 is scheduled for deprecation in September 2026.

    Why We’re Deprecating Xcode15

    As operating systems age, they cease to receive timely security updates and ecosystem support. Continuing to run CI workloads on deprecated operating systems increases operational risk and limits our ability to ship improvements.

    Deprecation Timeline

    We will gradually phase out Xcode15 using a series of brownout periods. During these windows, jobs configured to run on Xcode15 will temporarily fail to start. This is intentional and designed to help you detect remaining usage before final removal.

    First Brownout Period

    June 15 – 21, 2026 Jobs running on macos-xcode15 will not start for 15 minutes during the following times:

    • UTC 10:00 – 10:15
    • UTC 13:00 – 13:15
    • UTC 16:00 – 16:15
    • UTC 19:00 – 19:15
    • UTC 22:00 – 22:15

    Second Brownout Period

    June 22 – 28, 2026 Jobs running on macos-xcode15 will not start for 60 minutes during the following times:

    • UTC 10:00 – 11:00
    • UTC 13:00 – 14:00
    • UTC 16:00 – 17:00
    • UTC 19:00 – 20:00
    • UTC 22:00 – 23:00

    Third Brownout Period

    June 29 – July 5, 2026 Jobs running on macos-xcode15 will not start for 2 hours during the following times:

    • UTC 10:00 – 12:00
    • UTC 13:00 – 15:00
    • UTC 16:00 – 18:00
    • UTC 19:00 – 21:00
    • UTC 22:00 – 24:00

    End of Life

    Starting July 6th, 2026, Xcode15 build environments will reach end of life on Semaphore and will no longer be available.

    At this point:

    • Jobs configured to run on `macos-xcode15` will no longer start;
    • The `macos-xcode15` image will be fully removed from the platform.

    What You Need to Do

    To avoid any disruption, update your pipelines to use a supported Xcode version as soon as possible.

    1. Identify Usage: check your Semaphore configuration files for references to Xcode15 (for example, `macos-xcode15`), including all YAML files and init-jobs.
    2. Migrate to a Supported Xcode Version: we recommend migrating to macos-xcode26 if possible to ensure you are using the latest version available. If you cannot use Β `macos-xcode26`, switch to `macos-xcode16`. But keep in mind that this image is scheduled for deprecation during Q4 of 2026.
    3. Validate Your Pipelines: run your pipelines after upgrading to ensure all dependencies and scripts work correctly on the new environment.

    Need Help?

    If you have questions or run into issues while migrating, please reach out to Semaphore support or consult our documentation. We strongly encourage completing your migration before the first brownout period begins in June 2026.

    Thank you for helping us keep Semaphore secure, stable, and up to date.

    Want to discuss this article? Join our Discord.

    Pete Miloravac
    Writen by:
    Pete Miloravac is a software engineer and educator at Semaphore. He writes about CI/CD best practices, test automation, reproducible builds, and practical ways to help teams ship software faster and more reliably.
    Star us on GitHub