Skip to content

Releases: ChuckerTeam/chucker

Chucker v4.1.0

08 Dec 13:59
59f7785
Compare
Choose a tag to compare

This a new minor release of Chucker. It contains several bugfixes, as well as aligning with Kotlin 2.0.x, Android API level 35 and much more!

Added

  • Added copy icon to copy the request/response body on clipboard [#1300]
  • Added save as text and save as .har file options to save all transactions [#1214]
  • Added skipPaths(paths Regex), skipDomains(domains Regex) and skipDomains(domains... String) to skip paths/domains from chucker [#1242]
  • Added spanish translations [#1281]

Fixed

  • Fix Toolbar is not accessible on API level 35 [#1280]
  • Fix edge-to-edge layout on API level 35 [#1282]
  • Fixed activity still asking for notification permission when notifications are disabled [#1165]
  • Fixed Gson issue, when using Chucker with ProGuard [#1183]
  • Fixed share of curl when header values contain quotes [#1211]
  • Fix Toolbar subtitle getting truncated on some devices [#1218]
  • Fixed the skipPaths method unexpectedly modified the passed arguments [#1237]
  • Change GSON TypeToken creation to allow using Chucker in builds optimized by R8 [#1166]
  • Fixed bug with scroll to search and navigation bar visibility Fix [#1076]

Depedency Updates

  • Kotlin to 2.0.21
  • AGP to 8.7.2
  • ConstraintLayout to 2.2.0
  • Compile SDK to 35

Chucker v4.0.0

01 Jul 17:39
bc18943
Compare
Choose a tag to compare

We're excited to share a new major release of Chucker: v4.0.0 🎉

This version comes with a lot of new features, and is a major release as we removed the Throwable feature and updated the ChuckerInterceptor constructor (see the Removed section below).

Added

  • Add skipPaths to selectively skip requests from Chucker [#970]
  • Add syntax highlighting to the request/response body when is JSON [#930]
  • Decoding of request and response bodies can now be customized. In order to do this a BodyDecoder interface needs to be implemented and installed in the ChuckerInterceptor via ChuckerInterceptor.addBinaryDecoder(decoder) method. Decoded bodies are then displayed in the Chucker UI. [#555]
  • Create dynamic shortcut when ChuckerInterceptor added. Users can opt out of this feature using createShortcut(false) in ChuckerInterceptor.Builder [#588]
  • Brotli compression support [#563]
  • Added writeTransactions method to ChuckerCollector to export transactions to a file programmatically [#784]
  • Added ability to save single transaction as .har file. [#696]
  • Added ability to export list of transactions as .har file. [#880]
  • Added support for Android 13 and notifications permission handling [#887]
  • GraphQL
    • Add support for GraphQL [#805] [#884]
    • Show GraphQL OperationName header to transaction title [#69], [#116]
    • Allows to filter transactions based on graphqlOperationName [#920]
  • Added scroll to highlighted text search in response screen [#988]

Fixed

  • Fixed a bug showing empty bodies as encoded or binary [#569] [#562]
  • Fixed DiskReadViolation on ChuckerCollector [#975]
  • Fixed request headers not being redacted in case of failures [#545].
  • Fixed wrongful processing of one shot and duplex requests [#544].
  • Fixed writing to database on the main thread [#487].
  • Fixed RTL issue in payload view [#733]
  • Fixed StrictMode ThreadPolicy violations [#737]
  • Fixed Memory Leak with Toasts: Use applicationContext instead of Activity [#810]
  • Improved error message when trying to save empty bodies [#1038]

Removed

  • Removed parametrized ChuckerInterceptor constructor in favour of builder pattern. Constructor that accepts only Context is still available.
  • Removed the Throwable reporting feature as well as all the @deprecated related methods.

Changed

  • Updated OkHttp to 4.11.0
  • Updated Material to 1.8.0
  • Updated AGP to 8.0.2
  • Updated Kotlin to 1.8.22

Thanks

We would love to thank the whole community for helping us with this release <3 and we want to celebrate new contributors that made their first contribution to chucker in 4.0.0: @4shutosh @Abhishek4uh @Amirhy @andronicus-kim @ArjanSM @BluestormDNA @Canato @Filip2022 @Goooler @gusdantas @handstandsam @jd565 @ken-kentan @mreram @okanaydin @Stuie

Full Changelog: 3.4.0...4.0.0

Chucker v3.5.2

02 Aug 07:02
6225f37
Compare
Choose a tag to compare

This release is a re-deployment of 3.5.1, since in that release aar file didn't upload properly on Maven Central, so 3.5.1 wasn't available to projects getting Chucker from Maven Central.

Chucker v3.5.1

20 Jul 09:36
a7d3a90
Compare
Choose a tag to compare

This is hotfix release to avoid crashes for users, who still use throwable reporting feature.

Fixed

  • Fix crash on Android 12 due to missing immutability flags in deprecated throwable reporting feature #653.

Chucker v3.5.0

29 Jun 11:58
515b3f0
Compare
Choose a tag to compare

Note: this release has an issue with apps targeting Android 12 making Chucker crash when notification with throwable clicked, so if your project still uses this feature we highly recommend to update to 3.5.2!

This is a patch release for developers preparing their projects for Android 12.

Added

  • Support of apps targeting Android 12.

Fixed

  • Fix crash on Android 12 due to missing immutability flags #593.
  • Fix not setting request body type correctly #538.

Chucker v3.4.0

05 Nov 17:26
372378d
Compare
Choose a tag to compare

This is a new minor release with multiple fixes and one serious improvement which made us do a minor update instead of just patch - builder pattern for ChuckerInterceptor class. Previous constructor with multiple parameters is deprecated and will be removed in 4.x release.

Also, starting with this release we are switching to Keepachangelog format for our changelogs.

Added

  • ChuckerInterceptor.Builder for fluent creation of the interceptor. It will also help us with preserving binary compatibility in future releases of 4.x. #462

Changed

  • Bumped targetSDK and compileSDK to 30 (Android 11).

Removed

  • kotlin-android-extensions plugin for better compatibility with Kotlin 1.4.20.

Fixed

  • Fixed memory leak in MainActivity #465.
  • Fixed GzipSource is not closed error reported by StrictMode #472.
  • Fixed build failure for projects with new kotlin-parcelize plugin #480.

Deprecated

  • ChuckerInterceptor constructor is now deprecated. Unless Context is the only parameter that you pass into the constructor you should migrate to builder.

Chucker v3.3.0

30 Sep 17:14
24f873b
Compare
Choose a tag to compare

This is a new minor release with multiple fixes and improvements.
After this release, we are starting to work on a new major release 4.x with minSDK 21. Bumping minSDK to 21 is required to keep up with newer versions of OkHttp.

Versions 3.x will be supported for 6 months (till March 2021) getting bugfixes and minor improvements.

Summary of changes

  • Added a new flag alwaysReadResponseBody into Chucker configuration to read the whole response body even if the consumer fails to consume it.
  • Added port numbers as part of the URL. Numbers appear if they are different from default 80 or 443.
  • Chucker now shows partially read application responses properly. Earlier in 3.2.0 such responses didn't appear in the UI.
  • Transaction size is defined by actual payload size now, not by Content-length header.
  • Added empty state UI for payloads, so no more guessing if there is some error or the payload is really empty.
  • Added ability to export a list of transactions.
  • Added ability to save a single transaction as a file.
  • Added ability to format URL encoded forms with a button to switch between encoded/decoded URLs.
  • Added generation of contrast background for image payload to distinguish Chucker UI from the image itself.
  • Switched OkHttp dependency from implementation to api, since it is available in the public API.
  • List items are now focusable on Android TV devices.
  • Further improved test coverage.

Deprecations

  • Throwables capturing feature is officially deprecated and will be removed in the next releases. More info in [#321].

Bugfixes

  • Fixed [#311] with leaking Closable resource.
  • Fixed [#314] with overlapping UI on some device.
  • Fixed [#367] with empty shared text when Don't keep activities is turned on.
  • Fixed [#366] with a crash when the process dies.
  • Fixed [#394] with failing requests when FileNotFound error happens.
  • Fixed [#410] with conflicts when other apps already use generic FileProvider.
  • Fixed [#422] with IOException.

Dependency updates

  • Added Fragment-ktx 1.2.5
  • Added Palette-ktx 1.0.0
  • Updated Kotlin to 1.4.10
  • Updated Android Gradle plugin to 4.0.1
  • Updated Coroutine to 1.3.9
  • Updated AppCompat to 1.2.0
  • Updated ConstraintLayout to 2.0.1
  • Updated MaterialComponents to 1.2.1
  • Updated Gradle to 6.6.1

Credits

This release was possible thanks to the contribution of:

@adb-shell @cortinico @djrausch @gm-vm @JayNewstrom @MiSikora @vbuberen @psh

Chucker v3.2.0

04 Apr 19:30
a6ed2d4
Compare
Choose a tag to compare

This is a new minor release with numerous internal changes.

Summary of changes

  • Chucker won't load the whole response into memory anymore, but will mutlicast it with the help of temporary files. It allows to avoid issues with OOM, like in reported in [#218].
    This change also allows to avoid problems with Chucker consuming responses, like reported in [#242].
  • Added a red open padlock icon to clearly indicate HTTP requests in transactions list.
  • Added TLS info (version and cipher suite) into Overview tab.
  • Added ability to encode/decode URLs.
  • Added RTL support.
  • Switched from AsyncTasks to Kotlin coroutines.
  • Switched to ViewBinding.
  • Bumped targetSDK to 29.
  • Greatly increased test coverage (we will add exact numbers and reports pretty soon).

Bugfixes

  • Fix for [#218] with OOM exceptions on big responses.
  • Fix for [#242] with Chucker throwing exceptions when used as networkInterceptor().
  • Fix for [#240] with HttpHeader serialisation exceptions when obfuscation is used.
  • Fix for [#254] with response body search being case-sensitive.
  • Fix for [#255] with missing search icon on Response tab.
  • Fix for [#241] with overlapping texts.

Dependency updates

  • Added kotlinx-coroutines-core 1.3.5
  • Added kotlinx-coroutines-android 1.3.5
  • Updated Kotlin to 1.3.71
  • Updated Android Gradle plugin to 3.6.1
  • Updated Room to 2.2.5
  • Updated OkHttp to 3.12.10
  • Updated Detekt to 1.7.3
  • Updated Dokka to 0.10.1
  • Updated KtLint plugin to 9.2.1
  • Updated MaterialComponents to 1.1.0
  • Updated Gradle to 6.3

Credits

This release was possible thanks to the contribution of:

@adammasyk @cortinico @CuriousNikhil @hitanshu-dhawan @MiSikora @technoir42 @vbuberen

Chucker v3.1.2

09 Feb 11:05
fd7893d
Compare
Choose a tag to compare

This is hot fix release for multiple issues introduced in Chucker 3.1.0.

Enhancements

  • All Chucker screens now have their own ViewModel. Due to this change user can now open the transaction in progress and the content will appear as soon as transaction finishes. No need for reopening transaction anymore.

Bugfixes

  • Fixed an issue introduced in 3.1.0 where image downloading fails if OkHttp was used for image loading in libraries like Glide, Picasso or Coil.
  • Fixed an issue with invalid CURL command generation.
  • Fixed an issue with crashes if ProGuard/R8 minification is applied to Chucker.
  • Fixed an issue with crash when user taps Save in a transaction, which is still in progress.
  • Fixed an issue with crash when user taps Clear from notification shade while the original app is already dead.
  • Fixed an issue with possible NPEs.

Chucker v3.1.1

28 Jan 09:40
0bbba97
Compare
Choose a tag to compare

WARNING. This release contains an issue which fails image loading operations if OkHttp is used as image downloader in Glide, Picasso or Coil. Use v3.1.2.

This is hot fix release for Chucker 3.1.0.

Bugfixes

  • Fix for #203 issue with response body showing as null for some requests.