<!--
{
  "documentType" : "article",
  "framework" : "watchOS Release Notes",
  "identifier" : "/documentation/watchOS-Release-Notes/watchos-8_1-release-notes",
  "metadataVersion" : "0.1.0",
  "role" : "article",
  "title" : "watchOS 8.1 Release Notes"
}
-->

# watchOS 8.1 Release Notes

Update your apps to use new features, and test your apps against API changes.

## Discussion

The watchOS 8 SDK provides support to develop watchOS apps for Apple Watch devices running watchOS 8.1. The SDK comes bundled with Xcode 13, available from the Mac App Store. For information on the compatibility requirements for Xcode 13, see <doc://com.apple.documentation/documentation/Xcode-Release-Notes/xcode-13-release-notes>.

### CoreData

#### Known Issues

- `NSExpression` immediately forbids certain operations that have significant side effects, like creating and destroying objects. Additionally, casting string class names into Class objects with `NSConstantValueExpression` is deprecated. (84017178)
  
  **Workaround:** Pass temporary objects to `NSExpression` in the context parameter of <doc://com.apple.documentation/documentation/Foundation/NSExpression/expressionValue(with:context:)>, or with `NSPredicate` as the `substitutionVariables` parameter of <doc://com.apple.documentation/documentation/Foundation/NSPredicate/evaluate(with:substitutionVariables:)>. You can create a derived predicate with all the substitution variables replaced (bound), using <doc://com.apple.documentation/documentation/Foundation/NSPredicate/withSubstitutionVariables(_:)> on an existing `NSPredicate` so that code using the object can continue to use a simple `evaluate(with object: Any?)` invocation.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)