Releases: afreakyelf/Pdf-Viewer
Releases · afreakyelf/Pdf-Viewer
v2.4.0
Cache strategy alignment and regression coverage
This release aligns the three cache strategies with their intended behavior and adds regression coverage around caching, rendering, and embedded-view lifecycle cleanup.
What changed
MAXIMIZE_PERFORMANCEnow clearly behaves as the high-retention mode:- reuses downloaded remote PDFs
- keeps page bitmaps in memory and on disk
- keeps prefetch enabled
MINIMIZE_CACHEnow behaves as a reduced-storage mode:- reuses the current remote PDF
- keeps page bitmaps in memory only
- disables disk page-bitmap caching
- retains only one document cache on disk
DISABLE_CACHEnow behaves as a transient mode:- does not reuse persistent remote files
- disables disk page-bitmap caching
- disables prefetch
- still keeps visible rendering correct
Bug fixes included
- Fixed incorrect remote cache retention and reuse behavior across cache strategies.
- Fixed
DISABLE_CACHEso transient remote sessions no longer interfere with or delete persistent cache from other strategies. - Fixed embedded
PdfRendererView.initWithUrl(...)cleanup so transient remote files are cleaned up on lifecycle destroy, not only inPdfViewerActivity. - Fixed stale disk page-bitmap artifacts when reopening the same document under a stricter cache strategy.
- Hardened render job and callback bookkeeping in
PdfRendererCorewith minSdk-21-safe logic.
Testing and regression coverage
- Added a dedicated internal
CachePolicylayer to centralize strategy behavior. - Added unit tests covering:
- cache policy mapping
- document retention rules
- transient cleanup behavior
- Added hermetic instrumentation coverage for:
- local PDF behavior under all three strategies
- remote PDF reuse vs non-reuse
- embedded
PdfRendererViewlifecycle cleanup - strategy downgrade behavior for stale disk bitmap cache
- Added a debug-only embedded host activity used to verify
PdfRendererViewcleanup outsidePdfViewerActivity.
Compatibility
- No public API breaking changes.
- Existing
CacheStrategyAPIs remain the same; behavior is now more consistent and predictable.
v2.3.8 | Bug fixes
What's Changed
- Create notify-resolved.yml by @afreakyelf in #209
- Updated Jetpack Compose sample in Readme by @muazdev26 in #211
- fix: reset page height to WRAP_CONTENT on ViewHolder rebind by @hrithikvish in #242
- Fix: Use deprecated getParcelableExtra on API 33 to prevent NPE (#244) by @AntoineJaury in #245
- feat: expose zoom methods and add Compose example with FABs by @HoussemHfaidh in #246
- Fix NoClassDefFoundError for lifecycle-process Kotlin anonymous classes in Java consumer apps by @Copilot in #248
- Fix cache key collision for same-named PDFs in different directories by @Copilot in #249
- Fix PDF quality degradation on zoom by @Copilot in #247
- Add scrollToNextPage() / scrollToPreviousPage() for within-page scroll-before-advance navigation by @Copilot in #250
New Contributors
- @muazdev26 made their first contribution in #211
- @hrithikvish made their first contribution in #242
- @AntoineJaury made their first contribution in #245
- @HoussemHfaidh made their first contribution in #246
- @Copilot made their first contribution in #248
Full Changelog: v2.3.7...v2.3.8
v2.3.7
What's Changed
- fix: Abnormal behavior of scrolling when zooming in #194 by @lng8212 in #203
- Delete redundant PdfSource by @robertlinsener in #208
- Fix: Add missing default implementation for
onPdfRenderStartin StatusCallBack by @mubashirpa in #204 - #205
- #206
- #207
- Zoom fix
New Contributors
- @lng8212 made their first contribution in #203
- @robertlinsener made their first contribution in #208
- @mubashirpa made their first contribution in #204
Full Changelog: v2.3.6...v2.3.7
v2.3.6
Revert breaking Zooming issue #194 (7178e1d)
Full Changelog: v2.3.5...v2.3.6
v2.3.5
Note:
Please use this: https://github.com/afreakyelf/Pdf-Viewer/releases/tag/v2.3.6
What's Changed
- Make cache identifier for local file more unique by @vitoksmile in #195
- Fixed Coroutines memory leak by @vitoksmile in #196
- Kotlin 2.1.20 & AGP 8.9.2 by @vitoksmile in #198
- Clear cache dir by @vitoksmile in #199
New Contributors
- @vitoksmile made their first contribution in #195
Full Changelog: v2.3.4...v2.3.5
v2.3.4
v2.3.3
What's Changed
- fix: ensure PdfRendererView always releases resources via onDetachedFromWindow by @Blejator90 in #188
- updated README.md by adding min/complie sdk versions description by @khyzhun in #185
New Contributors
- @Blejator90 made their first contribution in #188
- @khyzhun made their first contribution in #185
Full Changelog: v2.3.2...v2.3.3
v2.3.2
What's Changed
- Complete the fix for #180 issue by updating the checks for the Android version by @lcazalbasu in #183
- Fixed scroll bar jumping, Thanks @UltraDeep for pointing out the issue.
- Made some changes to zoomin/out recycler view, hopefully it works out well for everyone.
Thank you all!
New Contributors
- @lcazalbasu made their first contribution in #183
Full Changelog: v2.3.0...v2.3.2
v2.3.0
- https://github.com/afreakyelf/Pdf-Viewer/issues/180
- Improved Pdf renderer core
- Fixed theme issues
- Added UI tests
Full Changelog: v2.2.2...v2.3.0