The Image Support module is part of the Jamroom Core and provides support for all image related functions including caching, resizing, cropping and applying image filters.
Image Support module change log
Version 2.7.2:
- Change: Improved HEIC image detection for better conversions with ImageMagick and tifig
- Change: tifig HEIC image conversions now use a timed system call to prevent locking up
Version 2.7.1:
- New: "image_delete" event trigger fired when images are manually deleted in a form
Version 2.7.0:
- New: HEIC / HEIF image conversions to JPG added using PHP ImageMagick support
- New: Added support for WebP images (.webp)
- New: "jpeg_quality" advanced config key added for controlling converted JPG quality setting
- Change: Updated view structure to support new updates in Jamroom Core 6.5.12+
- Change: Updated Image form display to allow more skin customization
- Bug Fix: module "default" item image caching could cause too many cached images in cache/jrImage
- Bug Fix: Watermarking of images for sale may not work correctly
Version 2.6.5:
- Change: Removed "Fast Resizing" global config option due to low quality image conversion
Version 2.6.4:
- Bug Fix: Multiple image upload fields may not show images in correct order when updating
Version 2.6.3:
- New: "form_image_right_container" class added to image form display area
Version 2.6.2:
- Change: Further tweaks and updates to custom default SVG image handling
Version 2.6.1:
- Change: Updates to support changes in PHP 8
- Bug Fix: Custom default SVG images may not always show correctly
Version 2.6.0:
- New: Support added for "item" parameter when using the {jrImage_display} template function
- New: Ability for templates to run image size conversions via a queue entry
- Bug Fix: Custom "default" images for modules may show default SVG instead
Version 2.5.1:
- New: Update to cache default SVG images for modules to speed up rendering
Version 2.5.0:
- New: "Enable Lazy Loading" global config setting to enable image lazy loading
- New: Images shown in forms can now be viewed in a lightbox when clicked
- New: Support added for using SVG files as the default module item image
- New: "image_display_params" event called in {jrImage_display} template function
- Bug Fix: Minimum Image Width may not always resize correctly on upload
- Bug Fix: Some images may not be rotated correctly based on Orientation EXIF flag
Version 2.4.0:
- New: Updated upload_saved event listener to properly handle EXIF Orientation flag on upload
Version 2.3.3:
- Change: Removed unneeded install.php script - internal settings handled in config.php
Version 2.3.2:
- Bug Fix: Changing profile privacy may not reset entire local image cache for profile_id
- Bug Fix: Image resize tool could include images that had already been resized
Version 2.3.1:
- Bug Fix: Image delete Javascript function may not work correctly on page with multiple forms
Version 2.3.0:
- New: iOS 11+ HEIC and HEIF images can be uploaded and will be converted to JPG
- Bug Fix: Cached images may not show in the Documentation module if group permisions were set
Version 2.2.1:
- New: Added 12mb, 16mb, 20mb, 24mb and 32mb options for Max Image File Size
Version 2.2.0:
- New: "Fast Resizing" Global Config added to enable or disable using epeg for JPG image resizing
Version 2.1.2:
- New: 'delete_profile_image_cache_directory' event fired when the cache directory for a profile is deleted
- New: 'delete_image_cache_for_item' event fired when the image cache for an item is deleted
- Bug Fix: Deleting an image from an item form was not always resetting the image cache for the item
- Bug Fix: Existing custom field image may not show in custom Profile and User form fields
Version 2.1.1:
- Bug Fix: Some images correctly resized by epeg binary may report as having encountered an error
Version 2.1.0:
- New: "cached_image" event added that is fired with image full path when a cached image is created
- New: Added "jfi" and "jif" as valid JPEG image extensions
- Change: Small performance optimization when resizing images
- Bug Fix: "Resize Item Images" tool could "hang" due to running out of allowed PHP memory
Version 2.0.11:
- New: "itemprop" HTML attribute can be used in jrImage_display function when called from a template
Version 2.0.10:
- New: Delete button added to images on update forms to make it easy to remove existing images
Version 2.0.9:
- New: jrImage_display function will now let crossorigin="" through as a parameter
Version 2.0.8:
- New: Support added for "fillcolor" parameter to define RGB color for background when using "fill" crop
- Bug Fix: Possible corruption of some JPG images when using the Image Resize Tool
Version 2.0.7:
- Change: Resize Images Tool updated with support for all modules with a DataStore or Attachment support
- Change: Added larger image sizes in the "Max Item Sizes" dropdown select in the Resize Images tool
Version 2.0.6:
- Bug Fix: Image enlargement without a "crop" parameter may not enlarge image
Version 2.0.5:
- New: "get_allowed_image_widths" event trigger added to allow custom image widths
Version 2.0.4:
- New: "item_image_info" event trigger fired with item info before displaying image
- Change: Improved performance when displaying "original" image if allowed in Global Config
- Bug Fix: Some images may not be linked to correctly in the image cache
- Bug Fix: Possible memory error when resizing with watermark or filters on very large images
Version 2.0.3:
- Bug Fix: Some images were not being create correctly in the cache
- Bug Fix: Some uploaded images were not having their height detected correctly
Version 2.0.2:
- Change: caching of module default images improved to use less disk space
Version 2.0.1:
- Bug Fix: Watermark may show on free images if "Only Images for Sale" Quota Config is active
Version 2.0.0
- New: Optimized image cache handling to speed up non-private image requests by up to 50%
- New: Support for "epeg" image resizing to speed up thumbnailing of large JPEG images
- New: "Resize Animated GIFs" global config option to disable resizing of animated GIF images
- New: "Minimum Image Width" global config option to enforce a minimum image width allowed for upload
- New: image crop feature now accepts x-offset and y-offset: crop=16:9 can now be set as crop=16:9:0:0
- New: Support added to display images for items in Recycle Bin that have images
- Change: Updated to support new System Tools module plus functions from System Core 6.1.0
- Change: Resizing of animated GIF images moved to Queue worker
- Change: "default.png" and new "working.png" default images have been updated
- Bug Fix: "original" size for JPEG images were not being handled correctly when embedded
- Bug Fix: some image upload locations that should only allow one image to be uploaded were allowing many
Version 1.5.3:
- Change: In progress lock added to prevent simultaneous resize requests for animated GIF images
- Bug Fix: numeric image size could cause smarty error when using {jrImage_display}
Version 1.5.2:
- Bug Fix: False error "tinymce_imagetools failed to save the adjusted file" if editor was visible on Timeline
Version 1.5.1:
- Bug Fix: PNG transparency being set to black on some images when resizing to "small" size or smaller
Version 1.5.0:
- Change: Image resizing performance increased for large images being resized to small sizes
Version 1.4.15:
- Bug Fix: 'original' sized images could incorrectly have a width attribute set
- Bug Fix: jrImage_is_alpha_png() may return FALSE on some PNG images that have transparency
Version 1.4.14:
- New: Image Editing options now available for images when using the WYSIWYG editor
- New: Form Designer image field now supports multiple images (number allowed defined in options)
Version 1.4.13:
- New: "default_image" event fired before displaying the default image
- New: Image fields added by the Form Designer can have their own default image
- New: Image size 'original' shows original uploaded image if enabled in Global Config
Version 1.4.12:
- Change: Reset Image Cache queue sleeps for a bit to ensure all access is to new cache directory
- Bug Fix: Default Profile Privacy not being checked when checking if a profile is private
Version 1.4.11:
- New: Ability for skin to override a module image by placing image at Skin/img/Module_Name.ext
Version 1.4.10:
- Change: Reset Image Cache tool moved to Queue Worker to better handle large sites
Version 1.4.9:
- Bug Fix: Default user image not over-rideable via ACP upload
- Bug Fix: When default image for the image module is replaced, 'active' setting not being respected
Version 1.4.8:
- Change: "max" form field parameter support to set different max upload amount on a per field basis
Version 1.4.7:
- Custom skin images may not show correctly when re-uploaded in "Images" tab in ACP
Version 1.4.6:
- Change: {jrImage_display} now allows item_id = 0 to display "default" user or item image
Version 1.4.5:
- New: JPG images will be rotated based on EXIF Orientation flag (if present in image EXIF data)
Version 1.4.4:
- New: "Resize Item Images" Tool to limit image sizes and reduce server disk usage
Version 1.4.3:
- Bug Fix: "Convert to JPG" Config option may not work properly with some GIF images
Version 1.4.2:
- New: Updated to work properly with latest Profile Privacy options
Version 1.4.1:
- Change: Internal updates to work with new Active Media System core global config option
Version 1.4.0:
- New: "Watermark Cutoff" Quota setting to disable watermark on images less than XX pixels in width
- New: "Only Images for Sale" Quota setting to only apply watermark to images that are for sale
Version 1.3.2:
- Change: Removed "convert" ImageMagick binary - now uses OS version if installed
Version 1.3.1:
- New: Image Magick "convert" binary included in jrImage/tools directory
- New: System Check listener to verify convert binary is executable
- Change: improved 304 "Not Modified" header support for better browser caching
- Change: Animated GIF images under 56px wide are converted to image of first frame
- Bug Fix: Some animated GIFs were being corrupted when being resized
Version 1.3.0:
- New: Support for resizing Animated GIFs has been added
Version 1.2.5:
- New: support for skipping default cropping adding by using crop="none"
Version 1.2.4:
- New: "module_image" and "skin_image" event triggers fired for module or skin image/img views
- Change: Dashboard panel that shows size of cached images updated so modifier is on separate line
- Bug Fix: "img" and "image" views not working with custom headers set by other modules
Version 1.2.3:
- Bug Fix: Multiple images in same form only showing image delete (if enabled) on first image
Version 1.2.2:
- New: Update to support new custom Dashboard Panels in Jamroom Core 5.2+
Version 1.2.1:
- Bug Fix: using the new ratio crop support could result in resized images showing vertical distortion
version 1.2.0:
- New: new "ratio" crop support for passing in crop values such as 16:9, 4:3, etc.
Version 1.1.6:
- Bug Fix: passing "false" as width param to jrImage_display function not working properly
Version 1.1.5:
- New: "Convert to JPG" Global Config to convert PNG and GIF images to JPG format on upload
Version 1.1.4:
- Change: Update to support new Form Designer plugin format for "image" field
Version 1.1.3:
- New: 304 Not Modified support for images so browsers can show cached images
- New: Support for "jfif" image file extension (JPEG File Interchange Format)
Version 1.1.2:
- New: "Delete Cached Images" global config to control frequency of cache cleanup
Version 1.1.1:
- Bug Fix: rounded and cut filters dropping pixel size parameter for top left corner
Version 1.1.0:
- New: Watermark settings in Quota Config for adding watermarks to images
- New: "fill" crop type to preserve aspect ratio and letterbox the resulting image
Version 1.0.9:
- Bug Fix: Some large images may fail to convert due to not enough PHP memory being allocated
Version 1.0.8:
- Bug Fix: Image override for default image from image tab was not working
Version 1.0.7:
- New: Multiple filter support on same image when parameters are separated by a comma
- Bug Fix: rounded, cut and reflection filters were not working properly
Version 1.0.6:
- Bug Fix: CSS image url not working for overridden images
Version 1.0.5:
- New: "portrait" crop parameter moves the cropping to the upper portion of the image instead of the center
Version 1.0.4:
- New: "img" view for supporting custom images defined in CSS files
Version 1.0.3:
- Expires header on images not working for images that had not been modified in last 100 days
Version 1.0.2:
- Added new "img_src" event trigger - Fired in jrImage_display before returning URL to use in img src parameter.
- Added img URL versioning to prevent browsers from caching changed images.
- Added support to form image display section to show multiple images if the "multiple" form flag is enabled.
Version 1.0.0:
- Initial release