|
| 1 | +# Firebase Performance Monitoring SDK (aka `firebase-perf` and `firebase-perf-ktx`) |
| 2 | + |
| 3 | +Refer [GMaven](https://maven.google.com/web/index.html?q=firebase-perf#com.google.firebase:firebase-perf) for the release artifacts and [Firebase Android Release Notes](https://firebase.google.com/support/release-notes/android) for the release info. |
| 4 | + |
| 5 | +## Example Changelog |
| 6 | + |
| 7 | +``` |
| 8 | +## vX.Y.Z (MXX) |
| 9 | +
|
| 10 | +#### Android library / Kotlin extensions |
| 11 | +
|
| 12 | +* {{feature}} You can now do this cool new thing. For more details, refer to the [documentation](docs/path). |
| 13 | +
|
| 14 | +* {{fixed}} Fixed the `methodFoo` warning. |
| 15 | +
|
| 16 | +* {{changed}} You need to do _this_ instead of _that_. |
| 17 | +
|
| 18 | +``` |
| 19 | + |
| 20 | +> **Note:** Refer go/firebase-android-release for `MXX` info. |
| 21 | +
|
| 22 | +## Unreleased |
| 23 | + |
| 24 | +## Released |
| 25 | + |
| 26 | +## v19.1.0 (M87) |
| 27 | + |
| 28 | +#### Android library |
| 29 | + |
| 30 | +* {{changed}} Removed GMS dependency from {{perfmon}}. Google Play services |
| 31 | + installation is no longer required to use firebase performance. |
| 32 | + |
| 33 | +* {{changed}} Improved performance event dispatch wait time from 2 hours to |
| 34 | + 30 seconds. |
| 35 | + |
| 36 | +#### Kotlin extensions |
| 37 | + |
| 38 | +The Kotlin extensions library transitively includes the updated |
| 39 | +`firebase-performance` library. The Kotlin extensions library has no additional |
| 40 | +updates. |
| 41 | + |
| 42 | +## v19.0.11 (M85) |
| 43 | + |
| 44 | +#### Android library |
| 45 | + |
| 46 | +* {{fixed}} Upgraded protobuf dependency to the latest released version |
| 47 | + ([GitHub Issue #2158](//github.com/firebase/firebase-android-sdk/issues/2158)) |
| 48 | + |
| 49 | +#### Kotlin extensions |
| 50 | + |
| 51 | +The Kotlin extensions library transitively includes the updated |
| 52 | +`firebase-performance` library. The Kotlin extensions library has no additional |
| 53 | +updates. |
| 54 | + |
| 55 | +## v19.0.10 (M83) |
| 56 | + |
| 57 | +#### Android library |
| 58 | +Note: We recommend using {{perfmon}} Gradle plugin version v1.3.4 or above with |
| 59 | +this version of SDK. |
| 60 | + |
| 61 | +* {{changed}} Integrated with the `firebase-datatransport` library for |
| 62 | + performance log dispatch mechanism. |
| 63 | + |
| 64 | +* {{fixed}} Synchronized the access to fix a race condition that was causing a |
| 65 | + `NullPointerException` when making network requests. |
| 66 | + ([GitHub Issue #2096](//github.com/firebase/firebase-android-sdk/issues/2096)) |
| 67 | + |
| 68 | +#### Kotlin extensions |
| 69 | + |
| 70 | +The Kotlin extensions library transitively includes the updated |
| 71 | +`firebase-performance` library. The Kotlin extensions library has no additional |
| 72 | +updates. |
| 73 | + |
| 74 | +## v19.0.9 (M80) |
| 75 | + |
| 76 | +#### Android library |
| 77 | + |
| 78 | +* {{fixed}} Created lazy dependency on {{firebase_remote_config}} to avoid |
| 79 | + main thread contention issue. ([GitHub Issue #1810](//github.com/firebase/firebase-android-sdk/issues/1810)) |
| 80 | + |
| 81 | +* {{changed}} Updated the protocol buffer dependency to the |
| 82 | + `protobuf-javalite` artifact to allow for backward compatibility. |
| 83 | + |
| 84 | +* {{changed}} Removed Guava dependency from the SDK to avoid symbol collision with any other SDKs. |
| 85 | + |
| 86 | +* {{changed}} Removed proguarding for SDK; logcat messages will show original class paths for debugging. |
| 87 | + |
| 88 | +* {{changed}} Improved build configurations and dependencies to reduce SDK size. |
| 89 | + |
| 90 | +#### Kotlin extensions |
| 91 | + |
| 92 | +* {{feature}} The {{firebase_perfmon}} Android library with Kotlin |
| 93 | + extensions is now available. The Kotlin extensions library transitively |
| 94 | + includes the base `firebase-performance` library. To learn more, visit the |
| 95 | + [{{perfmon}} KTX documentation](/docs/reference/kotlin/com/google/firebase/perf/ktx/package-summary). |
| 96 | + |
| 97 | +## v19.0.8 (M75) |
| 98 | + |
| 99 | +#### Android library |
| 100 | + |
| 101 | +* {{changed}} Updated the |
| 102 | + [logging message](/docs/perf-mon/get-started-android#view-log-messages) |
| 103 | + for performance events. |
| 104 | + |
| 105 | +* {{fixed}} Silenced {{firebase_remote_config}} logging triggered by |
| 106 | + {{firebase_perfmon}}. |
| 107 | + ([GitHub Issue #403](//github.com/firebase/firebase-android-sdk/issues/403)) |
| 108 | + |
| 109 | +* {{fixed}} Removed unnecessary logging. {{perfmon}} now only logs debug |
| 110 | + information if the `firebase_performance_logcat_enabled` setting is `true` in |
| 111 | + `AndroidManifest.xml`. Visit the documentation for details about |
| 112 | + explicitly [enabling debug logging](/docs/perf-mon/get-started-android#view-log-messages). |
| 113 | + |
| 114 | +* {{changed}} Migrated to use the {{firebase_installations}} service _directly_ |
| 115 | + instead of using an indirect dependency via the Firebase Instance ID SDK. |
| 116 | + |
| 117 | +## v19.0.7 (M69) |
| 118 | + |
| 119 | +#### Android library |
| 120 | + |
| 121 | +* {{changed}} Updated dependency on the Firebase Instance ID library to v20.1.5, |
| 122 | + which is a step towards a direct dependency on the {{firebase_installations}} |
| 123 | + service in a future release. |
| 124 | + |
| 125 | + This update to `firebase-iid` v20.1.5 fixed the following GitHub issues: |
| 126 | + [#1454](//github.com/firebase/firebase-android-sdk/issues/1454), |
| 127 | + [#1397](//github.com/firebase/firebase-android-sdk/issues/1397), and |
| 128 | + [#1339](//github.com/firebase/firebase-android-sdk/issues/1339). |
| 129 | + |
| 130 | +## v19.0.6 (M68) |
| 131 | + |
| 132 | +#### Android library |
| 133 | + |
| 134 | +* {{fixed}} Fixed an NPE crash when calling `trace.stop()`. |
| 135 | + ([GitHub Issue #1383](//github.com/firebase/firebase-android-sdk/issues/1383)) |
| 136 | + |
| 137 | +## v19.0.5 (M62) |
| 138 | + |
| 139 | +#### Android library |
| 140 | + |
| 141 | +* {{fixed}} Muted logcat logging for {{firebase_perfmon}} when |
| 142 | +`firebase_performance_logcat_enabled` is not set or set to false. |
| 143 | +([#403](//github.com/firebase/firebase-android-sdk/issues/403)) |
| 144 | +* {{fixed}} Skipped automatic performance event creation when |
| 145 | +`firebase_performance_collection_enabled` is set to false. |
| 146 | +* {{changed}} Internal infrastructure improvements. |
| 147 | + |
| 148 | +## v19.0.4 (M61) |
| 149 | + |
| 150 | +#### Android library |
| 151 | + |
| 152 | +* {{changed}} Improved internal infrastructure to work better with |
| 153 | + {{firebase_remote_config}}. |
| 154 | + |
| 155 | +---- |
| 156 | + |
| 157 | +**NOTE:** For some historical reasons below internal versions may or may not correlate to an externally released version. However, this document keeps track of what internal version was released as an external version so that its easier to figure out what version of the SDK we were dealing with (and whether it was publicly released). Unfortunately, we did not keep records of what internal version correlated to an external version until `v16.2.0`, and so the values before that were procured as a result of manually going through history and correlating release dates. |
| 158 | + |
| 159 | +## 19.0.3 (M60.1): 1.0.0.282466371 |
| 160 | + |
| 161 | +#### Android library |
| 162 | + |
| 163 | +* {{changed}} Internal infrastructure improvements. |
| 164 | + |
| 165 | +## 19.0.2 (M59): 1.0.0.277188197 |
| 166 | + |
| 167 | +#### Android library |
| 168 | + |
| 169 | +* {{changed}} Internal infrastructure improvements. |
| 170 | + |
| 171 | +## 19.0.1 (M57): 1.0.0.272275548 |
| 172 | + |
| 173 | +#### Android library |
| 174 | + |
| 175 | +* {{changed}} Internal infrastructure improvements. |
| 176 | + |
| 177 | +## 19.0.0 (M53): |
| 178 | + |
| 179 | +#### Android library |
| 180 | + |
| 181 | +* {{changed}} Versioned to add nullability annotations to improve the Kotlin |
| 182 | + developer experience. No other changes. |
| 183 | + |
| 184 | +## 18.0.1 (M50): 1.0.0.252929170 |
| 185 | + |
| 186 | +#### Android library |
| 187 | + |
| 188 | +* {{fixed}} Fixed an `IllegalStateException` that was thrown when an activity |
| 189 | + with hardware acceleration disabled was stopped. |
| 190 | + |
| 191 | +## 18.0.0 (Android X - Clone of 17.0.2): 1.0.0.249530108 |
| 192 | + |
| 193 | +## 17.0.2 (M48): 1.0.0.249530108 |
| 194 | + |
| 195 | +#### Android library |
| 196 | + |
| 197 | +* {{fixed}} Fixed a `Null Pointer Exception` that was being observed on certain Android 7.0 devices. |
| 198 | + |
| 199 | +* {{fixed}} Updates to make {{perfmon}} work better with the latest version of |
| 200 | + {{firebase_remote_config}}. |
| 201 | + |
| 202 | +## 17.0.1 (Unreleased): 1.0.0.242580265 |
| 203 | + |
| 204 | +## 17.0.0 (M47): 1.0.0.242580265 |
| 205 | + |
| 206 | +#### Android library |
| 207 | + |
| 208 | +* {{removed}} Removed the deprecated counter API. Use metrics API going forward. |
| 209 | + |
| 210 | +## 16.2.5 (M46): 1.0.0.240228580 |
| 211 | + |
| 212 | +#### Android library |
| 213 | + |
| 214 | +* {{fixed}} Fixed a bug that was causing apps using multiple processses to |
| 215 | + throw an `IllegalStateException` in the non-main processes. |
| 216 | + |
| 217 | +## 16.2.4 (M44): 1.0.0.233854359 |
| 218 | + |
| 219 | +#### Android library |
| 220 | + |
| 221 | +* {{fixed}} Fixed a bug that was causing a `NoClassDefFoundError` to be thrown |
| 222 | + which resulted in intermittent app crashes. |
| 223 | + |
| 224 | +* {{fixed}} Updates to make {{perfmon}} work better with the latest version of |
| 225 | + {{firebase_remote_config}}. |
| 226 | + |
| 227 | +* {{changed}} {{firebase_perfmon}} no longer depends on {{firebase_analytics}}. |
| 228 | + |
| 229 | +## 16.2.3 (M40): 1.0.0.225053256 |
| 230 | + |
| 231 | +#### Android library |
| 232 | + |
| 233 | +* {{fixed}} Bug fixes. |
| 234 | + |
| 235 | +## 16.2.2 (M38.1): 1.0.0.221486272 |
| 236 | + |
| 237 | +## 16.2.1 (M38): 1.0.0.221486272 |
| 238 | + |
| 239 | +#### Android library |
| 240 | + |
| 241 | +* {{fixed}} SDK size is now smaller. |
| 242 | + |
| 243 | +## 16.2.0 (M36): 1.0.0.217212991 |
| 244 | + |
| 245 | +#### Android library |
| 246 | + |
| 247 | +* {{feature}} Introduces the Sessions feature, which gives developers access to actionable insights about data captured using {{perfmon}}. |
| 248 | + |
| 249 | +* {{fixed}} Minor bug fixes and improvements. |
| 250 | + |
| 251 | +## 16.1.1 (EAP): 1.0.0.212694509 |
| 252 | + |
| 253 | +## 16.1.0 (M30): 1.0.0.206222422 |
| 254 | + |
| 255 | +#### Android library |
| 256 | + |
| 257 | +* {{fixed}} Fixed a `SecurityException` crash on certain devices that do not have Google Play Services on them. |
| 258 | + |
| 259 | +## 16.0.0: 1.0.0.196558987 |
| 260 | + |
| 261 | +## 15.2.0: 1.0.0.194951622 |
| 262 | + |
| 263 | +## 15.1.0: 1.0.0.194607773 |
| 264 | + |
| 265 | +## 15.0.0: 1.0.0.184862077 |
0 commit comments