2 hours ago
glide

Glide v5.0.8

Compose

N/A

KTX

N/A

Build Changes

  • Upgrade Glide build system to Gradle 9.4.1, AGP 8.8.0, and Kotlin/KSP 2.0.20, resolving various build and test compatibility issues.
  • Bump Glide compileSdkVersion to 37 and Robolectric to 4.16.1.
  • Bump Glide minSdkVersion to 23 to match AndroidX requirements.
  • Restore deterministic module sorting in Glide annotation processors to improve build reproducibility (Fixes #5657).
  • Fix Javadoc style issue in setMemoryCategoryInBackground that was breaking Renovate tooling (Fixes #5680).
  • Fix PMD violations in Glide.java and GlideExecutor.java (AccessorMethodGeneration and RedundantFieldInitializer).
  • Fix fragile use of TypeMirror#toString in annotation compiler.
  • Update tests to run on API 24.

Changes

ImageDecoder Support

It should be safer to use Android's ImageDecoder (introduced in Android 9.0 Pie / API 28) with Glide on Android Q (API 29) and above. Please consider trying it out, as ImageDecoder is the now preferred mechanism for decoding images in Android and may yield performance and memory usage benefits.

Several critical issues have been resolved in this release:

  • OOM/ANR Fixes: Fixed potential OutOfMemory (OOM) errors and Application Not Responding (ANR) issues when using ImageDecoder with certain input streams or when ArrayPool buffer allocation was enabled.
  • Unbounded Allocations: Fixed unbounded memory allocations when decoding bitmaps from InputStream source types.
  • Buffer Pooling: Added support for allocating ImageDecoder ByteBuffers via Glide's ArrayPool to avoid double-allocation overhead (enabled via setUseArrayPoolForImageDecoderByteBufferAllocation).
  • Direct Uri Decoding: Direct decoding of Bitmaps from Uris using ImageDecoder is now supported. To enable ImageDecoder in your application, configure the options in your AppGlideModule accordingly:
@GlideModule
public class MyAppGlideModule extends AppGlideModule {
  @Override
  public void applyOptions(@NonNull Context context, @NonNull GlideBuilder builder) {
    // Enable ImageDecoder for Bitmaps (Android Q+)
    builder.setImageDecoderEnabledForBitmaps(true);

    // Enable ImageDecoder for Uris (Android Q+)
    builder.setUriImageDecoderEnabled(true);
    
    // Enable optimized buffer pooling for ImageDecoder
    builder.setUseArrayPoolForImageDecoderByteBufferAllocation(true);
    
    // Use heap buffers for ImageDecoder with InputStreams to avoid native memory overhead
    builder.setUseHeapBufferForImageDecoderWithInputStream(true);
  }
}
  • Direct Uri Decoding: Implement UriBitmapImageDecoderResourceDecoder to allow direct decoding of Bitmaps from Uris using Android's ImageDecoder.
  • Direct Memory Decoding: Support direct memory decoding for byte buffers and arrays without stream wrapping.
  • HEIF/HEIC Detection: Add HEIF/HEIC format detection to DefaultImageHeaderParser.
  • Disk Cache Path Memoization: Add a setting to disable disk cache path name memoization in DiskLruCache to reduce retained memory.
  • ImageDecoder Buffer Pooling: Add ImageDecoder ByteBuffer allocation via ArrayPool to avoid double-allocation overhead (flag-guarded by UseArrayPoolForImageDecoderByteBufferAllocation).
  • Fix Unbounded Allocations: Fix unbounded bitmap allocations in Glide ImageDecoder when using InputStream (flag-guarded by UseHeapBufferForImageDecoderWithInputStream).
  • ImageDecoder OOM/ANR Fix: Reject unknown stream formats in InputStreamBitmapImageDecoderResourceDecoder.handles to prevent OOMs/ANRs when ArrayPool is enabled.
  • Resource Leak Fix: Fix resource leak in ByteBufferUtil.fromStream by ensuring buffers from ArrayPool are returned on exception.
  • Picker URI Support: Update isAndroidPickerUri to support new picker URI variations (like picker_get_content/ and picker_transcoded/).
  • Memory Tracking Logs: Add "GlideMemoryTracking" debug tag to trace memory overhead from scaling and cache hits.
  • Experimental Downsample Strategy: Add experimental option setCenterInsideAsDefaultDownsampleStrategy to GlideBuilder to allow using CENTER_INSIDE as the default downsampling strategy.

Full Changelog: https://github.com/bumptech/glide/compare/v5.0.7...v5.0.8

2 days ago
ImageToolbox

4.2.0-alpha01

What's Changed

  • Improved AVIF and HEIC encoding/decoding performance
  • Added support for AV2-based AVIF images
  • Added chroma subsampling selection for AVIF and HEIC formats
  • Added VVC encoding support for HEIF format
  • Added Batch Rename tool
  • Added ability to cancel loading in spot heal draw mode by #2944
  • Added ability to use slices in original name filename pattern by #2951
  • Added new filename patterns: Parent Folder, UUID
  • Added ability to move and customize markup layers menu by #2941
  • Added Auto White Balance filter by #2953
  • Improved original filename and sequence filename patterns
  • Improved cropper output quality by #2942
  • Fixed rotation buttons for RTL languages by #2946
  • Fixed compare slider lag by #2945
  • Minor bug fixes

Full Changelog: https://github.com/T8RIN/ImageToolbox/compare/4.1.0...4.2.0-alpha01

2 days ago
react-native

0.87.0-rc.0

[!WARNING] This is a release candidate. It is not intended for production use.

Changelog

Full Changelog


Install:

npm install react-native@0.87.0-rc.0

Report issues: https://github.com/react/react-native/issues

6 days ago
ImageToolbox

4.1.0

What's Changed

New Features

  • Added ability to delete original files after saving
  • Added a recently used tools card with an option to disable it
  • Added ability to search through Help & Tips
  • Added setting to control animations duration scale
  • Added app usage statistics in settings
  • Added Torn Edge and Drop Shadow filters by #2890
  • Added saving of last used row/column count in Image Splitting tool by #2889
  • Added ability to save and reuse export profiles in Single Edit and Resize & Convert
  • Added ability to disable border around image in Draw and Erase tools by #2894
  • Added ability to select 3 new shape types:
    • Wavy
    • Scoop
    • Notch
  • Added ability to use filename as placeholder in watermarking tool by #2904
  • Added ability to align layer in markup layers tool more than center by #2912
  • Added ability to duplicate filters
  • Added a Recent Filters section to the filter selection sheet
  • Added keep EXIF toggle in cropper by #2929
  • Added exit confirmation for document scanner by #2933
  • Added ability to enable dragging for expanded option sheets by #2938
  • Added 16 new filters:
    • Flare
    • Distort Perspective
    • Java Look And Feel
    • Shear
    • Water Drop
    • High Pass
    • Color Mask
    • Adaptive Blur
    • Chrome
    • Dissolve
    • Feedback
    • Lens Blur
    • Levels
    • Light Effects
    • Rays
    • Ripple
  • Added Texture Generation Tool with 60 procedural textures:
    • Brushed Metal
    • Caustics
    • Cellular
    • Checkerboard
    • FBM
    • Marble
    • Plasma
    • Quilt
    • Wood
    • Brick
    • Camouflage
    • Cell
    • Cloud
    • Crack
    • Fabric
    • Foliage
    • Honeycomb
    • Ice
    • Lava
    • Nebula
    • Paper
    • Rust
    • Sand
    • Smoke
    • Stone
    • Terrain
    • Topography
    • Water Ripple
    • Advanced Wood
    • Grass
    • Dirt
    • Leather
    • Concrete
    • Asphalt
    • Moss
    • Fire
    • Aurora
    • Oil slick
    • Watercolor
    • Abstract flow
    • Opal
    • Damascus Steel
    • Lightning
    • Velvet
    • Ink Marbling
    • Holographic Foil
    • Bioluminescence
    • Cosmic Vortex
    • Lava Lamp
    • Event Horizon
    • Fractal Bloom
    • Chromatic Tunnel
    • Eclipse Corona
    • Strange Attractor
    • Ferrofluid Crown
    • Supernova
    • Iris
    • Peacock Feather
    • Nautilus Shell
    • Ringed Planet

Improvements

  • Improved auto corners detection for FOSS document scanner by #2885
  • Improved tools search by adding keywords
  • Improved GIF converter by #2915
  • Improved GIF encoding performance with a new Rust-based encoder
  • Improved performance of 50 old filters
  • Improved Auto Perspective filter
  • Various optimizations and UI improvements

Fixes

  • Fixed one finger zoom in cropper by #2893
  • Fixed line angle indicator when magnifier is enabled
  • Fixed PDF watermark tool by #2901
  • Fixed PDF page numbers tool
  • Fixed saving to the original folder and improved overwrite handling by #2922
  • Fixed palette tools save button visibility by #2924

Full Changelog: https://github.com/T8RIN/ImageToolbox/compare/4.0.0...4.1.0

8 days ago
ImageToolbox

4.1.0-rc04

What's Changed

  • Added the ability to duplicate filters
  • Added a Recent Filters section to the filter selection sheet
  • Added keep exif toggle in cropper by #2929
  • Improvements before stable release

Full Changelog: https://github.com/T8RIN/ImageToolbox/compare/4.1.0-rc03...4.1.0-rc04

9 days ago
ImageToolbox

4.1.0-rc03

What's Changed

  • Improved GIF encoding performance with a new Rust-based encoder
  • Added 16 new filters:
    • Flare
    • Distort Perspective
    • Java Look And Feel
    • Shear
    • Water Drop
    • High Pass
    • Color Mask
    • Adaptive Blur
    • Chrome
    • Dissolve
    • Feedback
    • Lens Blur
    • Levels
    • Light Effects
    • Rays
    • Ripple
  • Added Texture Generation Tool with 9 textures:
    • Brushed Metal
    • Caustics
    • Cellular
    • Checkerboard
    • FBM
    • Marble
    • Plasma
    • Quilt
    • Wood
  • Improved performance of 50 old filters
  • Fixed saving to the original folder and improved overwrite handling by #2922
  • Fixed palette tools save button visibility by #2924
  • Fixed various issues and improved UI

Full Changelog: https://github.com/T8RIN/ImageToolbox/compare/4.1.0-rc02...4.1.0-rc03

12 days ago
ImageToolbox

4.1.0-rc02

What's Changed

  • Added ability to align layer in markup layers tool more than center by #2912
  • Improved GIF converter by #2915
  • Fixes and polishes

Full Changelog: https://github.com/T8RIN/ImageToolbox/compare/4.1.0-rc01...4.1.0-rc02

14 days ago
ImageToolbox

4.1.0-rc01

What's Changed

  • Added ability to select 3 new shape types:
    • Wavy
    • Scoop
    • Notch
  • Fixed invalid colorspace ID crash
  • Added ability to use filename as placeholder in watermarking tool by #2904
  • Improved UI

Full Changelog: https://github.com/T8RIN/ImageToolbox/compare/4.1.0-beta02...4.1.0-rc01