Skip to content

Releases: pandulapeter/beagle

2.3.0

27 Oct 11:50
Compare
Choose a tag to compare
  • Breaking change: the Behavior class has been refactored, most properties are now part of a new subclass, the documentation / examples have been updated.
  • Beagle now catches exceptions and displays the BugReport screen with the stack trace. This interferes with other crash reporting solutions so it should only be enabled for debug builds. Of course, the noop implementation does not handle anything. To manually disable this feature, use the shouldCatchExceptions property from Behavior / BugReportingBehavior. #60
  • Beagle.log() and BeagleLogger.log() now have an optional isPersisted parameter, which is false by default. Setting it to true will persist the log message across app launches.
  • Add ability to attach lifecycle logs to bug reports.
  • Improve the way timestamps are handled.
  • Some customization options that used to belong to Module constructors are now part of the Appearance / Behavior class (the biggest changes were made to the BugReportModule and the NetworkLogListModule classes).
  • Add ability to set multiple BeagleLoggers.
  • Update coroutines dependency to 1.4.0

2.2.3

25 Oct 11:01
Compare
Choose a tag to compare
  • Fix TextModule randomly displaying some texts in bold.

2.2.2

24 Oct 12:44
Compare
Choose a tag to compare
  • Add ability to specify any number of text input fields (and their default values) for the Bug Report screen.
  • Improve the selection UX of media items on the Gallery and Bug Report screens by adding check boxes.
  • Add the Int.toText() and CharSequence.toText() extension functions to simplify creating Text instances.
  • Fix TextModule overriding the default typeface.
  • Fix some inset handling bugs on the Gallery and Bug Report screens as well as on the debug menu itself in case of the ui-activity and ui-bottom-sheet artifacts.
  • Increment the side padding of action items in dialogs.
  • Update third party dependencies.

2.2.1

19 Oct 18:01
Compare
Choose a tag to compare
  • Fix log entries without labels not being selectable on the Bug report screen.

2.2.0

19 Oct 17:19
Compare
Choose a tag to compare
  • This update introduces the first version of the BugReportButtonModule which links to a new screen. This screen contains a list of configurable, dynamic sections: users can attach images or videos (from the Gallery), logs, network logs, device info and build info to the issue description (which can have a default value for a template). The library generates a zip file with all the attachments which then can be shared with the developers.
  • The expand / collapse behavior of JSON payloads has been improved.
  • More localizable strings were introduced to the Appearance class.
  • Bug fixes and stability improvements.

2.1.4

17 Oct 12:53
Compare
Choose a tag to compare
  • Improve and optimize the JSON expand / collapse feature introduced in the previous release.

2.1.3

16 Oct 12:28
Compare
Choose a tag to compare
  • The network event detail dialog now support collapsing / expanding the JSON tags. This feature has not yet been properly stress-tested, let me know if you encounter any issues.
  • Exclude Beagle components from being tracked by the LifecycleLogList.

2.1.2

13 Oct 13:29
Compare
Choose a tag to compare
  • Media files (screenshots and screen recordings) are now saved in the application's files directory, instead of cache. This change was required so that the files don't get deleted after clearing the cache, and still requires no runtime permissions, however, files saved before updating to this version won't be visible anymore in the Gallery.
  • Fix multiple log files having the same default name, which could have caused issues during sharing. The new logic provides a timestamp as well as a unique ID which resulted in adding some new parameters to the log(), logNetworkEvent(), showDialog() and showNetworkEventDialog() functions (as well as their counterparts in the log,log-ktor and log-okhttp modules). These parameters all have reasonable default values so this shouldn't be a breaking change. #58
  • Fix currentActivity returning null when the debug menu was visible using the ui-activity artifact. #47
  • Fix an event handling issue that affected the ui-bottom-sheet and ui-dialog modules.
  • Improve documentation.
  • Update dependencies.

2.1.1

12 Oct 13:27
Compare
Choose a tag to compare
  • Sharing logs and network logs is now file-based: .txt files are generated (instead of text) and then passed to the share Intent. By default the files are named based on the log's timestamp, this can be overridden using the Behavior class. This change prepares the way for a powerful bug reporting solution, coming soon.
  • The network event detail dialog now has an expand / collapse toggle which can be used to show / hide event metadata (such as headers, duration, etc). This setting also affects the generated files when sharing.

2.1.0

11 Oct 17:29
Compare
Choose a tag to compare
  • Localization support (might introduce breaking changes)
    • The Text wrapper class is now used everywhere where the library asks for strings that will be displayed on the UI. This gives the option to specify a CharSequence as before, or a resource ID which will get resolved again every time the UI is refreshed. Most modules now have secondary constructors that instantiate the proper Text subtype and they can be used directly with CharSequence / Int parameters, but this was not possible everywhere, so manually creating Text instances is sometimes required.
    • The Appearance data class has been broken up to more managable classes and now offers the option to override every UI string that the library uses.
  • ValueWrapper modules (CheckBox, MultipleSelectionList, SingleSelectionList, Slider, Switch and TextInput) now accept a lambda title / text parameter (besides the old static API), that is called with the current value as its argument whenever that value changes. This allows for dynamic module titles in function of the current value.
  • The TextModule can now be customized with an icon and has a new, isEnabled parameter as well. To reduce code duplication, a type parameter has been introduced which transforms it into a button or a section header, if needed. These three new parameters are also available for Button modules that ship with the library (for example AppInfoButtonModule or ForceCrashButtonModule) so now these buttons can appear as regular list items, if that matches the app's design better.
  • ButtonModule and SectionHeaderModule are now deprecated and will be removed in an upcoming version. As mentioned above, TextModuleshould be used instead of them.
  • The legacy Beagle implementation (the API before v2.0.0) has been removed and is no longer part of the repository.
  • Improved documentation.
  • Update third party dependencies.