Skip to content

Releases: snappdevelopment/JsonTree

v2.5.0

23 Feb 15:07
6476e66
Compare
Choose a tag to compare

What's New

  • Added support for searching the JsonTree for keys and values. This enables consumers to build a search feature in their apps. For more info see the Readme and the sample app.
  • Added a new lazyListState parameter to JsonTree, which lets consumers do lazy list operations like programmatic scrolling

Bugfixes

  • Fix strings having the wrong color when containing numbers

Breaking Changes

  • The JsonTree Composable has two new parameter lazyListState and searchState, which is a breaking change if the consumer is not using named parameter
  • JsonTreeColors has two new colors for highlighting search results, which is also a breaking change if the consumer is not using named parameter

v2.5.0-SNAPSHOT

22 Dec 12:17
Compare
Choose a tag to compare
v2.5.0-SNAPSHOT Pre-release
Pre-release

New:

  • Adds a searchState parameter to search the tree for keys and values

This is a snapshot release. It is not production ready and the API might change. To use this build see the Snapshot section in the Readme file.

v2.4.1

03 Dec 20:23
c3bdac1
Compare
Choose a tag to compare

What's Changed

Full Changelog: v2.4.0...v2.4.1

v2.4.0

30 Nov 15:19
ffa75d9
Compare
Choose a tag to compare

What's Changed

  • New Multiplatform targets Js and WasmJs #101

New Contributors

Full Changelog: v2.3.0...v2.4.0

v2.3.0

11 Sep 06:07
3c78480
Compare
Choose a tag to compare

New:

  • JsonTree is a Compose Multiplatform library now!
  • Support for new platforms: iOS, Jvm (MacOS, Windows, Linux) in addition to Android
  • Update to Kotlin 2.0.20
  • Performance improvements with strong skipping mode

A big thank you to @ShreyashKore for the Compose Multiplatform contributions!

v2.2.0

18 Apr 05:28
9303c84
Compare
Choose a tag to compare

New:

  • Added a new parameter expandSingleChildren, which will automatically expand every child item that has no siblings until there are no children or multiple children. Similar to how some IDEs expand file trees when there is only one folder per level until there are none or multiple. The parameter defaults to false.

Bug fix:

  • Fixed the indent of the root elements end bracket to align it with the opening bracket

Other:

  • Dependency updates

v2.1.1

29 Mar 14:58
c94f9cb
Compare
Choose a tag to compare
  • Performance improvements
  • Dependency updates

v2.1.0

09 Mar 08:16
743aa35
Compare
Choose a tag to compare

New:

  • Adds a new parameter contentPadding which is applied to the internal LazyColumn. Defaults to PaddingValues(0.dp).

Behaviour change:

  • The onLoading Composable is not affected by the modifier parameter anymore. This avoids unexpected behavior in cases where the modifiers on JsonTree are not compatible with the modifiers used in the loading Composable and gives more flexibility for the loading UI.

v2.0.0

01 Mar 06:47
bac7bed
Compare
Choose a tag to compare

New:

  • JsonTree got almost fully re-implemented with a different approach for better performance. While the first version was based on recursive rendering of Composables, the new version manages the json tree in a list and renders it in a LazyColumn
  • New parameter onLoading on JsonTree for a Composable which is rendered during initial loading
  • New parameter showIndices on JsonTree, which shows the index in front of each array element. Defaults to false.
  • New parameter showItemCount on JsonTree, which shows the amount of items in arrays and objects. Defaults to true.
  • New parameter indexColor on TreeColors for the newly added array indices

Breaking changes:

  • The new version uses a LazyColumn, which should not be placed in a another scrollable container
  • If you are using a custom instance of TreeColors, then you need to add a value for the new indexColor
  • Add the new parameter onLoading to JsonTree, which renders the given Composable during the initial loading
  • Compile SDK 34
  • JDK 17

v2.0.0-SNAPSHOT

28 Feb 07:00
fb23a7c
Compare
Choose a tag to compare
v2.0.0-SNAPSHOT Pre-release
Pre-release

New:

  • JsonTree got almost fully re-implemented with a different approach for better performance. While the first version was based on recursive rendering of Composables, the new version manages the json tree in a list and renders it in a LazyColumn
  • New parameter onLoading on JsonTree for a Composable which is rendered during initial loading
  • New parameter showIndices on JsonTree, which shows the index in front of each array element. Defaults to false.
  • New parameter indexColor on TreeColors for the newly added array indices

Breaking changes:

  • The new version uses a LazyColumn, which should not be placed in a another scrollable container
  • If you are using a custom instance of TreeColors, then you need to add a value for the new indexColor
  • Add the new parameter onLoading to JsonTree, which renders the given Composable during the initial loading
  • Compile SDK 34
  • JDK 17