Plugin Directory

Changeset 3060518


Ignore:
Timestamp:
03/28/2024 12:22:08 PM (2 years ago)
Author:
stuartmcalpine
Message:

Deploy version 4.6.0

Location:
speechkit
Files:
281 added
6 edited

Legend:

Unmodified
Added
Removed
  • speechkit/trunk/changelog.txt

    r2943742 r3060518  
    22
    33**This is a list detailing changes for past BeyondWords releases. For more information about the current release, see readme.txt.**
     4
     5= 4.5.1 =
     6
     7Release date: 14th March 2024
     8
     9**Enhancements**
     10
     11* Make the BeyondWords column in WP admin sortable.
     12
     13**Fixes**
     14
     15* We now only render plugin components on the Post edit screens if the REST API credentials have been validated.
     16* Improved handling for REST API calls that fail while editing posts. This fixes the following issues:
     17    * The block editor crashed if the API Key and/or Project ID had not been entered in the plugin settings.
     18    * The block editor crashed if REST API calls failed for other reasons e.g. network problems.
     19* Removed a console log intended for debugging.
     20
     21= 4.5.0 =
     22
     23Release date: 1st March 2024
     24
     25**Enhancements**
     26
     27* 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.
     28* 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.
     29
     30**Code Refactoring**
     31
     32* 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.
     33* 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.
     34* Prevent side-effects in PHP constructors.
     35
     36= 4.4.0 =
     37
     38Release date: 11th January 2024
     39
     40**Enhancements**
     41
     42* Tested up to WordPress 6.4.
     43* Tested up to PHP 8.3.
     44* 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.
     45* Add BeyondWords version and WordPress version into copied Inspect Panel data.
     46
     47**Fixes**
     48
     49* 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.
     50
     51= 4.3.0 =
     52
     53Release date: 7th December 2023
     54
     55**Deprecations**
     56
     57We have renamed and removed some of our WordPress filters to make them simpler to understand and to implement.
     58
     59The 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.
     60
     61* Filters we have simply renamed (the functionality remains exactly the same):
     62    * `beyondwords_body_params`: Renamed to `beyondwords_content_params`
     63    * `beyondwords_player_styles`: Renamed to `beyondwords_settings_player_styles`
     64    * `beyondwords_post_types`: Renamed to `beyondwords_settings_post_types`
     65    * `beyondwords_post_statuses`: Renamed to `beyondwords_settings_post_statuses`
     66* Filters we have removed because there are suitable alternatives:
     67    * `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.
     68    * `beyondwords_content`: Instead, set the `body` key in the `beyondwords_content_params` filter
     69    * `beyondwords_post_metadata`: Instead, set the `metadata` key in the `beyondwords_content_params` filter
     70    * `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.
     71    * `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.
     72* Filters we have deprecated because the functionality is no longer required:
     73    * `beyondwords_js_player_params`: This only applies to the Legacy player which will be removed in plugin v5.0
     74    * `beyondwords_content_id`: We believe this is not being used, please contact [support@beyondwords.io](mailto:support@beyondwords.io) if you are using this filter.
     75    * `beyondwords_project_id`: We believe this is not being used, please contact [support@beyondwords.io](mailto:support@beyondwords.io) if you are using this filter.
     76
     77We have also renamed `PostContentUtils::getBodyJson` to `PostContentUtils::getContentParams`, to match the `beyondwords_content_params` filter name.
     78
     79= 4.2.4 =
     80
     81Release date: 15th November 2023
     82
     83**Fixes**
     84
     85* Ensure the `$content` param of `Beyondwords\Wordpress\Core\Player\Player::hasCustomPlayer` is a string before using `strpos`.
     86
     87= 4.2.3 =
     88
     89Release date: 2nd November 2023
     90
     91**Fixes**
     92
     93* 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.
     94
     95= 4.2.2 =
     96
     97Release date: 27th October 2023
     98
     99**Fixes**
     100
     101* 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.
     102* 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.
     103
     104= 4.2.1 =
     105
     106Release date: 12th October 2023
     107
     108**Enhancements**
     109
     110* Prevent player analytics events from being recorded in WordPress admin by setting the `{ analyticsConsent: 'none' }` param for admin players.
     111
     112= 4.2.0 =
     113
     114Release date: 10th October 2023
     115
     116**Enhancements**
     117
     118* Add `[beyondwords_player]` shortcode. See our "WordPress shortcode" docs at [https://docs.beyondwords.io/docs-and-guides/content/connect-cms/wordpress].
     119
     120**Fixes**
     121
     122* Ensure an array is always returned for `PlayerStyle::getCachedPlayerStyles()` to prevent PHP warnings.
     123* For AMP content, the player is no longer auto-prepended if a custom player is found in the content.
     124* Clean up 'beyondwords_player_style' option on plugin uninstall.
     125
     126= 4.1.2 =
     127
     128Release date: 21st September 2023
     129
     130**Enhancements**
     131
     132* Added "Large" option into "Player style" plugin setting.
     133
     134= 4.1.1 =
     135
     136Release date: 15th September 2023
     137
     138**Enhancements**
     139
     140* Tested up to WordPress 6.3.
     141
     142= 4.1.0 =
     143
     144Release date: 15th September 2023
     145
     146**Enhancements**
     147
     148* "Player style" support.
     149    * A "Player style" setting has been added to the plugin settings screen where you can assign the default player style for your audio players.
     150    * The default style can be overridden for each post on the post edit screen.
     151    * A `beyondwords_player_styles` filter is available so you can modify the options of the "Player style" select boxes in WordPress admin.
     152    * We are currently beta testing a video. To discuss enabling this for your project please contact [support@beyondwords.io](mailto:support@beyondwords.io).
     153    * For more information on the supported styles see `playerStyle` at [https://github.com/beyondwords-io/player/blob/main/doc/player-settings.md].
     154* "Delete audio" option added into "Bulk actions".
     155
     156**Fixes**
     157
     158* Fixed the "Remove" button for the Inspect panel in Classic Editor.
     159* BeyondWords errors now show in the Classic Editor metabox.
     160* The "Language" and "Voice" selectors now show in the Classic Editor metabox.
     161
     162= 4.0.6 =
     163
     164Release date: 7th September 2023
     165
     166**Fixes**
     167
     168* Always call `setAttributes` for `beyondwordsMarker` in the `editor.BlockEdit` filter. Previously this was only being called when the BeyondWords sidebar panel was open.
     169* 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).
     170
     171= 4.0.5 =
     172
     173Release date: 24th August 2023
     174
     175**Fixes**
     176
     177* Fix reported PHP Warnings by checking that [get_current_screen](https://developer.wordpress.org/reference/functions/get_current_screen/) return value is truthy.
     178
     179= 4.0.4 =
     180
     181Release date: 17th August 2023
     182
     183**Fixes**
     184
     185* 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).
     186* Hide the audio player widget (the player docked to the bottom of the screen when you scroll) in WordPress admin screens.
     187
     188= 4.0.3 =
     189
     190Release date: 4th August 2023
     191
     192**Fixes**
     193
     194* 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.
     195
     196= 4.0.2 =
     197
     198Release date: 3rd August 2023
     199
     200**Fixes**
     201
     202* 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.
     203
     204= 4.0.1 =
     205
     206Release date: 30th July 2023
     207
     208**Fixes**
     209
     210* Set minimum supported versions to PHP 7.4 and WordPress 5.8.
     211* Fix issue where the audio player was disappearing in Classic Editor when the Player UI setting was "Headless" or "Disabled".
     212* Remove unwanted console logs.
     213
     214= 4.0.0 =
     215
     216Release date: 26th July 2023
     217
     218**Fixes**
     219
     220* Fixed broken "Copy" button in Block editor Inspect panel.
     221
     222**Improvements**
     223
     224* API calls are now made to the new BeyondWords REST API at [api.beyondwords.io](https://api.beyondwords.io).
     225* 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).
     226* 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).
     227* 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).
     228* The following new filters have been added.
     229    * [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).
     230    * [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)
     231    * [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)
     232    * [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)
     233    * [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)
     234    * [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)
     235
     236**Breaking changes**
     237
     238* `beyondwords_podcast_id` is now stored and retrieved as `beyondwords_content_id`.
     239    * 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`.
     240    * Existing `beyondwords_podcast_id` post metadata will be updated to `beyondwords_content_id` automatically as each post is queried in WordPress requests.
     241* 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.
     242* Removed built-in WPML support (our compatibility unfortunately failed over time). Support for translation plugins can now be achieved using the following WordPress hooks:
     243    * `beyondwords_body_params`
     244    * `beyondwords_project_id`
     245* Some older deprecated filters have been removed:
     246    * `speechkit_post_types`: Migrate to `beyondwords_post_types`
     247    * `speechkit_post_statuses`: Migrate to `beyondwords_post_statuses`
     248    * `sk_player_before`: Migrate to beyondwords_js_player_html / beyondwords_amp_player_html
     249    * `sk_the_content`: Migrate to `beyondwords_js_player_html` / `beyondwords_amp_player_html`
     250    * `sk_player_after` Migrate to `beyondwords_js_player_html` / `beyondwords_amp_player_html`
     251    * `speechkit_js_player_html` Migrate to `beyondwords_js_player_html`
     252    * `speechkit_amp_player_html` Migrate to `beyondwords_amp_player_html`
     253    * `speechkit_post_player_enabled` Migrate to `beyondwords_post_player_enabled`
    4254
    5255= 3.10.5 =
  • speechkit/trunk/languages/speechkit.pot

    r3051282 r3060518  
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: BeyondWords - Text-to-Speech 4.5.1\n"
     5"Project-Id-Version: BeyondWords - Text-to-Speech 4.6.0\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/speechkit\n"
    77"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
     
    1010"Content-Type: text/plain; charset=UTF-8\n"
    1111"Content-Transfer-Encoding: 8bit\n"
    12 "POT-Creation-Date: 2024-03-14T17:56:25+00:00\n"
     12"POT-Creation-Date: 2024-03-28T12:00:13+00:00\n"
    1313"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1414"X-Generator: WP-CLI 2.10.0\n"
  • speechkit/trunk/readme.txt

    r3051282 r3060518  
    44Donate link: https://beyondwords.io
    55Tags: text to speech, text to audio, tts, speech synthesis, podcast, audio
    6 Stable tag: 4.5.1
     6Stable tag: 4.6.0
    77Requires PHP: 7.4
    88Tested up to: 6.4
     
    8181== Changelog ==
    8282
    83 = 4.5.1 =
     83= 4.6.0 =
    8484
    85 Release date: 14th March 2024
     85Release date: 28th March 2024
    8686
    8787**Enhancements**
    8888
    89 * Make the BeyondWords column in WP admin sortable.
    90 
    91 **Fixes**
    92 
    93 * We now only render plugin components on the Post edit screens if the REST API credentials have been validated.
    94 * Improved handling for REST API calls that fail while editing posts. This fixes the following issues:
    95     * The block editor crashed if the API Key and/or Project ID had not been entered in the plugin settings.
    96     * The block editor crashed if REST API calls failed for other reasons e.g. network problems.
    97 * Removed a console log intended for debugging.
    98 
    99 = 4.5.0 =
    100 
    101 Release date: 1st March 2024
    102 
    103 **Enhancements**
    104 
    105 * 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.
    106 * 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.
    107 
    108 **Code Refactoring**
    109 
    110 * 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.
    111 * 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.
    112 * Prevent side-effects in PHP constructors.
    113 
    114 = 4.4.0 =
    115 
    116 Release date: 11th January 2024
    117 
    118 **Enhancements**
    119 
    120 * Tested up to WordPress 6.4.
    121 * Tested up to PHP 8.3.
    122 * 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.
    123 * Add BeyondWords version and WordPress version into copied Inspect Panel data.
    124 
    125 **Fixes**
    126 
    127 * 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.
    128 
    129 = 4.3.0 =
    130 
    131 Release date: 7th December 2023
    132 
    133 **Deprecations**
    134 
    135 We have renamed and removed some of our WordPress filters to make them simpler to understand and to implement.
    136 
    137 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.
    138 
    139 * Filters we have simply renamed (the functionality remains exactly the same):
    140     * `beyondwords_body_params`: Renamed to `beyondwords_content_params`
    141     * `beyondwords_player_styles`: Renamed to `beyondwords_settings_player_styles`
    142     * `beyondwords_post_types`: Renamed to `beyondwords_settings_post_types`
    143     * `beyondwords_post_statuses`: Renamed to `beyondwords_settings_post_statuses`
    144 * Filters we have removed because there are suitable alternatives:
    145     * `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.
    146     * `beyondwords_content`: Instead, set the `body` key in the `beyondwords_content_params` filter
    147     * `beyondwords_post_metadata`: Instead, set the `metadata` key in the `beyondwords_content_params` filter
    148     * `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.
    149     * `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.
    150 * Filters we have deprecated because the functionality is no longer required:
    151     * `beyondwords_js_player_params`: This only applies to the Legacy player which will be removed in plugin v5.0
    152     * `beyondwords_content_id`: We believe this is not being used, please contact [support@beyondwords.io](mailto:support@beyondwords.io) if you are using this filter.
    153     * `beyondwords_project_id`: We believe this is not being used, please contact [support@beyondwords.io](mailto:support@beyondwords.io) if you are using this filter.
    154 
    155 We have also renamed `PostContentUtils::getBodyJson` to `PostContentUtils::getContentParams`, to match the `beyondwords_content_params` filter name.
    156 
    157 = 4.2.4 =
    158 
    159 Release date: 15th November 2023
    160 
    161 **Fixes**
    162 
    163 * Ensure the `$content` param of `Beyondwords\Wordpress\Core\Player\Player::hasCustomPlayer` is a string before using `strpos`.
    164 
    165 = 4.2.3 =
    166 
    167 Release date: 2nd November 2023
    168 
    169 **Fixes**
    170 
    171 * 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.
    172 
    173 = 4.2.2 =
    174 
    175 Release date: 27th October 2023
    176 
    177 **Fixes**
    178 
    179 * 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.
    180 * 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.
    181 
    182 = 4.2.1 =
    183 
    184 Release date: 12th October 2023
    185 
    186 **Enhancements**
    187 
    188 * Prevent player analytics events from being recorded in WordPress admin by setting the `{ analyticsConsent: 'none' }` param for admin players.
    189 
    190 = 4.2.0 =
    191 
    192 Release date: 10th October 2023
    193 
    194 **Enhancements**
    195 
    196 * Add `[beyondwords_player]` shortcode. See our "WordPress shortcode" docs at [https://docs.beyondwords.io/docs-and-guides/content/connect-cms/wordpress].
    197 
    198 **Fixes**
    199 
    200 * Ensure an array is always returned for `PlayerStyle::getCachedPlayerStyles()` to prevent PHP warnings.
    201 * For AMP content, the player is no longer auto-prepended if a custom player is found in the content.
    202 * Clean up 'beyondwords_player_style' option on plugin uninstall.
    203 
    204 = 4.1.2 =
    205 
    206 Release date: 21st September 2023
    207 
    208 **Enhancements**
    209 
    210 * Added "Large" option into "Player style" plugin setting.
    211 
    212 = 4.1.1 =
    213 
    214 Release date: 15th September 2023
    215 
    216 **Enhancements**
    217 
    218 * Tested up to WordPress 6.3.
    219 
    220 = 4.1.0 =
    221 
    222 Release date: 15th September 2023
    223 
    224 **Enhancements**
    225 
    226 * "Player style" support.
    227     * A "Player style" setting has been added to the plugin settings screen where you can assign the default player style for your audio players.
    228     * The default style can be overridden for each post on the post edit screen.
    229     * A `beyondwords_player_styles` filter is available so you can modify the options of the "Player style" select boxes in WordPress admin.
    230     * We are currently beta testing a video. To discuss enabling this for your project please contact [support@beyondwords.io](mailto:support@beyondwords.io).
    231     * For more information on the supported styles see `playerStyle` at [https://github.com/beyondwords-io/player/blob/main/doc/player-settings.md].
    232 * "Delete audio" option added into "Bulk actions".
    233 
    234 **Fixes**
    235 
    236 * Fixed the "Remove" button for the Inspect panel in Classic Editor.
    237 * BeyondWords errors now show in the Classic Editor metabox.
    238 * The "Language" and "Voice" selectors now show in the Classic Editor metabox.
    239 
    240 = 4.0.6 =
    241 
    242 Release date: 7th September 2023
    243 
    244 **Fixes**
    245 
    246 * Always call `setAttributes` for `beyondwordsMarker` in the `editor.BlockEdit` filter. Previously this was only being called when the BeyondWords sidebar panel was open.
    247 * 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).
    248 
    249 = 4.0.5 =
    250 
    251 Release date: 24th August 2023
    252 
    253 **Fixes**
    254 
    255 * Fix reported PHP Warnings by checking that [get_current_screen](https://developer.wordpress.org/reference/functions/get_current_screen/) return value is truthy.
    256 
    257 = 4.0.4 =
    258 
    259 Release date: 17th August 2023
    260 
    261 **Fixes**
    262 
    263 * 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).
    264 * Hide the audio player widget (the player docked to the bottom of the screen when you scroll) in WordPress admin screens.
    265 
    266 = 4.0.3 =
    267 
    268 Release date: 4th August 2023
    269 
    270 **Fixes**
    271 
    272 * 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.
    273 
    274 = 4.0.2 =
    275 
    276 Release date: 3rd August 2023
    277 
    278 **Fixes**
    279 
    280 * 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.
    281 
    282 = 4.0.1 =
    283 
    284 Release date: 30th July 2023
    285 
    286 **Fixes**
    287 
    288 * Set minimum supported versions to PHP 7.4 and WordPress 5.8.
    289 * Fix issue where the audio player was disappearing in Classic Editor when the Player UI setting was "Headless" or "Disabled".
    290 * Remove unwanted console logs.
    291 
    292 = 4.0.0 =
    293 
    294 Release date: 26th July 2023
    295 
    296 **Fixes**
    297 
    298 * Fixed broken "Copy" button in Block editor Inspect panel.
    299 
    300 **Improvements**
    301 
    302 * API calls are now made to the new BeyondWords REST API at [api.beyondwords.io](https://api.beyondwords.io).
    303 * 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).
    304 * 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).
    305 * 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).
    306 * The following new filters have been added.
    307     * [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).
    308     * [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)
    309     * [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)
    310     * [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)
    311     * [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)
    312     * [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)
    313 
    314 **Breaking changes**
    315 
    316 * `beyondwords_podcast_id` is now stored and retrieved as `beyondwords_content_id`.
    317     * 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`.
    318     * Existing `beyondwords_podcast_id` post metadata will be updated to `beyondwords_content_id` automatically as each post is queried in WordPress requests.
    319 * 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.
    320 * Removed built-in WPML support (our compatibility unfortunately failed over time). Support for translation plugins can now be achieved using the following WordPress hooks:
    321     * `beyondwords_body_params`
    322     * `beyondwords_project_id`
    323 * Some older deprecated filters have been removed:
    324     * `speechkit_post_types`: Migrate to `beyondwords_post_types`
    325     * `speechkit_post_statuses`: Migrate to `beyondwords_post_statuses`
    326     * `sk_player_before`: Migrate to beyondwords_js_player_html / beyondwords_amp_player_html
    327     * `sk_the_content`: Migrate to `beyondwords_js_player_html` / `beyondwords_amp_player_html`
    328     * `sk_player_after` Migrate to `beyondwords_js_player_html` / `beyondwords_amp_player_html`
    329     * `speechkit_js_player_html` Migrate to `beyondwords_js_player_html`
    330     * `speechkit_amp_player_html` Migrate to `beyondwords_amp_player_html`
    331     * `speechkit_post_player_enabled` Migrate to `beyondwords_post_player_enabled`
     89* To support BeyondWords’ upcoming summarization product, the BeyondWords REST API now expects the post excerpt to be prepended to the body for API requests.
     90    * 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.
     91    * 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 [support@beyondwords.io](mailto:support@beyondwords.io).
    33292
    33393--------
  • speechkit/trunk/speechkit.php

    r3051282 r3060518  
    1616 * Author:            BeyondWords
    1717 * Author URI:        https://beyondwords.io
    18  * Version:           4.5.1
     18 * Version:           4.6.0
    1919 * License:           GPL-2.0+
    2020 * License URI:       http://www.gnu.org/licenses/gpl-2.0.txt
     
    3636// Define constants
    3737// phpcs:disable
    38 define('BEYONDWORDS__PLUGIN_VERSION', '4.5.1');
     38define('BEYONDWORDS__PLUGIN_VERSION', '4.6.0');
    3939define('BEYONDWORDS__PLUGIN_DIR',     plugin_dir_path(__FILE__));
    4040define('BEYONDWORDS__PLUGIN_URI',     plugin_dir_url(__FILE__));
  • speechkit/trunk/src/Component/Post/PostContentUtils.php

    r3043577 r3060518  
    1818
    1919    /**
    20      * Get the source text for the audio, ready to be sent to the BeyondWords API.
    21      *
    22      * @deprecated 4.0.0 Renamed to PostContentUtils::getBody()
     20     * Get the content "body" param for the audio, ready to be sent to the
     21     * BeyondWords API.
     22     *
     23     * From API version 1.1 the "summary" param is going to be used differently,
     24     * so for WordPress we now prepend the WordPress excerpt to the "body" param.
    2325     *
    2426     * @param int|WP_Post $post The WordPress post ID, or post object.
    2527     *
    26      * @since 3.0.0
    27      * @since 3.5.0  Moved from Core\Utils to Component\Post\PostUtils
    28      * @since 3.8.0  Exclude Gutenberg blocks with attribute { beyondwordsAudio: false }
    29      * @since 4.0.0 Renamed from PostContentUtils::getSourceTextForAudio() to PostContentUtils::getBody()
    30      *
    31      * @return string The body (the processed $post->post_content).
    32      */
    33     public static function getSourceTextForAudio($post)
    34     {
    35         _doing_it_wrong(
    36             'PostContentUtils::getBody',
    37             'BeyondWords PostContentUtils::getSourceTextForAudio() has been renamed to PostContentUtils::getBody()',
    38             '4.0.0'
    39         );
    40 
    41         return PostContentUtils::getBody($post);
    42     }
    43 
    44     /**
    45      * Get the body for the audio, ready to be sent to the BeyondWords API.
     28     * @since 4.6.0
     29     *
     30     * @return string The content body param.
     31     */
     32    public static function getContentBody($post)
     33    {
     34        $post = get_post($post);
     35
     36        if (!($post instanceof \WP_Post)) {
     37            throw new \Exception('Post Not Found');
     38        }
     39
     40        $summary = PostContentUtils::getPostSummary($post);
     41        $body    = PostContentUtils::getPostBody($post);
     42
     43        if ($summary) {
     44            $format = PostContentUtils::getPostSummaryWrapperFormat($post);
     45
     46            $body = sprintf($format, $summary) . $body;
     47        }
     48
     49        return $body;
     50    }
     51
     52    /**
     53     * Get the post body for the audio content.
    4654     *
    4755     * The following rules are applied:
    4856     *
    49      *     Main body content entered in WordPress
     57     *     Main post body content entered in WordPress
    5058     *   + Optionally filtered using [SpeechKit-Start]/[SpeechKit-Stop] "shortcodes"
    5159     *   + With registered content filters FROM OTHER PLUGINS applied
     
    6169     * @since 3.8.0 Exclude Gutenberg blocks with attribute { beyondwordsAudio: false }
    6270     * @since 4.0.0 Renamed from PostContentUtils::getSourceTextForAudio() to PostContentUtils::getBody()
     71     * @since 4.6.0 Renamed from PostContentUtils::getBody() to PostContentUtils::getPostBody()
    6372     *
    6473     * @return string The body (the processed $post->post_content).
    6574     */
    66     public static function getBody($post)
     75    public static function getPostBody($post)
    6776    {
    6877        global $beyondwords_wordpress_plugin;
     
    8695        // Temporarily remove our Player filter, to exclude the player <div>
    8796        if ($beyondwords_wordpress_plugin && isset($beyondwords_wordpress_plugin->player)) {
     97            // @codeCoverageIgnoreStart
    8898            remove_filter('the_content', array($beyondwords_wordpress_plugin->player, 'autoPrependPlayer'));
     99            // @codeCoverageIgnoreEnd
    89100        }
    90101
     
    94105        // Add our Player filter back in again
    95106        if ($beyondwords_wordpress_plugin && isset($beyondwords_wordpress_plugin->player)) {
     107            // @codeCoverageIgnoreStart
    96108            add_filter('the_content', array($beyondwords_wordpress_plugin->player, 'autoPrependPlayer'));
     109            // @codeCoverageIgnoreEnd
    97110        }
    98111
     
    118131
    119132    /**
    120      * Get the summary for the audio content, ready to be sent to the BeyondWords API.
     133     * Get the post summary wrapper format.
     134     *
     135     * This is a <div> with optional attributes depending on the BeyondWords
     136     * data of the post.
    121137     *
    122138     * @param int|WP_Post $post The WordPress post ID, or post object.
    123139     *
     140     * @since 4.6.0
     141     *
     142     * @return string The summary wrapper <div>.
     143     */
     144    public static function getPostSummaryWrapperFormat($post)
     145    {
     146        $post = get_post($post);
     147
     148        if (!($post instanceof \WP_Post)) {
     149            throw new \Exception('Post Not Found');
     150        }
     151
     152        $summaryVoiceId = intval(get_post_meta($post->ID, 'beyondwords_summary_voice_id', true));
     153
     154        if ($summaryVoiceId > 0) {
     155            return '<div data-beyondwords-summary="true" data-beyondwords-voice-id="' . $summaryVoiceId . '">%s</div>';
     156        }
     157
     158        return '<div data-beyondwords-summary="true">%s</div>';
     159    }
     160
     161    /**
     162     * Get the post summary for the audio content.
     163     *
     164     * @param int|WP_Post $post The WordPress post ID, or post object.
     165     *
    124166     * @since 4.0.0
     167     * @since 4.6.0 Renamed from PostContentUtils::getSummary() to PostContentUtils::getPostSummary()
    125168     *
    126169     * @return string The summary.
    127170     */
    128     public static function getSummary($post)
     171    public static function getPostSummary($post)
    129172    {
    130173        $post = get_post($post);
     
    154197     * Get the segments for the audio content, ready to be sent to the BeyondWords API.
    155198     *
     199     * @codeCoverageIgnore
    156200     * THIS METHOD IS CURRENTLY NOT IN USE. Segments cannot currently include HTML
    157201     * formatting tags such as <strong> and <em> so we do not pass segments, we pass
     
    177221        $summarySegment = (object) [
    178222            'section' => 'summary',
    179             'text'    => PostContentUtils::getSummary($post),
     223            'text'    => PostContentUtils::getPostSummary($post),
    180224        ];
    181225
     
    306350     * @since 4.0.3  Ensure `image_url` is always a string.
    307351     * @since 4.3.0  Rename from getBodyJson to getContentParams.
     352     * @since 4.6.0  Remove summary param & prepend body with summary.
    308353     *
    309354     * @static
     
    317362            'type'         => 'auto_segment',
    318363            'title'        => get_the_title($postId),
    319             'summary'      => PostContentUtils::getSummary($postId),
    320             'body'         => PostContentUtils::getBody($postId),
     364            'body'         => PostContentUtils::getContentBody($postId),
    321365            'source_url'   => get_the_permalink($postId),
    322366            'source_id'    => strval($postId),
     
    355399        }
    356400
    357         $summaryVoiceId = intval(get_post_meta($postId, 'beyondwords_summary_voice_id', true));
    358 
    359         if ($summaryVoiceId > 0) {
    360             $body['summary_voice_id'] = $summaryVoiceId;
    361         }
    362 
    363401        /**
    364402         * Filters the params we send to the BeyondWords API 'content' endpoint.
  • speechkit/trunk/vendor/composer/installed.php

    r3051282 r3060518  
    22    'root' => array(
    33        'name' => 'beyondwords/wordpress',
    4         'pretty_version' => 'v4.5.1',
    5         'version' => '4.5.1.0',
    6         'reference' => '629f2e0ef7db4686ba282d7ba08bc74596b5addb',
     4        'pretty_version' => 'v4.6.0',
     5        'version' => '4.6.0.0',
     6        'reference' => '74faeb6f57cb70aa13cb01ebd045ae44e89e8d7d',
    77        'type' => 'project',
    88        'install_path' => __DIR__ . '/../../',
     
    1212    'versions' => array(
    1313        'beyondwords/wordpress' => array(
    14             'pretty_version' => 'v4.5.1',
    15             'version' => '4.5.1.0',
    16             'reference' => '629f2e0ef7db4686ba282d7ba08bc74596b5addb',
     14            'pretty_version' => 'v4.6.0',
     15            'version' => '4.6.0.0',
     16            'reference' => '74faeb6f57cb70aa13cb01ebd045ae44e89e8d7d',
    1717            'type' => 'project',
    1818            'install_path' => __DIR__ . '/../../',
Note: See TracChangeset for help on using the changeset viewer.