-
Notifications
You must be signed in to change notification settings - Fork 2
/
changelog.txt
executable file
·1171 lines (673 loc) · 39.2 KB
/
changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
== Changelog ==
**This is a list detailing changes for past BeyondWords releases. For more information about the current release, see readme.txt.**
= 4.7.0 =
Release date: 2nd May 2024
**Fixes**
* [#388](https://github.com/beyondwords-io/wordpress-plugin/pull/388) If the post body [has_blocks](https://developer.wordpress.org/reference/functions/has_blocks/) then remove the `wpautop` filter before sending it to our REST API. This filter was stripping closing `</p>` tags from empty paragraph blocks.
**Enhancements**
* [#386](https://github.com/beyondwords-io/wordpress-plugin/pull/386) Prepend custom plugin links instead of appending them
* [#384](https://github.com/beyondwords-io/wordpress-plugin/pull/384) Refactoring to improve code quality
* [#388](https://github.com/beyondwords-io/wordpress-plugin/pull/388) Unit tests for empty paragraphs
* Prevent empty `data-beyondwords-marker` attributes
= 4.6.2 =
Release date: 11th April 2024
**Enhancements**
* Tested up to WordPress 6.5.
* PHPUnit code coverage badge and report.
= 4.6.1 =
Release date: 28th March 2024
**Fixes**
* [#378](https://github.com/beyondwords-io/wordpress-plugin/pull/378) Only auto-prepend player for [is_singular](https://developer.wordpress.org/reference/functions/is_singular/) queries.
**Enhancements**
* [#373](https://github.com/beyondwords-io/wordpress-plugin/pull/373) Run [Plugin Check (PCP)](https://wordpress.org/plugins/plugin-check/) in our GitHub Actions workflow to check we meet the WordPress.org plugin directory coding standards.
* Includes various minor code updates to resolve the reported errors and warnings.
= 4.6.0 =
Release date: 28th March 2024
**Enhancements**
* To support BeyondWords’ upcoming summarization product, the BeyondWords REST API now expects the post excerpt to be prepended to the body for API requests.
* If you have enabled "Use excerpts for summaries" in the plugin settings we will now automatically combine the fields. You should not see a difference, or need to make any changes.
* If you are currently passing a `summary` field to us using another method (e.g. our [beyondwords_content_params](https://docs.beyondwords.io/docs-and-guides/content/connect-cms/wordpress/wordpress-filters/beyondwords_content_params) filter) then we should have provided advance notice of this change to you. If this change affects you, and you didn’t hear from us in advance, then please contact [[email protected]](mailto:[email protected]).
= 4.5.1 =
Release date: 14th March 2024
**Enhancements**
* Make the BeyondWords column in WP admin sortable.
**Fixes**
* We now only render plugin components on the Post edit screens if the REST API credentials have been validated.
* Improved handling for REST API calls that fail while editing posts. This fixes the following issues:
* The block editor crashed if the API Key and/or Project ID had not been entered in the plugin settings.
* The block editor crashed if REST API calls failed for other reasons e.g. network problems.
* Removed a console log intended for debugging.
= 4.5.0 =
Release date: 1st March 2024
**Enhancements**
* Audio content for posts created with a future publish date is now available to preview in the WordPress admin players. To achieve this we handle a `preview_token` returned from the BeyondWords REST API.
* In Site Health and throughout the code, replace "Allowed post types" and "Supported post types" with "Compatible post types" and "Incompatible post types" to improve clarity.
**Code Refactoring**
* A general tidy-up of all code and docs for the public open-source release of our plugin repo at https://github.com/beyondwords-io/wordpress-plugin.
* Remove `BEYONDWORDS_DEBUG` constant throughout the code - this was only ever used internally for the legacy player, so it has been removed for the public repo release.
* Prevent side-effects in PHP constructors.
= 4.4.0 =
Release date: 11th January 2024
**Enhancements**
* Tested up to WordPress 6.4.
* Tested up to PHP 8.3.
* Delete audio when *Remove* feature is used. When you *Remove* audio using the Inspect panel we now make a DELETE request to the BeyondWords API to keep WordPress and the BeyondWords dashboard in sync.
* Add BeyondWords version and WordPress version into copied Inspect Panel data.
**Fixes**
* Use optional chaining before accessing properties. This fixes an undefined error when the sidebar is loaded. The issue was reported by Cypress testing in our CI pipeline.
= 4.3.0 =
Release date: 7th December 2023
**Deprecations**
We have renamed and removed some of our WordPress filters to make them simpler to understand and to implement.
The deprecated filters listed below are scheduled to be removed from the code in plugin v5.0, so please migrate to any replacements as soon as possible.
* Filters we have simply renamed (the functionality remains exactly the same):
* `beyondwords_body_params`: Renamed to `beyondwords_content_params`
* `beyondwords_player_styles`: Renamed to `beyondwords_settings_player_styles`
* `beyondwords_post_types`: Renamed to `beyondwords_settings_post_types`
* `beyondwords_post_statuses`: Renamed to `beyondwords_settings_post_statuses`
* Filters we have removed because there are suitable alternatives:
* `beyondwords_amp_player_html`: Instead, use the `beyondwords_player_html` filter which is now applied to the player HTML for AMP and non-AMP content.
* `beyondwords_content`: Instead, set the `body` key in the `beyondwords_content_params` filter
* `beyondwords_post_metadata`: Instead, set the `metadata` key in the `beyondwords_content_params` filter
* `beyondwords_post_audio_enabled_blocks`: Instead, refer to our [Filter content](https://docs.beyondwords.io/docs-and-guides/content/filter-content) docs for an alternative.
* `beyondwords_post_player_enabled`: Instead, return an empty string in the `beyondwords_player_html` filter to hide the player. Alternatively, you can set `published` to `false` in the BeyondWords dashboard.
* Filters we have deprecated because the functionality is no longer required:
* `beyondwords_js_player_params`: This only applies to the Legacy player which will be removed in plugin v5.0
* `beyondwords_content_id`: We believe this is not being used, please contact [[email protected]](mailto:[email protected]) if you are using this filter.
* `beyondwords_project_id`: We believe this is not being used, please contact [[email protected]](mailto:[email protected]) if you are using this filter.
We have also renamed `PostContentUtils::getBodyJson` to `PostContentUtils::getContentParams`, to match the `beyondwords_content_params` filter name.
= 4.2.4 =
Release date: 15th November 2023
**Fixes**
* Ensure the `$content` param of `Beyondwords\Wordpress\Core\Player\Player::hasCustomPlayer` is a string before using `strpos`.
= 4.2.3 =
Release date: 2nd November 2023
**Fixes**
* Pass full-size (originally uploaded) featured image to the BeyondWords API instead of a cropped thumbnail. The 240x240 thumbnail we replaced was not suitable for some styles of the latest player.
= 4.2.2 =
Release date: 27th October 2023
**Fixes**
* Ensure segment markers are added to the HTML body before we pass it to our REST API. This fixes an issue where "Playback from paragraph" was not working in some cases.
* Update the block control restrictions. This is to fix an issue where the block controls – including the "Audio processing enabled/diabled" toggle – sometimes did not appear when a block was clicked.
= 4.2.1 =
Release date: 12th October 2023
**Enhancements**
* Prevent player analytics events from being recorded in WordPress admin by setting the `{ analyticsConsent: 'none' }` param for admin players.
= 4.2.0 =
Release date: 10th October 2023
**Enhancements**
* Add `[beyondwords_player]` shortcode. See our "WordPress shortcode" docs at [https://docs.beyondwords.io/docs-and-guides/content/connect-cms/wordpress].
**Fixes**
* Ensure an array is always returned for `PlayerStyle::getCachedPlayerStyles()` to prevent PHP warnings.
* For AMP content, the player is no longer auto-prepended if a custom player is found in the content.
* Clean up 'beyondwords_player_style' option on plugin uninstall.
= 4.1.2 =
Release date: 21st September 2023
**Enhancements**
* Added "Large" option into "Player style" plugin setting.
= 4.1.1 =
Release date: 15th September 2023
**Enhancements**
* Tested up to WordPress 6.3.
= 4.1.0 =
Release date: 15th September 2023
**Enhancements**
* "Player style" support.
* A "Player style" setting has been added to the plugin settings screen where you can assign the default player style for your audio players.
* The default style can be overridden for each post on the post edit screen.
* A `beyondwords_player_styles` filter is available so you can modify the options of the "Player style" select boxes in WordPress admin.
* We are currently beta testing a video. To discuss enabling this for your project please contact [[email protected]](mailto:[email protected]).
* For more information on the supported styles see `playerStyle` at [https://github.com/beyondwords-io/player/blob/main/doc/player-settings.md].
* "Delete audio" option added into "Bulk actions".
**Fixes**
* Fixed the "Remove" button for the Inspect panel in Classic Editor.
* BeyondWords errors now show in the Classic Editor metabox.
* The "Language" and "Voice" selectors now show in the Classic Editor metabox.
= 4.0.6 =
Release date: 7th September 2023
**Fixes**
* Always call `setAttributes` for `beyondwordsMarker` in the `editor.BlockEdit` filter. Previously this was only being called when the BeyondWords sidebar panel was open.
* Remove the unwanted `blocks.getSaveContent.props` filter. This was doing nothing because the filter name was incorrect (it was a typo for `blocks.getSaveContent.extraProps` which we don't need).
= 4.0.5 =
Release date: 24th August 2023
**Fixes**
* Fix reported PHP Warnings by checking that [get_current_screen](https://developer.wordpress.org/reference/functions/get_current_screen/) return value is truthy.
= 4.0.4 =
Release date: 17th August 2023
**Fixes**
* Fix an intermittent issue where segment markers are not always assigned to blocks. Our `blocks.registerBlockType` filter now matches [the example in the official WordPress docs](https://developer.wordpress.org/block-editor/reference-guides/filters/block-filters/#blocks-registerblocktype).
* Hide the audio player widget (the player docked to the bottom of the screen when you scroll) in WordPress admin screens.
= 4.0.3 =
Release date: 4th August 2023
**Fixes**
* Cast the return value of [get_the_post_thumbnail_url](https://developer.wordpress.org/reference/functions/get_the_post_thumbnail_url/) to string before sending to the BeyondWords API. This fixes an issue where we were sending boolean `false` as the `image_url` field for posts without a featured image.
= 4.0.2 =
Release date: 3rd August 2023
**Fixes**
* Prefix `/languages` and `/voices` endpoints with `/organization` to reflect recent changes in API. This fixes the issue where no languages or voices could be found.
= 4.0.1 =
Release date: 30th July 2023
**Fixes**
* Set minimum supported versions to PHP 7.4 and WordPress 5.8.
* Fix issue where the audio player was disappearing in Classic Editor when the Player UI setting was "Headless" or "Disabled".
* Remove unwanted console logs.
= 4.0.0 =
Release date: 26th July 2023
**Fixes**
* Fixed broken "Copy" button in Block editor Inspect panel.
**Improvements**
* API calls are now made to the new BeyondWords REST API at [api.beyondwords.io](https://api.beyondwords.io).
* Custom languages and voices for your audio. [Docs here](https://docs.beyondwords.io/docs-and-guides/content/connect-cms/wordpress/add-languages?utm_source=wordpress&utm_medium=referral&utm_campaign=&utm_content=plugin).
* Our advanced "Latest" audio player is available. [Docs here](https://docs.beyondwords.io/docs-and-guides/content/connect-cms/wordpress/updating-to-the-latest-player?utm_source=wordpress&utm_medium=referral&utm_campaign=&utm_content=plugin).
* Using "Headless mode" you can take advantage of audio processing and the audio CMS whilst building their own front-end players. [Docs here](https://docs.beyondwords.io/docs-and-guides/content/connect-cms/wordpress/headless-mode?utm_source=wordpress&utm_medium=referral&utm_campaign=&utm_content=plugin).
* The following new filters have been added.
* [beyondwords_body_params](https://docs.beyondwords.io/docs-and-guides/content/connect-cms/wordpress/wordpress-filters/beyondwords_body_params?utm_source=wordpress&utm_medium=referral&utm_campaign=&utm_content=plugin).
* [beyondwords_content_id](https://docs.beyondwords.io/docs-and-guides/content/connect-cms/wordpress/wordpress-filters/beyondwords_content_id?utm_source=wordpress&utm_medium=referral&utm_campaign=&utm_content=plugin)
* [beyondwords_player_script_onload](https://docs.beyondwords.io/docs-and-guides/content/connect-cms/wordpress/wordpress-filters/beyondwords_player_script_onload?utm_source=wordpress&utm_medium=referral&utm_campaign=&utm_content=plugin)
* [beyondwords_player_sdk_params](https://docs.beyondwords.io/docs-and-guides/content/connect-cms/wordpress/wordpress-filters/beyondwords_player_sdk_params?utm_source=wordpress&utm_medium=referral&utm_campaign=&utm_content=plugin)
* [beyondwords_post_audio_enabled_blocks](https://docs.beyondwords.io/docs-and-guides/content/connect-cms/wordpress/wordpress-filters/beyondwords_post_audio_enabled_blocks?utm_source=wordpress&utm_medium=referral&utm_campaign=&utm_content=plugin)
* [beyondwords_project_id](https://docs.beyondwords.io/docs-and-guides/content/connect-cms/wordpress/wordpress-filters/beyondwords_project_id?utm_source=wordpress&utm_medium=referral&utm_campaign=&utm_content=plugin)
**Breaking changes**
* `beyondwords_podcast_id` is now stored and retrieved as `beyondwords_content_id`.
* This should not affect most websites, but if your site has custom PHP that uses the `beyondwords_podcast_id` custom field then you need to update your code to prefer `beyondwords_content_id`.
* Existing `beyondwords_podcast_id` post metadata will be updated to `beyondwords_content_id` automatically as each post is queried in WordPress requests.
* For WpGraphQL, `beyondwords.podcastId` was defined as type: `Int`. We have changed the type to `String` to support the new ID format (UUID). Your code may need to be updated to handle this change.
* Removed built-in WPML support (our compatibility unfortunately failed over time). Support for translation plugins can now be achieved using the following WordPress hooks:
* `beyondwords_body_params`
* `beyondwords_project_id`
* Some older deprecated filters have been removed:
* `speechkit_post_types`: Migrate to `beyondwords_post_types`
* `speechkit_post_statuses`: Migrate to `beyondwords_post_statuses`
* `sk_player_before`: Migrate to beyondwords_js_player_html / beyondwords_amp_player_html
* `sk_the_content`: Migrate to `beyondwords_js_player_html` / `beyondwords_amp_player_html`
* `sk_player_after` Migrate to `beyondwords_js_player_html` / `beyondwords_amp_player_html`
* `speechkit_js_player_html` Migrate to `beyondwords_js_player_html`
* `speechkit_amp_player_html` Migrate to `beyondwords_amp_player_html`
* `speechkit_post_player_enabled` Migrate to `beyondwords_post_player_enabled`
= 3.10.5 =
Release date: 9th June 2023
**Fixes**
* Prevent JavaScript error which occurs when no post types are selected in "Preselect generate audio" setting.
* Security updates for dependencies via [dependabot](https://github.com/dependabot).
= 3.10.4 =
Release date: 13th January 2023
**Fixes**
* Rename `published_at` BeyondWords REST API param to `publish_date`.
**Improvements**
* By default we now send the author display name in BeyondWords REST API requests, if one is available.
= 3.10.3 =
Release date: 16th November 2022
**Documentation**
* Updated the plugin `readme.txt` description.
= 3.10.2 =
Release date: 16th November 2022
**Documentation**
* Updated the plugin `readme.txt` description.
* Tested up to WordPress 6.1.
= 3.10.1 =
Release date: 7th November 2022
**Fixes**
* While trashing/restoring posts, check whether the post has BeyondWords data before calling the BeyondWords REST API.
= 3.10.0 =
Release date: 4th November 2022
**Enhancements**
* BeyondWords now has improved [Elementor](https://elementor.com/) compatibility!
* We’ve added a “BeyondWords” tab into the Elementor [Page Settings Panel](https://developers.elementor.com/docs/editor/page-settings-panel/).
* Use the controls in this tab to generate audio, toggle player visibility, and preview audio.
* If you experience any Elementor compatibility issues after this update please email [[email protected]](mailto:[email protected]).
= 3.9.2 =
Release date: 20th October 2022
**Fixes**
* "Setup guide" URL has been updated because it was 404ing.
* Removed type checking for the `$postId` param in `PostContentUtils::createHash()`, to fix a reported PHP error for WooCommerce sites.
= 3.9.1 =
Release date: 6th October 2022
**Compatible with WordPress 5.8 or greater**
* [WordPress core dropped support for IE in version 5.8](https://wordpress.org/news/2021/05/dropping-support-for-internet-explorer-11/) released July 2021.
* The official [wp-scripts](https://developer.wordpress.org/block-editor/reference-guides/packages/packages-scripts/) package we use does not produce IE-friendly code, so we have adjusted our minimum supported WordPress version to 5.8.
**Enhancements**
* Hide audio controls for blocks if the post does not have audio.
* Partial source code linting (using `wp-scripts lint-js --fix`).
= 3.9.0 =
Release date: 22nd September 2022
**Enhancements**
* Added a "Remove" button into the Inspect panel to clear BeyondWords data for individual posts.
* Delete audio data in BeyondWords API when a post is trashed or deleted in WordPress. Restoring the post in WordPress will restore the audio data in BeyondWords.
**Fixes**
* Add the missing `beyondwordsAudio` block attribute for server-rendered blocks. Thanks for the report and fix, @hughiemolloy! 🙌
* Don't register the `_speechkit_disable_generate_audio` custom field. This plugin v2.x field has not been used in a while, so there is no need to register it.
**Continuous Integration**
* The Docker config for local development now closely matches our CI config – they now both use [WP CLI](https://wp-cli.org/) to download and install WordPress.
* Improvements to our [CodeCeption](https://codeception.com/) test suites to fix an intermittent MySQL error.
= 3.8.1 =
Release date: 25th August 2022
**Enhancements**
* Enable/disable audio processing for each block when using the Gutenberg editor. Disabled blocks will not be processed as audio.
**Code Refactoring**
* Refactor the `Core\PostUtils` class into `Core\PostContentUtils` and `Core\PostMetaUtils` to reduce class complexity.
= 3.8.0 =
Release date: 25th August 2022
**Enhancements**
* Enable/disable audio processing for each block when using the Gutenberg editor. Disabled blocks will not be processed as audio.
**Code Refactoring**
* Refactor the `Core\PostUtils` class into `Core\PostContentUtils` and `Core\PostMetaUtils` to reduce class complexity.
= 3.7.1 =
Release date: 12th August 2022
**Fixes**
* Remove the "X BeyondWords errors" notice on the Posts screen to fix a reported slow MySQL query. We are working on a long-term fix for this problem. In the meantime, individual error messages are still available to view in the BeyondWords column (Posts screen) and BeyondWords panel (Post Edit screen).
= 3.7.0 =
Release date: 11th August 2022
**Important developer notice**
* In this update our plugin instance has been renamed from `$speechkit_wordpress_plugin` to `$beyondwords_wordpress_plugin`.
* Please do not access the plugin instance directly in your code. The objects and methods it contains are intended for internal use, and over time they are likely to change.
* Instead, use the [documented WordPress filters](https://docs.beyondwords.io/docs/integrations/wordpress/wordpress-filters) and contact our team via [[email protected]](mailto:[email protected]) if you need new actions or filters to achieve your goals.
**Enhancements**
* Automatically clear all `beyondwords_*` and `speechkit_*` data when the plugin is uninstalled.
* Add BeyondWords section to 'Tools' > 'Site Health'.
* 'Bulk actions' > 'Generate audio' now regenerates audio if it already exists (bulk processing previously "Skipped" posts which already had audio).
* Replace remaining instances of "SpeechKit" brand name with "BeyondWords".
* There were still instances where the former brand name for BeyondWords was being used throughout the code - mostly in the names for custom fields and filters.
* These have now all been updated, maintaining support for older posts with `speechkit_*` data.
* Improve "Pending review" support.
* When a post is saved in WordPress we now send `{ published: true|false }` to the BeyondWords API.
* This is primarily to prevent audio appearing in BeyondWords playlists for posts which are saved as "pending" in WordPress.
**Fixes**
* Add `isset()` checks for `$beyondwords_wordpress_plugin->player` to prevent PHP "Undefined property" errors.
= 3.6.1 =
Release date: 6th May 2022
**Fixes**
* When posts were saved using the WordPress Block Editor multiple BeyondWords API calls could be made. This resulted in the "Skipped" status for audio, and a fix for this has been added.
* Handle responses saved as object of class `WP_Error`. Older posts edited with v2.x of our plugin could have an unexpected `WP_Error` in a custom field. We now handle this, fixing a reported PHP error on the Post Edit screen.
= 3.6.0 =
Release date: 29th April 2022
**Enhancements**
* Expose BeyondWords data in GraphQL to support decoupled frontends. Post types which are supported by **both** BeyondWords and [WPGraphQL](https://www.wpgraphql.com/) have the following fields in GraphQL:
* `beyondwords.podcastId`
* `beyondwords.projectId`
**Code Coverage**
* Increased PHPUnit test coverage to 85%.
= 3.5.0 =
Release date: 20th April 2022
**Enhancements**
* WPML Compatibility. Read our [WordPress plugin](https://docs.beyondwords.io/docs/wordpress) docs for details.
**Fixes**
* Prevent CSS/JS assets loading on frontend pages where they are not needed.
**Code Refactoring**
* Refactor the `Core\Utils` class to improve PHPMD ExcessiveClassComplexity score.
= 3.4.0 =
Release date: 23rd March 2022
**Enhancements**
* We don't use the `external_id` feature of BeyondWords, so the param has been removed from the API calls.
**Fixes**
* The audio player now uses a socket connection while in Classic Editor.
= 3.3.3 =
Release date: 17th March 2022
**Fixes**
* Change initialisation method for the audio player in WordPress admin to prevent issues establishing the socket connection.
= 3.3.2 =
Release date: 10th March 2022
**Fixes**
* Improve the audio player status updates in WordPress admin by using a player with a socket connection.
= 3.3.1 =
Release date: 4th March 2022
**Fixes**
* Terminate JavaScript commands with semicolons to prevent reported minification problems.
= 3.3.0 =
Release date: 23rd February 2022
**Enhancements**
* Send assigned taxonomies and terms to the BeyondWords API to aid custom playlist generation.
**Fixes**
* Use i18n translatable string for the player preview.
= 3.2.0 =
Release date: 7th February 2022
**Fixes**
* By default, remove `pending` from the list of post statuses we generate audio for.
**Enhancements**
* Audio players can now be positioned anywhere in the post content! Use the **BeyondWords** block for the default Block Editor, or the TinyMCE "**Insert BeyondWords player**" button for Classic Editor.
* Provide `speechkit_post_types` filter to customise the post types we generate audio for. Post types without `custom-fields` in the `supports` array will be removed from this list.
* Provide `speechkit_post_statuses` filter to customise the post statuses we generate audio for.
= 3.1.0 =
Release date: 5th January 2022
**Deprecations**
* Deprecated 3 legacy filters: `sk_the_content`, `sk_player_before` and `sk_player_after`.
* Replace these filters with `speechkit_js_player_html` and `speechkit_amp_player_html`.
* Using the deprecated filters in v3.x will log a `_doing_it_wrong()` error.
* In v4.0 the legacy filters will be removed.
**Fixes**
* Replace `WP_PLUGIN_DIR` and `WP_PLUGIN_URL` constants with `plugin_dir_path()` and `plugin_dir_url()` to improve multisite support.
**Enhancements**
* Improve AMP plugin compatibility by removing all potential problems reported in the AMP Validation Error Index.
* New `speechkit_amp_player_html` filter to modify the HTML for the AMP audio player.
* New `speechkit_js_player_html` filter to modify the HTML for the standard JavaScript audio player.
* New `speechkit_js_player_params` filter to modify the BeyondWords JS SDK parameters.
* Post ID added to Inspect panel and to the "Copy" data.
= 3.0.7 =
Release date: 13th December 2021
**Fixes**
* Improve check for legacy `publish_post_to_speechkit` custom field.
* Fix 3 minor reported errors in the [AMP](https://wordpress.org/plugins/amp/) plugin, caused by invalid AMP content in the DOM.
* Improve checks for AMP requests.
* Remove 2 redundant external scripts for AMP.
= 3.0.6 =
Release date: 6th December 2021
**Features**
* Migrate dependencies and API from speechkit.io to beyondwords.io.
**Fixes**
* Update the "Sign Up" URL in the plugin description.
= 3.0.5 =
Release date: 22nd Nov 2021
**Fixes**
* Fix typo preventing AMP iframe URL from loading.
= 3.0.4 =
Release date: 22nd Nov 2021
**BeyondWords is the new name for SpeechKit.**
* All user-facing instances of `SpeechKit` have been replaced with `BeyondWords`.
* For a smooth transition, behind-the-scenes we have retained the following for the time being:
* **Filters**, **custom fields** and **plugin options** are still prefixed as `speechkit_*`
* DOM IDs and class names are still `speechkit-*`.
* The plugin slug and text-domain are still `speechkit`
* Requests to BeyondWords services are still made to speechkit.io domains.
* The complete transition to `beyondwords` and beyondwords.io domains will happen in the near future.
* We will always be backwards compatible with posts that were created with `speechkit_*` custom fields.
= 3.0.3 =
Release date: 18th Nov 2021
**Fixes**
* Run `speechkit_response` and `speechkit_error` custom fields through a new method to extract the HTTP response body.
* Fix issue where some older posts with audio would not show a player, or display a check in the SpeechKit column.
= 3.0.2 =
Release date: 15th Nov 2021
**Fixes**
* Fix PHP error caused by unexpected type in `speechkit_response` custom field for some older posts.
= 3.0.1 =
Release date: 8th Nov 2021
* Set version to `3.0.1` to remove `-rc2` from the published version name.
* See the detailed changelog for `3.0.0` [here](https://plugins.trac.wordpress.org/browser/speechkit/trunk/changelog.txt).
= 3.0.0 =
Release date: 8th Nov 2021
**Features**
* We now use the latest SpeechKit API version.
* We now use the latest SpeechKit Player JavaScript SDK version.
* Audio can now be generated for multiple posts at once using Bulk Actions. Select your posts and then use 'Bulk Actions' > 'Generate audio'.
* We have replaced the "SpeechKit Status" column with a simplified "SpeechKit" column. This new column shows you:
1. Whether audio has been added to the post
2. If the player has been disabled
3. Any processing errors
* Extra fields have been added to the Inspect panel in the SpeechKit sidebar.
* The Inspect panel now has a "Copy" button which copies all SpeechKit data to the clipboard.
* To improve stability, WordPress Cron is no longer used. We now process all requests immediately.
* To improve stability and security, we no longer attempt to send data from SpeechKit to your WordPress site. We only send data from your site to SpeechKit.
**Deprecations**
* The iFrame player has been replaced by the JavaScript SDK, with the exception of the AMP player which still uses iFrame.
* The "SpeechKit Status" column on the Posts screen no longer displays the processing status. The processing status is now shown in the JavaScript SDK player of the WordPress admin screens.
* The "Merge Excerpt" setting has been replaced by the "Process excerpts" setting. The functionality remains the same.
* We have removed the "WordPress Cron" setting. It is no longer required.
* We have removed the "Marfeel Compatibility" setting. We now provide Marfeel compatibility as standard.
* We have removed the "Telemetry" setting. You can now use the "Copy" feature of the Inspect Panel to send debugging data to us.
= 2.15.3 =
Release date: 9th Sep 2021
**Fixes**
* Disable SpeechKit functionality for post types without support for "Custom Fields".
* Add `wp_template` to the list of forbidden post types.
* Access custom post types after they have been registered, using the `wp_loaded` hook.
* Only load the Block Editor assets for SpeechKit-enabled post types.
* Deactivate WP Rocket Lazy Load by adding the `data-no-lazy` attribute to our iframe.
= 2.15.2 =
Release date: 10th May 2021
* Remove PHP 7.4 requirement - our plugin works with PHP 7.0+.
= 2.15.1 =
Release date: 10th May 2021
**Enhancements**
* Block Editor support for the new **Categories** plugin setting.
* If any custom **Categories** are selected then the **Generate Audio** checkbox will be unchecked by default.
= 2.15.0 =
Release date: 8th April 2021
**Enhancements**
* Added **Categories** plugin setting to automatically check/uncheck Generate Audio in the Classic Editor when categories are assigned to posts.
= 2.14.0 =
Release date: 9th February 2021
**Enhancements**
* Save **speechkit_project_id** and **speechkit_podcast_id** to custom fields.
* Added **SPEECHKIT_AUTOREGENERATE** wp-config.php setting - set this to **false** to prevent auto-regeneration of audio (for posts which already have audio).
* When Telemetry is enabled, don't log API responses for HTTP Status Codes 400, 402 or 422.
* Upgraded **rollbar-php** dependency to 2.1.0 (only used when Telemetry is enabled).
**Fixes**
* Remove audio player in Preview mode, because the audio content is never up-to-date when previewing (it has not been processed by SpeechKit yet).
= 2.13.0 =
Release date: 5th January 2021
**Fixes**
* Revert back to iframe audio player from v2.11.1, until we have identified and solved some reported JavaScript issues.
= 2.12.3 =
Release date: 4th January 2021
**Fixes**
* Fix typo in post meta variable name which prevents the Podcast ID from being detected for some historic Posts.
= 2.12.2 =
Release date: 4th January 2021
**Enhancements**
* Send detailed SpeechKit Post meta data with each JS Player Telemetry log.
= 2.12.1 =
Release date: 4th January 2021
**Fixes**
* Fix issue introduced earlier today, where the Generate Audio checkbox in the Block Editor would not work for the first save.
= 2.12.0 =
Release date: 4th January 2021
**Enhancements**
* Embed SpeechKit audio players in the frontend using the JavaScript SDK (In WordPress admin we use the existing iframe method, for now).
* Updated the AMP player `<amp-iframe>`.
**Deprecations**
* The Block Editor audio player has been temporarily disabled until we solve an integration issue. For the time being, we have reverted to the "Preview Audio" button from the Classic Editor, which opens an audio player in a new browser tab.
* **sk_player_url** filter is no longer applied to the player URL.
* **sk_player_amp_url** filter is no longer applied to the AMP player URL.
* Removed the plugin setting for Marfeel compatibility. This is now handled within the new JS and AMP players.
= 2.11.1 =
Release date: 22nd December 2020
**Fixes**
* Fix issue where "Generate Audio" checkbox was ineffective in the Classic Editor if the Post had already been saved with "Generate Audio" unchecked.
= 2.11.0 =
Release date: 30th October 2020
**Fixes**
* Fix issue where "Generate Audio" checkbox was always checked in the Block Editor.
**Enhancements**
* An additional "Generate Audio" checkbox is displayed in the prepublish checks for the Block Editor.
* The "Generate Audio Default" plugin setting has been removed – now the "Generate Audio" checkbox is always initially checked when creating new content.
= 2.10.6 =
Release date: 10th September 2020
**Fixes**
* Use GET SpeechKit API endpoint to check status of posts in "Processing".
= 2.10.5 =
Release date: 9th September 2020
**Fixes**
* Reduce SpeechKit API retry count to 15.
* Don't attempt to reprocess content with a SpeechKit "Failed" status.
= 2.10.4 =
Release date: 5th September 2020
**Enhancements**
* Add **speechkit_response** and **speechkit_error** to the Inspect Panel.
= 2.10.3 =
Release date: 18th August 2020
**Fixes**
* Use a white background for amp-iframe tags to fix a grey/transparent background issue in AMP.
= 2.10.2 =
Release date: 11th August 2020
**Fixes**
* Use permission_callback when registering all REST API routes.
* Restrict access to the "speechkit settings" REST API endpoint to admin users who can edit posts.
= 2.10.1 =
Release date: 10th August 2020
**Enhancements**
* Added **speechkit_content** filter, which can be used to modify the text content SpeechKit converts to audio.
* WordPress 5.5 compatibility.
* Updated supported PHP/WordPress versions.
= 2.10.0 =
Release date: 21st July 2020
**Enhancements**
* Improved Block Editor support.
* Improve compatibility with Advanced Custom Fields plugin.
* Removed Support Email form from the plugin settings screen.
* Bypass retry count for "Payment Required" status.
**Fixes**
* Remove error logging if no Post Types are selected.
* Fix "speechkit_select_post_types is not an array" Rollbar error
= 2.9.5 =
Release date: 28th April 2020
**Enhancements**
* Added “Payment Required” status to notify when SpeechKit accounts either have no associated payment details, or the credits for the account have been depleted.
* Release dates for future audio files are now set according to the WordPress Scheduled Post publish date.
**Fixes**
* Fix posts stuck in “Published” status if credits have expired.
* Meta Box fixes.
= 2.9.4 =
Release date: 23rd March 2020
**Enhancements**
* Removed unnecessary checkboxes and formatting from the SpeechKit Meta Box.
* Refactored `Speechkit_Admin::publish_post_hook` into smaller methods which can be unit tested.
* Refactored `Speechkit_Admin::speechkit_callback` to receive params, for unit testing.
**Fixes**
* Fix Generate Audio checkbox issues.
= 2.9.3 =
Release date: 14th March 2020
**Fixes**
* Use PHP `is_numeric()` to fix SpeechKit API retry count.
= 2.9.2 =
Release date: 10th March 2020
**Fixes**
* Remove an unnecessary call to process the post, when the post is published.
= 2.9.1 =
Release date: 14th February 2020
**Enhancements**
* Display admin notice when SpeechKit project has not finished setup.
**Fixes**
* Hotfix for sites that retained plugin settings when upgrading.
= 2.9.0 =
Release date: 10th February 2020
**Enhancements**
* Cosmetic updates to improve the styling, labels and help text for SpeechKit's Plugin Settings page.
* Display admin notices for both empty SpeechKit settings and invalid SpeechKit API settings.
* Refactored how WordPress Options are stored and retrieved.
= 2.8.3 =
* Renamed admin JavaScript file to fix metabox issue.
= 2.8.2 =
* Fix audio generation for private posts.
= 2.8.1 =
* Fix Rollbar dependencies.
= 2.8.0 =
* Added Telemetry setting to automatically send debugging information and crash reports to Rollbar.
= 2.7.10 =
* Fixed publishing issues during Elementor saves and WordPress autosaves.
* Display admin notice if heartbeat-tick response code is not 2XX.
* WP Fastest Cache compatibility update.
= 2.7.9 =
* Updated API functionality.
= 2.7.8 =
* Updated functionality for processing posts.
= 2.7.7 =
* Updated assets.
= 2.7.6 =
* Updated cron functionality.
* Added callbacks for the status process.
= 2.7.5 =
* Added Scheduled status.
* Added checking of plugin version. Minor updates.
= 2.7.4 =
* Removed old cron task.
* Updated url for the install page. Minor updates
= 2.7.3 =
* Added SpeechKit button to the editor toolbar for the mark text for generation audio.
= 2.7.2 =
* Fixed issue with saving draft.
= 2.7.1 =
* Fixed issue with empty content.
= 2.7.0 =
* Fixed scheduled posts.
= 2.6.9 =
* Updated support info.