Skip to content

[pull] master from bumptech:master#63

Open
pull[bot] wants to merge 505 commits intoChatina73:masterfrom
bumptech:master
Open

[pull] master from bumptech:master#63
pull[bot] wants to merge 505 commits intoChatina73:masterfrom
bumptech:master

Conversation

@pull
Copy link
Copy Markdown

@pull pull Bot commented Jul 31, 2022

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

sjudd and others added 29 commits March 15, 2023 10:43
ChromiumRequestSerializer creates an single thread executor
for executing callbacks from cronet. In tests, we want to track
all threads related to Glide and cronet through ActiveResource, so
that the test result is deterministic. So we pass an active resource
thread pool executor to ChromiumRequestSerializer, and the active resource
will be tracked by ActiveResourceRule.

PiperOrigin-RevId: 518069577
PiperOrigin-RevId: 518657355
I'm not sure how I managed to update this to a newer version without breaking the build, but it now appears to be broken. 1.5+ and I think 1.4+ require the usage of java8's desugaring. Glide's v4 doesn't currently do this, so we need to stay on an older version of the Fragment libraries.

Fixes #5086

PiperOrigin-RevId: 519745378
PiperOrigin-RevId: 520143565
PiperOrigin-RevId: 520149888
For a while we've stripped some experimental methods when they're exported to GitHub. This prevents them from being included in a public release, which in turn prevents them from causing binary incompatibility issues between different versions of Glide if the methods are misused.

However it also creates a maintenance burden where the internal and external versions of Glide are not the same. It adds some confusion for external developers because necessarily some number of useless classes, imports or variables are left in the exported version.

Rather than rely on explicit stripping, we'll instead document and deprecate the experimental methods and continue to remove them when they're no longer useful. This is more transparent and easier to maintain, at the risk of some additional binary incompatibility issues in the future. Given that it's very unlikely that people will use these methods, especially in libraries, this seems like an ok tradeoff.

PiperOrigin-RevId: 520157449
This class helps avoid some issues with hardware Bitmaps on Android O and P. It's been in use in production internally for a while for these older devices. Even if we don't use it on Q+ and we decide there are too many bugs with hardware Bitmaps on O, it's still useful to enable on P devices.

PiperOrigin-RevId: 520157997
Glide is now built with GitHub actions, not travis-ci.

PiperOrigin-RevId: 520176732
PiperOrigin-RevId: 520180505
PiperOrigin-RevId: 520201631
Prior to this change, the build fails because dokka fails to find the
dokka task on a bunch of submodules. That's happening because we
deliberately disabled the dokka task on irrelevant submodules.

I have no idea how this worked originally. I even went back to my
original commit (e5a29be) and tried
building with dokka and it failed. But clearly 4.14's javadocs on the
website were built with dokka.

The fix seems to be to always add the dokka task, but to simply set it
to disabled for submodules that aren't useful for developers. That's a
relatively minor change that I've made here.
getContext was only introduced in a newer API. getActivity has been around for a while.

Fixes #5107

PiperOrigin-RevId: 520431972
Several of these are lint warnings that are properly checked, but there's at least one registry call that would allow the use of newer methods on an older API. I haven't yet seen any issue that results from that and this isn't new code, but we still should add the correct SDK check in RegistryFactory.

Progress towards #5108

PiperOrigin-RevId: 520436921
In particular:
1. Rename AppGlideModuleOnlyTests to OnlyAppGlideModuleTests so the class and file name are consistent
2. Move the 'simpleAppGlideModule' string into the SourceTestHelpers so it can be shared across tests without explicit cross-test dependencies.

PiperOrigin-RevId: 521040266
Updated libavif contains performance improvements and a bug fix
when rendering images with alpha transparency.
avif integration: Update libavif dependency
@stale
Copy link
Copy Markdown

stale Bot commented May 21, 2023

This issue has been automatically marked as stale because it has not had activity in the last seven days. It will be closed if no further activity occurs within the next seven days. Thank you for your contributions.

falhassen and others added 30 commits August 31, 2025 13:17
Bump version to 5.0.2
Fix gif_decoder publishing dep and Bump compose and ktx
Bump version to 5.0.3
Bump version to 5.0.4.

Need to fix missing compiler dep in 5.0.3. See #5591
…with IPV6 addresses #5444

PiperOrigin-RevId: 805434429
Bump ktx and compose versions to 1.0.0-beta08

In prep for 5.0.5.
Bump version to 5.0.5
… a decorator to all Runnables executed on that executor.

PiperOrigin-RevId: 807916271
…. Triggers and logic are all the same as before, we're just doing everything through workflow files now to leverage caching.

PiperOrigin-RevId: 809159300
…tLock.

This occurs because CallResourceReady only acquires 2/3 of the necessary locks to perform its runnable (SingleRequest.requestLock & EngineJob.this), and is missing the Engine.this lock.

In this change, I changed SingleRequest.requestLock to always be Engine.this.

Note that change only affects uses of SingleRequest built through RequestBuilder. Users of the public API SingleRequest.obtain are unaffected by this change.

If this fix works as intended, we can consider providing a new SingleRequest.obtain API with the requestLock param removed and deprecating the current SingleRequest.obtain.

PiperOrigin-RevId: 817821083
…ttings.gradle` file in Kotlin DSL to kick off the process. Removed `git exec` command since we no longer have submodules.

PiperOrigin-RevId: 820305020
…rst time. Will be cleaning up the `apply` blocks once we move to Kotlin DSL.

PiperOrigin-RevId: 823192053
…. This will help with version management since everything is now in one place.

PiperOrigin-RevId: 823245115
Robolectric's Util.readBytes is being removed.

PiperOrigin-RevId: 826666376
When an app is moved to background, onTrimMemory() will be called, and LruBitmapPool/MemoryCache will be trimmed. However, the app could keep running and will new bitmaps will be retired to MemoryCache and LruBitmapPool. This change limits the sizes of LruBitmapPool/MemoryCache to zero when the app is in background, and restore the sizes to normal when it's moved out of background.

We introduce an experimental API `setMemoryCategoryInBackground(MemoryCategory)` for this purpose, as well as a new `MemoryCategory.ZERO` for no pooling/caching. App can use this API to set the MemoryCategory to limit the pool/cache size when the app is in background.

PiperOrigin-RevId: 852864309
PiperOrigin-RevId: 852944433
When an app is moved to background, onTrimMemory() will be called, and LruBitmapPool/MemoryCache will be trimmed. However, the app could keep running and will new bitmaps will be retired to MemoryCache and LruBitmapPool. This change limits the sizes of LruBitmapPool/MemoryCache to zero when the app is in background, and restore the sizes to normal when it's moved out of background.

We introduce an experimental API `setMemoryCategoryInBackground(MemoryCategory)` for this purpose, as well as a new `MemoryCategory.ZERO` for no pooling/caching. App can use this API to set the MemoryCategory to limit the pool/cache size when the app is in background.

PiperOrigin-RevId: 856285259
PiperOrigin-RevId: 872359811
… a state such as PROCESS_STATE_IMPORTANT_BACKGROUND, PROCESS_STATE_TRANSIENT_BACKGROUND, before the process goes to CACHED. And these are the some of the process states we don't want to apply the background MemoryCategory to.

This CL set the background memory category only when trim level is higher than TRIM_MEMORY_UI_HIDDEN.

PiperOrigin-RevId: 893789932
Motivation and Context
On Android R and above, Glide no longer appends the requireOriginal parameter when loading MediaStore URIs. Having the ACCESS_MEDIA_LOCATION permission does not always guarantee access to an unredacted file or location sharing. For example, unnecessarily adding requireOriginal to Android Photopicker URIs can cause apps to crash, as an UnsupportedOperationException may be thrown by the MediaProvider if the criteria to return an original unredacted file is not met by a PickerURI.

Furthermore, the previous approach of selectively ignoring Picker URIs from the requireOriginal appending caused an inconsistency in the expectations of Glide's clients. Clients could not reliably predict whether Glide would load the original or redacted file, as the behavior differed silently based on the specific type of URI being processed.

To provide a consistent and predictable API, the automatic appending behavior is removed entirely for Android R and above. If an app requires the original file, it should explicitly call and handle setRequireOriginal itself. (Note: The automatic appending behavior is preserved for Android Q to avoid regressions related to known OS bugs).

PiperOrigin-RevId: 895749372
Motivation and Context
Currently, isAndroidPickerUri only identifies URIs with an exact picker/ path segment. However, Android Photopicker URIs can also include variations such as picker_get_content/, picker_transcoded/, and modified versions with parameters like picker.location-true/.

PiperOrigin-RevId: 895768401
Bump ktx and compose versions to 1.0.0-beta09

In prep for 5.0.6.
Bumping gradle.properties and README.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.