Skip to content

Co-Authors Plus 4.0.0

Choose a tag to compare

@GaryJones GaryJones released this 23 Apr 11:01
· 379 commits to develop since this release
4.0.0
60de37a

Breaking changes:

  • Block editor data store replaced. The custom cap/authors Redux store has been removed. Third-party JavaScript that calls select( 'cap/authors' ) must migrate to WordPress's core entity store (getEditedPostAttribute( 'coauthors' ) / editPost( { coauthors: [...] } )). This change is what makes Co-Authors Plus compatible with real-time collaboration.
  • Deprecated filter hooks. coauthors_post_list_pluck_field and coauthors_post_get_coauthor_by_field are deprecated when saving via the REST API. Use the set_object_terms action for the author taxonomy instead. Both filters still fire for now but emit a _deprecated_hook notice and will be removed in a future release.
  • Guest-author post type is now private. The guest-author CPT is now registered with public => false (with show_ui => true to preserve the admin editor). Any front-end queries for ?post_type=guest-author will stop resolving. This was never a supported path, but the change makes the intent explicit and closes a long-standing leak into plugins like Yoast SEO that scan for public post types.
  • COAUTHORS_PLUS_PATH and COAUTHORS_PLUS_URL constants removed. The long-dead deprecated.php file has been deleted. These constants were moved there in 2013 and have been unreferenced ever since. Any third-party code still relying on them must switch to WordPress's plugin_dir_path() and plugin_dir_url().
  • Minimum WordPress version is now 6.4 (previously 5.9).

Added

  • Real-time collaboration compatibility via the core entity store by @smithjw1 in #1217
  • New authors-by-term-ids REST endpoint for resolving term IDs to rich author data by @smithjw1 in #1217
  • Jetpack Subscriber Emails integration for co-authors by @GaryJones in #1183
  • WordPress Playground blueprint for Live Preview by @GaryJones in #1184
  • Show user count before creating guest authors by @GaryJones in #1195

Changed

Deprecated

  • Filters coauthors_post_list_pluck_field and coauthors_post_get_coauthor_by_field when saving via REST — use the set_object_terms action for the author taxonomy instead by @smithjw1 in #1217

Removed

  • cap/authors custom Redux store by @smithjw1 in #1217
  • Long-dead deprecated.php file and its unused COAUTHORS_PLUS_PATH / COAUTHORS_PLUS_URL constants by @GaryJones in #1233

Fixed

  • Fix SQL syntax error in CLI command when migrating users to guest authors by @NateWr in #1162
  • Prevent PHP warning when deleting users without co-author terms by @GaryJones in #1166
  • Fix PHP warning when post has no author by @shakyjake in #1133
  • Simplify guest author lookup in delete_user_action() to prevent warnings by @faisalahammad in #1209
  • Prevent duplicate guest-authors during import by @GaryJones in #1181
  • Support custom post types in count_user_posts filter by @GaryJones in #1182
  • Remove deprecated jQuery ready() call on element selector by @GaryJones in #1186
  • Prevent fatal error when guest author slug conflicts with existing user by @GaryJones in #1190
  • create-guest-authors CLI command now accepts required arguments by @NateWr in #1164
  • Fix ComboboxControl deprecation warnings by @GaryJones in #1193
  • Prevent fatal error when author_name is an array by @GaryJones in #1196
  • Fix avatar collision on profile, post and edit screens by @katag9k in #996
  • Adjust import of PluginDocumentSettingPanel to resolve deprecation notice by @kadamwhite in #1108
  • Allow guest author creation on WordPress 7.0 by @smithjw1 in #1206

Security

  • Gate CoAuthors_Controller REST endpoints on post visibility by @GaryJones in #1234

Maintenance

  • Add wp-env configuration for local development by @GaryJones in #1151
  • Update composer.json for consistency by @GaryJones in #1153
  • Migrate integration tests to use wp-env by @GaryJones in #1155
  • Replace undefined WP_TESTS_DOMAIN constant with home_url() by @GaryJones in #1158
  • Migrate Behat tests to wp-env and modernise CI workflows by @GaryJones in #1167, #1168, and #1169
  • Migrate dependabot reviewers to CODEOWNERS by @GaryJones in #1172
  • Standardise test matrix and update readme by @GaryJones in #1173
  • Add JS build and lint workflows for npm updates by @GaryJones in #1175
  • Enable WordPress-Extra and WordPress-Docs PHPCS rulesets with test exclusions by @GaryJones in #1176
  • Automate deployment with build step and security hardening by @GaryJones in #1177
  • Exclude build directory from git tracking by @GaryJones in #1180
  • Use real WordPress image path in feed image test by @GaryJones in #1189
  • Guard guest-author CPT visibility properties with an integration test by @GaryJones in #1232
  • Bump wp-env dev PHP to 8.2 to restore local development by @GaryJones in #1235
  • Keep multiple npm and GitHub Actions dependencies up to date via Dependabot

Documentation

New Contributors

Full Changelog: 3.7.0...4.0.0