All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Required minimum composer version to
2.7.0
for preventing vulnerablities.
- An issue where linkit fields were not added to source files for translation. (AcclaroInc#523)
- An issue where applied files status reverting back to
ready for review
when a callback is received. (AcclaroInc#520)
- New activity logs table for better log management. (AcclaroInc#521)
- Support for CKEditor field. (AcclaroInc#490)
- An issue where plugin installation fails due to max row size database error.(AcclaroInc#432)
- An issue where order comments were not sent to acclaro.(AcclaroInc#482)
- Logic to create
craftTranslation
tag in case its deleted by user. (AcclaroInc#475) - File sync when order callback is recieved. (AcclaroInc#476)
- Google translator guzzle request to use now google-cloud/translation library. (AcclaroInc#466)
- An issue where plugin's upload location was fixed to temp upload and not updated with change in location from plugin settings. (AcclaroInc#477)
- An issue uploading files after craft 4.5.0 update.
- An issue where create draft was failing and showing success message to user. (AcclaroInc#463)
- An issue where static translation page was showing error after craft 4.5.0 update. (AcclaroInc#468)
- An issue where error was thrown in craft dev mode when a plugin update is available. (AcclaroInc#461)
- Required Craft version to
4.4.15
to resolve sql injection issue.
- An issue where log files were flooded with warning. (AcclaroInc#456)
- Code refactoring and cleanup.
- An issue where supertable field blocks were getting duplicated. (AcclaroInc#453)
- Required Craft version to
4.4.2
to resolve Server side template injection vulnerabilities.
- An issue where deliveries failed to sync back. (AcclaroInc#451)
- Dedicated
prevent slug translation
button if user does not want slug translation. (AcclaroInc#436)
- An issue where plugin license was always showing
free trial
despite ofPaid
even after license is purchased. (AcclaroInc#437) - An issue where asset's title was incuded in source files regardless of translation enabled or not. (AcclaroInc#439)
- An issue where merging changes to draft throwing error when commerce product/variant are referenced inside another commerce product/variant.
- An issue where order listing page was taking too long to load.
- An issue where delivery files failed to sync back from acclaro.
- An issue where clicking
save draft
button in detail page of an existing order draft was creating new draft. - An issue where download log files was not working because of different date formats in different time zones.
- An issue where zip files delivered from acclaro failed to upload.
- An issue where delivered files failed to merge into draft (AcclaroInc#421)
- An issue where log files failed to download with invalid date error.
- An issue where order unable to create draft due to tag id mismatch. (AcclaroInc#410)
- Code refactor (draft creation & publish)
- Support for
Google machine translations
. (AcclaroInc#409)
- Code refactoring and cleanup.
- Dedicated
Add product
button on order detail page if commerce is installed. (AcclaroInc#394)
- An issue where delivered translated content from api was not reflecting in draft. (AcclaroInc#412)
- Support for craft commerce products/variants. (AcclaroInc#394)
- TM alignment files can now also be downloaded in XML & JSON format. (AcclaroInc#406)
- Plugins control panel message & logging format. (AcclaroInc#407)
- Error On Submitting Order (AcclaroInc#400)
- Date selector in send logs page (AcclaroInc#397)
- New
getting quotes
&needs approval
status filters on order index page sidebar (AcclaroInc#395)
- UX for save button in
settings > config-options
(AcclaroInc#393) - Error opening order details when source entry has been deleted (AcclaroInc#396)
- Plugin settings url throwing error (AcclaroInc#401)
- Unhandled exception on plugin installation (AcclaroInc#387)
- Exception opening plugin dashboard when acclaro feed is unavailable.
- Track target content changes alerts (AcclaroInc#488)
- An issue where order details page loads without order id when order is being submitted to api translator from queue.
- An issue where deleting draft from
globalsetdraft/assetdraft
detail page was removing order file.
- Requires Craft
4.0.0+
- Requires PHP
8.0.2+
- Category draft's custom logic with craft's native code. (Craft now supports category drafts)
- Download TM files action disabled by default.
- Entry draft live-preview feature.
- Entry quick-edit feature (AcclaroInc#490)
- Request a quote feature (AcclaroInc#11)
- Logging in webhook flow for api orders.
- Removed unsused
editDraftAssets
. - Removed
translations_categorydrafts
table.
- Code refactoring and cleanup.
- An issue where target content was missing after merging into draft (AcclaroInc#358)
- An issue where exported redactor links were missing some required data (AccclaroInc#364)
- An issue where entry was missing assets fields after merging into draft (AcclaroInc#362)
- An issue where seomatic image field missing after merge into draft (AcclaroInc#372)
- A bug where global config settings for track source/target changes was interfering with submitted orders track changes light switch.
- An issue where category drafts were missing content from non-localized blocks and draft titles were updated but not saved (AcclaroInc#375).
- An issue where category drafts were not editable and leading to error when saved or published from draft detail page.
- To prevent target entry sync for old orders which were created before
track target content
feature was introduced. - The disable logging behaviour changed from only disabling api calls to completely disabled plugin logs (AcclaroInc#373)
- Download/Sync TM files option only available when user can see alert icon for target mismatch.
- An issue where
New translations
button on entry index page remains active on switching entry groups. - An issue where deleting draft from
globalsetdraft/assetdraft
detail page was removing order file.
- Craft minimum version from 3.7.33 to 4.0.0
- Requires PHP ^8.0.2
- Category draft's custom logic with craft's native code. (Craft now supports category drafts)
- Download TM files action disabled by default.
- Support for Craft 4.
- Logging in webhook flow for api orders.
- Removed unsused
editDraftAssets
. - Removed
translations_categorydrafts
table.
- Code refactoring and cleanup.
- An issue where order fails to open when
previewUrl
length exceeds 255 chars. (#341)
- Removed the use of
filetype
param in API order sync call.
- TM alignment error parsing special characters (AcclaroInc/#483)
- Track target content notice bug (AcclaroInc/#484)
- TM alignment file export bug (AcclaroInc/485)
craftcms/cms
minimum version from3.7.33
to3.7.36
due to dependency vulnerabilitiesguzzlehttp/guzzle
minimum version from6.5.7
to6.5.8
due to dependency vulnerabilities
- Missing translation draft edits after applying (AcclaroInc/#477)
- Duplicate resnames in exported XML (AcclaroInc/#472)
- Issue with duplicated blocks and overwritten values in multiple working drafts
- Issue with localized matrix fields when order submitted with non-primary source site (AcclaroInc/#467)
- Duplicate "Modified" Order status (#299)
- Acclaro orders sync issue (#334)
- Draft deletion on Order removal
- Draft application error with JSON and CSV formats
- Issue with order page auto-refresh on queue job completion
- Translation memory alignment (AcclaroInc/#442)
- Enhanced UX for Order preview links (AcclaroInc/#448)
- Vizy plugin support (AcclaroInc/#305)
- Acclaro API
createOrder
request paramtype
asWebsite
(AcclaroInc/#476) - Allow file actions for "Applied" Orders (AcclaroInc/#431)
- A confirmation warning when clearing orders from settings page
- Craft minimum version from
3.7.14
to3.7.33
- ISO alias mapping API endpoint (AcclaroInc#315)
- Plugin uninstallation bug (AcclaroInc#313)
- Entry relation for disabled target reference (AcclaroInc/#455)
$order->siteId
to$order->sourceSite
(AcclaroInc#305)- Nested Supertable bug (AcclaroInc/#451)
- Missing title on "Merge into draft" bug (AcclaroInc/#437)
- Order activity log text format (AcclaroInc/#371)
- Activity log status format (craft-translations/#290)
- ISO alias mapping bug (craft-translations/#289)
- Exclude non-localized Element titles (craft-translations/#294)
- Tag label bug (craft-translations/#292)
- Source site selection bug (craft-translations/#297)
- Preview URL generation bug (craft-translations/#298)
- Guzzle dependency conflict
- Ability to track source content changes (AcclaroInc/#359)
- Fetch ISO
$aliases
dynamically via GraphQL endpoint (AcclaroInc/#40) - Compatibility with Guzzle 7 (#281)
- Target sites meta to order sidebar (AcclaroInc/#416)
- Acclaro API to
v2.0
(AcclaroInc/#400) - Desktop & mobile UX for "Review changes" action (AcclaroInc/#415)
- Refactor entries version mapping (AcclaroInc/#427)
- Site "enabled" issue with custom propagation settings (#260)
- Misc. bugs (AcclaroInc/#423), (AcclaroInc/#419), (AcclaroInc/#414), (AcclaroInc/#425), (AcclaroInc/#426), (AcclaroInc/#430), (AcclaroInc/#366)
- Code refactoring and cleanup (AcclaroInc/#399)
- Issue with 'Rebuild draft preview'
- ISO string case sensitive matching error
- 'Array to String Conversion' error (AcclaroInc#255)
- 'Variable
webUrls
doesn't exist' error (AcclaroInc#256)
m210922_095949_add_ready_for_review_status
PostgreSQL migration issue (#231)- Use
$file->source
instead of$file->target
for "Modified Source Entries" source html - Added margin to 'updates available' button on Translation dashboard
- 'Review changes' modal UI/UX updates (AcclaroInc/#382)
- 'New & Modified Source Entries' dashboard widget UI/UX updates (AcclaroInc/#147)
- Download file action for API orders
- Support for custom preview target URIs (AcclaroInc/#383)
applyDrafts
logic to create and apply drafts individually v.s in bulk (AcclaroInc/#387), (AcclaroInc/#388)
- Use the block's
canonicalId
instead oftypeId
(#237) - PostgreSQL migration exception (#231)
- Resname mismatch issue (AcclaroInc/#387)
- Misc. bug fixes (AcclaroInc/#391), (AcclaroInc/#394), (AcclaroInc/#395)
- Bug triggered when applying drafts
- Display notice for "Sync order" action
- Display author name and image on create order form
- Support for Craft 3.7.9+ (AcclaroInc/#306)
- Enhanced "Review and publish" workflow with simplified source and target comparison, "Ready for review" statuses, copy text to clipboard, and more intuitive publishing actions. (AcclaroInc/#351)
- Ability to select specific Entry Drafts for translation (AcclaroInc/#298)
- Support for selecting Asset Elements for translations (#168), (AcclaroInc/#297)
- Orders now support JSON and CSV filetypes for download and upload actions
- Added "Update order" and "Create new order" actions making post-submission order updates (i.e., adding a file, language, etc.) much easier
- It's now possible to export Order Elements (CSV, JSON, and XML) (AcclaroInc/#233)
- API orders now support manual file uploads (AcclaroInc/#377)
- For API orders, it's now possible to cancel specific files or the entire order
- API orders now support custom tags (AcclaroInc/#320)
- Include Order ID parameters in XML meta tags (AcclaroInc/#352)
- Translation drafts are now created when translations are approved and applied instead of order creation, reducing the likelihood of outdated drafts
- Orders now use a familiar single-page view for creating, reviewing, updating, and applying translations (AcclaroInc/#10)
- Translator archive and details pages now use a more familiar layout (AcclaroInc/#322)
- "Recent Orders" widget now sorts by
dateUpdated
- Acclaro API order-endpoint URL pattern (AcclaroInc/#317)
- Application information indicators (i.e., app version, support links, etc.)
- Matrix block merge issue 'Attempting to merge source changes for a draft in an unsupported site.' (AcclaroInc/#329)
- Matrix block merge issues 'Attempting to duplicate/save an element in an unsupported site.' (AcclaroInc/#321)
- Matrix block merge issue 'Invalid owner ID' (#211)
- Neo block merge issue 'Invalid owner ID' (AcclaroInc/#330)
- Other nested fields (Matrix, Neo, Super Table) draft merging issues introduced in Craft 3.7.9+ (AcclaroInc/#215)
- Deprecated
getSourceId()
method. Now usinggetCanonicalId()
(#202), (AcclaroInc/#319) - "Modified Source Entries" widget loading issue (AcclaroInc/#334)
- Order status not updating for Categories (AcclaroInc/#308)
- Misc. bugs (AcclaroInc/#314), (AcclaroInc/#335), (AcclaroInc/#284), (AcclaroInc/#349), (AcclaroInc/#324), (AcclaroInc/#345)
- Deletion of auto-propagated drafts when applying translation drafts as it is no longer necessary as of Craft 3.7.9+
- orderDueDate in install.php migration
- Due date sync and display feature https://github.com/AcclaroInc/pm-craft-translations/issues/120
- Support for section propagation method "custom" AcclaroInc#167
- Source Entry 'Edit' warning message https://github.com/AcclaroInc/pm-craft-translations/issues/287
- New release dashboard notification https://github.com/AcclaroInc/pm-craft-translations/issues/282
- Discord notification action
- Asset titles bug AcclaroInc#170
- Dashboard widget layout bug (Firefox) https://github.com/AcclaroInc/pm-craft-translations/issues/307
- Queue manager performance enhancements
- Require Composer
^2.0.13
due to potential security vulnerability
- Use
UrlHelper::baseSiteUrl()
instead of deprecatedApp::env('SITE_URL')
for generating Order URLs
- Issue when applying drafts via Queue Manager
- Resolved issue with CHANGELOG.md
- Disabled default Craft publishing on Translation drafts
- Translation Setting requirements
- NSM Email field support
newism\fields\fields\Email
(#139) - NSM Telephone field support
newism\fields\fields\Telephone
(#139) - NSM Address field support
newism\fields\fields\Address
(#139) - NSM Embed field support
newism\fields\fields\Embed
(#139) - Ether, SEO field support
ether\seo\fields\SeoField
(#136) - Bi-direction Sync for Acclaro Order name updates (#134)
- Support for Craft 3.6 (#144)
- Improved Order navigation (#149)
- Non-localized field interference within localized 'nested' blocks (#140)
- Source lang is included as target lang when selecting 'All' target languages (#134)
- Adding Entries to a 'Saved' Order triggers new Order (#137)
- Prevent translation drafts from getting published via Craft (fd0bc80)
- Translation Draft URI structures (#145)
- Custom Twig RegEx Filters for Static Translations AcclaroInc#130
- Spinner icon to individual "Apply Translation" buttons AcclaroInc#131
zh-Hans-CN
mapping toSiteRepository.php
https://github.com/AcclaroInc/craft-translations/commit/acfc84dde21318bfb04a4e8970680aed12021699
- [BUG] - Target Site draft preview URI structures https://github.com/AcclaroInc/craft-translations/commit/be7bbe219730e5586477729996c1c5ecad84055d
- [BUG] - Disable the "Publish Changes" button within Entry detail screen AcclaroInc#129
- [BUG] - Order status not updating to "Applied" AcclaroInc#128
loadTranslations()
issue for unavailabletargetSites
- Improved plugin logging
getFiles()
FileRecord query typo inFileRepository.php
dateDeleted
bug in installation script
- Support for Typed Link Field 2.0-beta
- Manual file import for Acclaro orders
- XML check to fail file imports with mismatched resnames
- Initial support for translation file soft-deletes
- Required Craft version to
3.5.9
to resolve Yii2 security issue - Improved activity log messaging for failed imports and applied draft
- Resolve medium security issues
- Minor bugs
- Re-added deleteAutoPropagatedDrafts() when applying drafts
- Issue with null $site in _includeGlobalSetResources()
- Option to select all sites in target sites selection
- Unrendered HTML display issue in Craft 3.5+
- Typecast
$elementId
as an integer forgetElementById()
inactionOrderDetail()
- Use the site ID instead of the site handle in
getDraftsByGlobalSetId()
- Support for Category Entries
- Support for Asset fields
- Source v.s. translated content visual comparison
- Support for "New Translation" action buttons for recent versions of Craft
- Additional flexibility for bulk publishing actions
- Matrix, SuperTable, and Neo fieldTranslator
toTranslationSource()
block indexing
- Minor bug fixes
- Support for selecting Upload Volumes
- Moved
chkDuplicateEntries
setting from projectConfig to Plugin Settings
- Support for managing static translations
- Minor UI fixes
- Support links to About page
- Setting to disable duplicate message warning
- In Review status to API orders
- User-friendly exported ZIP filenames
- Support for Thai th-TH ISO code
- Filenames for API orders to ensure they are unique
- Logic for adding & removing entries from new order screen
- Namespacing issue with static translations
- Craft 3.4+ incompatability with Globals translation drafts
- Resolved issue with pre-selected target sites on previously saved orders
- Redirect for failed orders due to unsupported ISO codes
- Support for all propagation method options in nested field settings
- Ability to add entries directly from the create order form
- Basic handling of Acclaro "In Review" orders
- Switch to word count vs entry count for task processing
- Minor bug fixes & additional updates
- Support for Craft 3.4
- Alternative to background tasks for small requests
- Allow source entries to be added to existing orders
- Duplicate entry warning
- Minor bug fixes
- Composer dependencies
- Filter out console requests for _onDeleteElement() event
- Load static translations for radio, dropdown, and multiselect field types"
- MultiOptionsFieldTranslator class to MultiSelectFieldTranslator
- New source entries widget
- Improved errors for failed API requests
- Additional XML import error reporting
- Bug fixes
- Updated order detail page
- Compare file changes
- API request methods
- CodeMirror support
- Granular user permissions for translations
- Settings Page
- Translation settings check for system requirements, propagation methods, and supported field types
- Send logs to Acclaro
- Clear translation orders
- Small UI improvements
- PostgreSQL
translations_translations
indexing issue
- Translator Sites requirement and options
- Added class declaration for Acclaro translator
- SSL error in RSS News widget
- Support for Craft 3.2+ draft publishing
- Ability to publish site-specific drafts without overwriting content in other sites
- Deletion of auto-propagated drafts
- Support for Craft 3.3+ global HTML markup
- Additional logic to prevent duplicate files within orders
- Changed
job\UpdateEntries
tojob\ApplyDrafts
- Bug with regenerating preview URLs for previously published drafts
- Typo in order detail page
- Bug related to GlobalSetDrafts element
- File import bug related to translatable dropdown fields
- Fixed draft->id vs draft->sourceId discrepancy
- Added
RegeneratePreviewUrls
background task - Added
acclaro/UpdateReviewFileUrls
background task
{warning} Due to a fundamental change in Crafts internal draft service in 3.2+, we are unable to retain previously created translation drafts. If you are upgrading from Craft 3.1 or below to Craft 3.2+ please refer to our upgrade guide for important upgrade information.
- Added
CreateDrafts
background task - Added
DeleteDrafts
background task - Added
ImportFiles
background task - Added
SyncOrders
background task - Added
UpdateEntries
background task - Added support for nested fields stored on global basis
- Increased elementIds db char limit
- Update new order GET request to POST
- Delete drafts on uninstall
- Delete drafts on hard-deleted Orders
- Added soft-fail for file import
- Updated
DraftRepository
to use new Craft draft service - Better Entry updating UI
- Removed
UpdateDraftFromXML
- Truncate
translations_files
andtranslations_orders
tables to be compliant with new Craft draft service
- Added support for empty Entry URIs
- Added support for PostgreSQL
- Support Element soft-delete
- Minor UI updates
- Update actionUrl to token based
- Fixed bug for non-primary sites as source
- Added support
EntryDraft
types inelements
table
- Fixed an issue with deeply nested Super Table fields
- Initial release