Releases: ChuckerTeam/chucker
Chucker v4.1.0
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)
andskipDomains(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
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 theChuckerInterceptor
viaChuckerInterceptor.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 usingcreateShortcut(false)
inChuckerInterceptor.Builder
[#588] - Brotli compression support [#563]
- Added
writeTransactions
method toChuckerCollector
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
- 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 onlyContext
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
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
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
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
Chucker v3.4.0
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 of4.x
. #462
Changed
- Bumped
targetSDK
andcompileSDK
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. UnlessContext
is the only parameter that you pass into the constructor you should migrate to builder.
Chucker v3.3.0
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
toapi
, 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
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
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
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.