[Changed] IMPORTANT Publisher's database scheme has been changed to mirror ExpressionEngine's new storage model. The exp_publisher_data table is no more. All your content will be migrated to exp_publisher_data_field_X tables, so backup your database before upgrading!
[Added] Phrase and Category export and import. Export to translate in Excel, then re-import them.
[Added] Phrase searching. Find those phrases that you so tediously organized into groups.
[Added] Benchmark service provides benchmarking for every Publisher hook. Know exactly how long each process of Publisher takes to perform.
[Added] Site Name is now listed in the Approvals list. Helps with MSM sites.
[Removed] Support for ExpressionEngine 3. EE 4+ or bust.
[Added] Phrases, Category Translations, Template Translations, Preview Templates, and Languages are now easily accessible in the main Developer dropdown menu in EE’s control panel.
[Improved] Translated entry and category url_titles. If more than 1 entry exists in 1 or more channels, or 1 category exists in 1 or more category groups with the same url_title theoretically they should all have the same translated value if the default language value is the same, so return the first matching translation instead of no translations.
[Fixed] publisher_lang_id parameter was not recognized by the exp:channel:form tag
[Fixed] If auto_redirect setting was enabled when requesting a draft on the front-end, it could put the browser into an infinite redirect loop.
[Fixed] New channel fields saved in exp_channel_field_data_X tables would have translated values saved in them where they should always contain the default language value.
[Fixed] Saving a Draft with a Grid field containing a File field shouldn’t throw a PHP isset() error anymore
[Fixed] Infinite redirects could occur when switching languages if the default language did not have a language url segment
[Fixed] Language switching when a page contains an iframe src on the same domain. If language is changed on a parent page with an iframe src on the same domain it would cause a redirect issue b/c of how the tracker saves the last url.
[Fixed] When using SMTP as the email delivery method Publisher could cause EE to throw errors
[Fixed] When deleting a category or category group also remove the rows from exp_publisher_categories
[Fixed] If it’s a category indicator based URL do not lop off the indicator when setting the $qstring_segments, which end up setting ee()->uri->query_string, and is used in mod.channel.php to properly query entries by category.
[Fixed] Saving standalone Relationship fields in EE 5.2.1
[Fixed] Handle date fields better for non-default languages. Non-default language version of an entry couldn’t to have a different publish/entry date. Use case: If an English version of a blog entry was published, but it wasn’t translated to German until a later date, the German version would inherit the publish/entry_date of the English version, thus when viewing the German blog entries, the German version would not appear as “new”, and instead disappear into the blog archive b/c it contained the original entry_date of the English version.
[Fixed] Compatibility with Bloqs when previewing an entry with Live Preview
[Refactored] The logic in the sessions_start, sessions_end, and core_boot has been consolidated mostly into core_boot, and simplified. Due to the nature of this change (a lot of important stuff happens here) we've decided to do a minor version bump to 2.9.0. Generally minor version bumps are for new features.
[Fixed] Publisher Lite was showing navigation options for full version features. Hide them if Publisher Lite to avoid confusion.
[Fixed] Hide Translation Status column from Phrases and Categories list manage page if using Publisher Lite
[Fixed] Saving file fields in channel:form tags would throw an exception
[Fixed] ACT requests, e.g. channel:form saves, were not recognized correctly, thus not saving translations correctly.
[Fixed] afterChannelEntrySave event was only expecting a EntryTranslation instance
[Fixed] Category translation statuses were slightly incorrect. Also ensure that the native exp_categories table gets updated with the default translation value when saving a category in Publisher.
[Fixed] If the first 2 characters in a URI segment matched a language code, it could redirect incorrectly.
[Fixed] Button text when viewing an entry seeking approval correctly says “Approve Draft” when saving as Published instead of “Approve Draft & Preview”. Previewing is only available when saving as a Draft.
[Fixed] When changing the Structure URL of an existing entry the draft previews would not display correctly.
[Fixed] Saving entries in the bulk edit, and sequential bulk edit options now work correctly, however, you can only bulk edit the default language. Sequential editing uses the current control panel language and can’t be changed within the modal.
[Removed] old entry_submission_* hooks which aren’t used anymore
[Removed] Images and country flags used in Publisher 1 for EE2, which are no longer used in Publisher 2, have been removed from the codebase (finally)
[Added] Add “Update Available” link to Publisher’s row in the Third Party Add-Ons page if a newer version is available.
[Added] channel_id parameter to the exp:publisher:category_entry_translations tag
[Refactored] some code dealing with changing statuses on entry approvals
[Fixed] private call to $cat_field_models
[Fixed] “Approve Draft & Preview” text now displays correctly on the Publish page buttons
[Fixed] Deleting an entry now cleans up the exp_publisher_relationships table correctly.
[Fixed] Ignore status_id column when saving drafts in EE3
[Fixed] If an entry has been saved with multiple translations but all drafts and nothing published, it was possible for the default exp_channel_titles/data tables to be saved with non-default language content
[Fixed] When saving an entry drafts for 1 or more languages when no open version existed in the default language the Grid rows would get corrupted with translations.
[Fixed] Category custom field query in EE3 stopped working after last 2.8.2 update
[Fixed] Publisher was not working correctly with the Live Preview feature.
[Fixed] Template names were not getting translated within https://boldminded.com/“” variables correctly. Template group names were fine.
[Fixed] Relationships should save correctly in Ignored Channels
[Fixed] Grid->Assets issue when saving as a Draft without an Open version already in the DB
[Added] exp:publisher:translate_phrase site_id parameter works again, and added an escape parameter.
[Added] Support for the Live Preview feature.
[Improved] Simplify how translations statuses work for phrases and categories. When viewing a phrase or category the translation statuses should be accurate. The default value of the phrase or category is no longer auto-populating the non-default languages in the control panel, however, on the front-end the default value will be used if no translation is found. This should help make it more clear when a phrase or category translation is completed.
[Fixed] Saving Relationships in Bloqs didn’t work for newly added blocks.
[Fixed] Only show non-default languages in the Template Translations page.
[Fixed] When viewing a draft if diffs are enabled, and there are no content diffs, then it’ll show the draft content by default.
[Fixed] If using the Pages module and no default template is assigned to the channel Publisher will no longer throw an error.
[Fixed] Fixes a kind of obscure bug where if a url uses the template group as the first url segment, and the second segment matches a template name in a totally different template group, it would return a valid translation of the url when it should return false, thus forcing EE to load the wrong template-group/template, where it should have loaded template-group/index. This fix included a largish refactor of a portion of Publisher's code. If you are using the Template Translations feature you will need to re-save the Template Translations settings page after upgrading to fix some database records.
[Added] Unit tests for the previously mentioned refactor. Huzzah!
[Fixed] The 2.7.8 release accidently broke the preview feature when saving an entry.
[Improved] The Template Translations settings page now has a more friendly and easier to use layout. It used to be a hot mess.
[Improved] Removed an unecessary 9mb file from the vendor folder, thus making the zip and overall Publisher folder smaller.
[Fixed] The method fetching Publisher’s diff settings was not optimized and would cause excessive queries in the CP
[Fixed] undefined index error in Publisher’s CategoryTranslation model
[Fixed] Fields with the float column type may have caused SQL errors when saving an entry.
[Fixed] The after_channel_field_save() event hook actually works as expected in EE4, due to architectural changes in EE4.
[Fixed] Don’t trigger a Structure page tree rebuild if the saved entry is not managed by Structure.
[Fixed] Remove the check for REQ==‘PAGE’ before attempting to set the language prefix. It was preventing forms from submitting that post to ?ACT urls when URL Translations are on or prefixes are enabled.
[Fixed] Ignored fields were not being handled correctly in the publish page.
[Fixed] Removed PHP errors when using the exp:channel:categories tag
[Fixed] Undefined isAuto variable error
[Fixed] If disable_drafts is set to yes, then it will force the default_save_status field to save as open, thus preventing an invalid combination of the two fields from being saved at the same time.
[Fixed] Saving entries in ignored channels would prevent saving of some entry data.
[Fixed] Saving an entry as Published would not correctly save the same content as Draft if Sync Drafts was set to Yes.
[Fixed] MySQL 5.7 compatibility issue that prevented the translation statuses from appearing in the entry list.
[Fixed] MSM issue that prevented the translation statuses from appearing in the entry list.
[Fixed] Saving single selection Relationship fields inside of Bloqs should save now.
[Fixed] Switching sites in an MSM install will now ensure the new site has a valid language set.
[Changed] When viewing an entry needing an approval the Save buttons will be updated to Approve to make it more clear what is happening (saving the entry published is all that is needed to approve a draft, the verbiage change on the button should make it less confusing on how to approve a draft)
[Changed] If using Publisher Lite it now correctly display as “Publisher Lite” in the list of add-ons instead of just “Publisher”
[Improved] When installing Publisher the publisher_titles and publisher_data tables now use the same engine (MyISAM or InnoDB) as the native channel_titles and channel_data tables. If there was a mismatch it could cause install errors on very large EE sites.
[Added] Database cleanup script now runs during the 2.0 upgrade routine so orphaned database tables left from EE2 are removed from Publisher's table.
[Added] The Publisher Utilities section now contains a Compatibility Check page to verify other supported add-ons are compatible.
[Fixed] Significantly improved the speed of migrating entries after installing Publisher on sites with a lot of custom fields.
[Fixed] Grid fields not defined as searchable won’t try to concatenate and save its row values to Publisher tables so they’re searchable.
[Fixed] Searchable Bloqs atoms should now save correctly.
[Fixed] Structure’s template, page url, and parent entry fields were not properly assigned their values when viewing or saving a translation/draft. Requires latest version of Structure.
[Fixed] Profile trigger word urls should not thrown an error if Publisher is trying to add a language prefix to the url (spoiler alert, it won’t add a prefix to profile urls)
[Fixed] Editing languages to re-assign a new default language, or changing language codes of an existing language would create a new language and mess up language data
[Fixed] When the Persistent Entries setting is turned off the entries tag could sometimes throw an error.
[Added] When installing Publisher on large existing sites the installation process is split into two steps. This solves a long standing problem of installation timeouts and errors on very large sites. Entries are migrated in batches of 50 to work around server timeout and memory issues.
[Fixed] entry Save button now displays text Save & Preview properly.
[Fixed] When using the titletrail or breadcrumbs tag in Structure, Publisher will not throw an error.
[Fixed] When saving a Grid containins an Assets field assets were not saved to the correct Grid row in the draft version of the entry.