Releases: snappdevelopment/JsonTree
Releases · snappdevelopment/JsonTree
v2.5.0
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
andsearchState
, 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
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
What's Changed
- Fix missing classes of atomicfu plugin by @snappdevelopment in #113
Full Changelog: v2.4.0...v2.4.1
v2.4.0
What's Changed
- New Multiplatform targets
Js
andWasmJs
#101
New Contributors
Full Changelog: v2.3.0...v2.4.0
v2.3.0
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
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 tofalse
.
Bug fix:
- Fixed the indent of the root elements end bracket to align it with the opening bracket
Other:
- Dependency updates
v2.1.1
- Performance improvements
- Dependency updates
v2.1.0
New:
- Adds a new parameter
contentPadding
which is applied to the internalLazyColumn
. Defaults toPaddingValues(0.dp)
.
Behaviour change:
- The
onLoading
Composable is not affected by themodifier
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
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
onJsonTree
for a Composable which is rendered during initial loading - New parameter
showIndices
onJsonTree
, which shows the index in front of each array element. Defaults to false. - New parameter
showItemCount
onJsonTree
, which shows the amount of items in arrays and objects. Defaults to true. - New parameter
indexColor
onTreeColors
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 newindexColor
- Add the new parameter
onLoading
toJsonTree
, which renders the given Composable during the initial loading - Compile SDK 34
- JDK 17
v2.0.0-SNAPSHOT
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
onJsonTree
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
onTreeColors
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 newindexColor
- Add the new parameter
onLoading
toJsonTree
, which renders the given Composable during the initial loading - Compile SDK 34
- JDK 17