diff --git a/CHANGELOG.md b/CHANGELOG.md index b3f4f39d2..bbeaf7bbe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,34 @@ All notable changes to this project will be documented in this file, per [the Ke ## [Unreleased] - TBD +## [2.2.0] - 2025-09-08 +**Note that this release bumps the WordPress minimum supported version from 6.5 to 6.6.** + +### Added +- The `distributor_register_data` function that enables developers to register stored data references, such as IDs stored in post meta, shortcodes, or block attributes and define custom pre-distribution and post-distribution callbacks to process these references (props [@iamdharmesh](https://github.com/iamdharmesh), [@jeffpaul](https://github.com/jeffpaul), [@peterwilsoncc](https://github.com/peterwilsoncc), [@dkotter](https://github.com/dkotter) via [#1302](https://github.com/10up/distributor/pull/1302)). +- Add some default pre and post callback functions to the `distributor_register_data` function, allowing easy processing of common entities like posts, terms, and media (props [@iamdharmesh](https://github.com/iamdharmesh), [@jeffpaul](https://github.com/jeffpaul), [@peterwilsoncc](https://github.com/peterwilsoncc), [@dkotter](https://github.com/dkotter) via [#1309](https://github.com/10up/distributor/pull/1309)). +- Ability to auto-distribute posts when turned on via a filter, `dt_auto_distribution_enabled` (props [@peterwilsoncc](https://github.com/peterwilsoncc), [@faisal-alvi](https://github.com/faisal-alvi), [@jeffpaul](https://github.com/jeffpaul), [@dkotter](https://github.com/dkotter) via [#1321](https://github.com/10up/distributor/pull/1321)). + +### Changed +- Bump WordPress "tested up to" version 6.8 (props [@Sourabh208](https://github.com/Sourabh208), [@dkotter](https://github.com/dkotter) via [#1311](https://github.com/10up/distributor/pull/1311)). +- Bump WordPress minimum to 6.6 (props [@Sourabh208](https://github.com/Sourabh208), [@jeffpaul](https://github.com/jeffpaul), [@peterwilsoncc](https://github.com/peterwilsoncc) via [#1312](https://github.com/10up/distributor/pull/1312)). + +### Fixed +- Ensure post data is slashed when sent via a subscription update (props [@chandrapatel](https://github.com/chandrapatel), [@peterwilsoncc](https://github.com/peterwilsoncc) via [#1310](https://github.com/10up/distributor/pull/1310)). +- Broken images in docs (props [@GaryJones](https://github.com/GaryJones), [@jeffpaul](https://github.com/jeffpaul), [@av3nger](https://github.com/av3nger), [@dkotter](https://github.com/dkotter) via [#1319](https://github.com/10up/distributor/pull/1319)). + +### Security +- Prevent cross-site scripting vulnerabilities on the pull screen (props [@iamdharmesh](https://github.com/iamdharmesh), [@peterwilsoncc](https://github.com/peterwilsoncc), [@jeffpaul](https://github.com/jeffpaul), [@Sidsector9](https://github.com/Sidsector9), [@dkotter](https://github.com/dkotter) via [#1273](https://github.com/10up/distributor/pull/1273), [#1274](https://github.com/10up/distributor/pull/1274), [#1316](https://github.com/10up/distributor/pull/1316)). +- Bump `ws` from 7.5.10 to 8.18.0 and `@wordpress/scripts` from 26.19.0 to 29.0.0 (props [@dependabot](https://github.com/apps/dependabot), [@Sidsector9](https://github.com/Sidsector9) via [#1270](https://github.com/10up/distributor/pull/1270)). +- Bump `axios` from 1.7.4 to 1.9.0, `body-parser` from 1.20.2 to 1.20.3, `express` from 4.19.2 to 4.21.2, `@wordpress/e2e-test-utils-playwright` from 1.7.0 to 1.23.0, `http-proxy-middleware` from 2.0.6 to 2.0.9, `tar-fs` from 3.0.4 to 3.0.8, `serialize-javascript` from 6.0.1 to 6.0.2, `mocha` from 10.2.0 to 11.3.0 and `send` from 0.18.0 to 0.19.0; also removes `cookie` (props [@dependabot](https://github.com/apps/dependabot), [@peterwilsoncc](https://github.com/peterwilsoncc) via [#1314](https://github.com/10up/distributor/pull/1314)). +- Bump `on-headers` from 1.0.2 to 1.1.0 and `compression` from 1.7.4 to 1.8.1 (props [@dependabot](https://github.com/apps/dependabot), [@dkotter](https://github.com/dkotter) via [#1325](https://github.com/10up/distributor/pull/1325)). +- Bump `tmp` from 0.2.1 to 0.2.5 and `@wordpress/env` from 10.5.0 to 10.29.0 (props [@dependabot](https://github.com/apps/dependabot), [@dkotter](https://github.com/dkotter) via [#1334](https://github.com/10up/distributor/pull/1334)). + +### Developer +- Fix eslint errors (props [@GaryJones](https://github.com/GaryJones), [@iamdharmesh](https://github.com/iamdharmesh) via [#1320](https://github.com/10up/distributor/pull/1320)). +- Update all third-party actions our workflows rely on to use versions based on specific commit hashes (props [@dkotter](https://github.com/dkotter), [@jeffpaul](https://github.com/jeffpaul), [@faisal-alvi](https://github.com/faisal-alvi) via [#1305](https://github.com/10up/distributor/pull/1305)). +- Fix featured media E2E tests (props [@peterwilsoncc](https://github.com/peterwilsoncc), [@dkotter](https://github.com/dkotter) via [#1332](https://github.com/10up/distributor/pull/1332)). + ## [2.1.0] - 2025-02-10 **Note that this release bumps the WordPress minimum supported version from 6.4 to 6.5.** @@ -597,6 +625,7 @@ This adds a post type selector when viewing the Pull Content list for both exter - Initial closed release. [Unreleased]: https://github.com/10up/distributor/compare/trunk...develop +[2.2.0]: https://github.com/10up/distributor/compare/2.1.0...2.2.0 [2.1.0]: https://github.com/10up/distributor/compare/2.0.6...2.1.0 [2.0.6]: https://github.com/10up/distributor/compare/2.0.5...2.0.6 [2.0.5]: https://github.com/10up/distributor/compare/2.0.4...2.0.5 diff --git a/CREDITS.md b/CREDITS.md index 68d980d87..91a952fa2 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -10,7 +10,7 @@ The following individuals are responsible for curating the list of issues, respo Thank you to all the people who have already contributed to this repository via bug reports, code, design, ideas, project management, translation, testing, etc. -[10up (@10up)](https://github.com/10up), [Taylor Lovett (@tlovett1)](https://github.com/tlovett1), [Zane Matthew (@zanematthew)](https://github.com/zanematthew), [Aaron Brazell (@technosailor)](https://github.com/technosailor), [Marco Pereirinha (@pereirinha)](https://github.com/pereirinha), [Joshua Abenazer (@joshuaabenazer)](https://github.com/joshuaabenazer), [Adam Silverstein (@adamsilverstein)](https://github.com/adamsilverstein), [Helen Hou-Sandí (@helen)](https://github.com/helen), [Chris Marslender (@cmmarslender)](https://github.com/cmmarslender), [Tom J Nowell (@tomjn)](https://github.com/tomjn), [Tim Nolte (@timnolte)](https://github.com/timnolte), [(@sericgoran)](https://github.com/sericgoran), [Jason Bahl (@jasonbahl)](https://github.com/jasonbahl), [Barry Ceelen (@barryceelen)](https://github.com/barryceelen), [Ryan Welcher (@ryanwelcher)](https://github.com/ryanwelcher), [Ben Greeley (@bengreeley)](https://github.com/bengreeley), [Robbie Trencheny (@robbiet480)](https://github.com/robbiet480), [Jake Goldman (@jakemgold)](https://github.com/jakemgold), [Stephanie Leary (@sillybean)](https://github.com/sillybean), [Darin Kotter (@dkotter)](https://github.com/dkotter), [Echo (@ChaosExAnima)](https://github.com/ChaosExAnima), [Burhan Nasir (@burhandodhy)](https://github.com/burhandodhy), [Rebecca Hum (@rebeccahum)](https://github.com/rebeccahum), [Sean Hayes (@seanchayes)](https://github.com/seanchayes), [Jeremy Felt (@jeremyfelt)](https://github.com/jeremyfelt), [Gago (@madmax3365)](https://github.com/madmax3365), [Ivan Kruchkoff(@)](https://github.com/ivankruchkoff), [Sérgio Santos (@s3rgiosan)](https://github.com/s3rgiosan), [Ravi Chandra (@ravichdev)](https://github.com/ravichdev), [Jay Hoffmann (@JasonHoffmann)](https://github.com/JasonHoffmann), [Arsen Dovlatyan (@arsendovlatyan)](https://github.com/arsendovlatyan), [Jeroen Sormani (@JeroenSormani)](https://github.com/JeroenSormani), [Ritesh Patel (@Ritesh-patel)](https://github.com/Ritesh-patel), [Gary Thayer (@gthayer)](https://github.com/gthayer), [Evan Mattson (@aaemnnosttv)](https://github.com/aaemnnosttv), [Nate Allen (@nate-allen)](https://github.com/nate-allen), [Michael Phillips (@mphillips)](https://github.com/mphillips), [Jay Wood (@JayWood)](https://github.com/JayWood), [Dreb Bits (@drebbits)](https://github.com/drebbits), [Jeffrey Paul (@jeffpaul)](https://github.com/jeffpaul), [Matthew McAchran (@mmcachran)](https://github.com/mmcachran), [Ulrich Pogson (@grappler)](https://github.com/grappler), [(@avag-novembit)](https://github.com/avag-novembit), [Manuel Razzari (@mrazzari)](https://github.com/mrazzari), [Moe Browne (@moebrowne)](https://github.com/moebrowne), [Dave McHale (@dmchale)](https://github.com/dmchale), [Tommy Ferry (@tommyferry)](https://github.com/tommyferry), [Pete Nelson (@petenelson)](https://github.com/petenelson), [Alexander Berthelsen (@lakrisgubben)](https://github.com/lakrisgubben), [John Watkins (@johnwatkins0)](https://github.com/johnwatkins0), [Tung Du (@dinhtungdu)](https://github.com/dinhtungdu), [Darío Hereñú (@kant)](https://github.com/kant), [Arman Hovhannisyan (@ahovhannissian)](https://github.com/ahovhannissian), [John Spellman (@jspellman814)](https://github.com/jspellman814), [Oszkar Nagy (@oszkarnagy)](https://github.com/oszkarnagy), [Sami Keijonen (@samikeijonen)](https://github.com/samikeijonen), [(@PaddyWhacks)](https://github.com/PaddyWhacks), [(@eriktad)](https://github.com/eriktad), [(@dmaslogh)](https://github.com/dmaslogh), [Kevin Pudlo (@Kpudlo)](https://github.com/Kpudlo), [Barrett Golding (@hearvox)](https://github.com/hearvox), [Rob Marscher (@rmarscher)](https://github.com/rmarscher), [Ivan Lopez (@ivanlopez)](https://github.com/ivanlopez), [Catherine Cavanagh (@biggiebangle)](https://github.com/biggiebangle), [Tommy Ferry (@pragmatic-tf)](https://github.com/pragmatic-tf), [Joshua Walker (@jshwlkr)](https://github.com/jshwlkr), [Caleb Burks (@WPprodigy)](https://github.com/WPprodigy), [(@jonny-bull)](https://github.com/jonny-bull), [Ricky Lee Whittemore (@rickalee)](https://github.com/rickalee), [Rob Cain (@robcain)](https://github.com/robcain), [(@j0HnC0untry)](https://github.com/j0HnC0untry), [(@dfardon)](https://github.com/dfardon), [(@anilpainuly121)](https://github.com/anilpainuly121), [(@vimalagarwalasentech)](https://github.com/vimalagarwalasentech), [Chris Wieber (@cdwieber)](https://github.com/cdwieber), [Dhanendran Rajagopal (@dhanendran)](https://github.com/dhanendran), [Andrew Ortolano (@andrewortolano)](https://github.com/andrewortolano), [(@xyralothep)](https://github.com/xyralothep), [Garth Gutenberg (@ggutenberg)](https://github.com/ggutenberg), [Jaime Martínez (@jmslbam)](https://github.com/jmslbam), [Francisco Domo (@francisco-domo)](https://github.com/francisco-domo), [Elliott Stocks (@elliott-stocks)](https://github.com/elliott-stocks), [David Purdy (@davidmpurdy)](https://github.com/davidmpurdy), [(@zacnboat)](https://github.com/zacnboat), [Spencer Brower (@sbrow)](https://github.com/sbrow), [Ross Pickerill (@rosspbauer)](https://github.com/rosspbauer), [Jackie Kjome (@JackieKjome)](https://github.com/JackieKjome), [SieBer15 (@SieBer15)](https://github.com/SieBer15), [Pascal Knecht (@pascalknecht)](https://github.com/pascalknecht), [Justin Young (@justiny)](https://github.com/justiny), [Johan Pretorius (@Drmzindec)](https://github.com/Drmzindec), [Clayton Collie (@claytoncollie)](https://github.com/claytoncollie), [Max Lyuchin (@cadic)](https://github.com/cadic), [Joe Grainger (@jjgrainger)](https://github.com/jjgrainger), [Lily Bonney](https://www.linkedin.com/in/lilybonney/), [Mollie Pugh](https://www.linkedin.com/in/molliepugh/), [Martina Haines](https://www.linkedin.com/in/martinahaines/), [Luca Ricci (@theskinnyghost)](https://github.com/theskinnyghost), [Lucy Bowe (@LucyTurtle)](https://github.com/LucyTurtle), [Dharmesh Patel (@iamdharmesh)](https://github.com/iamdharmesh), [(@jmstew3)](https://github.com/jmstew3), [Phil Crumm (@pcrumm)](https://github.com/pcrumm), [Faisal Alvi (@faisal-alvi)](https://github.com/faisal-alvi), [Siddharth Thevaril (@Sidsector9)](https://github.com/Sidsector9), [Will Skora (@skorasaurus)](https://github.com/skorasaurus), [Mohit Dadhich (@mohitwp)](https://github.com/mohitwp), [Will Howat-Comandré (@willhowat)](https://github.com/willhowat), [@Borkent](https://github.com/Borkent), [Dishit Pala (@dishitpala)](https://github.com/dishitpala), [@markusvisse](https://github.com/markusvisse), [@MonsterKing](https://github.com/MonsterKing), [James Morrison (@jamesmorrison)](https://github.com/jamesmorrison), [Mehul Kaklotar (@mehulkaklotar)](https://github.com/mehulkaklotar), [@espechtcfe](https://github.com/espechtcfe), [@romeowski](https://github.com/romeowski), [@vlastaw](https://github.com/vlastaw), [Jamie Adams (@jadamsbit)](https://github.com/jadamsbit), [Yoni Bee (@ybalkind)](https://github.com/ybalkind), [Akshit Sethi (@akshitsethi)](https://github.com/akshitsethi), [Vikram (@vikrampm1)](https://github.com/vikrampm1), [Josh Wilson (@joshwilsondotme)](https://github.com/joshwilsondotme), [Groupe-Mgel (@Groupe-Mgel)](https://github.com/Groupe-Mgel), [Emma (@emmawenger)](https://github.com/emmawenger), [@bcobin](https://github.com/bcobin), [@alexwolk](https://github.com/alexwolk), [Maxime Freschard (@ligne13)](https://github.com/ligne13), [Shazahan Kabir Saju (@sksaju)](https://github.com/sksaju), [Peter Wilson (@peterwilsoncc)](https://github.com/peterwilsoncc), [@Pitemedia](https://github.com/Pitemedia), [Michal Letavka (@michalletavka)](https://github.com/michalletavka), [@shu05](https://github.com/shu05), [Lukas Pawlik (@lukaspawlik)](https://github.com/lukaspawlik), [Amal Ajith PM (@amalajith)](https://github.com/amalajith), [Paul de Wouters (@pdewouters)](https://github.com/pdewouters), [Andre Gagnon (@andygagnon)](https://github.com/andygagnon), [Ravinder Kumar (@ravinderk)](https://github.com/ravinderk), [mapamond (@mapamond)](https://github.com/mapamond), [Giorgos Sarigiannidis (@gsarig)](https://github.com/gsarig), [Dan Maby (@danmaby)](https://github.com/danmaby), [Tim Gieseking (@timstl)](https://github.com/timstl), [David Chandra Purnama (@turtlepod)](https://github.com/turtlepod), [Manolo Bevia (@manolobevia)](https://github.com/manolobevia), [madriverweb (@madriverweb)](https://github.com/madriverweb), [ale8521 (@ale8521)](https://github.com/ale8521), [roshniahuja (@roshniahuja)](https://github.com/roshniahuja), [Jayedul K. (@jayedul)](https://github.com/jayedul), [Konstantinos Galanakis (@kmgalanakis-sage)](https://github.com/kmgalanakis-sage), [Seth Rubenstein (@sethrubenstein)](https://github.com/sethrubenstein), [Harshal Kadu (@QAharshalkadu)](https://github.com/QAharshalkadu), [Joe McGill (@joemcgill)](https://github.com/joemcgill), [Margaret Schneider (@margaretschneider)](https://github.com/margaretschneider), [Anton Vanyukov (@av3nger)](https://github.com/av3nger), [Zach Adams (@zach-adams)](https://github.com/zach-adams), [Severine Pozzo (@severine-pozzo)](https://github.com/severine-pozzo), [Maxim Ledoux (@maxledoux)](https://github.com/maxledoux), [Leo Germani (@leogermani)](https://github.com/leogermani), [Viktor Szépe (@szepeviktor)](https://github.com/szepeviktor), [Mehul Gohil (@mehul0810)](https://github.com/mehul0810), [Ankit Gade (@ankitrox)](https://github.com/ankitrox), [Sumit Bagthariya (@qasumitbagthariya)](https://github.com/qasumitbagthariya), [Claudiu Lodromanean (@claudiulodro)](https://github.com/claudiulodro), [Jeffrey Carandang (@phpbits)](https://github.com/phpbits), [Matthew Upslope (@matthew-upslope)](https://github.com/matthew-upslope), [Kirtan Gajjar (@kirtangajjar)](https://github.com/kirtangajjar), [Peter Sorensen (@psorensen)](https://github.com/psorensen), [Arun Sathiya (@arunsathiya)](https://github.com/arunsathiya), [willemb2 (@willemb2)](https://github.com/willemb2), [dcarrionc (@dcarrionc)](https://github.com/dcarrionc), [Lucy Tomás (@lucymtc)](https://github.com/lucymtc), [Philippe Braun (@philbraun)](https://github.com/philbraun), [Erika Gili (@dottxado)](https://github.com/dottxado). +[10up (@10up)](https://github.com/10up), [Taylor Lovett (@tlovett1)](https://github.com/tlovett1), [Zane Matthew (@zanematthew)](https://github.com/zanematthew), [Aaron Brazell (@technosailor)](https://github.com/technosailor), [Marco Pereirinha (@pereirinha)](https://github.com/pereirinha), [Joshua Abenazer (@joshuaabenazer)](https://github.com/joshuaabenazer), [Adam Silverstein (@adamsilverstein)](https://github.com/adamsilverstein), [Helen Hou-Sandí (@helen)](https://github.com/helen), [Chris Marslender (@cmmarslender)](https://github.com/cmmarslender), [Tom J Nowell (@tomjn)](https://github.com/tomjn), [Tim Nolte (@timnolte)](https://github.com/timnolte), [(@sericgoran)](https://github.com/sericgoran), [Jason Bahl (@jasonbahl)](https://github.com/jasonbahl), [Barry Ceelen (@barryceelen)](https://github.com/barryceelen), [Ryan Welcher (@ryanwelcher)](https://github.com/ryanwelcher), [Ben Greeley (@bengreeley)](https://github.com/bengreeley), [Robbie Trencheny (@robbiet480)](https://github.com/robbiet480), [Jake Goldman (@jakemgold)](https://github.com/jakemgold), [Stephanie Leary (@sillybean)](https://github.com/sillybean), [Darin Kotter (@dkotter)](https://github.com/dkotter), [Echo (@ChaosExAnima)](https://github.com/ChaosExAnima), [Burhan Nasir (@burhandodhy)](https://github.com/burhandodhy), [Rebecca Hum (@rebeccahum)](https://github.com/rebeccahum), [Sean Hayes (@seanchayes)](https://github.com/seanchayes), [Jeremy Felt (@jeremyfelt)](https://github.com/jeremyfelt), [Gago (@madmax3365)](https://github.com/madmax3365), [Ivan Kruchkoff(@)](https://github.com/ivankruchkoff), [Sérgio Santos (@s3rgiosan)](https://github.com/s3rgiosan), [Ravi Chandra (@ravichdev)](https://github.com/ravichdev), [Jay Hoffmann (@JasonHoffmann)](https://github.com/JasonHoffmann), [Arsen Dovlatyan (@arsendovlatyan)](https://github.com/arsendovlatyan), [Jeroen Sormani (@JeroenSormani)](https://github.com/JeroenSormani), [Ritesh Patel (@Ritesh-patel)](https://github.com/Ritesh-patel), [Gary Thayer (@gthayer)](https://github.com/gthayer), [Evan Mattson (@aaemnnosttv)](https://github.com/aaemnnosttv), [Nate Allen (@nate-allen)](https://github.com/nate-allen), [Michael Phillips (@mphillips)](https://github.com/mphillips), [Jay Wood (@JayWood)](https://github.com/JayWood), [Dreb Bits (@drebbits)](https://github.com/drebbits), [Jeffrey Paul (@jeffpaul)](https://github.com/jeffpaul), [Matthew McAchran (@mmcachran)](https://github.com/mmcachran), [Ulrich Pogson (@grappler)](https://github.com/grappler), [(@avag-novembit)](https://github.com/avag-novembit), [Manuel Razzari (@mrazzari)](https://github.com/mrazzari), [Moe Browne (@moebrowne)](https://github.com/moebrowne), [Dave McHale (@dmchale)](https://github.com/dmchale), [Tommy Ferry (@tommyferry)](https://github.com/tommyferry), [Pete Nelson (@petenelson)](https://github.com/petenelson), [Alexander Berthelsen (@lakrisgubben)](https://github.com/lakrisgubben), [John Watkins (@johnwatkins0)](https://github.com/johnwatkins0), [Tung Du (@dinhtungdu)](https://github.com/dinhtungdu), [Darío Hereñú (@kant)](https://github.com/kant), [Arman Hovhannisyan (@ahovhannissian)](https://github.com/ahovhannissian), [John Spellman (@jspellman814)](https://github.com/jspellman814), [Oszkar Nagy (@oszkarnagy)](https://github.com/oszkarnagy), [Sami Keijonen (@samikeijonen)](https://github.com/samikeijonen), [(@PaddyWhacks)](https://github.com/PaddyWhacks), [(@eriktad)](https://github.com/eriktad), [(@dmaslogh)](https://github.com/dmaslogh), [Kevin Pudlo (@Kpudlo)](https://github.com/Kpudlo), [Barrett Golding (@hearvox)](https://github.com/hearvox), [Rob Marscher (@rmarscher)](https://github.com/rmarscher), [Ivan Lopez (@ivanlopez)](https://github.com/ivanlopez), [Catherine Cavanagh (@biggiebangle)](https://github.com/biggiebangle), [Tommy Ferry (@pragmatic-tf)](https://github.com/pragmatic-tf), [Joshua Walker (@jshwlkr)](https://github.com/jshwlkr), [Caleb Burks (@WPprodigy)](https://github.com/WPprodigy), [(@jonny-bull)](https://github.com/jonny-bull), [Ricky Lee Whittemore (@rickalee)](https://github.com/rickalee), [Rob Cain (@robcain)](https://github.com/robcain), [(@j0HnC0untry)](https://github.com/j0HnC0untry), [(@dfardon)](https://github.com/dfardon), [(@anilpainuly121)](https://github.com/anilpainuly121), [(@vimalagarwalasentech)](https://github.com/vimalagarwalasentech), [Chris Wieber (@cdwieber)](https://github.com/cdwieber), [Dhanendran Rajagopal (@dhanendran)](https://github.com/dhanendran), [Andrew Ortolano (@andrewortolano)](https://github.com/andrewortolano), [(@xyralothep)](https://github.com/xyralothep), [Garth Gutenberg (@ggutenberg)](https://github.com/ggutenberg), [Jaime Martínez (@jmslbam)](https://github.com/jmslbam), [Francisco Domo (@francisco-domo)](https://github.com/francisco-domo), [Elliott Stocks (@elliott-stocks)](https://github.com/elliott-stocks), [David Purdy (@davidmpurdy)](https://github.com/davidmpurdy), [(@zacnboat)](https://github.com/zacnboat), [Spencer Brower (@sbrow)](https://github.com/sbrow), [Ross Pickerill (@rosspbauer)](https://github.com/rosspbauer), [Jackie Kjome (@JackieKjome)](https://github.com/JackieKjome), [SieBer15 (@SieBer15)](https://github.com/SieBer15), [Pascal Knecht (@pascalknecht)](https://github.com/pascalknecht), [Justin Young (@justiny)](https://github.com/justiny), [Johan Pretorius (@Drmzindec)](https://github.com/Drmzindec), [Clayton Collie (@claytoncollie)](https://github.com/claytoncollie), [Max Lyuchin (@cadic)](https://github.com/cadic), [Joe Grainger (@jjgrainger)](https://github.com/jjgrainger), [Lily Bonney](https://www.linkedin.com/in/lilybonney/), [Mollie Pugh](https://www.linkedin.com/in/molliepugh/), [Martina Haines](https://www.linkedin.com/in/martinahaines/), [Luca Ricci (@theskinnyghost)](https://github.com/theskinnyghost), [Lucy Bowe (@LucyTurtle)](https://github.com/LucyTurtle), [Dharmesh Patel (@iamdharmesh)](https://github.com/iamdharmesh), [(@jmstew3)](https://github.com/jmstew3), [Phil Crumm (@pcrumm)](https://github.com/pcrumm), [Faisal Alvi (@faisal-alvi)](https://github.com/faisal-alvi), [Siddharth Thevaril (@Sidsector9)](https://github.com/Sidsector9), [Will Skora (@skorasaurus)](https://github.com/skorasaurus), [Mohit Dadhich (@mohitwp)](https://github.com/mohitwp), [Will Howat-Comandré (@willhowat)](https://github.com/willhowat), [@Borkent](https://github.com/Borkent), [Dishit Pala (@dishitpala)](https://github.com/dishitpala), [@markusvisse](https://github.com/markusvisse), [@MonsterKing](https://github.com/MonsterKing), [James Morrison (@jamesmorrison)](https://github.com/jamesmorrison), [Mehul Kaklotar (@mehulkaklotar)](https://github.com/mehulkaklotar), [@espechtcfe](https://github.com/espechtcfe), [@romeowski](https://github.com/romeowski), [@vlastaw](https://github.com/vlastaw), [Jamie Adams (@jadamsbit)](https://github.com/jadamsbit), [Yoni Bee (@ybalkind)](https://github.com/ybalkind), [Akshit Sethi (@akshitsethi)](https://github.com/akshitsethi), [Vikram (@vikrampm1)](https://github.com/vikrampm1), [Josh Wilson (@joshwilsondotme)](https://github.com/joshwilsondotme), [Groupe-Mgel (@Groupe-Mgel)](https://github.com/Groupe-Mgel), [Emma (@emmawenger)](https://github.com/emmawenger), [@bcobin](https://github.com/bcobin), [@alexwolk](https://github.com/alexwolk), [Maxime Freschard (@ligne13)](https://github.com/ligne13), [Shazahan Kabir Saju (@sksaju)](https://github.com/sksaju), [Peter Wilson (@peterwilsoncc)](https://github.com/peterwilsoncc), [@Pitemedia](https://github.com/Pitemedia), [Michal Letavka (@michalletavka)](https://github.com/michalletavka), [@shu05](https://github.com/shu05), [Lukas Pawlik (@lukaspawlik)](https://github.com/lukaspawlik), [Amal Ajith PM (@amalajith)](https://github.com/amalajith), [Paul de Wouters (@pdewouters)](https://github.com/pdewouters), [Andre Gagnon (@andygagnon)](https://github.com/andygagnon), [Ravinder Kumar (@ravinderk)](https://github.com/ravinderk), [mapamond (@mapamond)](https://github.com/mapamond), [Giorgos Sarigiannidis (@gsarig)](https://github.com/gsarig), [Dan Maby (@danmaby)](https://github.com/danmaby), [Tim Gieseking (@timstl)](https://github.com/timstl), [David Chandra Purnama (@turtlepod)](https://github.com/turtlepod), [Manolo Bevia (@manolobevia)](https://github.com/manolobevia), [madriverweb (@madriverweb)](https://github.com/madriverweb), [ale8521 (@ale8521)](https://github.com/ale8521), [roshniahuja (@roshniahuja)](https://github.com/roshniahuja), [Jayedul K. (@jayedul)](https://github.com/jayedul), [Konstantinos Galanakis (@kmgalanakis-sage)](https://github.com/kmgalanakis-sage), [Seth Rubenstein (@sethrubenstein)](https://github.com/sethrubenstein), [Harshal Kadu (@QAharshalkadu)](https://github.com/QAharshalkadu), [Joe McGill (@joemcgill)](https://github.com/joemcgill), [Margaret Schneider (@margaretschneider)](https://github.com/margaretschneider), [Anton Vanyukov (@av3nger)](https://github.com/av3nger), [Zach Adams (@zach-adams)](https://github.com/zach-adams), [Severine Pozzo (@severine-pozzo)](https://github.com/severine-pozzo), [Maxim Ledoux (@maxledoux)](https://github.com/maxledoux), [Leo Germani (@leogermani)](https://github.com/leogermani), [Viktor Szépe (@szepeviktor)](https://github.com/szepeviktor), [Mehul Gohil (@mehul0810)](https://github.com/mehul0810), [Ankit Gade (@ankitrox)](https://github.com/ankitrox), [Sumit Bagthariya (@qasumitbagthariya)](https://github.com/qasumitbagthariya), [Claudiu Lodromanean (@claudiulodro)](https://github.com/claudiulodro), [Jeffrey Carandang (@phpbits)](https://github.com/phpbits), [Matthew Upslope (@matthew-upslope)](https://github.com/matthew-upslope), [Kirtan Gajjar (@kirtangajjar)](https://github.com/kirtangajjar), [Peter Sorensen (@psorensen)](https://github.com/psorensen), [Arun Sathiya (@arunsathiya)](https://github.com/arunsathiya), [willemb2 (@willemb2)](https://github.com/willemb2), [dcarrionc (@dcarrionc)](https://github.com/dcarrionc), [Lucy Tomás (@lucymtc)](https://github.com/lucymtc), [Philippe Braun (@philbraun)](https://github.com/philbraun), [Erika Gili (@dottxado)](https://github.com/dottxado), [Sourabh Jain (@Sourabh208)](https://github.com/Sourabh208), [Gary Jones (@GaryJones)](https://github.com/GaryJones), [Chandra Patel (@chandrapatel)](https://github.com/chandrapatel). ## Libraries diff --git a/distributor.php b/distributor.php index 541c07947..4781244af 100644 --- a/distributor.php +++ b/distributor.php @@ -4,7 +4,7 @@ * Plugin URI: https://github.com/10up/distributor * Update URI: https://distributorplugin.com * Description: Makes it easy to distribute and reuse content across your websites, whether inside of a multisite or across the web. - * Version: 2.1.0 + * Version: 2.2.0 * Requires at least: 6.6 * Requires PHP: 7.4 * Author: 10up Inc. @@ -28,7 +28,7 @@ exit; // Exit if accessed directly. } -define( 'DT_VERSION', '2.1.0' ); +define( 'DT_VERSION', '2.2.0' ); define( 'DT_PLUGIN_FILE', preg_replace( '#^.*plugins/(.*)$#i', '$1', __FILE__ ) ); define( 'DT_PLUGIN_PATH', plugin_dir_path( __FILE__ ) ); define( 'DT_PLUGIN_FULL_FILE', __FILE__ ); diff --git a/docs/stored-id-handling.md b/docs/stored-id-handling.md index 6f602e8fe..9f094a3b1 100644 --- a/docs/stored-id-handling.md +++ b/docs/stored-id-handling.md @@ -10,7 +10,7 @@ The `distributor_register_data` function streamlines the process of updating sto - **Extracting the reference:** Defining how to locate the specific attribute or meta key holding the ID. - **Processing the data:** Using pre-distribution and post-distribution callbacks to prepare and update the reference IDs, ensuring they point to the correct data on the target site. -#### **Important:** Ensure that this data registration code is added to both the source and target sites. Also, verify that your Distributor plugin version is the same on both sites and equal to or greater than the required version (x.x.x). +#### **Important:** Ensure that this data registration code is added to both the source and target sites. Also, verify that your Distributor plugin version is the same on both sites and equal to or greater than the required version (2.2.0). ## Function Definition diff --git a/includes/auto-distribute.php b/includes/auto-distribute.php index 08def660d..5ae8fcb5d 100644 --- a/includes/auto-distribute.php +++ b/includes/auto-distribute.php @@ -12,7 +12,7 @@ * * Runs on the `plugins_loaded, 20` hook. * - * @since x.x.x + * @since 2.2.0 */ function setup() { $n = function( $function ) { @@ -32,7 +32,7 @@ function setup() { * * Default is false, see the filter `dt_auto_distribution_enabled` to enable it. * - * @since x.x.x + * @since 2.2.0 * * @return bool Whether the auto-distribution feature is enabled. */ @@ -49,7 +49,7 @@ function enabled() { * to all network and external connections that the post had not already been distributed * to. These posts will be distributed as published posts, not drafts. * - * @since x.x.x. + * @since 2.2.0 * @hook dt_auto_distribution_enabled * * @param {bool} $enabled Whether the auto-distribution feature is enabled. Default false. @@ -65,7 +65,7 @@ function enabled() { * This is the default status that will be applied to auto-distributed posts * on the distribution site. * - * @since x.x.x + * @since 2.2.0 * * @param int|\WP_Post $post Post ID or WP_Post object for the post being pushed. * @return string Default status for auto-distributed posts. @@ -76,7 +76,7 @@ function default_post_status( $post ) { /** * Filter the default status for auto-distributed posts. * - * @since x.x.x + * @since 2.2.0 * @hook dt_auto_distribution_default_status * * @param {string} $status Default status for auto-distributed posts. Default 'publish'. @@ -92,7 +92,7 @@ function default_post_status( $post ) { * * This function checks if the post should be auto-distributed based on filters. * - * @since x.x.x + * @since 2.2.0 * * @param int|\WP_Post $post Post ID or WP_Post object for the post being pushed. * @param int $user_id User ID of the user pushing the post. @@ -110,7 +110,7 @@ function auto_distribute_post( $post, $user_id, $connection_type, $connection_id /** * Filter to determine if a post should be auto-distributed. * - * @since x.x.x + * @since 2.2.0 * @hook dt_auto_distribute_post * * @param {bool} $should_distribute Whether the post should be auto-distributed. @@ -130,7 +130,7 @@ function auto_distribute_post( $post, $user_id, $connection_type, $connection_id * By default, this is post and page but that * value can be filtered. * - * @since x.x.x + * @since 2.2.0 * * @return string[] Array of post types that can be auto-distributed. */ @@ -139,7 +139,7 @@ function auto_distribute_supported_post_types() { /** * Filter the post types that are auto-distributable. * - * @since x.x.x + * @since 2.2.0 * @hook auto_distribute_supported_post_types * * @param {string[]} $post_types Array of post types that can be auto-distributed. @@ -320,7 +320,7 @@ function get_external_connections( $post_id = 0, $user_id = 0 ) { * * @hook dt_external_connections_per_page * - * @since x.x.x + * @since 2.2.0 * * @param {int} $max_connections The maximum number of external connections to load. * @return {int} The maximum number of external connections to load. diff --git a/includes/classes/DistributorPost.php b/includes/classes/DistributorPost.php index 423438222..d16c83938 100644 --- a/includes/classes/DistributorPost.php +++ b/includes/classes/DistributorPost.php @@ -663,7 +663,7 @@ protected function get_media() { /** * Get the extra data for the post to be processed on the target site. * - * @since x.x.x + * @since 2.2.0 * * @return array[] { * Array of extra data keyed by the data name. @@ -694,7 +694,7 @@ protected function get_extra_data() { /** * Filters whether to process extra data for the post. * - * @since x.x.x + * @since 2.2.0 * @hook dt_process_extra_data * * @param {bool} $process_extra_data Whether to process extra data. @@ -797,7 +797,7 @@ protected function get_extra_data() { /** * Filters the extra data for the post to be processed on the target site. * - * @since x.x.x + * @since 2.2.0 * @hook dt_extra_data * * @param {array} $extra_data Extra data for the post. @@ -812,7 +812,7 @@ protected function get_extra_data() { /** * Parse blocks to obtain value of given attribute. * - * @since x.x.x + * @since 2.2.0 * * @param array $block Block to parse. * @param string $block_name Block name to look for. @@ -849,7 +849,7 @@ protected function parse_blocks_for_attribute_values( $block, $block_name, $bloc /** * Get the attribute values of a given shortcode. * - * @since x.x.x + * @since 2.2.0 * * @param string $content The post content. * @param string $shortcode The shortcode to look for. diff --git a/includes/classes/RegisteredDataHandler.php b/includes/classes/RegisteredDataHandler.php index 28478028a..19be71226 100644 --- a/includes/classes/RegisteredDataHandler.php +++ b/includes/classes/RegisteredDataHandler.php @@ -10,13 +10,13 @@ /** * This class is responsible for processing the registered data for the post content and post meta. * - * @since x.x.x + * @since 2.2.0 */ class RegisteredDataHandler { /** * The Connection data array. * - * @since x.x.x + * @since 2.2.0 * @var array */ public $connection_data = array(); @@ -24,7 +24,7 @@ class RegisteredDataHandler { /** * Constructor for the RegisteredDataHandler class. * - * @since x.x.x + * @since 2.2.0 * * @param array $connection_data The connection data array. */ @@ -35,7 +35,7 @@ public function __construct( $connection_data = array() ) { /** * Search and replace inner content of a block with the provided replacements. * - * @since x.x.x + * @since 2.2.0 * * @param array $block The block to search and replace inner content. * @param array $replacement_strings Array of search and replace strings for inner content. @@ -58,7 +58,7 @@ public function search_replace_block_inner_content( $block, $replacement_strings * * Processes the blocks data recursively and calls the callback function provided in the registered data. * - * @since x.x.x + * @since 2.2.0 * * @param array $blocks Array of blocks. * @param array $registered_data Array of registered data. @@ -169,7 +169,7 @@ public function process_blocks_data_recursive( $blocks, $registered_data, $extra * * Calls the callback function provided in the registered data and updates the post data. * - * @since x.x.x + * @since 2.2.0 * * @param array $post_data The post data. * @param bool $is_rest Whether the post data is from the REST API. @@ -248,7 +248,7 @@ public function process_registered_data( $post_data, $is_rest = false ) { /** * Filter the post data after processing the registered data. * - * @since x.x.x + * @since 2.2.0 * @hook dt_after_registered_data_processed * * @param {array} $post_data The post data after processing the registered data. @@ -267,7 +267,7 @@ public function process_registered_data( $post_data, $is_rest = false ) { * * Calls the callback function provided in the registered data and updates the post meta data. * - * @since x.x.x + * @since 2.2.0 * * @param array $post_meta The post meta data. * @param array $registered_data The distributor registered data. @@ -328,7 +328,7 @@ public function process_registered_post_meta_data( $post_meta, $registered_data, /** * Filter the post meta data after processing the registered data. * - * @since x.x.x + * @since 2.2.0 * @hook dt_after_registered_post_meta_processed * * @param {array} $post_meta The post meta data. @@ -344,7 +344,7 @@ public function process_registered_post_meta_data( $post_meta, $registered_data, /** * Process the registered block data for the post content. * - * @since x.x.x + * @since 2.2.0 * * @param string $post_content The post content. * @param array $registered_data The distributor registered data. @@ -370,7 +370,7 @@ public function process_registered_block_data( $post_content, $registered_data, /** * Filter the post content blocks after processing the registered data. * - * @since x.x.x + * @since 2.2.0 * @hook dt_after_registered_block_data_processed * * @param {array} $post_content The post content. @@ -386,7 +386,7 @@ public function process_registered_block_data( $post_content, $registered_data, /** * Process the registered shortcode data for the post content. * - * @since x.x.x + * @since 2.2.0 * * @param string $post_content The post content. * @param array $registered_data The distributor registered data. @@ -458,7 +458,7 @@ function ( $matches ) use ( &$index, $shortcode, $shortcode_attribute, $callback /** * Filter the post content shortcodes after processing the registered data. * - * @since x.x.x + * @since 2.2.0 * @hook dt_after_registered_shortcode_data_processed * * @param {array} $post_content The post content. @@ -474,7 +474,7 @@ function ( $matches ) use ( &$index, $shortcode, $shortcode_attribute, $callback /** * Prepare the term extra data to be sent to the target site. * - * @since x.x.x + * @since 2.2.0 * * @param int $term_id The term ID. * @param bool $with_parent Whether to include the parent term data. @@ -504,7 +504,7 @@ public function prepare_registered_data_term( $term_id, $with_parent = false ) { /** * Process the registered data for the term. * - * @since x.x.x + * @since 2.2.0 * * @param array $term_data The term data to be processed. * @param bool $process_parent Whether to process the parent term. diff --git a/includes/debug-info.php b/includes/debug-info.php index 1926366a6..8b88da68f 100644 --- a/includes/debug-info.php +++ b/includes/debug-info.php @@ -215,7 +215,7 @@ function get_formatted_external_connections() { * * @hook dt_external_connections_per_page * - * @since x.x.x + * @since 2.2.0 * * @param {int} $max_connections The maximum number of external connections to load. * @return {int} The maximum number of external connections to load. diff --git a/includes/global-functions.php b/includes/global-functions.php index bc8705d19..d60cae928 100644 --- a/includes/global-functions.php +++ b/includes/global-functions.php @@ -125,7 +125,7 @@ function str_ends_with( $haystack, $needle ) { /** * Register a data field for Stored ID handling. * - * @since x.x.x + * @since 2.2.0 * * @global array $distributor_registered_data Global registry for distributor data. * @@ -225,7 +225,7 @@ function distributor_register_data( $data_name, $args ) { /** * Get the registered distributor data. * - * @since x.x.x + * @since 2.2.0 * * @global array $distributor_registered_data Global registry for distributor data. * @@ -543,7 +543,7 @@ function distributor_term_pre_distribute_callback( $term_id, $source_post_id ) { * Filter whether to distribute term with parents. * If set to true, the term will be distributed with its parents. * - * @since x.x.x + * @since 2.2.0 * @hook dt_registered_data_distribute_term_parent * * @param bool $with_parents Whether to distribute term with parents. Default false. diff --git a/includes/pull-ui.php b/includes/pull-ui.php index 3747866f5..b506d0add 100644 --- a/includes/pull-ui.php +++ b/includes/pull-ui.php @@ -68,7 +68,7 @@ function setup_list_table() { * * @hook dt_external_connections_per_page * - * @since x.x.x + * @since 2.2.0 * * @param {int} $max_connections The maximum number of external connections to load. * @return {int} The maximum number of external connections to load. diff --git a/includes/push-ui.php b/includes/push-ui.php index e5e6e8577..a62bf853d 100644 --- a/includes/push-ui.php +++ b/includes/push-ui.php @@ -166,7 +166,7 @@ function get_connections() { * * @hook dt_external_connections_per_page * - * @since x.x.x + * @since 2.2.0 * * @param {int} $max_connections The maximum number of external connections to load. * @return {int} The maximum number of external connections to load. diff --git a/includes/utils.php b/includes/utils.php index 5cc76cd4e..c89860658 100644 --- a/includes/utils.php +++ b/includes/utils.php @@ -574,7 +574,7 @@ function prepare_taxonomy_terms( $post_id, $args = array() ) { * Prepare post extra data for consumption on the target site. * * @param int $post_id Post ID. - * @since x.x.x + * @since 2.2.0 * @return array */ function prepare_extra_data( $post_id ) { diff --git a/package-lock.json b/package-lock.json index a76f3178e..73c16074c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "distributor", - "version": "2.1.0", + "version": "2.2.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "distributor", - "version": "2.1.0", + "version": "2.2.0", "license": "GPL-2.0-or-later", "dependencies": { "mustache": "^4.2.0" diff --git a/package.json b/package.json index 02cb99478..8859eeeb0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "distributor", - "version": "2.1.0", + "version": "2.2.0", "description": "Distributor is a WordPress plugin that makes it easy to distribute and reuse content across your websites — whether in a single multisite or across the web.", "author": { "name": "10up", diff --git a/readme.txt b/readme.txt index 8253820df..6eadb55f4 100644 --- a/readme.txt +++ b/readme.txt @@ -2,7 +2,7 @@ Contributors: 10up Tags: content, distribution, syndication, management Tested up to: 6.8 -Stable tag: 2.1.0 +Stable tag: 2.2.0 License: GPLv2 or later License URI: http://www.gnu.org/licenses/gpl-2.0.html @@ -32,8 +32,14 @@ There are two connection types: `internal` and `external`. == Upgrade Notice == -= 2.0.5 = += 2.2.0 = **Distributor now requires WordPress 6.6 or later.** += 2.1.0 = +**Distributor now requires WordPress 6.5 or later.** + += 2.0.5 = +**Distributor now requires WordPress 6.4 or later.** + = 2.0.0 = **Distributor now requires PHP 7.4 or later and WordPress 5.7 or later.** diff --git a/tests/php/bootstrap.php b/tests/php/bootstrap.php index 45985af66..e599d896d 100644 --- a/tests/php/bootstrap.php +++ b/tests/php/bootstrap.php @@ -10,7 +10,7 @@ WP_Mock::bootstrap(); define( 'DT_PLUGIN_PATH', dirname( __DIR__, 2 ) ); -define( 'DT_VERSION', '2.1.0' ); +define( 'DT_VERSION', '2.2.0' ); require_once __DIR__ . '/includes/common.php'; require_once __DIR__ . '/includes/TestCase.php';