Apple Seeds Second iOS 26.5 and iPadOS 26.5 Release Candidates to Developers - MacRumors
Skip to Content

Apple Seeds Second iOS 26.5 and iPadOS 26.5 Release Candidates to Developers

Apple today seeded new release candidate versions of upcoming iOS 26.5 and iPadOS 26.5 updates to developers for testing purposes, with the software coming five days after the first RC. It's not clear what's changed in the second RC, but Apple typically sends out another candidate if there are bugs that need to be addressed.

iOS 26
Registered developers can download the betas from the Settings app on the iPhone or iPad by going to the General section and selecting Software Update.

iOS 26.5 and iPadOS 26.5 do not include new Siri capabilities, suggesting any ‌Siri‌ updates are being held until iOS 27. The Maps app has a Suggested Places feature for recommending locations to visit nearby based on trends and recent searches, plus Apple is laying the groundwork for ads in the Apple Maps app.

Apple is continuing to test end-to-end encryption (E2EE) for RCS messages between iPhone and Android users. Apple included the feature in the iOS 26.4 beta, but removed it before the update launched to the public.

There is a new Pride wallpaper to go along with the Pride Apple Watch band for this year.

More detail on what's new in iOS 26.5 can be found in our iOS 26.5 beta features guide. iOS 26.5 is likely to see a launch next week.

Related Roundups: iOS 26, iPadOS 26, iOS 27
Related Forum: iOS 26

Popular Stories

Apple Announces 2026 Pride Band Watch Face and iPhone Wallpaper Article 2

iOS 26.5 Coming Soon With These New Features

Monday May 4, 2026 8:40 am PDT by
iOS 26.5 is expected to be released next week, following more than a month of beta testing. The update is relatively minor, but there are a couple of new features and changes across the operating system that we have recapped below. iOS 26.5 lays the groundwork for end-to-end encryption for RCS in the Messages app and ads in the Apple Maps app, and it will include a new Pride wallpaper and a...
iOS 26

Apple Seeds iOS 26.5 and iPadOS 26.5 Release Candidates to Developers

Monday May 4, 2026 10:12 am PDT by
Apple today seeded the release candidate versions of upcoming iOS 26.5 and iPadOS 26.5 updates to developers for testing purposes, with the software coming a week after Apple released the fourth betas. Registered developers can download the betas from the Settings app on the iPhone or iPad by going to the General section and selecting Software Update. iOS 26.5 and iPadOS 26.5 do not...
RCS Feature 1

iOS 26.5 Brings End-to-End Encryption to iPhone-Android RCS Messages

Monday May 4, 2026 11:14 am PDT by
End-to-end encryption (E2EE) for RCS messages between iPhone and Android devices is coming in iOS 26.5, Apple confirmed today. The feature is listed in Apple's iOS 26.5 release notes. Apple says end-to-end encrypted RCS messaging remains in beta even though it is being released in iOS 26.5. The feature is available with supported carriers and will roll out over time, and for conversations to ...

Top Rated Comments

3 weeks ago
Looking forward to a 12 minute zollotech video to tell me what's new in the RC2.
Score: 16 Votes (Like | Disagree)
Octavius8 Avatar
3 weeks ago
How about a keyboard that doesn't lag?
Even physical keyboards lag like crazy in IOS!, nobody at Apple notices??
Score: 12 Votes (Like | Disagree)
3 weeks ago
build number is 23F77
Score: 8 Votes (Like | Disagree)
3 weeks ago
26.5 final will be released ready or not the day the pride band is released.
Score: 7 Votes (Like | Disagree)
ParkHemp Avatar
3 weeks ago
RC1 (23F75) → RC2 (23F77): What Changed

This is the smallest in the entire series — deliberately so. RC2 exists for one reason only.


[HR][/HR]

Kernel, iBoot, Firmware, Feature Flags

Identical across RC1 and RC2. Same kernel build (12377.122.4~1), same timestamp (Thu Apr 23 20:42:24 PDT), same iBoot (mBoot-18000.120.36), same WebKit (624.2.5.10.4). Zero firmware changes. Zero feature flag changes. Zero new or removed files.


This is the definition of a surgical RC update — Apple found exactly one functional bug and one Watch face shader regression after RC1, fixed them in isolation without touching anything else.


[HR][/HR]

The Three Changes and What They Mean

1. UserNotificationsCore — the functional fix that caused RC2


This is the only substantive code change and almost certainly the sole reason RC2 was cut.


Version bumped from 640.5.32.103.0 → 640.5.32.104.0. The binary grew meaningfully — executable text from 0x205cdc → 0x206b80 (+3,748 bytes), OS log strings from 0x10437 → 0x10507 (+208 bytes). Six new functions added (9147 → 9153). Eight new exported symbols appeared:


+ _BPSBulletinDistributorBBSectionsDidChangeNotification<br>+ _NSURLFileProtectionKey<br>+ _associated conformance So16NSURLResourceKeyaSHSCSQ<br>+ _associated conformance So16NSURLResourceKeyas20_SwiftNewtypeWrapperSCSY<br>+ _associated conformance So16NSURLResourceKeyas20_SwiftNewtypeWrapperSCs35_HasCustomAnyHashableRepresentation<br>+ _symbolic _____ So16NSURLResourceKeya<br>+ _symbolic _____y_____G s11_SetStorageC So16NSURLResourceKeya<br>+ _symbolic _____y_____G s23_ContiguousArrayStorageC So16NSURLResourceKeya<br>

Three new log strings reveal what broke:


+ "%s -- No device found for pairing ID: %s"<br>+ "Failed to update data protection class for watch forwarding configuration: %@"<br>+ "Updating data protection class for watch forwarding configuration"<br>

Decode this precisely. BPSBulletinDistributorBBSectionsDidChangeNotification — BPS = BulletinProviderService, the subsystem that manages notification banners and the lock screen bulletin board. BBSections = BannerBoard sections (the visual groupings of notifications on lock screen). NSURLFileProtectionKey being newly exported from UserNotificationsCore connects directly to the third string: "Failed to update data protection class for watch forwarding configuration."


What happened: notifications forwarded to Apple Watch are stored with a specific NSURLFileProtectionKey data protection class. The bug was that when the bulletin board sections changed (a notification arriving, being dismissed, or being grouped), the code path that updated the data protection class for the Watch forwarding configuration was failing. The No device found for pairing ID string shows the failure mode — when the Watch wasn't immediately reachable during a section change event, the protection class update either crashed or silently failed.


End user impact on iPhone 17 Pro: notifications forwarded to Apple Watch were affected. Depending on the severity, symptoms could range from notifications not appearing on Watch at all, appearing but unencrypted (wrong protection class), or UserNotificationsCore crashing silently and causing notification delivery gaps. This was significant enough to block RC1 from becoming the release build.


Developer impact: if your app uses UNUserNotificationCenter with Watch companion forwarding, or if you implement WKUserNotificationHostingController on the Watch side, this fix changes the reliability guarantee for notification delivery across the pair. The NSURLFileProtectionKey now being a properly exported symbol from UserNotificationsCore also means Swift code consuming this type via notification-related APIs has correct protocol conformances (Hashable, Equatable, _SwiftNewtypeWrapper) — previously these conformances may have been missing, causing runtime lookup failures for code doing Set/Dictionary operations on NSURLResourceKey values in notification contexts.


2. WatchFacesWallpaperSupport — Watch face rendering fix


Version 2483.340.80.0.0 → 2483.340.80.1.0. The patch version increment (.80.0 → .80.1) signals a targeted fix, not a feature change.


The most telling changes are in the new vs removed log strings:


Old strings were generic:


- "couldn't make buffer for look snapshots"<br>- "look-snapshotting command buffer did not complete successfully"<br>- "snapshot rendering finished for %{public}s"<br>- "snapshotted look "%{public}s""<br>

New strings are named per-look:


+ "GPU completed "%{public}s" with status %lu"<br>+ "committing snapshot render for "%{public}s" (%ld/%ld)"<br>+ "couldn't make buffer for look snapshot "%{public}s""<br>+ "look-snapshotting command buffer did not complete successfully for "%{public}s" (status %lu, error: %{public}s)"<br>+ "not applying snapshot for "%{public}s" (final orientation %{public}s, this is %{public}s)"<br>+ "snapshotted look "%{public}s" (%ld/%ld)"<br>

Two structural changes confirm the nature of the fix. First, _block_copy_helper.74, _block_descriptor.76, _block_destroy_helper.75, and _swift_projectBox were removed from symbols — these are ObjC block infrastructure symbols, meaning a block-based callback path was replaced with a different mechanism (likely a Swift closure or async continuation). Second, several Swift symbolic type descriptors were removed including _symbolic SDy___________pG So22UIInterfaceOrientationV So9MTLBufferP — this is a Swift generic type symbol for Dictionary<UIInterfaceOrientation, MTLBuffer>, and its removal means the per-orientation Metal buffer storage was restructured.


The new strings "Exit generateLookSnapshotsIfNeeded (reason: cache hit, %ld look(s))" and "Exit generateLookSnapshotsIfNeeded (reason: not .paged)" reveal a new early-exit cache check was added to generateLookSnapshotsIfNeeded. The old code was generating Watch face look snapshots unconditionally; the new code checks if a cached snapshot already exists and exits early if so. This fixes a redundant GPU render that was causing either incorrect snapshot state or a crash when the Watch face snapshot renderer ran while the Watch face wasn't in .paged presentation mode.


End user impact: Watch face previews and wallpaper snapshots render correctly and don't flash or show stale content. Combined with the notification fix, Watch + iPhone integration was noticeably broken in RC1.


3. warlock.metallib — cosmetic shader fix


warlock is the Apple Watch Ultra face. __TEXT.__compute shrank from 0x7030 → 0x7020 (16 bytes). One compute shader instruction was removed or a constant was folded. New UUID confirms recompilation. This is a Metal shader optimization or visual artifact fix — 16 bytes at this stage means one instruction removed from a compute kernel, likely fixing a pixel-level rendering issue visible only on the Ultra watch face under specific conditions.


NanoTimeKitCompanion bumped purely as a version string carrier ("NanoTimeKit-2483.340.80" → "NanoTimeKit-2483.340.80.1") with 2 bytes added to cstrings to accommodate the longer version string. Zero functional change — this is the companion library announcing the version of the NanoTimeKit package it belongs to.


[HR][/HR]

iPhone 17 Pro — Cycle-Specific Changes

All five diffs used iPhone18,1 — iPhone 17 Pro (A19 Pro, T8150 SoC). Here is every change specific to that device across the full cycle.


Silicon identity: T8150 = A19 Pro. H18 = the neural engine generation, H18P = ProMotion display controller variant. iPhone18,1 is the base Pro model (non-Max).


Apple C1/C2 modem (MAV — codename Mav25): The most significant iPhone 17 Pro-specific work across the cycle was the baseband stack. Beta 3 brought Mav25-1.60.00-1 → Mav25-1.60.02 firmware, with matching updates to AppleBasebandPCI, AppleBasebandPCIMAVControl (connection management), and AppleBasebandPCIMAVPDP (IP data plane). This is Apple's own modem, not Qualcomm. The MAV modem communicates with the A19 Pro over an internal PCIe link — AppleBasebandPCIMAVControl owns the control plane (call setup, handover, registration) and MAVPDP owns the packet data protocol plane (actual IP traffic). A coordinated FW + three kexts update means the modem team found a connection stability or regulatory compliance issue and fixed it across the full driver stack simultaneously.


Reverse wireless charging (Inductive Tx): Beta 4 added new iBoot strings specific to T8150:


"Ace:%u Port Mode:%u"<br>"AceInductive: CurrInductiveMask: 0x%x" <br>"InductiveTxSendData"<br>"TXDS: InductiveTxAddToTxStream"<br>

Ace is the internal codename for the charging controller ASIC. InductiveTx = inductive transmit = power transmitted wirelessly from iPhone to another device (reverse wireless charging). The AppleSMCFirmware bumped from H18-6164.82.1.v53 to H18-6164.92.2.v53 in the same build — the SMC (System Management Controller embedded in the PMP coprocessor) handles wattage regulation for the inductive transmit session. TXDS = Transmit Data Stream, the power delivery handshake protocol over SPMI. This is boot-time initialization of reverse wireless charging hardware being wired into iBoot, confirming the feature was in active development for iPhone 17 Pro during 26.5.


T8150 GPU (AGXG18P): Beta 4 brought AGXG18P from version 350.40 → 351.1 with new Metal Compute bounds checks in AGXCLChannelSKSM::submitBuffer. Four new error paths for invalid context_id, event_flag_idx, and priority_type values prevent GPU hangs that were specific to the G18P architecture's command buffer submission model.


T8150 CLPC (Closed Loop Performance Controller): AppleT8150CLPC updated in Beta 3. This is the per-chip DVFS scheduler — it uses ML-driven workload prediction to set clock frequency and voltage on the A19 Pro's CPU and GPU clusters in real time. The T8150 designation makes this strictly an iPhone 17 Pro component.


Exclave ISP components (T8150-specific): T8150_IR_ISP_EK_Component_asan, T8150_RGB_ISP_EK_Component_asan, T8150_ExclaveISPSharedLib_exclavekit_asan updated across betas. These are the Image Signal Processor components running inside the T8150 Exclave domain — the IR ISP handles Face ID camera processing, the RGB ISP handles the main camera pipeline, both isolated from XNU in the Exclave security domain so a compromised kernel cannot access raw biometric or camera data.


AppleMobileDispH18P-DCP: The ProMotion Display Coprocessor driver for H18P (the display SoC on iPhone 17 Pro) updated in Beta 4. DCP is a separate ARM core that owns the entire display pipeline; the application processor submits frames and DCP handles timing, ProMotion rate adaptation (1Hz–120Hz), and HDR tone mapping independently.


AppleAVE2FW_H18: Video encoder firmware for H18 generation updated in Beta 4. The bootstrap initialization routine __rtk_arm_start_bootstrap_area shrank (initialization sequence corrected). This directly affects VTCompressionSession and AVAssetWriter reliability on iPhone 17 Pro.


[HR][/HR]

Full Beta Cycle Summary: iOS 26.5 for iPhone 17 Pro

Beta 1 (23F5043k → 23F5054h, Mar 20 → Apr 5)


Character: heavy feature landing. iMessage/RCS/SMS stack overhauled across 13 coordinated binaries. Apple Intelligence routing, PCC pre-warm, FoundationModels API. APFS filesystem touched for the first time this cycle. New hardware provisioning — J707/J708/J737/J738/V159 device configs, MacBook 2026 icons. AppleAccountTransparency daemon introduced. DimpleKey_PLT authentication mechanism added to SEP. Family sharing third-party invites wired in. ThirdPartyFamilyInvites and InviteFollowUps flags added as FeatureComplete. PrivateCloudCompute pre-warm optimization landed.


Beta 2 (23F5054h → 23F5059e, Apr 5 → Apr 14)


Character: baseband release and security hardening. MAV25 baseband firmware 1.60.00-1 → 1.60.02 with full driver stack. AppleSEPKeyStore + AppleSEPManager + ApplePearlSEPDriver coordinated — SEP-level changes. corecrypto updated in both kernel and userspace simultaneously. Metal compiler upgraded (clang/32023.882 → 32023.884). Exclave shared cache gained ARM MTE memory tagging enforcement via xzz_memtag_config. UseCRLite flag removed (graduated) — TLS certificate revocation now always uses compact Bloom filter, eliminating OCSP round-trips. WebKit significant update.


Beta 3 (23F5059e → 23F5069b, Apr 14 → Apr 23)


Character: RC-candidate kernel train change and security feature finalization. Kernel train jumped from 120 → 122 — new submission branch, clean build posture. AppleSEPKeyStore gained inactivity_reboot — device auto-reboots to BFU state after prolonged idle, hardening against forensic extraction. AGXG18P version 350 → 351 with Metal Compute bounds checking. XNU flow_divert_token_set restructured (VPN token validation changed). com.apple.nke.l2tp jumped two versions. corecapture security gating consolidated from fuse/CSR check to unified debuggability model. CloudKit full stack fix. Notification full stack fix. dictation_secure_touch flag removed (always-on). RCSCompression flag added as FeatureComplete. Pride2026 watch face finalized.


GM / RC1 (23F5069b → 23F75, Apr 23, 45 min gap)


Character: diagnostic infrastructure stripped for production. com.apple.kec.AppleEncryptedArchive kext removed entirely — 306 kernel strings and 207 functions deleted, the entire AEA coredump encryption pipeline removed from production kernel. memoryanalyticsd daemon and its launch daemon plist removed. 17 logging subsystem configs stripped (FaceTime, Messages, IDS, CallKit, all telephony subsystems) — log verbosity reverts to production defaults. AirPlay diagnostic extension removed. Kernel function count dropped from 21,334 → 21,127 (207 functions gone). Build number ~2 → ~1 (GM is the first, cleanest build off train 122).


RC2 (23F75 → 23F77)


Character: two Watch integration bugs found post-RC1. UserNotificationsCore fixed a data protection class update failure for Watch notification forwarding triggered by bulletin board section changes — the bug causing notification delivery failures to Apple Watch. WatchFacesWallpaperSupport fixed a redundant GPU render in generateLookSnapshotsIfNeeded (cache miss logic was wrong, causing incorrect snapshot state). warlock.metallib (Ultra watch face) had a 16-byte compute shader fix. Same kernel, same iBoot, same firmware as RC1.

RC1 (23F75) → RC2 (23F77): What Changed
The most important thing to understand about this diff first: the kernel is identical.
23F75: 12377.122.4~1 Thu Apr 23, 20:42:24 PDT
23F77: 12377.122.4~1 Thu Apr 23, 20:42:24 PDT

Same build number, same timestamp, same everything. RC2 did not touch the kernel, iBoot, firmware, WebKit, feature flags, or the filesystem. This is a surgical patch — three dylibs and one Metal shader, all Watch-related. Apple found a specific bug post-RC1 narrow enough to fix without kernel involvement.
[HR][/HR]
The Four Changes in RC2
1. [ICODE]UserNotificationsCore[/ICODE] (640.5.32.103 → 640.5.32.104) — the actual bug fix
This is the substantive change that motivated RC2. The version bumped a patch increment in one build, and the diff reveals exactly what was wrong:
New exported symbols:
_BPSBulletinDistributorBBSectionsDidChangeNotification
_NSURLFileProtectionKey
_associated conformance So16NSURLResourceKeyaSHSCSQ
_associated conformance So16NSURLResourceKeyas20_SwiftNewtypeWrapperSCSY
_associated conformance So16NSURLResourceKeyas20_SwiftNewtypeWrapperSCs35_HasCustomAnyHashableRepresentation
_symbolic _____ So16NSURLResourceKeya

New log strings:
"%s -- No device found for pairing ID: %s"
"Failed to update data protection class for watch forwarding configuration: %@"
"Updating data protection class for watch forwarding configuration"

The bug: notification forwarding to Apple Watch was failing to correctly set or update the data protection class on the forwarding configuration. [ICODE]NSURLFileProtectionKey[/ICODE] is used to assign a file protection level ([ICODE]NSFileProtectionComplete[/ICODE], [ICODE]NSFileProtectionCompleteUnlessOpen[/ICODE], etc.) to files stored by the notification system. [ICODE]_BPSBulletinDistributorBBSectionsDidChangeNotification[/ICODE] is the inter-process notification that tells SpringBoard when the bulletin provider's section layout changes — relevant when watch-forwarded notifications reorganize.
The practical failure mode: on pairing a new Apple Watch or restoring one, the notification forwarding configuration file could end up in the wrong data protection class — either too permissive (accessible before first unlock) or causing failures on a freshly booted device because the file was inaccessible. The new error string [ICODE]"No device found for pairing ID: %s"[/ICODE] covers the case where forwarding was attempted for a watch that was no longer paired, which previously likely triggered an uncaught error path.
Binary size grew substantially: [ICODE]__TEXT.__text[/ICODE] from [ICODE]0x205cdc[/ICODE] → [ICODE]0x206b80[/ICODE] (+3,492 bytes), functions 9147 → 9153 (+6 new functions), symbols 13,303 → 13,311 (+8). This isn't a trivial fix — 6 new functions were written to handle the data protection class update path properly.
iPhone 16 Pro user impact: any user who paired an Apple Watch and noticed notifications not forwarding reliably, or who got errors during Watch setup in RC1, this is the fix.
Developer impact: if you use [ICODE]UNUserNotificationCenter[/ICODE] with Watch companion apps and store notification configuration in files with explicit protection classes, the system is now more reliable about maintaining those classes across Watch pairing events. The [ICODE]_NSURLFileProtectionKey[/ICODE] now being properly exported means UserNotificationsCore's internal file storage is correctly protected — calls to your notification delegate methods in background states will be more consistent.
[HR][/HR]
2. [ICODE]WatchFacesWallpaperSupport[/ICODE] (2483.340.80.0 → 2483.340.80.1) — snapshot rendering refactor
This is the largest code change in RC2. Functions dropped from 1,654 → 1,645 (9 removed), symbols from 1,090 → 1,075 (15 removed), indicating dead code was cleaned out alongside the refactor.
The removed vs added log strings tell the full story:
Before (vague, no context):
"couldn't create data provider"
"couldn't make buffer for look snapshots"
"look-snapshotting command buffer did not complete successfully"
"not applying snapshots (final orientation %{public}s, these are %{public}s)"
"snapshot rendering finished for %{public}s"
"snapshotted look "%{public}s""

After (specific, includes look name, count, orientation, status):
"Exit generateLookSnapshotsIfNeeded (reason: cache hit, %ld look(s))"
"Exit generateLookSnapshotsIfNeeded (reason: not .paged)"
"GPU completed \"%{public}s\" with status %lu"
"committing snapshot render for \"%{public}s\" (%ld/%ld)"
"couldn't create data provider for \"%{public}s\""
"couldn't make buffer for look snapshot \"%{public}s\""
"look-snapshotting command buffer did not complete successfully for \"%{public}s\" (status %lu, error: %{public}s)"
"not applying snapshot for \"%{public}s\" (final orientation %{public}s, this is %{public}s)"

Two things happened here. First, the function [ICODE]generateLookSnapshotsIfNeeded[/ICODE] was refactored to short-circuit earlier — it now explicitly exits with [ICODE]"reason: cache hit"[/ICODE] or [ICODE]"reason: not .paged"[/ICODE] instead of always attempting to render. This is a performance fix: Watch face wallpaper snapshots were being regenerated unnecessarily when a cached version was valid. The [ICODE]__TEXT.__text[/ICODE] section shrank from [ICODE]0x4042c[/ICODE] → [ICODE]0x3f8e4[/ICODE] (−3,400 bytes) despite adding new logging, meaning the refactor genuinely reduced code paths.
Second, the new string [ICODE]"lastGeneratedSnapshotState"[/ICODE] → removed, replaced with proper per-look tracking. The old code tracked a single global last-generated state; the new code tracks per-look ([ICODE]"%{public}s"[/ICODE] = look name) with orientation awareness ([ICODE]"final orientation %{public}s, this is %{public}s"[/ICODE]).
The removed block copy/destroy helpers ([ICODE]_block_copy_helper.74[/ICODE], [ICODE]_block_destroy_helper.75[/ICODE], [ICODE]_block_destroy_helper.76[/ICODE]) and Swift box projection ([ICODE]_swift_projectBox[/ICODE]) indicate closure-based code was replaced with more direct function calls — a common Swift performance optimization.
iPhone 16 Pro user impact: Watch face selection and preview in the iPhone's Watch app will be faster and use less CPU/GPU. The previous code was re-rendering face snapshots that were already cached. On ProMotion displays this could have caused brief rendering hitches during face selection that are now avoided.
Developer impact (Watch app developers): if your Watch app customizes wallpaper or face content, the snapshot pipeline is now cache-aware. Snapshots will only regenerate when the face configuration actually changes, not on every launch of the face selection UI.
[HR][/HR]
3. [ICODE]NanoTimeKitCompanion[/ICODE] (2483.340.80.0 → 2483.340.80.1) — version tag only
- "description=NanoTimeKit-2483.340.80"
+ "description=NanoTimeKit-2483.340.80.1"

One new string, 2-byte cstring section growth. This is a pure version bump to align NanoTimeKitCompanion with the WatchFacesWallpaperSupport change — both are version [ICODE]2483.340.80.1.0[/ICODE] now. The companion framework mirrors the NanoTimeKit version for consistency during Watch synchronization. No functional change.
[HR][/HR]
4. [ICODE]warlock.metallib[/ICODE] — compute shader micro-optimization
__TEXT.__compute: 0x7030 → 0x7020 (-16 bytes)

The "Warlock" face is the Astronomy/Solar System Watch face. The compute section of a Metal library contains GPU compute kernels — in the context of a Watch face, these are the shaders that render the dynamic elements (planetary positions, solar/lunar data visualization). A 16-byte reduction in the compute section is a micro-optimization — one instruction sequence was tightened, or a redundant calculation was eliminated. The [ICODE]__TEXT.__metallib[/ICODE] section (0x21b20) was unchanged, meaning the library container itself didn't change structure — just one compiled kernel got marginally smaller.
User impact: imperceptible in isolation, but at Watch face scale where shaders run on a battery-constrained device every time the face renders, kernel efficiency has thermal and battery implications over millions of renders.
[HR][/HR]
Complete iOS 26.5 Beta Cycle Summary for iPhone 16 Pro (iPhone18,1 / T8150 / A18 Pro)
Here's the full arc across every diff in this series:
[HR][/HR]
Beta 1 → Beta 2 (23F5043k → 23F5054h, Mar 20 → Apr 5)
Character: heavy feature landing.
The iMessage/RCS stack was comprehensively overhauled — [ICODE]imagent[/ICODE], [ICODE]IMDaemonCore[/ICODE], [ICODE]iMessage.imservice[/ICODE], [ICODE]RCS.imservice[/ICODE], [ICODE]MessagesBlastDoorSupport[/ICODE], [ICODE]UnifiedMessagingKit[/ICODE], [ICODE]SecureMessaging[/ICODE] all updated together. The [ICODE]DowngradeConfirmation[/ICODE] key was removed from [ICODE]SecureMessagingAgent.plist[/ICODE], changing how secure message session downgrade is handled.
[ICODE]AppleAccountTransparency.framework[/ICODE] and [ICODE]appleaccountd[/ICODE] were introduced — a new transparency audit system for Apple ID operations, with the [ICODE]TeenMagicFamilyJoin[/ICODE] feature flag indicating Family Sharing parental controls were being built simultaneously.
SEP ([ICODE]AppleSEPManager[/ICODE], [ICODE]ApplePearlSEPDriver[/ICODE]) and AMFI ([ICODE]AppleMobileFileIntegrity[/ICODE]) updated together with [ICODE]IODARTFamily[/ICODE] — a coordinated security layer change. [ICODE]DimpleKey_PLT[/ICODE] appeared in [ICODE]LocalAuthentication.plist[/ICODE], indicating a new platform-level authentication mechanism being developed.
Apple Intelligence saw [ICODE]IntelligenceFlowRuntime[/ICODE], [ICODE]IntelligencePlatformCore[/ICODE], [ICODE]ModelCatalog[/ICODE], [ICODE]SummarizationKit[/ICODE], [ICODE]WritingToolsUIService[/ICODE], [ICODE]Morpheus[/ICODE] all update. CloudKit routing for Siri data ([ICODE]ck_secondary_zone_routing[/ICODE]) and dictation secure touch were enabled.
APFS was touched for the first time this cycle across the full toolchain: [ICODE]com.apple.filesystems.apfs[/ICODE] kext, [ICODE]apfs_condenser[/ICODE], [ICODE]fsck_apfs[/ICODE], [ICODE]livefiles_apfs[/ICODE].
New hardware provisioning: MacBook 2026 icons (blue, pink, silver, yellow) appeared in [ICODE]CoreTypes-0033.bundle[/ICODE]. MediaExperience configs for new device identifiers J707, J708, J737, J738, V159.
iPhone 16 Pro specifics: [ICODE]AppleT8150CLPC[/ICODE] (A18 Pro performance controller) and [ICODE]AppleMobileDispH18P-DCP[/ICODE] (ProMotion display coprocessor) both updated. All [ICODE]ImagingNetworks[/ICODE] neural network models for the camera pipeline were replaced with new V159-inclusive variants — Deep Fusion, Night Mode, Deep Zoom, Noise Reduction, Video Deghosting all got new model weights targeting a new device variant.
[HR][/HR]
Beta 2 → Beta 3 (23F5054h → 23F5059e, Apr 5 → Apr 14)
Character: stabilization, Metal toolchain upgrade, baseband update.
The Apple C1/C2 modem (Mav25) received its first firmware update in this cycle: [ICODE]Mav25-1.60.00-1.Release.bbfw[/ICODE] → [ICODE]Mav25-1.60.02.Release.bbfw[/ICODE]. Three baseband kexts updated in lockstep ([ICODE]AppleBasebandPCI[/ICODE], [ICODE]AppleBasebandPCIMAVControl[/ICODE], [ICODE]AppleBasebandPCIMAVPDP[/ICODE]), along with the full telephony dylib stack ([ICODE]libBasebandCommandDrivers*[/ICODE], [ICODE]libCommCenter*[/ICODE], [ICODE]CoreTelephony[/ICODE]).
The Metal Shading Language compiler jumped from revision [ICODE]32023.882[/ICODE] to [ICODE]32023.884[/ICODE], regenerating all Metal precompiled modules. Every system Metal shader got recompiled against the newer toolchain.
[ICODE]com.apple.kec.corecrypto[/ICODE] grew by 1,816 bytes alongside userspace [ICODE]libcorecrypto*[/ICODE] variants — coordinated cryptographic library update. [ICODE]UseCRLite[/ICODE] graduated to always-on in Security.plist, meaning iOS 26.5 uses Bloom filter-based certificate revocation (CRLite) eliminating per-connection OCSP round-trips.
[ICODE]AppPredictionHeuristics[/ICODE], [ICODE]AppPredictionFoundation[/ICODE], [ICODE]duetexpertd[/ICODE], the complete Duet stack updated — Siri Suggestions recalibrated. CloudKit stack ([ICODE]cloudd[/ICODE], [ICODE]ckdiscretionaryd[/ICODE], [ICODE]bird[/ICODE], [ICODE]CloudKitDistributedSync[/ICODE]) all updated together — a sync reliability bug was found and fixed.
iPhone 16 Pro specifics: ISP Exclave components ([ICODE]T8150_IR_ISP_EK_Component[/ICODE], [ICODE]T8150_RGB_ISP_EK_Component[/ICODE], [ICODE]T8150_CoreAAClientKit[/ICODE]) all updated — both camera exclave components refreshed. These handle Face ID and camera processing in Apple's isolated exclave security domain below the kernel.
[HR][/HR]
Beta 3 → Beta 4 (23F5059e → 23F5069b, Apr 14 → Apr 23)
Character: RC candidate posture — kernel train change, major security feature, coprocessor constellation update.
Kernel train shifted from [ICODE]120[/ICODE] to [ICODE]122[/ICODE] — a new submission branch, the clearest signal the build was converging on release. 12 firmware images updated simultaneously: SPTM, TXM, exclave_roottask, exclave_sharedcache, AGX GPU firmware (all three steppings: a000, a010, b000), ANSF/RANS storage firmware, PMP (power management processor), audio DSP (Silenus v5x), SmartIO/Always-Sensing firmware.
[ICODE]AppleSEPKeyStore[/ICODE] gained the string [ICODE]"com.apple.keystore.config.set.inactivity_reboot"[/ICODE] — inactivity-triggered automatic device reboot landed. After extended idle, the device reboots itself back to Before First Unlock state, destroying class A/B keys and making forensic extraction vastly harder.
[ICODE]AGXG18P[/ICODE] GPU driver jumped to version 351, gaining explicit bounds checks in [ICODE]AGXCLChannelSKSM::submitBuffer[/ICODE] — Metal Compute command buffer submissions with invalid context IDs or out-of-range priority types now return clean errors instead of potentially causing GPU hangs.
Exclave shared cache gained MTE ([ICODE]xzz_memtag_config[/ICODE]) enforcement — ARM Memory Tagging Extension hardware validation applied to heap allocations inside the Face ID/ISP exclave processes.
iBoot gained [ICODE]"Ace: HostAct"[/ICODE] and [ICODE]"AceInductive"[/ICODE] / [ICODE]"InductiveTxSendData"[/ICODE] strings — reverse wireless charging hardware initialization being wired up in the bootloader. [ICODE]AppleSMCFirmware[/ICODE] bumped from [ICODE]H18-6164.82.1[/ICODE] to [ICODE]H18-6164.92.2[/ICODE].
[ICODE]RCSCompression[/ICODE] graduated to FeatureComplete — RCS message payloads will be compressed in transit. [ICODE]dictation_secure_touch[/ICODE] graduated to always-on — secure input pathway for dictation in password fields is now unconditional.
iPhone 16 Pro specifics: [ICODE]AppleT8150CLPC[/ICODE] updated again (DVFS performance controller). [ICODE]t8150pmp.im4p[/ICODE] (Power Management Processor for A18 Pro) updated. [ICODE]sptm.t8150.release.im4p[/ICODE] (Secure Page Table Monitor, T8150-specific implementation) updated. The inactivity reboot and MTE additions are specifically impactful on T8150 devices as the SEP implementation is silicon-specific.
[HR][/HR]
Beta 4 → RC1/GM (23F5069b → 23F75, Apr 23 — 45 minute gap)
Character: production cleanup — removal of diagnostic infrastructure.
[ICODE]com.apple.kec.AppleEncryptedArchive[/ICODE] kext removed entirely. 306 kernel strings and 207 kernel functions deleted — the entire AEA-encrypted coredump pipeline, which allowed Apple to receive encrypted crash dumps from beta devices, was stripped for production. The kernel shrank by roughly 13,000 bytes of executable code and 14,000 bytes of string data.
[ICODE]memoryanalyticsd[/ICODE] daemon and its launch daemon plist removed — this background memory telemetry collector was beta-only. [ICODE]AirPlayDiagnosticExtension[/ICODE] removed.
17 logging subsystem configs stripped from [ICODE]/System/Library/Preferences/Logging/Subsystems/[/ICODE] — FaceTime, Messages, IDS, Home, CallKit, all telephony subsystems, voicemail all reverted to hardcoded production log levels (default only, no persistence).
[ICODE]corecaptureIsDevFusedOrCSRInternal[/ICODE] simplified while [ICODE]corecaptureIsDebuggableUnified[/ICODE] expanded — the diagnostic trace capture security gate was consolidated from hardware fuse/CSR state checking into a unified entitlement-aware check.
Pride 2026 watch face ([ICODE]NTKPride2026FaceBundle[/ICODE]) shipped in the GM binary.
[ICODE]ThreadTesterExperiment[/ICODE] in Home.plist graduated — Thread network commissioning and testing flows final. [ICODE]GlobalDisclosures.plist[/ICODE] gained UUID [ICODE]1b3196a9-6a20-4559-60fd-bb3743219ab3[/ICODE] — a new first-use privacy disclosure UI will appear for a new iOS 26.5 feature (likely inactivity reboot notification or Apple Account Transparency).
[HR][/HR]
RC1 → RC2 (23F75 → 23F77, Apr 23)
Character: single targeted Watch notification bug fix.
[ICODE]UserNotificationsCore[/ICODE] patched to correctly handle data protection class assignment on Watch forwarding configuration files. Watch face snapshot rendering in [ICODE]WatchFacesWallpaperSupport[/ICODE] refactored for cache-awareness, eliminating unnecessary re-renders. [ICODE]NanoTimeKitCompanion[/ICODE] version-bumped to match. Warlock face compute shader micro-optimized by 16 bytes.
[HR][/HR]
iPhone 16 Pro (iPhone18,1) Specific Thread Across the Full Cycle
Component Changes This Cycle
A18 Pro / T8150 CLPC Updated Beta 1, Beta 4 — DVFS performance control tuned twice
H18P Display Coprocessor Updated Beta 1 — ProMotion display pipeline change
ISP Exclaves (T8150_IR/RGB_ISP) Updated Beta 2 — camera processing in isolated security domain refreshed
AGX G18P GPU Driver version 350→351 in Beta 4, bounds checking added to compute pipeline
T8150 PMP (Power Management) Updated Beta 4 — battery/thermal management firmware
T8150 SPTM Updated Beta 4 — Secure Page Table Monitor, T8150-specific
Mav25 Baseband 1.60.00-1 → 1.60.02 in Beta 2 — Apple C1/C2 modem firmware
Camera neural networks Full model refresh Beta 1 — all imaging networks updated to V159-inclusive variants
SEP KeyStore Inactivity reboot feature added Beta 4
Exclave MTE ARM Memory Tagging activated for ISP/Face ID exclaves Beta 4
Reverse wireless charging iBoot + SMC initialization strings added Beta 4
Notifications → Watch Data protection class bug fixed RC2
Score: 6 Votes (Like | Disagree)
EugW Avatar
3 weeks ago

It usually first day of WWDC so 8th june
That is extremely unlikely. Maybe you're thinking of macOS 27.0 beta.
Score: 5 Votes (Like | Disagree)