Skip to content

Latest commit

 

History

History
96 lines (75 loc) · 6.17 KB

CHANGELOG.md

File metadata and controls

96 lines (75 loc) · 6.17 KB

Change Log

Version 1.4-SNAPSHOT

  • Switched to HAHA 2.0.2 with uses Perflib instead of MAT under the hood #219. This should fix most crashes and improve speed a lot. We can now parse Android M heap dumps, although there are still memory issues (see #223).
  • A status bar notification is displayed when the trace analysis results in an excluded ref leak #216.
  • Added ProGuard configuration for debug library #132.
  • 2 new ignored Android SDK leaks: #26 #62. 1 Android SDK leak updated: #133.
  • Added excluded leaks to text report #119.
  • Added LeakCanary SHA to text report #120.
  • Renamed all resources to begin with leak_canary_ instead of __leak_canary#161
  • No crash when heap dump fails #226.

Public API changes

  • AnalysisResult.failure is now a Throwable instead of an Exception. Main goal is to catch and correctly report OOMs while parsing.
  • Added ARRAY_ENTRY to LeakTraceElement.Type for references through array entries.
  • Renamed ExcludedRefs fields.
  • Each ExcludedRef entry can now be ignored entirely or "kept only if no other path".
  • Added support for ignoring all fields (static and non static) for a given class.

Dependencies

 dependencies {
   debugCompile 'com.squareup.leakcanary:leakcanary-android:1.4-SNAPSHOT'
   releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-SNAPSHOT'
 }

Snapshots are available in Sonatype's snapshots repository:

  repositories {
    mavenCentral()
    maven {
      url 'https://oss.sonatype.org/content/repositories/snapshots/'
    }
  }

Build Status

Version 1.3.1 (2015-05-16)

  • Heap dumps and analysis results are now saved on the sd card: #21.
  • ExcludedRef and AndroidExcludedRefs are customizable: #12 #73.
  • 7 new ignored Android SDK leaks: #1 #4 #32 #89 #82 #97.
  • Fixed 3 crashes in LeakCanary: #37 #46 #66.
  • Fixed StrictMode thread policy violations: #15.
  • Updated minSdkVersion from 9 to 8: #57.
  • Added LeakCanary version name to LeakCanary.leakInfo(): #49.
  • leakcanary-android-no-op is lighter, it does not depend on leakcanary-watcher anymore, only 2 classes now: #74.
  • Adding field state details to the text leak trace.
  • A Toast is displayed while the heap dump is in progress to warn that the UI will freeze: #20. You can customize the toast by providing your own layout named __leak_canary_heap_dump_toast.xml (e.g. you could make it an empty layout).
  • If the analysis fails, the result and heap dump are kept so that it can be reported to LeakCanary: #102.
  • Update to HAHA 1.3 to fix a 2 crashes #3 46

Public API changes

  • When upgrading from 1.3 to 1.3.1, previously saved heap dumps will not be readable any more, but they won't be removed from the app directory. You should probably uninstall your app.
  • Added android.permission.WRITE_EXTERNAL_STORAGE to leakcanary-android artifact.
  • LeakCanary.androidWatcher() parameter types have changed (+ExcludedRefs).
  • LeakCanary.leakInfo() parameter types have changed (+boolean)
  • ExcludedRef is now serializable and immutable, instances can be created using ExcludedRef.Builder.
  • ExcludedRef is available in HeapDump
  • AndroidExcludedRefs is an enum, you can now pick the leaks you want to ignore in AndroidExcludedRefs by creating an EnumSet and calling AndroidExcludedRefs.createBuilder().
  • AndroidExcludedRefs.createAppDefaults() & AndroidExcludedRefs.createAndroidDefaults() return a ExcludedRef.Builder.
  • ExcludedRef moved from leakcanary-analyzer to leakcanary-watcher

Dependencies

 dependencies {
   debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3.1'
   releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3.1'
 }

Statistics

Version 1.3 (2015-05-08)

Initial release.

Dependencies

 dependencies {
   debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3'
   releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3'
 }