Skip to content

Commit

Permalink
Prepare 2.8.1 release
Browse files Browse the repository at this point in the history
  • Loading branch information
pyricau committed Jan 6, 2022
1 parent 404be48 commit ddf08a9
Show file tree
Hide file tree
Showing 8 changed files with 36 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ fun interface [EventListener](index.md)
| Name |
|---|
| [BackgroundThreadHeapAnalyzer](../-background-thread-heap-analyzer/index.md) |
| [LazyForwardingEventListener](../-lazy-forwarding-event-listener/index.md) |
| [LogcatEventListener](../-logcat-event-listener/index.md) |
| [NotificationEventListener](../-notification-event-listener/index.md) |
| [RemoteWorkManagerHeapAnalyzer](../-remote-work-manager-heap-analyzer/index.md) |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@
fun [Config](-config.md)(dumpHeap: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = true, dumpHeapWhenDebugging: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = false, retainedVisibleThreshold: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) = 5, referenceMatchers: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<ReferenceMatcher> = AndroidReferenceMatchers.appDefaults, objectInspectors: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<ObjectInspector> = AndroidObjectInspectors.appDefaults, onHeapAnalyzedListener: OnHeapAnalyzedListener = DefaultOnHeapAnalyzedListener.create(), metadataExtractor: MetadataExtractor = AndroidMetadataExtractor, computeRetainedHeapSize: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = true, maxStoredHeapDumps: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) = 7, requestWriteExternalStoragePermission: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = false, leakingObjectFinder: LeakingObjectFinder = KeyedWeakReferenceFinder, heapDumper: [HeapDumper](../../-heap-dumper/index.md) = AndroidDebugHeapDumper, eventListeners: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)<[EventListener](../../-event-listener/index.md)> = listOf(
LogcatEventListener,
ToastEventListener,
if (InternalLeakCanary.formFactor == TV) TvEventListener else NotificationEventListener,
LazyForwardingEventListener {
if (InternalLeakCanary.formFactor == TV) TvEventListener else NotificationEventListener
},
when {
RemoteWorkManagerHeapAnalyzer.remoteLeakCanaryServiceInClasspath ->
RemoteWorkManagerHeapAnalyzer
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ androidJvm

| | |
|---|---|
| [Config](-config.md) | [androidJvm]<br>fun [Config](-config.md)(dumpHeap: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = true, dumpHeapWhenDebugging: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = false, retainedVisibleThreshold: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) = 5, referenceMatchers: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)&lt;ReferenceMatcher&gt; = AndroidReferenceMatchers.appDefaults, objectInspectors: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)&lt;ObjectInspector&gt; = AndroidObjectInspectors.appDefaults, onHeapAnalyzedListener: OnHeapAnalyzedListener = DefaultOnHeapAnalyzedListener.create(), metadataExtractor: MetadataExtractor = AndroidMetadataExtractor, computeRetainedHeapSize: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = true, maxStoredHeapDumps: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) = 7, requestWriteExternalStoragePermission: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = false, leakingObjectFinder: LeakingObjectFinder = KeyedWeakReferenceFinder, heapDumper: [HeapDumper](../../-heap-dumper/index.md) = AndroidDebugHeapDumper, eventListeners: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)&lt;[EventListener](../../-event-listener/index.md)&gt; = listOf( LogcatEventListener, ToastEventListener, if (InternalLeakCanary.formFactor == TV) TvEventListener else NotificationEventListener, when { RemoteWorkManagerHeapAnalyzer.remoteLeakCanaryServiceInClasspath -&gt; RemoteWorkManagerHeapAnalyzer WorkManagerHeapAnalyzer.workManagerInClasspath -&gt; WorkManagerHeapAnalyzer else -&gt; BackgroundThreadHeapAnalyzer } ), useExperimentalLeakFinders: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = false) |
| [Config](-config.md) | [androidJvm]<br>fun [Config](-config.md)(dumpHeap: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = true, dumpHeapWhenDebugging: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = false, retainedVisibleThreshold: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) = 5, referenceMatchers: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)&lt;ReferenceMatcher&gt; = AndroidReferenceMatchers.appDefaults, objectInspectors: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)&lt;ObjectInspector&gt; = AndroidObjectInspectors.appDefaults, onHeapAnalyzedListener: OnHeapAnalyzedListener = DefaultOnHeapAnalyzedListener.create(), metadataExtractor: MetadataExtractor = AndroidMetadataExtractor, computeRetainedHeapSize: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = true, maxStoredHeapDumps: [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) = 7, requestWriteExternalStoragePermission: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = false, leakingObjectFinder: LeakingObjectFinder = KeyedWeakReferenceFinder, heapDumper: [HeapDumper](../../-heap-dumper/index.md) = AndroidDebugHeapDumper, eventListeners: [List](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)&lt;[EventListener](../../-event-listener/index.md)&gt; = listOf( LogcatEventListener, ToastEventListener, LazyForwardingEventListener { if (InternalLeakCanary.formFactor == TV) TvEventListener else NotificationEventListener }, when { RemoteWorkManagerHeapAnalyzer.remoteLeakCanaryServiceInClasspath -&gt; RemoteWorkManagerHeapAnalyzer WorkManagerHeapAnalyzer.workManagerInClasspath -&gt; WorkManagerHeapAnalyzer else -&gt; BackgroundThreadHeapAnalyzer } ), useExperimentalLeakFinders: [Boolean](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html) = false) |

## Types

Expand Down
1 change: 1 addition & 0 deletions docs/api/leakcanary-android-core/leakcanary/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
| [BackgroundThreadHeapAnalyzer](-background-thread-heap-analyzer/index.md) | [androidJvm]<br>object [BackgroundThreadHeapAnalyzer](-background-thread-heap-analyzer/index.md) : [EventListener](-event-listener/index.md)<br>Starts heap analysis on a background [HandlerThread](https://developer.android.com/reference/kotlin/android/os/HandlerThread.html) when receiving a [HeapDump](-event-listener/-event/-heap-dump/index.md) event. |
| [EventListener](-event-listener/index.md) | [androidJvm]<br>fun interface [EventListener](-event-listener/index.md) |
| [HeapDumper](-heap-dumper/index.md) | [androidJvm]<br>fun interface [HeapDumper](-heap-dumper/index.md) |
| [LazyForwardingEventListener](-lazy-forwarding-event-listener/index.md) | [androidJvm]<br>class [LazyForwardingEventListener](-lazy-forwarding-event-listener/index.md)(lazyEventListener: () -&gt; [EventListener](-event-listener/index.md)) : [EventListener](-event-listener/index.md)<br>Forwards events to the [EventListener](-event-listener/index.md) provided by lazyEventListener which is evaluated lazily, when the first comes in. |
| [LeakCanary](-leak-canary/index.md) | [androidJvm]<br>object [LeakCanary](-leak-canary/index.md)<br>The entry point API for LeakCanary. LeakCanary builds on top of AppWatcher. AppWatcher notifies LeakCanary of retained instances, which in turns dumps the heap, analyses it and publishes the results. |
| [LogcatEventListener](-logcat-event-listener/index.md) | [androidJvm]<br>object [LogcatEventListener](-logcat-event-listener/index.md) : [EventListener](-event-listener/index.md) |
| [NotificationEventListener](-notification-event-listener/index.md) | [androidJvm]<br>object [NotificationEventListener](-notification-event-listener/index.md) : [EventListener](-event-listener/index.md) |
Expand Down
3 changes: 3 additions & 0 deletions docs/api/leakcanary-android-core/package-list
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ $dokka.location:leakcanary/EventListener///PointingToDeclaration/leakcanary-and
$dokka.location:leakcanary/EventListener/onEvent/#leakcanary.EventListener.Event/PointingToDeclaration/leakcanary-android-core/leakcanary/-event-listener/on-event.md
$dokka.location:leakcanary/HeapDumper///PointingToDeclaration/leakcanary-android-core/leakcanary/-heap-dumper/index.md
$dokka.location:leakcanary/HeapDumper/dumpHeap/#java.io.File/PointingToDeclaration/leakcanary-android-core/leakcanary/-heap-dumper/dump-heap.md
$dokka.location:leakcanary/LazyForwardingEventListener///PointingToDeclaration/leakcanary-android-core/leakcanary/-lazy-forwarding-event-listener/index.md
$dokka.location:leakcanary/LazyForwardingEventListener/LazyForwardingEventListener/#kotlin.Function0[leakcanary.EventListener]/PointingToDeclaration/leakcanary-android-core/leakcanary/-lazy-forwarding-event-listener/-lazy-forwarding-event-listener.md
$dokka.location:leakcanary/LazyForwardingEventListener/onEvent/#leakcanary.EventListener.Event/PointingToDeclaration/leakcanary-android-core/leakcanary/-lazy-forwarding-event-listener/on-event.md
$dokka.location:leakcanary/LeakCanary.Config.Builder///PointingToDeclaration/leakcanary-android-core/leakcanary/-leak-canary/-config/-builder/index.md
$dokka.location:leakcanary/LeakCanary.Config.Builder/build/#/PointingToDeclaration/leakcanary-android-core/leakcanary/-leak-canary/-config/-builder/build.md
$dokka.location:leakcanary/LeakCanary.Config.Builder/computeRetainedHeapSize/#kotlin.Boolean/PointingToDeclaration/leakcanary-android-core/leakcanary/-leak-canary/-config/-builder/compute-retained-heap-size.md
Expand Down
25 changes: 25 additions & 0 deletions docs/changelog.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,33 @@

# Change Log

## Version 2.8.1 (2022-01-06)

This is a bugfix release, a quick follow up to `2.8` which had a few major issues 😅. If you haven't yet, you should definitely read the `2.8` changelog.

### Thanks

Please thank
[@dicosta](https://github.com/dicosta),
[@Goooler](https://github.com/Goooler),
[@plnice](https://github.com/plnice),
[@preetha1326](https://github.com/preetha1326)
for their contributions, bug reports and feature requests 🙏 🙏 🙏.

### Crash fixes 💥💥💥

This patch release fixes not 1, not 2, but 3 crashes!

* 💥 [#2268](https://github.com/square/leakcanary/pull/2268) WorkManager expedited request crashes before API 31.
* 💥 [#2270](https://github.com/square/leakcanary/issues/2270) Updating `LeakCanary.config` crashes when `AppWatcher` is not installed.
* 💥 [#2271](https://github.com/square/leakcanary/issues/2271) Analysis failure on API 25 because `HashMap$Entry` became `HashMap$HashMapEntry` (on API 25) before it finally changed to `HashMap$Node`.

For more details, see the [2.8.1 Milestone](https://github.com/square/leakcanary/milestone/24) and the [full diff](https://github.com/square/leakcanary/compare/v2.8...v2.8.1).

## Version 2.8 (2022-01-04)

Note: please update to `2.8.1` instead.

### Preface

The last release was 9 months ago. What happened?! Well, soon after releasing LeakCanary 2.7, I had my 2nd baby, a wonderful daughter 😍. Having 2 young kids leaves a lot less time available for Open Source work... but it's worth it!
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
GROUP=com.squareup.leakcanary
VERSION_NAME=2.9-SNAPSHOT
VERSION_NAME=2.8.1

POM_DESCRIPTION=LeakCanary
POM_INCEPTION_YEAR=2015
Expand Down
2 changes: 1 addition & 1 deletion mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

extra:
leak_canary:
release: '2.8'
release: '2.8.1'
next_release: '2.9'
social:
- icon: fontawesome/brands/github-alt
Expand Down

0 comments on commit ddf08a9

Please sign in to comment.