The Presence API An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. meeting took place on Monday, October 26, 2026 at 15:00 UTC in #feature-presence-api. It also hosts the real-time collaboration (RTC) work. This week’s focus was the last two merge criteria, user testing and a security audit.
Announcements
- Presence API 0.18.3 is out. 0.18.0 through 0.18.3 brought a per-room session hash that tells a second browser from a second tab (#815), core Core is the set of software required to run WordPress. The Core Development Team builds WordPress.’s copy of each API function winning once it exists (#805), and a REST settings save warning an open Settings screen (#868).
- 0.18.4 was next (#873). @huzaifaalmesbah found that logging out in one browser released post locks still held in another (#890), and the fix was in review (#893).
Follow-ups
Merge criteria
Each item from the handbook’s feature plugin criteria is tracked on #550.
- Everything from last time except the audit is merged: touch (#830), keyboard-only (#841), JavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser.
https://www.javascript.com off (#857), HTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. validation (#852, #858), Firefox and WebKit (#838), inline CSS Cascading Style Sheets. in stylesheets (#825) and linted PHPUnit tests (#817). Thanks to @iamchitti and @rejaulalomkhan. - User testing is #835. Muhib drafted a call for testing for Make/Test in #869, with Playground links and four tasks. @huzaifaalmesbah, @iamchitti and @joefusco left feedback, and @huzaifaalmesbah offered to help get it posted on Make/Test once that feedback is worked in.
- The security audit is #834. noruzzaman went through all four surfaces on the issue. The criterion still asks for a review from outside the repository, so @joefusco will ask the Core security team. Anyone who has done security review for core or a large plugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. is welcome to take a look, in the channel or on #834.
- #836 measures the post query cache with the plugin’s post locks off and on. A synthetic 20,000-post site is in the issue, and a few large sites on WP Engine are being lined up to measure real traffic.
Path to core
The readiness gate on #550 still has December 3 as the earliest date, eight weeks with no breaking API change from 0.17.0, and that is the earliest an initial proposal would go to Trac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress.. It also asks for three outside projects on the API, and GSE is the only one so far. Anyone building on the API, or considering it for a plugin or host, is welcome to get in touch.
Open floor
- @jaredrethman asked on the guide whether WordPress could fire an action for each stored edit-log row, so a hosted relay could stream changes without running a process on the server (comment). The Presence API already does this for presence, firing
set_presenceandremoved_presenceon every write. - @alecgeatches said the engine could likely support it, with the caveat that a server-side request per row would leave the server working hard to keep up, so the cost belongs with whoever hooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same. in, queued or batched on their side.
- @jaredrethman noted that
gutenberg_sync_engines_room_changedalready fires per write and the Redis notifier sends one publish per request, so a relay only needs that wake hint, never the rows. Editor presence already rides that hint, and carryingset_presenceandremoved_presencetoo would take Heartbeat polling off the admin (and super admin). He opened #901 for what a relay would need.
Since the meeting
- Presence API 0.18.4 shipped October 26 with the logout fix (#893), and the personal data export now leaves out reserved rows (#896).
- 0.19.0 shipped October 29 with a
presence-api.keepalivefilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. (#904) and apresence-api.roomChangedaction (#903), so a push transport can hold a tab’s rows and refresh presence at once. - 0.20.0 shipped November 1 with
wp_presence_admin_state()(#924), which completes #901, andwp_presence_room_changednow fires when an edited post’s title or status changes (#915). - The docs are live, a first pass at automated docs for what’s built so far, generated and checked against the code.
Next meeting
Monday, November 9, 2026 at 15:00 UTC in #feature-presence-api.