Photoshop API Changelog

Documentation

Dialog lockDocumentFocus

The Photoshop-only option to a dialog element's showModal method is now noted under Known Issues and Workarounds. In the future, that note will be integrated into showModal.

Photoshop 27.4 (February 2026)

New Adjustment layer kinds

UXP v9.2.0 Integration

New

  • System Sleep/Awake Events: Introduced system sleep and wakeup events in the plugin JS layer for enhanced control over features like video playback.
window.addEventListener("awake", () => { console.log("System is awake"); });
window.addEventListener("sleep", () => { console.log("System is sleeping"); });

UXP v9.1.0 Integration

New

  • Video timeUpdate Event: UXP's video element now emits timeUpdate event like HTML5 video element.
  • Video Element Audio Support: UXP's video element can now play audio files.
  • URLSearchParams Module Support: Added URLSearchParams module to UXP.
  • WebView Drag & Drop Support: Added drag and drop functionality between UXP panels and WebView-based panels. Enables WebView to accept drops of various data types from anywhere, bypassing UXP.
  • Improved Image Loading: Improved image loading so that multiple views can load the same URL without triggering false error states or visible flicker, resulting in smoother and more reliable image rendering across the UI.

Updated

  • WebView Improvements
  • Disabled swipe navigation on WebView2. This ensures consistent behavior with macOS WKWebView. All gestures on WebView2 (Swipe, Zoom Control, Pinch Zoom) are now disabled.
  • Enriched WebView's load error messages. WebViewEvent.message now provides more detailed information about the cause of errors for better debugging.
  • Removed allow field from permissions.webview configuration. The permissions.webview.allow field in the plugin manifest is no longer used.

Photoshop 27.2 (December 2025)

Document Generative Upscale

Photoshop 26.11 (September 2025)

Preferences

UXP 9.0.2 Integration

  • Ensures that the scripts in WebViews are universally injected across all frames, including any nested <iframe>. This addresses an issue with no-op context menus showing up forĀ  <iframe> in WebViews.
  • This addresses an issue with UXP Developer Tools (UDT) being unable to establish a connection with the host applications in Debug builds which impacted developer workflows.
  • Ensures that WebView visibility change script always runs on the plugin's JavaScript thread, fixing a crash across all DVA codebases.

Photoshop 26.10 (August 2025)

UXP v9.0.0 Integration

Updated

  • Webview enhancements

    • WebView2 now uses Fluent overlay scrollbars for a modern UI experience
    • requiredPermissions.webview.domains is now optional, simplifying manifest configuration
  • SecureStorage methods now follow the Web Storage API spec for error handling

  • XMLHttpRequest.readyState is exposed in XMLHttpRequest now for correctness

Photoshop 26.9 (July 2025)

UXP v8.4.0 Integration

Bug Fixes

  • Security Fix: Removed 'Authorisation' header if HTTP request is redirected to different origin.
  • \\ was not being allowed as an authority delimiter on Windows. This is now fixed.

Photoshop 26.8 (June 2025)

UXP v8.3.0 Integration

  • Stability fixes for Video in Windows

UXP v8.2.0 Integration

New

  • File System Stream Support Enable large file upload streaming in UXP by adding fs.createReadStream support for efficient handling of large files without loading them entirely into memory.

Updated

  • XMLHttpRequest Enhancement Added support for standard XMLHttpRequest state variables (UNSENT, OPENED, HEADERS_RECEIVED, LOADING, DONE) . XMLHttpRequest's state variables can be accessed in the following ways. XMLHttpRequest.HEADERS_RECEIVED -> It should not return undefined but return 2. XMLHttpRequest.prototype.OPENED -> It should return 1. (new XMLHttpRequest()).LOADING -> It should return 3.

  • File System Improvements Extended UXP filesystem to support all valid characters including special characters like pound(#), improving compatibility with various file naming conventions.

Documentation update (May 2025)

Photoshop 26.1 (November 2024)

UXP v8.1.0 Integration

New

  • ResizeObserver APIs to observe an element's dimension or border-box, allowing better management of automatic adjustments and providing a performant way of observing size changes of elements.
  • IntersectionObserver APIs to observe changes in the intersection of a target element with an ancestor element, unblocking cases for lazy loading of assets and facilitating infinite scrolling.
  • Added support for :first-child and :not(:first-child) pseudo-classes to enhance the existing Web Component support by allowing targeting of the desired elements
  • Support linear-gradient property with start and end values to align with the web.

Fixed

  • Fixed discrepancy in default state of enableFillAsCustomAttribute flag (it's true by default now)
  • Fixed missing translate -> y values via UXP Dev Tool, despite being correctly applied on the elements.

Photoshop 26.0 (Oct 2024)

Photoshop app object

UXP v8.0.1 Integration

Breaking Changes

  • enableFillAsCustomAttribute feature flag, introduced in UXPv7.1.0, will be turned on by default.

Deprecations

New

  • New components supported in Spectrum Web Components (SWC). More details here

    • sp-asset
    • sp-meter
    • sp-number-field
    • sp-overlay
    • sp-quick-actions
    • sp-search
    • sp-swatch
  • New command line templates to get started with SWC easily. Find details in this section.

  • Support for local HTML files in WebView

  • New CSS capabilities

    • scaleX() & scaleY()
    • transform-origin
    • translate property
    • Box-shadow property now supports transform rotate.
  • New feature flag CSSNextSupport in the manifest.json to gate the new and future CSS capability.

    Table
    Manifest setting Description
    featureFlags: {"CSSNextSupport": true} Enables all the new CSS features.
    featureFlags: {"CSSNextSupport": ["boxShadow", "transformFunctions", "transformProperties" ]} Enables only the named properties in the list.

    Note that "enableSWCSupport": true will enable CSSNextSupport by default, even if it is not done explicitly in plugin manifest otherwise.

  • Video enhancements: Support added for Seek Event

  • Support for Navigator.language API

  • Support for new HTMLElement APIs - append, prepend and replaceChildren

  • [Beta] Support for form reset in HTMLFormElement

Updated

Photoshop 25.10 (May 2024)

timeOut option added to executeAsModal. Also, the error message returned on a modal request collision was updated to include the id of the plugin that initiated the existing modal state.

Photoshop 25.5 (February 2024)

UXP v7.4 Integration

Updated

  • UXP Alerts (alert, prompt, confirm) have been moved back to beta due to a few inherent instabilities in this feature. While we work on addressing these issues, the feature can be accessed using the feature flag enableAlerts in the manifest.json file. Also, note that UXP alerts will be available only in Plugins and not in scripts.

  • Wildcards (*) at the top-level domain name are not allowed. Please ensure you revisit the permissions setup in manifest.json for WebView, and network calls (XMLHttp, fetch)

  • New doc for tracking the mapping between Spectrum widgets and Spectrum Web Components in UXP

Fixed

  • XMP now works in UXP Scripts.
  • Plugin crashes while using fit-content
  • WebView support for file selector in MacOS
  • GUID returning hashed empty string
  • Updated missing docs for pseudo-class defined (Available since UXP v6.0)

Photoshop 25.2 (October 2023)

UXP v7.3 Integration

New

  • GUID for uniquely identifying a Creative Cloud User.

  • Multipart FormData support in Request and Response for fetch

  • FormData now supports the following APIs

    • delete()
    • get()
    • getAll()
    • has()
    • keys()
    • set()
    • values()

Updated

  • FormData's append now supports Blob as an additional parameter.
  • Spectrum Web Components support in React context is now available for all 30 components.
    • Sample plugin for UXP-SWC plugin in React context can be referred here

Fixed

  • Tab Navigation not working for several SWC Components is now fixed
  • Spacebar doesn't work on SWC Button component when reached via TAB navigation.

UDT v2.0

New

  • UXP Playground to experiment with APIs. Click on the 'Playground' tab next to 'Developer Workspace' to select an app and get started.

Updated

  • Plugin actions are surfaced based on the 'Status' of your plugin in the Developer Workspace

Photoshop 25.1 (October 2023)

Document objects can report the current zoom value.

UXP Plugin Action Record Again

The ability to re-record an Action step via the Actions panel flyout menu item, "Record Again", or by double-clicking the step now works. To support that ability, see the notes at Action Recording.

Photoshop 25.0 (September 2023)

Action Recording

Adds the capability for UXP plugins to record and playback Action steps. See Advanced > Action Recording for usage details.

batchPlay option: suppressProgressBar

This value can be used to suppress a Photoshop progress bar while the command is being executed.

Selection

In Document.selection you can now find the new Selection class for handling pixel selection. Properties: typename, docId, parent, bounds, solid.

And methods: contract, deselect, expand, feather, grow, inverse, load, makeWorkPath, selectAll, selectRectangle, selectEllipse, selectPolygon, selectRow, selectColumn, save, saveTo, selectBorder, smooth, translateBoundary, resizeBoundary, rotateBoundary. (All methods here return Promise<void>.)

Bug Fixes

Photoshop C++ SDK Access from UXP Hybrid Plugins

UXP hybrid plugins can now access the suites of functionality made available via the Photoshop C++ SDK.

UXP v7.2 Integration

New

Updated

Photoshop 24.6 (June 2023)

24.6 Bug Fixes

Photoshop 24.5 (May 2023)

Calculations and Apply Image

The blending operations Layer Apply Image and Document Calculations are now available.

Both methods accept an options object that matches the parameters required in the respective UI dialog.

Other updates

UXP v7.1 Integration

New

HTMLElement now supports

Updated

Fixed

  • SVGElement: The color of the fill attribute using a CSS variable will resolve as per the variable value. For now, please test this fix by enabling the feature flag in your plugin manifest "featureFlags" : { "enableFillAsCustomAttribute" : true }. This flag will be turned on by default in the next UXP release.
// CSS variable
html {
  --iconColor: yellow;
}

Photoshop 24.4 (April 2023)

Imaging API update

The Imaging API is moving out of Prerelease. It will now be available in the Beta build with the module name "imaging". Previously, access was via require("photoshop").imaging_beta. It is now require("photoshop").imaging.

Improvements and Fixes

UXP v7.0 Integration

New

Changed

  • HTMLVideoElement: 'metadata' is the default value for preload attribute
  • FS API: No need for the file:// protocol

Photoshop 24.2 (February 2023)

Imaging API Beta

We are excited to provide an entirely new capability with the Imaging API. Anyone that has been eagerly awaiting the ability to directly get and set pixels in a document should head to the dedicated page. Note: we are serious about the Beta label. While this is exciting new territory, keep in mind that the API is in an early form. We want your feedback to help guide it toward maturity.

Text support

The UXP DOM features a variety of new text-related APIs, that provide a more robust and consistent experience for developers. Instead of aiming for ExtendScript parity, the UXP DOM has been designed to provide a more modern and intuitive API surface. While still providing the old functionality, it's been extended to cover many features that weren't previously available.

Other fixes

UXP v6.5 Integration

New

Photoshop 24.1 (December 2022)

app.getColorProfiles

Color profiles are needed for the Imaging API, so a new method on the app is introduced to return profile names. At this time, only profiles for RGB and Gray are available.

CountItems support

The CountItems DOM API is now available in Photoshop.

Other fixes

We now throw errors in more situations with layer blend modes

UXP v6.4 Integration

New

Bugs Fixes

  • PluginManifest parsing / Load Plugin errors not logged in UDT
  • Error shown in UDT APP logs on Plugin UnLoad
  • UXP script : file session tokens are not getting created
  • Error message and stack are empty in case of reject("error string") executed in script
  • [Win only]-Volume is being muted automatically for 3rd video in the tutorial while opening the video in Theatre mode
  • After closing the theatre mode, videos are overlapping while scrolling up and down in DP
  • Provide an API to programmatically close dialog in pop-out/theatre mode.
  • Plugin Data folder shouldn't be created for scripts
  • Crash on exit
  • script.setResult("kSuccess") not working
  • Resource Leaks in Window Dialog on UWP
  • Privilege plugin fail to add in XD in certain cases
  • Fixed mouse/keyboard events within Webview in XD v55 and Win 10.

Photoshop 24.0 (October 2022)

Preferences

Adds API to change some of the Photoshop preferences. Only first set of 38 preferences was added. More will follow.

ColorSamplers support

The ColorSampler DOM API is now available in Photoshop.

Layer Comps support

Guide fixes

Known Issues and Workarounds

Layer Filter Methods

Other

Photoshop 23.5 (August 2022)

UXP Scripting

Script files with extension .psjs are executed using UXP.

Layer Filter methods

Photoshop 23.4 (July 2022)

convertUnits method on the Photoshop Application object

Photoshop 23.3 (April 2022)

Paths support

Load on Launch support

You can now set your plugin manifest to load your plugin on app launch. See Photoshop Manifest for details.

batchPlay development helper: Copy as Javascript

It is now possible to use the Photoshop Actions panel to help build your plugin. Record valid actions, and let Photoshop generate readable and valid batchPlay to use in your UXP plugin. See the batchPlay documentation under "Accepted action descriptors".

Core event: "userIdle"

This event is generated when Photoshop detects that a user becomes idle, while Photoshop is the foreground application. A plugin must specify a number of idle seconds, and then may choose to batch process-intensive tasks. See photoshopCore.

Interactive Mode for executeAsModal

As an alternative to a UI-blocking progress bar when a plugin is within a Modal Execution scope, interactiveMode can be requested to allow for user interaction in specific circumstances. See Interactive Mode.

Photoshop 23.2 (February 2022)

Photoshop 23.1 (December 2022)

Photoshop 23.0 (October 2021)

Channel support

Document Transformations

Layer cut and copy

Layer Methods

Document paste

Document Methods

SolidColor API

Adobe Photoshop Beta Build 65: Sep 3, 2021 (23.0)

Layer Transformations

app.fonts and TextFont classes

Document Properties

Document Color Profile APIs

Adobe Photoshop Beta Build 64: Aug 6, 2021 (23.0)

Document.suspendHistory

This API wraps around core.executeAsModal within a single document to make it easier for you to run your code under a single history state. Unlike it's ExtendScript predecessor, this method takes a Javascript function, rather than a script string.

Layer Move APIs

Adobe Photoshop Prerelease Build 61: Jun 24, 2021 (22.5)

Updated DOM API

Adobe Photoshop Prerelease Build 60: Jun 10, 2021 (22.5)

This update contains changes that were made since the MAX 2020 (Adobe Photoshop 22.0) release.

Breaking changes

To use the new set of APIs, your project's manifest.json must be updated to include the following under the host object:

    "data" : {
        "apiVersion": 2
    }

Further, your manifest.json must use version 4:

  "manifestVersion": 4

To roll back to the MAX 2020 version of the Photoshop DOM API, set the apiVersion to 1.

Updated DOM API

Photoshop Core updates