- Allow DexGuard version to be specified manually (as
bugsnag.dexguardMajorVersion
) for DexGuard < 9 #531
- Determine the NDK version being used based on the
package.xml
files within the NDK directories, with a fallback to the directory-name. #514
- Fix task ordering when using DexGuard and a
bundle***
task #496 - Improve support for Gradle Configuration Caching #491 #499
- Support using objcopy instead of objdump to extract native symbols (when supported by the current NDK). #484
- Fix FileAlreadyExistsException errors when building ReactNative projects with Hermes #482
- Fixed a bug where using ndkBuild generated empty some mapping files which could not be uploaded #478
- Support ReactNative projects using Hermes #477
- Emit an error if the ReactNative bundle task cannot be found instead of silently failing #470
- Do not fail builds for Expo apps, which do not depend on
@bugsnag/react-native
#471 - Basic support for Gradle Config Caching by collecting VariantOutput info earlier in the configuration #469
- Support for AGP 7.2 #464
-
Prevent exception when old Moshi version on buildScript classpath #439
-
Address task dependency warning when using APK splits #412
-
Fix "Task with name *** not found" errors when using custom build variants and DexGuard #452
-
Custom Dexguard paths are resolved correctly (relative to the project) #421
-
Support extracting SO files from bugsnag AARs for library modules #423
-
Support DexGuard with AGP 7 #426
-
Address task dependency warning when using APK splits #407
-
Added clear error messages when node_modules cannot be located in ReactNative projects #410
-
Upgrade AGP dependency to 7.0.0 #415
Support for Android Gradle Plugin 7.0.0-beta04 added. This version introduces no new features and should only be used along-side Android Gradle Plugin 7.0.0-beta04 and higher. For more information see the upgrading guide.
- Replace Groovy XML library used for parsing AndroidManifest.xml #379
- Fix
nodeModulesDir
option not being applied #366
- Support uploading JS sourcemaps generated with Hermes #362
- Add support for DexGuard 9 #359
- Add warning in BAGP for React Native when running via react-native CLI #357
-
Support AGP 4.2 #350
-
Prevent Windows crash when generating Unity mapping files #344
-
Support uploading JS sourcemaps for React Native projects #346
Bump version to prevent v5.5.0-alpha01 being picked up by users with wildcard dependency versions.
This release improves performance by always compressing ProGuard/R8 mapping files before attempting upload. Depending on the contents of the mapping file, this can reduce the upload size by ~80%.
-
Create separate task for generating JVM mapping file #335
-
Compress JVM mapping files using gzip #336
-
Ensure libil2cpp has correct file extension #320
-
Remove previous files from intermediate build directory #318
-
Automatically search for NDK shared object files in unity projects #316
-
Create additional E2E scenarios for Unity SO file upload #314
-
Generate shared object mapping files for libunity and libil2cpp #312 #315
-
Register unity shared object generation and upload tasks #311
-
Support Unity shared object files in upload task #307
-
Generate shared object mapping files in separate class #304
-
Separate generation/upload of shared objects into two tasks #303
-
Add uploadNdkUnityLibraryMappings flag to bugsnag extension #306
-
JNI install task should always takes place if NDK build enabled #323
- Support mapping upload from Android Gradle Plugin through a proxy #298
-
Remove uploadDebugBuildMappings flag in favour of variantFilter #301
-
Fix task ordering for upload task on AGP 3.5 #300
-
Fix bugsnag.sharedObjectPaths not uploading SO files #295
-
Reword log messages that implied duplicate uploads #296
-
Only set mappingFilesProvider on release task if obfuscation enabled #292
-
Fix task dependencies and order for BugsnagManifestUuidTask in AGP <4.1.0 #294
-
Retry request by constructing new OkHttp request #278
-
Apply
requestTimeoutMs
as an idle timeout #282 -
Fix Bintray/jcenter publishing #283
This release contains breaking changes. It contains numerous performance improvements compared to previous versions of the plugin, such as:
- Supporting up-to-date checks
- Supporting task configuration avoidance
- Supporting the configuration cache
- Avoidance of unnecessary work
See the Upgrade Guide for migration instructions.
Support configuration caching #257
Change how bugsnag plugin is disabled for build variants #255
Convert plugin extension to use property syntax #251
Deduplicate unnecessary upload requests for APK splits #248
Switch to OkHttp for networking #247 #268 #269
Specify shared object files as input for ndk task #243
Make upload tasks support up-to-date checks #239
Avoid unnecessary SO mapping file uploads for ABI splits #238
Alter bugsnag extension to allow multiple shared object paths #237
Support for manifest processing in AGP 4.1.0-alpha04 and above #234 #236 #240
Alter bugsnag tasks to support the Incremental Build API #230
Rename properties on bugsnag extension that control request autoUpload #231
Bump supported JDK version to 8 #224
Use register() rather than create() for adding tasks #221 #227
Avoid eager task initialization #261
Remove unused BugsnagProguardConfigTask #209
Make AGP dependency compile only #211
Remove apiKey property from bugsnag plugin extension #210
Add compatibility with AGP 4.0 by using the mappingFileProvider
API when possible
#202
Prevent existing buildUuid being overridden by gradle plugin #192
Use getOrNull() rather than Provider#get() #188
Allow overriding the 'appVersion' field from the AndroidManifest #181
Fix AGP 3.6.0 breaking project builds due to changed return type of getBundleManifestOutputDirectory()
#179
Avoid uploading zero-length proguard mapping files #180
Add ability to override reported value for versionCode #175
Add configurable timeout for all http requests #173
Update plugin to extract SO files from transitive dependencies #171
Lookup shared object files correctly in new artefact IDs #170
Search for shared object files in the new artefact locations introduced by modularisation of bugsnag-android
. This affects versions v4.17.0 and above of bugsnag-android
and bugsnag-android-ndk
.
#168
Skip uploading mapping files for shared objects which have no debug info #166
This release is companion update for bugsnag-android v4.15.0, which supports detecting and reporting C/C++ crashes without a separate library.
Since bugsnag-android
now contains native code, update shared object extraction to include libraries from there as well as bugsnag-android-ndk
#164
- Calculate correct location for objdump on windows, fixing NDK symbol upload #163
- Resolve pre-existing CodeNarc style violations #160
-
Alter NDK project detection to check for the cmake/ndkbuild path #156
-
Disable proguard mapping task setup when variant does not obfuscate #157
- Fix task ordering of build UUID generation when shrinkResources enabled #155
- Add BUILD_UUID to app bundle manifests #153
Note: this version of the plugin will fail the build if a mapping file is not uploaded successfully. Previously if this occurred the failure would have been logged as an error and the build would have continued.
This behaviour can be disabled by setting failOnUploadError
to false
.
- Fail on upload error #151
-
Support automatic upload when building App Bundles #137
-
Manually calculate location of objdump in gradle plugin #136
- Create tasks for debug variant which are not run by default #139
- Add option for setting projectRoot on bugsnag plugin extension #133
- Fix native artifact resolution for NDK projects manually installing bugsnag-android-ndk #130
-
Reduce processing requirements to improve upload speed for NDK mapping files Dave Perryman #129
-
Close IO streams after the plugin has finished reading and writing Jamie Lynch #126
- Compress Android NDK mapping files to decrease upload times Dave Perryman #127
- Support Provider API introduced in gradle 4.7, which the manifestOutputDirectory in AGP 3.3.0-alpha04 now uses Jamie Lynch #122
- Improve support for Dexguard APK splits by manually calculating location of mapping file Jamie Lynch #117
- Add a version check for bugsnag-android dependency, disabling redundant ProGuard config if >= v4.6.0 Jamie Lynch #116
- Update ProGuard keep rules for Breadcrumb class, fixing NDK compatibility Jamie Lynch #114
- Add compatibility with Gradle 4.8 - use def rather than TreeSet when finding the buildType Jamie Lynch #110
- Update Android Plugin for Gradle version to 3.1.0
-
Fix possible failed NDK symbol map uploads which could occur if the mapping file was still being written when the process status was checked Jamie Lynch #104
-
Fix malformed metadata uploaded by release task Jamie Lynch #91
-
Reduce log level of failed shell commands in the release task. Shell commands are used to automatically detect source control information and are not a critical error if one fails to run. Jamie Lynch #88
- Support applying the gradle plugin to a module separate from the base application by changing the task execution order when generating and attaching build UUIDs Jamie Lynch #87
- Remove reference to unused task resulting in build failure
- Add example projects with gradle plugin
- Fix manifest lookup in project with only APK splits enabled
- Fixes versionCode cast exception in upload task
- Automatically add copy task for shared object files to NDK projects
- Automatically record release/build information to Bugsnag Build API
- NDK projects are now automatically detected
- Fix location of shared object files for NDK
- Finalise upload task on assemble rather than build
- Support Library variant upload
- Support Android Studio 3 stable release
- Add separate task for holding Splits Info
- Fix upload of files for ARM ABI splits
- Support upload of APK splits
If you run the upload task manually, the task name has now changed to use the VariantOutput name, rather than the Variant name.
./gradlew clean build uploadBugsnag${variantOutputName}Mapping
For example, the following would upload the release mapping file for the x86
split of the javaExample
productFlavor in the example
module:
./gradlew clean build :example:uploadBugsnagJavaExample-x86-releaseMapping
- Expose manual upload gradle task
- Support Android Plugin for Gradle 3.0.0
- Improve performance of NDK object file generation
- Support NDK symbols in versioned dependent libraries
- Fix typo in internal Proguard configuration
Add support for uploading NDK symbols
- Reduce dependent version of HttpClient to 4.2.1
- Fix error log on upload failures unrelated to server/network outage
- Support retrying the mapping file upload via
retryCount
config property Felipe Duarte #27
- Fix build failure if the Bugsnag server could not be reached
- Restore support for running alongside older versions of HttpClient
- Add option to overwrite a mapping during upload Felipe Duarte #25
- Fix build error during task execution
- Avoid creating new build UUID for Instant Run builds
- Update
enableBugsnag
feature to be configurable on a per-variant basis | Tim Mellor | #22
- Add configuration option
enableBugsnag
allowing you to completely disable Bugsnag in certain situations | Tim Mellor | #21 - Plugin id changed to
com.bugsnag.android.gradle
frombugsnag
- Now published on https://plugins.gradle.org
- Depend on Android Gradle plugin 1.5 to avoid lint warnings
- Target Java 6 when building, instead of Java 8
This update added a few enhancements making usage easier and more customizable. There are more details in the README about the improvements to configuration. While gradle compatibility is preserved, this is a breaking change for users of previous versions of the plugin.
- Fix support for Android plugin 1.5+ James Smith #10
- Fix bug causing obfuscated variants to not be detected with newer Android toolchains
- Configure Bugsnag plugin after
project
has been evaluated
- Add build UUID support
- Fix bug when multiple variants have proguard configured
- Configure proguard correctly automatically
- Send versionCode & applicationId
- Fix when -dontobfuscate is configured in proguard
- Fix when multiple variants have proguard enabled
- Initial release