<!--
{
  "documentType" : "article",
  "framework" : "macOS Release Notes",
  "identifier" : "/documentation/macOS-Release-Notes/appkit-release-notes-for-macos-13",
  "metadataVersion" : "0.1.0",
  "role" : "article",
  "title" : "AppKit Release Notes for macOS Ventura 13"
}
-->

# AppKit Release Notes for macOS Ventura 13

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

## Overview

AppKit in macOS Ventura 13 includes new features, as well as API changes and deprecations.

### New Features

#### NSColorWell

- Color wells have a modernized appearance and two new styles in macOS 13. See the new <doc://com.apple.documentation/documentation/AppKit/NSColorWell/colorWellStyle> property and associated <doc://com.apple.documentation/documentation/AppKit/NSColorWell/Style> type for more information on configuring a color well’s style.
- The two new color well styles, <doc://com.apple.documentation/documentation/AppKit/NSColorWell/Style/minimal> and <doc://com.apple.documentation/documentation/AppKit/NSColorWell/Style/expanded>, offer a pull-down capability. By default, interacting with the well displays a popover with a palette of color choices for quick picking. Applications can customize this interaction using the new <doc://com.apple.documentation/documentation/AppKit/NSColorWell/pulldownTarget> and <doc://com.apple.documentation/documentation/AppKit/NSColorWell/pulldownAction> properties.
- Borderless color wells will be deprecated in a future release. The <doc://com.apple.documentation/documentation/AppKit/NSColorWell/isBordered> property has been annotated as such.

#### NSComboButton

- macOS 13 introduces a new type of control: <doc://com.apple.documentation/documentation/AppKit/NSComboButton>. NSComboButton provides the functionality of a pull-down menu along with a primary action.
- NSComboButton is configurable with two styles, <doc://com.apple.documentation/documentation/AppKit/NSComboButton/Style-swift.enum/split> and <doc://com.apple.documentation/documentation/AppKit/NSComboButton/Style-swift.enum/unified>. Refer to the class documentation for guidance on the appearance and behavior of each case.

#### NSNib

- The `initWithContentsOfURL` initializer (deprecated since 10.8) now throws an assertion. Use <doc://com.apple.documentation/documentation/AppKit/NSNib/init(nibNamed:bundle:)> instead.

#### NSTableView and NSOutlineView

- On macOS 13 and higher, changing the <doc://com.apple.documentation/documentation/AppKit/NSTableView/autosaveName-swift.property> property from one value to another will automatically persist autosave data for the old value before changing to the new value. Setting `autosaveName` to `nil` removes the persistence data for the previously set `autosaveName`.
- NSTableView and NSOutlineView now automatically estimate row heights for view-based table views whose delegates implement <doc://com.apple.documentation/documentation/AppKit/NSTableViewDelegate/tableView(_:heightOfRow:)> and provide variable row heights. This provides performance improvements for table views with large numbers of rows by reducing the frequency of the calls to <doc://com.apple.documentation/documentation/AppKit/NSTableViewDelegate/tableView(_:heightOfRow:)>.

> Note: To get the benefit of row height estimation, the table view must be view-based and not override <doc://com.apple.documentation/documentation/AppKit/NSTableView/rect(ofRow:)>, <doc://com.apple.documentation/documentation/AppKit/NSTableView/row(at:)>, or <doc://com.apple.documentation/documentation/AppKit/NSTableView/rows(in:)>.

- For cell-based table views, checking Autosave Column Information in Interface Builder now correctly persists column information for columns that have automatic column identifiers.
- For apps linked against the macOS 13 SDK, <doc://com.apple.documentation/documentation/AppKit/NSTableRowView> and subclasses that override <doc://com.apple.documentation/documentation/AppKit/NSTableRowView/drawSeparator(in:)> now draw their separators correctly, even when displayed as floating group rows.

### Deprecations

#### NSToolbar

- Placing an NSToolbarItem item taller than the toolbar height is not supported and will result in clipping. When drawing a custom badge, use alignmentRectInsets of the control to describe where the button is and draw within the inset area.

---

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)