- Fixed direct Vimeo URL embedded assets saving incorrect URLs (thanks @boboldehampsink)
- Added
spicyweb\embeddedassets\actions\Refresh
(previously added in 4.2.0) - Added the Refresh element action button to asset indexes on the assets page of the Craft control panel (previously added in 4.2.0)
- Added
spicyweb\embeddedassets\adapters\ipcamlive\Extractor
- Added
spicyweb\embeddedassets\adapters\ipcamlive\detectors\Code
- Added
spicyweb\embeddedassets\adapters\ipcamlive\detectors\ProviderName
- Added
spicyweb\embeddedassets\adapters\ipcamlive\detectors\ProviderUrl
- Added
spicyweb\embeddedassets\adapters\ipcamlive\detectors\Type
- The default value for
spicyweb\embeddedassets\models\Settings::$whitelist
now includes'ipcamlive.com'
spicyweb\embeddedassets\Service::getEmbeddedAsset()
andspicyweb\embeddedassets\Variable::get()
(craft.embeddedAssets.get()
) now acceptnull
instead of an asset, and returnnull
in that case (thanks @nstCactus)
- Fixed a compatibility issue with Craft Cloud
- Fixed a bug where Google Maps share links were not working
- Added
spicyweb\embeddedassets\adapters\bluesky\Extractor
(previously added in 4.1.0) - Added
spicyweb\embeddedassets\adapters\bluesky\OEmbed
(previously added in 4.1.0) - Added
spicyweb\embeddedassets\adapters\openstreetmap\Extractor
(previously added in 4.1.0) - Added
spicyweb\embeddedassets\adapters\openstreetmap\detectors\Code
(previously added in 4.1.0) - Added
spicyweb\embeddedassets\adapters\openstreetmap\detectors\Type
(previously added in 4.1.0)
- The default value for
spicyweb\embeddedassets\models\Settings::$whitelist
now includes'bsky.app'
,'bsky.social'
, and'openstreetmap.org'
(previously changed in 4.1.0)
- Added
spicyweb\embeddedassets\models\EmbeddedAsset::deprecatedProperties()
(previously added in 4.0.1)
- Deprecation warnings for deprecated embedded asset properties will now only be logged for front-end requests
- Added Craft 5 compatibility
- Links to embedded assets on asset fields can no longer be disabled, and have been moved into the fields' action menus
- Removed Craft 4 compatibility
- Removed
spicyweb\embeddedassets\models\Settings::$showFieldLinkIcon
- Fixed direct Vimeo URL embedded assets saving incorrect URLs (thanks @boboldehampsink)
- Added
spicyweb\embeddedassets\actions\Refresh
- Added the Refresh element action button to asset indexes on the assets page of the Craft control panel
- Fixed a compatibility issue with Craft Cloud
- Fixed a bug where Google Maps share links were not working
- Added
spicyweb\embeddedassets\adapters\bluesky\Extractor
- Added
spicyweb\embeddedassets\adapters\bluesky\OEmbed
- Added
spicyweb\embeddedassets\adapters\openstreetmap\Extractor
- Added
spicyweb\embeddedassets\adapters\openstreetmap\detectors\Code
- Added
spicyweb\embeddedassets\adapters\openstreetmap\detectors\Type
- The default value for
spicyweb\embeddedassets\models\Settings::$whitelist
now includes'bsky.app'
,'bsky.social'
, and'openstreetmap.org'
- Added
spicyweb\embeddedassets\models\EmbeddedAsset::deprecatedProperties()
- Deprecation warnings for deprecated embedded asset properties will now only be logged for front-end requests
- Added
spicyweb\embeddedassets\adapters\akamai\Extractor
- Added
spicyweb\embeddedassets\adapters\akamai\detectors\Type
- Added
spicyweb\embeddedassets\adapters\akamai\detectors\Url
- Added
spicyweb\embeddedassets\adapters\default\Extractor
- Added
spicyweb\embeddedassets\adapters\default\detectors\Title
- Added
spicyweb\embeddedassets\adapters\default\detectors\Type
- Added
spicyweb\embeddedassets\adapters\googlemaps\Extractor
- Added
spicyweb\embeddedassets\adapters\googlemaps\detectors\Code
- Added
spicyweb\embeddedassets\adapters\googlemaps\detectors\ProviderName
- Added
spicyweb\embeddedassets\adapters\googlemaps\detectors\Title
- Added
spicyweb\embeddedassets\adapters\googlemaps\detectors\Type
- Added
spicyweb\embeddedassets\adapters\pbs\Extractor
- Added
spicyweb\embeddedassets\adapters\pbs\detectors\Code
- Added
spicyweb\embeddedassets\adapters\pbs\detectors\Type
- Added
spicyweb\embeddedassets\adapters\sharepoint\Extractor
- Added
spicyweb\embeddedassets\adapters\sharepoint\detectors\Url
- Added
spicyweb\embeddedassets\events\BeforeRequestEvent
- Added
spicyweb\embeddedassets\models\EmbeddedAsset::$keywords
- Added
spicyweb\embeddedassets\Service::EVENT_BEFORE_REQUEST
- Now requires Craft CMS 4.7.0 or later Craft CMS 4 releases
- Upgraded from Embed 3 to Embed 4 (requires at least 4.4.10)
spicyweb\embeddedassets\models\EmbeddedAsset::$imageHeight
will not be set on newly created embedded assetsspicyweb\embeddedassets\models\EmbeddedAsset::$imageWidth
will not be set on newly created embedded assetsspicyweb\embeddedassets\models\EmbeddedAsset::$images
now returns an array of image URLs, rather than an array of key/value pairs representing image data, and will not be set on newly created embedded assetsspicyweb\embeddedassets\models\EmbeddedAsset::$providerIcons
now returns an array of image URLs, rather than an array of key/value pairs representing image data, and will not be set on newly created embedded assetsspicyweb\embeddedassets\models\EmbeddedAsset::$tags
will not be set on newly created embedded assets
- Deprecated
spicyweb\embeddedassets\models\EmbeddedAsset::$imageHeight
, due to being removed in Embed 4 - Deprecated
spicyweb\embeddedassets\models\EmbeddedAsset::$imageWidth
, due to being removed in Embed 4 - Deprecated
spicyweb\embeddedassets\models\EmbeddedAsset::$images
, due to being removed in Embed 4; use$image
instead - Deprecated
spicyweb\embeddedassets\models\EmbeddedAsset::$providerIcons
, due to being removed in Embed 4; use$providerIcon
instead - Deprecated
spicyweb\embeddedassets\models\EmbeddedAsset::$tags
, due to being removed in Embed 4; use$keywords
instead
- Removed
spicyweb\embeddedassets\events\BeforeCreateAdapterEvent
; usespicyweb\embeddedassets\events\BeforeRequestEvent
instead - Removed
spicyweb\embeddedassets\gql\interfaces\EmbeddedAssetImage
- Removed
spicyweb\embeddedassets\gql\types\EmbeddedAssetImage
- Removed
spicyweb\embeddedassets\gql\types\generators\EmbeddedAssetImageType
- Removed
spicyweb\embeddedassets\models\EmbeddedAsset::getVideoCode()
; usegetIframeCode()
instead - Removed
spicyweb\embeddedassets\models\EmbeddedAsset::getVideoUrl()
; usegetIframeSrc()
instead - Removed
spicyweb\embeddedassets\models\Settings::$embedlyKey
- Removed
spicyweb\embeddedassets\models\Settings::$iframelyKey
- Removed
spicyweb\embeddedassets\models\Settings::$minImageSize
, due to the Embed 3 parameters it was used for being removed in Embed 4 - Removed
spicyweb\embeddedassets\models\Settings::$soundcloudKey
- Removed
spicyweb\embeddedassets\Service::EVENT_BEFORE_CREATE_ADAPTER
; usespicyweb\embeddedassets\Service::EVENT_BEFORE_REQUEST
instead - Removed
spicyweb\embeddedassets\validators\Image
- Added an icon to link to embedded asset URLs when an embedded asset is selected in an assets field (inspired by the Embedded Assets Link plugin for Craft 3)
- Added the
showFieldLinkIcon
plugin setting (defaults totrue
) to control whether or not to show field link icons
- Added support for embedding OneDrive (live.com) and Sharepoint (sharepoint.com) URLs (thanks @boboldehampsink)
- Fixed an error caused by Embedded Assets, that occurred when changing subfolders while browsing assets to add to a field
- Fixed an error that occurred when embedding using an assets field, if the field is set to restrict assets to a single location and the location uses variables
- The default
whitelist
plugin setting now includeswistia.com
andwistia.net
spicyweb\embeddedassets\models\EmbeddedAsset::getIframeCode()
now supports Wistia videosspicyweb\embeddedassets\models\EmbeddedAsset::getIframeSrc()
now supports Wistia videosspicyweb\embeddedassets\models\EmbeddedAsset::getVideoId()
now supports Wistia videos
- Added French translations (thanks @scandella)
- Fixed an error that could occur when trying to load an embedded asset created on Craft 2
- Fixed an error that occurred when trying to save a direct Vimeo URL as an embedded asset
- Fixed Craft 4.4 compatibility issues
- Fixed a bug where some strings weren't translatable when they should have been
- Fixed an error that occurred when trying to embed a TikTok asset
spicyweb\embeddedassets\models\EmbeddedAsset::getVideoId()
now supports Dailymotion videos
- Added
spicyweb\embeddedassets\assets\main\MainAsset
- Added
spicyweb\embeddedassets\assets\preview\PreviewAsset
- Added
spicyweb\embeddedassets\errors\NotWhitelistedException
- Added
spicyweb\embeddedassets\models\Settings::$preventNonWhitelistedUploads
(defaults tofalse
, adds the ability to prevent the saving of embedded assets from providers that are not whitelisted in the plugin settings)
- Embedded Assets' JavaScript source has been converted to TypeScript
- Deprecated
spicyweb\embeddedassets\assets\Main
; usespicyweb\embeddedassets\assets\main\MainAsset
instead - Deprecated
spicyweb\embeddedassets\assets\Preview
; usespicyweb\embeddedassets\assets\preview\PreviewAsset
instead
- Added the
$removeAttributes
argument tospicyweb\embeddedassets\models\EmbeddedAsset::getIframeCode()
, for removing tag attributes from an iframe
- Updated JavaScript dependencies
- Added a second parameter (
$attributes
) tospicyweb\embeddedassets\models\EmbeddedAsset::getIframeCode()
, for adding attributes to the iframe element, in the formatattribute
orattribute=value
- The first parameter (
$params
) tospicyweb\embeddedassets\models\EmbeddedAsset::getIframeCode()
is no longer required
- Fixed a bug where non-admin users who have the permission to save assets in a volume were unable to save embedded assets in that volume (thanks @aodihis)
- Added the
enableAutoRefresh
plugin setting (defaults totrue
) for controlling whether Instagram embedded assets are auto-refreshed - Added
spicyweb\embeddedassets\Service::refreshEmbeddedAsset()
- Added
spicyweb\embeddedassets\errors\RefreshException
- Fixed a bug where trying to save an embedded asset to a subfolder of a volume's filesystem would save the embedded asset in the filesystem's root folder instead
- Added Craft 4 compatibility
- Removed Craft 3 compatibility
- Removed
spicyweb\embeddedassets\models\EmbeddedAsset::getCacheAge()
- Removed
spicyweb\embeddedassets\models\EmbeddedAsset::getRequestUrl()
; use theurl
property instead - Removed
spicyweb\embeddedassets\models\EmbeddedAsset::getSafeHtml()
; use a combination of thegetIsSafe()
method and thecode
property instead - Removed
spicyweb\embeddedassets\models\EmbeddedAsset::getThumbnailHeight()
; use theimageHeight
property instead - Removed
spicyweb\embeddedassets\models\EmbeddedAsset::getThumbnailUrl()
; use theimage
property instead - Removed
spicyweb\embeddedassets\models\EmbeddedAsset::getThumbnailWidth()
; use theimageWidth
property instead - Removed
spicyweb\embeddedassets\models\EmbeddedAsset::isSafe()
; usegetIsSafe()
instead - Removed
spicyweb\embeddedassets\Service::getCachedAssetPath()
- Removed
spicyweb\embeddedassets\Variable::fromAsset()
; useget()
instead - Removed
spicyweb\embeddedassets\Variable::fromAssets()
; iterate your assets manually and callget()
on each instead - Removed
spicyweb\embeddedassets\Variable::isEmbedded()
; useget()
instead
- Fixed Craft 3.8 compatibility issues
- Fixed a bug where the 'Uploaded by' field would be empty for newly created embedded assets
- Fixed a type error that could occur in version 2.11.1
- Fixed an error that occurred when saving an embedded asset, if the embedded asset title (and therefore the filename) contained invalid characters
- Added
spicyweb\embeddedassets\gql\interfaces\EmbeddedAssetImage
- Added
spicyweb\embeddedassets\gql\types\EmbeddedAssetImage
- Added
spicyweb\embeddedassets\gql\types\generators\EmbeddedAssetImageType
- Fixed a bug where accessing embedded assets'
images
andproviderIcons
properties through GraphQL outside of dev mode would cause an error
- Fixed a bug where replacing an embedded asset would not cause its cached data to be replaced
- Fixed an error that could occur when loading a saved embedded asset preview on Craft 3.6
- Fixed a bug that could cause invalid Vimeo URLs to be loaded when the 'Disable tracking on Vimeo iframes' setting was enabled
- Fixed a bug with Instagram auto-refreshing in 2.10.4
- Moved auto-refreshing of Instagram embedded assets to a queue job
- Fixed a bug when auto-refreshing Instagram embedded assets, where the previous cached data was not being replaced
- Added support for embedding Vimeo URLs with the new external embed format (thanks @boboldehampsink)
- Updated JavaScript dependencies
- Fixed some issues with Instagram asset auto-refreshing (thanks @arifje)
- Fixed a bug where refreshing embedded assets from the console wouldn't refresh an embedded asset if the data was still cached from when the embedded asset was created
- Added
spicyweb\embeddedassets\Variable::create()
(craft.embeddedAssets.create()
) for creating anEmbeddedAsset
model from an asset's contents or other user-provided data that represents a valid embedded asset - Added a console command for refreshing embedded asset data by provider
- The console command for refreshing all embedded asset data now accepts both
--volume
and--provider
options
- Fixed an error that occurred when executing a GraphQL query for embedded asset data using Gridsome, or after generating types using GraphQL codegen
- Added console commands for refreshing all embedded asset data and refreshing embedded asset data by volume
- Updated
spicyweb\embeddedassets\events\BeforeCreateAdapterEvent
to allow custom configuration ofDispatcher
instance (thanks @qrazi)
- Added
spicyweb\embeddedassets\Service::EVENT_BEFORE_CREATE_ADAPTER
- Added
spicyweb\embeddedassets\events\BeforeCreateAdapterEvent
- Updated JavaScript dependencies
- Added the
iframeCode
andiframeSrc
fields for GraphQL queries, which take aparams
argument in the same format as an embedded asset model'sgetIframeCode()
andgetIframeSrc()
methods
- Embedded Assets now requires Embed 3.4.17 or any later Embed 3 version
- Restricted Embedded Assets' required Embed version to 3.4.15 for now
- Added the
Use YouTube nocookie?
plugin setting, which will force usage of theyoutube-nocookie.com
domain for YouTube iframes when enabled - Added the
Disable tracking on Vimeo iframes?
plugin setting, which will force usage of thednt=1
query parameter for Vimeo iframes when enabled - Added
spicyweb\embeddedassets\models\EmbeddedAsset::getIframeCode()
(likegetVideoCode()
, but for all cases where the embedded asset'scode
is an<iframe>
) - Added
spicyweb\embeddedassets\models\EmbeddedAsset::getIframeSrc()
(likegetVideoUrl()
, but for all cases where the embedded asset'scode
is an<iframe>
)
- Embedded Assets now requires Craft 3.6.0 or later
- Changed Embedded Assets' JavaScript dependency package management from Yarn to NPM
- Fixed an issue where direct Vimeo URLs could not be embedded (thanks @boboldehampsink)
- Fixed a potential preview styling issue when the embedded asset code is a
<video>
- Updated the
embed/embed
library version requirement to ^3.4.15
- Fixed a bug where a validation error would occur when saving the plugin settings, if any of the Parameters list values were 0
- The embedded asset caching added in Embedded Assets 2.3.0 now uses the Craft data cache, rather than manual saving of files within
storage/runtime/assets/embeddedassets
(thanks @johndwells)
- Fixed a potential error when trying to get the
EmbeddedAsset
model of an asset that wasn't an embedded asset
- Updated the
embed/embed
library version requirement to ^3.4.13
- Added a default English translation file
- Fixed an issue with the
getVideoCode()
andgetVideoUrl()
methods where an extra?
could sometimes be included in the returned URL
- Updated
embed/embed
library minimum requirement to 3.4.9 - The exceptions thrown if an embedded asset's
getVideoCode()
method is called on an embedded asset that is not a video, or where it is not passed an array, have been given more descriptive error messages
- Fixed a JavaScript error that prevented Redactor fields' 'link to an asset' option from working correctly
- Added the
referer
plugin setting, allowing setting the domain to be sent as the referer with embedded asset requests, which allows the embedding of domain-restricted Vimeo videos (thanks @johndwells)
- Added support for retrieving embedded asset data with GraphQL in Craft CMS Pro
- Added
spicyweb\embeddedassets\models\EmbeddedAsset::getIsSafe()
- Deprecated
spicyweb\embeddedassets\models\EmbeddedAsset::isSafe()
(this should not require any Twig template updates)
- Updated the node-sass version requirement to 4.13.1; resolves a security issue
- Fixed an issue where the Embed and Replace button text could not be translated
- Fixed a bug with asset index modals for asset fields that don't allow JSON assets, where the Embed button would appear after selecting an asset
- Updated the elliptic version requirement in yarn.lock to 6.5.3
- Fixed an issue where Instagram embeds would include the login URL (with otherwise correct data) in some cases after checking for expired signatures
- Fixed a bug with Embedded Assets 2.3.0, where asset index modals for asset fields with no restriction on allowed file types would not show an Embed button
- Embedded Assets now requires Craft 3.4.0 or later
- Embedded Assets now caches embedded asset JSON files in a Craft install's
storage/runtime/assets/embeddedassets
directory, improving the performance of the Craft Assets page when using a remote storage volume - Updated
embed/embed
library minimum requirement to 3.4.8 - Embedded Assets' JavaScript source has been converted to use the Standard JS style
- Fixed an issue where Embedded Assets was putting an Embed button on a Redactor field's Add Image modal
- Fixed a performance issue with Embedded Assets' check for expired Instagram signatures
- Fixed an issue where Instagram embeds would include the login URL (with otherwise correct data) in some cases
- Replaced usage of the deprecated
Twig_Markup
class withTwig\Markup
- Embedded Assets now internally stores all embedded asset data that has been loaded during a request, to avoid unnecessary reloads of embedded asset file contents, improving the performance of the Craft Assets page
- Updated
embed/embed
library minimum requirement to ^3.4.5, to fix issue with Instagram embeds not working in some cases - Fixed JavaScript error when entering an embed URL which returns an embedded asset with no associated media
- Added support for embedding videos from PBS
- Updated
embed/embed
library minimum requirement to ^3.4.4, for compatibility with TikTok embeds - Updated default whitelist to include TikTok
- Fixed error when trying to embed a TikTok asset
- Fixed error when trying to embed a Giphy asset
- Added the
getVideoId()
method for an embedded asset from YouTube or Vimeo
- Fixed typo in 'netflix.com' in Embedded Assets' default whitelist
- Added support for Craft 3.4 asset previews
- Fix PHP 7.4 deprecation #127 - thanks @engram-design
- Fix #121 - check for data URL when validating image URL
- Instagram auto refresh (once the Instragram signature expires, the JSON file will be updated)
- Added the replace button on the asset index page
- Fixed bug which was causing embedded assets to save to the wrong asset folder
- add fix for PHP 7.4 deprecation error #122 - thanks @oddnavy
- Fix releases
- Fix #117 - make sure the url has the query string when adding params
- embed button won't be shown if the field doesn't allow json files
- Allow API Keys to be set using env variables.
- Update composer craft requirement to ^3.1.0
- Fix #116 - updating embed library to the latest version to fix the vimeo issue - thanks @cole007
- switch to yarn.
- fix an issue with previews for assets that's not an embedded asset.
- Fix - Dependancy security vulnarability fix with lodash.mergewith
- Fix - Register the assets first before getting the default thumbnail
- Added getVideoUrl and getVideoCode. Allows additional params to be added to the embedded video urls.
- Make sure to not execute any thumbnail retrieval functions if showThumbnailsInCp is false
- Fixed #99 stretched thumbnail issue
- Fix vulnarability issue with js-yaml<3.13.1
- Fix vulnerability issues with tar <4.4.2
- Actually catch the error thrown if the json file doesn't exist - thanks @engram-design
- Add
showThumbnailsInCp
setting - Thanks @ttempleton - New icon
- Fixed incompatibility with Internet Explorer 11
- Fixed Embedded Assets 2.0.1 incompatibility with Craft 3.1 releases prior to 3.1.13
- Fixed error when saving an embedded asset if Embedded Assets' Parameters setting was empty
- Fixed error when saving an embedded asset if the title contained emoji (now removes any emoji from the asset title)
{note} The plugin’s package name has changed to
spicyweb/craft-embedded-assets
. Embedded Assets will need be updated to 2.0 from a terminal, by runningcomposer require spicyweb/craft-embedded-assets
and thencomposer remove benjamminf/craft-embedded-assets
.
- Embedded Assets is now maintained by Spicy Web
- Added
extraWhitelist
setting (thanks @benjamminf)
- The asset preview controller action now supports passing an
assetId
parameter (thanks @benjamminf) - Show image preview if large enough / reduce max height for smaller screens (thanks @benjamminf)
- Refactored preview iframe JS into its own class (thanks @benjamminf)
- Improved asset previews in assets table (thanks @benjamminf)
- Fixed issues with not being able to save embedded assets in subfolders (thanks @kyle51north)
- Fixed asset volume permission issue, preventing embedded assets from being saved in Craft 3.1 (thanks @limesquare-nl / @kyle51north)
- Prevent scripts from loading async in preview, causing the asset preview to jump around after it loads (thanks @benjamminf)
- Fixed issue with blank thumbnails showing in asset preview (thanks @benjamminf)
- Removed unnecessary JS size detection in favour of readily available embed data (thanks @benjamminf)
- Added
html
property for conveniently handling checks for embed codes and safety
- Fixed issue with
isSafe
method throwing an error if thecode
property is empty - If a URL can't be loaded, the UI will now timeout and show an error notice
- Improved stability of the method of reading JSON files
- Implemented missing legacy properties on embedded assets
- Initial release for Craft 3