Release History

Version Date Description
1.15.2 not released  
1.15.0 2022-11-17  
1.14.18 2022-11-09  
1.14.16 2022-10-22  
1.14.14 2022-10-20  
1.14.12 2022-10-10  
1.14.10 2022-09-27  
1.14.8 2022-09-20  
1.14.6 2022-09-02  
1.14.4 2022-06-16  
1.14.2 2022-04-07  
1.14.0 2022-03-14  
1.13.8 2021-11-19  
1.13.6 2021-11-08  
1.13.4 2021-10-28  
1.13.2 2021-08-31  
1.13.0 2021-06-27  
1.12.6 2021-06-15  
1.12.4 2021-05-19  
1.12.2 2021-05-05  
1.12.0 2021-04-23  
1.11.6 2021-04-19  
1.11.4 2021-04-15  
1.11.2 2021-03-25  
1.11.0 2021-03-17  
1.10.0 2021-01-17  
1.9.6 2020-11-06  
1.9.4 2020-08-26  
1.9.2 2020-06-28  
1.9.0 2020-03-20  
1.8.2 2020-01-30  
1.8.0 2020-01-09  
1.7.2 2019-09-10  
1.7.0 2019-08-23  
1.6.0 2019-07-22  
1.5.2 2019-06-06  
1.5.0 2019-05-20  
1.4.0 2019-04-05  
1.3.0 2019-03-15  
1.2.0 2019-02-22  
1.1.0 2019-01-29  
1.0.10 2018-08-27  
1.0.8 2018-03-14  
1.0.6 2018-02-22  
1.0.4 2017-09-12  
1.0.2 2017-08-29  
1.0.0 2017-04-04  
0.10.4 2017-03-23  
0.10.2 2016-04-29  
0.10.0 2016-02-16  
0.9.0 2015-09-09  
0.8.0 2015-08-21  
0.7.2 2015-04-23  
0.7.0 2015-04-17  
0.6.2 2015-01-30  
0.6.0 2015-01-12  
0.5.0 2014-11-05  
0.1.0 2014-10-02  

Release 1.15.2 – not released

Type Changes By
File Upload Granite UI component: Fix "Clear Transformation" button when namePrefix with sub-node is used. amey-tripathi

Release 1.15.0 – 2022-11-17

Type Changes By
Add Rendition.getUriTemplate method to build URI templates for getting scaled or auto-cropped renditions of an asset with the restrictions of the rendition e.g. aspect ratio. sseifert
File Upload Granite UI Widget: Allow video/mpeg and video/quicktime by default and support updating thumbnails. Fixes WHAN-53. sseifert
Dynamic Media Support: Fix smart-cropping rendition validation in case unconstrained media formats are used (without exact size, e.g. only minimum width) and the original image ratio excaclty matches the requested ratio. sseifert

Release 1.14.18 – 2022-11-09

Type Changes By
Dynamic Media Support: Make Smart Crop rendition validation configurable (default: enabled). sseifert
Dynamic Media Support: Apply fail-safe approach when normalized width/height provided by Dynamic Media for smart cropping are not matching the defined aspect ratio. sseifert

Release 1.14.16 – 2022-10-22

Type Changes By
DAM Media Source: Use cropping dimension based on original rendition internally. Re-calculate webenabled rendition-based cropping coordinates when loading them from repository before starting the media processing, and not only when doing the actual cropping. sseifert
Dynamic Media Support: Fix smart-cropping rendition validation in case unconstrained media formats are used (without exact size, e.g. only minimum width). sseifert

Release 1.14.14 – 2022-10-20

Type Changes By
Dynamic Media Support: Ensure smart-cropped renditions fulfill minimum size requirements. sseifert

Release 1.14.12 – 2022-10-10

Type Changes By
Dynamic Media Support: Do not rely on Dynamic Media feature flag to detect DM capability on publish instances. In "AUTO" mode only the availability of DM metadata on a given asset is checked. sseifert

Release 1.14.10 – 2022-09-27

Type Changes By
Dynamic Media Support: Introduce OSGi configuration parameter dmCapabilityDetection to switch from auto-detection to enable or disable Dynamic Media capability via configuration. sseifert

Release 1.14.8 – 2022-09-20

Type Changes By
Dynamic Media Support: Make use of smart-cropped image rendition also in the case if the original image has same ratio as the requested ratio. sseifert

Release 1.14.6 – 2022-09-02

Type Changes By
Dynamic Media Support: Apply Site URL detection with <auto> when building Dynamic Media URLs in author instance. sseifert

Release 1.14.4 – 2022-06-16

Type Changes By
Switch to AEM 6.5.7 as minimum version. sseifert
Ignore non-original renditions for dynamic media assets - they are not supported and should not be considered as candidates when resolving media. sseifert

Release 1.14.2 – 2022-04-07

Type Changes By
Autocropped DAM renditions should not have fallback flag. Fixes WHAN-51. cnagel

Release 1.14.0 – 2022-03-14

Type Changes By
Enable media handler pre- and post-processor by setting media as invalid via a MediaInvalidReason.CUSTOM accompanied with a custom message. sseifert
Switch to AEM 6.5 as minimum version. sseifert

Release 1.13.8 – 2021-11-19

Type Changes By
Improve debug/trace logging on media processing (categories and io.wcm.handler.mediasource). sseifert
Dynamic Media Support: Even if the option to disable the automatic fallback to AEM-based rendering of renditions is switched on, it should take place if DM is explicitely disabled via MediaArgs. sseifert

Release 1.13.6 – 2021-11-08

Type Changes By
FileUpload/PathField GraniteUI component: Pass through "granite:class" and "granite:data" properties to path field widget to allow to apply show/hide logic to both of them. sseifert
DamAsset: Avoid calling getMetadata() which may try to get metadata from asset binary wherever possible and use getMetadataValueFromJcr instead. sseifert

Release 1.13.4 – 2021-10-28

Type Changes By
Eliminate usage of deprecated SlingSettingsService. Use InstanceTypeService instead. sseifert

Release 1.13.2 – 2021-08-31

Type Changes By
FileUpload/PathField GraniteUI component: Support namePrefix property to allow all properties to be stored in different resource. sseifert
ImageMapParser: Support returning actual link object form link handler for ImageMap results. sseifert
Dynamic Media Support: Add configuration option to disable the automatic fallback to AEM-based rendering of renditions (via Media Handler) if Dynamic Media is enabled, but the asset has not the appropriate Dynamic Media metadata. sseifert

Release 1.13.0 – 2021-06-27

Type Changes By
MediaHandlerConfig: Introduce enforceVirtualRenditions flag to enforce that all renditions are served as virtual renditions. sseifert
MediaBuilder/MediaArgs: Introduce enforceOutputFileExtension to enforce generating the renditions in a given output file format (PNG or JPEG), regardless of the format of the original image. sseifert
Add support for properties "isDecorative"/"mediaIsDecorative" - if set to true, alt. text of image is explicitly set to empty string. sseifert
Add support for properties "altValueFromDAM"/"mediaForceAltValueFromAsset". If set to true, it is forced to use the alt. text from asset description (otherwise it's the fallback behavior). sseifert
Change default behavior of alt text lookup from DAM: Use asset description if avalailable as alt. text, fallback to asset title if not description is set. sseifert

Release 1.12.6 – 2021-06-15

Type Changes By
FileUpload GraniteUI component: Proplery support "required" state also for embedded pathfield component. Fixes WHAN-48. sseifert

Release 1.12.4 – 2021-05-19

Type Changes By
Dynamic media: Fix resolving of image profiles if asset folders do not have jcr:content child nodes (e.g. because folder itself is not published). sseifert

Release 1.12.2 – 2021-05-05

Type Changes By
Register authoring clientlib also to category '' so it's also loaded in page properties dialog. bkalbitz
In case of manual cropping and request for multiple non-mandatory media formats, prefer renditions based on the media format selected for manual cropping over "fallback" renditions based on the other media formats. sseifert
DefaultRenditionHandler: Media requests with responsive image handling but with a media format without ratio or width/height restrictions should be detected as "size-matching request". Fixes WHAN-46. sseifert
DefaultRenditionHandler: break after detecting any matching file extension. Fixes WHAN-45. sseifert

Release 1.12.0 – 2021-04-23

Type Changes By
Add new media format property "minWidthHeight" which accepts image with either width or height (whatever is the longest edge) matching the configured min. value. sseifert
Dynamic media: Use smart cropping profiles for all renditions with the same ratio, not only when the exact resolution matches. sseifert
Dynamic media: Use "%20" instead of "+" for encoding spaces in dynamic media URLs. sseifert

Release 1.11.6 – 2021-04-19

Type Changes By
Dynamic media: Use production dynamic media host name when author preview mode is active, but an URL mode forces to generate a publish URL. sseifert
Dynamic media: Add .download_attachment suffix to static content URLs to be serviced with Content-Disposition: attachment header (via custom ruleset). sseifert

Release 1.11.4 – 2021-04-15

Type Changes By
Dynamic media: Add OSGi configuration to enable/disable dynamic media support, activate author preview mode and allow to configure image size limits. sseifert
Dynamic media: Serve non-image or SVG/GIF images as static content via dynamic media (except if a content-disposition header is expected). sseifert
Dynamic media: URL-encode dynamic media file names. fix

Release 1.11.2 – 2021-03-25

Type Changes By
Add sling-initial-content-transform-maven-plugin to alternatively allow to deploy OSGi bundle and content as content package separately in AEMaaCS. Fixes WTOOL-72. sseifert

Release 1.11.0 – 2021-03-17

Type Changes By
Add Media.getUriTemplate method to build URI templates for getting scaled or auto-cropped renditions of an asset. sseifert
Ensure that calculating crop dimension for very big images does not lead to over-sized width/height values due to rounding errors. sseifert

Release 1.10.0 – 2021-01-17

Type Changes By
Add support for dynamic media, see Dynamic Media documentation. sseifert
Add " Media Handler Inline Image Author Preview Servlet" OSGi factory configuration to support preview images in edit dialogs on author instances for components with inline media. sseifert
Switch to AEM 6.4 as minimum version. sseifert
Switch to individual OSGi artifacts with compile dependency instead of osgi.core and osgi.cmpn with provided dependency. sseifert
Rendition metadata: Add subservice identifier 'dam-rendition-metadata' to allow explicit service user mapping. sseifert
File Upload Coral UI component: Show configured DAM root folder when clicking on "Pick" action link. Fixes WHAN-42. sseifert
File Upload Coral UI component: Fix styling of "Clear Transformation" button in AEM Cloud authoring environment. sseifert

Release 1.9.6 – 2020-11-06

Type Changes By
Media Handler: When optional media formats don't match any rendition, try to resolve their responsive child formats. mrozati
SimpleImageMediaMarkupBuilder: fix NPE. mrozati

Release 1.9.4 – 2020-08-26

Type Changes By
When resolving media renditions with cropping parameters set, match the given media formats against the cropped renditions and uncropped renditions as well (it was the same behavior in earlier implementations). Thus it's more likely to get a fitting, valid result.  

Release 1.9.2 – 2020-06-28

Type Changes By
Add Jackson annotations to Media class and related interfaces to allow a convenient serialization with Sling Models Exporter.  

Release 1.9.0 – 2020-03-20

Type Changes By
MediaHandler: Adds MediaHandler.get(String, Resource) that allows building a media from it's path while still looking up policy/component level settings from the given context resource, like it is done when building a media using MediaHandler.get(Resource). Requires the ComponentPropertyResolverFactory to work and be configured properly. mceruti
ResourceMedia: Add support for setting responsive image sizes via HTL. This can be either imageSizes and widthOptions (width + required flag), or pictureSourceMediaFormat, pictureSourceMedia and pictureSourceWidths. Fixes WHAN-33. mrozati
ResourceMedia: Support setting custom MediaArgs properties via HTL. Fixes WHAN-36. mrozati
ResourceMedia: Support settting autoCrop mode via HTL. Fixes WHAN-37. mrozati
Support responsive images with multiple media formats and image widths. Fixes WHAN-34. mrozati
Avoid duplicated storing for fileReference in File Upload component. Fixes WHAN-35. bkalbitz
mediaPlaceholder.html: Translate the component's jcr:title so the component's translated title is displayed. mceruti

Release 1.8.2 – 2020-01-30

Type Changes By
Detect media dimensions for original renditions for non-image binaries (from asset metadata). sseifert
Make use of ComponentPropertyResolverFactory to ensure component properties can be read properly on publish instances. sseifert
DamVideoMediaMarkupBuilder: Use new default video profile names format_aac and format_ogg to support AEM 6.4+. Fixes WHAN-32. sseifert
DamVideoMediaMarkupBuilder: Do not generate flash player as fallback. sseifert

Release 1.8.0 – 2020-01-09

Type Changes By
Switch to AEM 6.3 as minimum version. sseifert
AssetRendition: Use getMetadataValueFromJcr instead of getMetadataValue. sseifert
Rendition metadata: Fix generation of rendition metadata for SVG assets in AEM 6.4 and below. sseifert
MediaNameConstants: Fix typo in wcmio:mediaRepsonsive* node names (still support old node names for backward compatibility). mrozati

Release 1.7.2 – 2019-09-10

Type Changes By
Granite UI components for file upload and path field: Support "appendPath" parameter. Fixes WHAN-25. sseifert
Add i18n translations for Granite UI dialog snippets. Fixes WHAN-27. sseifert

Release 1.7.0 – 2019-08-23

Type Changes By
See What's new in Media Handler 1.7.0 and Link Handler 1.3.0 for an overview of the new features.  
Support TIFF images in media handler (with conversion to JPEG for displaying in browser). sseifert
Support SVG vector images in media handler (without transformation support). sseifert
Add Granite UI components: Media Formats Select field and Media Formats data source. sseifert
Granite UI fileupload component: Add "Clear transformation" link to clear transformations without clearing the selected image. sseifert
Add MediaHandler.invalid() method. sseifert
Add support for image maps produced by AEM image editor. sseifert
Add Granite UI dialog snippets for media format selection and responsive image settings. sseifert
Support resolving media handler-related component properties from content policies and component properties. This includes media formats, auto cropping and responsive image settings. sseifert
Allow to specify "sizes" attribute for picture sources. Fixes WHAN-24. sseifert
PathField and FileUpload Granite UI components: Support expression language for properties 'mediaFormats', 'mediaFormatsMandatory', 'mediaCropAuto', 'allowUpload'. sseifert
Inline Media Resource: Support rotation and auto-cropping. sseifert
Media placeholder: Support additional classAppend parameter. sseifert
Auto-generated IPE cropping ratios: Provide ratios from all image media formats if no media format defined for a media request. sseifert
Rendition metadata: Also create rendition metadata for SVG original rendition, as AEM itself is not storing width/height in the asset metadata for SVG. sseifert
Media handler download media format validation: Accept any files as download when no download media format is defined in the project and no media format is given for resolution. sseifert
Media format validation from GraniteUI components: Fix encoding problem when asset paths contains special chars. sseifert

Release 1.6.0 – 2019-07-22

Type Changes By
Add workflow process implementation to generate rendition metadata. See How-to article. sseifert
Rendition metadata generation: Store timestamp for rendition metadata, and re-generate it only if rendition was updated more recently. sseifert
Rendition metadata generation: Do not remove metadata for existing renditions (e.g. if listener events are processed with delays). sseifert
Rendition metadata generation: Synchronize writing asset metadata per asset path to avoid threading conflicts. sseifert

Release 1.5.2 – 2019-06-06

Type Changes By
MediaBuilder: Allow media formats without ratios for picture sources. Fixes WHAN-23. sseifert

Release 1.5.0 – 2019-05-20

Type Changes By
Allow to define a mix of mandatory and non-mandatory media formats. sseifert
Allow to define mandatory and non-mandatory widths for responsive image handling with image sizes or picture source sets. sseifert
Allow media formats without ratio for auto-generated IPE cropping ratios (free-hand cropping). sseifert
Allow responsive image handling based in "imageSizes" also for media formats without ratio. sseifert
Prefer original renditions above other renditions when creating virtual renditions on-the-fly. sseifert
Allow to set default DAM root path for Granite UI components in Media Handler configuration. sseifert
Fix potential NPE in GraniteUI components when current content resource cannot be detected. sseifert

Release 1.4.0 – 2019-04-05

Type Changes By
Add switch in media handler config and media args to include or exclude AEM-generated web renditions in media handling (default: included). sseifert
Create AssetRendition class to get dimensions and other information for asset renditions. sseifert
Granite UI components: Allow to remove auto-generated field description by setting it to an empty string. sseifert

Release 1.3.0 – 2019-03-15

Type Changes By
Add responsive image handling support using image sizes and picture sources to media handler and SimpleImageMediaMarkupBuilder. sseifert
Deprecate non-HTML standard way of responsive image handling using ResponsiveMediaFormatsBuilder and ResponsiveImageMediaMarkupBuilder. sseifert
Use WCM Granite UI Extension path fields. sseifert
Do not apply auto-cropping when manual cropping parameters are present, that lead to a mismatch with the requested media format. sseifert

Release 1.2.0 – 2019-02-22

Type Changes By
See What's new in Media Handler 1.2 for an overview of this release.  
Add support for (optional) auto-cropping of DAM assets when no matching rendition exists. sseifert
Automatic customization of image in-place edititing crop ratios to ratios from configured media formats. sseifert
Add Media Handler-aware File Upload and Path Field Granite UI widgets. sseifert
Add Media Handler-aware placeholder HTL template. sseifert
Add support for component properties for media formats and auto cropping. sseifert
MediaHandler: Fallback to first media source defined if no matching media source is found. sseifert
MediaFormat: Allow to specify ratio with/height as double, and try to guess nice humban-readable ratio display string. sseifert
Switch to AEM 6.2 as minimum version. sseifert
Avoid NPE when cropping an asset without a web rendition. sseifert

Release 1.1.0 – 2019-01-29

Type Changes By
Add support for image rotation. sseifert
Allow to configure "Adobe standard" property/node names for media reference, cropping, rotation, alt. text and inline media node name via MediaHandlerConfig. sseifert
ResourceMedia: Add optional parameters for refProperty, cropProperty and rotationProperty. sseifert
Add Rendition.getRatio() method. sseifert
Use original rendition for generating the cropped images instead of the web rendition. sseifert
Deprecate flash rendition support. sseifert
DamMediaSource: If a "media" drop target already exists make use of it instead off adding a new one which breaks in-place edit mode. sseifert
ResourceMedia: Add css class using MediaBuilder instead of adding it directly to the DOM element. sseifert

Release 1.0.10 – 2018-08-27

Type Changes By
Add Jetbrains NotNull/Nullable annotations to API. sseifert

Release 1.0.8 – 2018-03-14

Type Changes By
Add AssetRenditionContentDispositionFilter to apply 'Dam Safe Binary' content disposition filter logic also to asset rendition's paths. amuthmann
Use deep URL to reference 'original' rendition instead of asset URL (revert change from release 1.0.6). sseifert

Release 1.0.6 – 2018-02-22

Type Changes By
Use asset URL instead of reference to rendition for 'original' rendition. sseifert

Release 1.0.4 – 2017-09-12

Type Changes By
MediaBuilder: can set MediaArgs "includeThumbnailAssets", "dragDropSupport" and "property". Fixes WHAN-21. mrozati

Release 1.0.2 – 2017-08-29

Type Changes By
DefaultRenditionHandler: Fix issue with width/height calculation. Fixes WHAN-20. sseifert

Release 1.0.0 – 2017-04-04

Type Changes By
Switch to AEM 6.1 and Java 8 as minimum versions. sseifert
Switched SPI to OSGi services based on Sling Commons Context-Aware Services MediaHandlerConfig, MediaFormatProvider. Use SPI abstract class instead of interface + abstract helper implementation for MediaHandlerConfig, MediaFormatProvider, MediaSource. sseifert
MediaHandlerConfig: Remove method "getDownloadMediaFormats()" - downloadable media formats are now detected by setting the "donload" flag on the media format definitions. sseifert
MediaFormat: Remove application id, add new flag "download" to mark media formats as download formats which can be linked upon. sseifert
MediaArgs/MediaBuilder: Rename "forceDownload" to "contentDispositionAttachment", add new "download" option. sseifert

Release 0.10.4 – 2017-03-23

Type Changes By
Make dependencies to Config provided. sseifert

Release 0.10.2 – 2016-04-29

Type Changes By
Relax package version dependency for to support AEM60, AEM61 and AEM62. sseifert

Release 0.10.0 – 2016-02-16

Type Changes By
Add ResourceMedia sling model for UI views. sseifert
Make the extensions array of an existing MediaFormat unmodifiable. Fixes WHAN-14. bdang
Set AEM API and OSGi dependencies to provided scope. sseifert
MediaArgs: interpret empty array for varargs parameter as null array. sseifert
MediaHandler: Introduce new INVALID_MEDIA_FORMAT media invalid reason which is returned when invalid media format names are given. sseifert

Release 0.9.0 – 2015-09-09

Type Changes By
Optional included AEM-generated asset thumbnails for media handling. Fixes WHAN-13. sseifert

Release 0.8.0 – 2015-08-21

Type Changes By
Add getMimeType() method to rendition interface. sseifert

Release 0.7.2 – 2015-04-23

Type Changes By
Allow MediaHandler to be used outside a Page context (e.g. adapting from a DAM asset resource). sseifert
Do not return rendition file size for virtual renditions (it's wrong to return the DAM rendition size, and too costly to calculate the real size). sseifert

Release 0.7.0 – 2015-04-17

Type Changes By
Add Responsive Image Media Markup Builder. Fixes WCMIO-68. sseifert

Release 0.6.2 – 2015-01-30

Type Changes By
Avoid NPE if original rendition is not present. Fixes WCMIO-40. sseifert
CropRenditionHandler should consider the biggest web enabled rendition. Fixes WCMIO-44. isechyn

Release 0.6.0 – 2015-01-12

Type Changes By
Drop Target Area definition in DamMediaSource should provide more control for activation and deactivation on the component level. Fixes WCMIO-39. sseifert
CropRenditionHandler should prefer the virtual crop rendition but still consider other renditions for media resolving. Fixes WCMIO-40. isechyn

Release 0.5.0 – 2014-11-05

Type Changes By
Initial release. sseifert

Release 0.1.0 – 2014-10-02

Type Changes By
Preliminary release. sseifert

Back to top

Version: 1.15.1-SNAPSHOT. Last Published: 2022-11-22.