Releases: RakuyoKit/JSONPreview
2.3.1 - Spring brings blossoms
Added
- Add search function. #13 @rakuyoMo
- Add the function of not automatically wrapping lines, and you can switch between wrapping and not wrapping at any time. #22 @rakuyoMo
- Add visionOS support. #12, #17 @rakuyoMo
- Add tvOS support. #14, #18 @rakuyoMo
- Moved the logic of "assembling attributed string from JSON slices" from JSONPreview into JSONDecorator. So you can now display JSON with the help of other text frames. #22 @rakuyoMo
- Access SwiftLint and unify code format #16 @rakuyoMo
Changed
- Allow
bounces
to be enabled. #20 @rakuyoMo - In order to achieve the non-wrapping function, the view hierarchy was modified. #22 @rakuyoMo
- rename:
LineNumberHeightManager
->AttributedStringSizeCalculator
. (internal) #22 @rakuyoMo - The minimum supported version of the demo is consistent with the library. #17 @rakuyoMo
- Adjusted the directory structure of the demo. @rakuyoMo
- Abandon plan to “support Intel version of macOS”.
Fixed
2.2.3 - PrivacyInfo
Added
- Add PrivacyInfo.xcprivacy.
Fixed
Package.swift
supports wider Swift versions.
2.1.0 - Annual update
Added
- The
JSONPreview.preview
method adds theinitialState
parameter to support setting the default folding and unfolding states when rendering json. JSONPreview
supports hiding line number view.- The
highlightStyle
property now haspublic
read and write permissions. - Now in the closure of the
JSONPreview.preview
method, the initializedJSONDecorator
object will be returned. - Add delegate callback when json slice node state changes.
- Add some easy access properties to
JSONPreview
.
Changed
- [Break] The minimum iOS supported version of the project is upgraded to iOS 12.
- [Break] Setting
JSONSlice
's Initialization method tointernal
. - [Break] Adjusted the order of parameters of
JSONDecorator.highlight
method. - [Break] Because
highlightStyle
is now publicly accessible,JSONPreview.preview
method now removes thestyle
parameter. - Provide default implementation for
JSONPreviewDelegate
. - Refine the timing of json completion preview callback calls.
- Adjusted the code format of some codes.
Fixed
- Fix the problem of miscalculation of line number height when
Value
is too long.
2.0.0 - Performance Enhancement
Break Change
- The git repository was migrated. Resulting in a url change.
- Refers to the Swift Core Foundation framework, refactoring the entirety of parsing and rendering, with significant performance improvements.
2.0.0-beta.2 - Performance Enhancement
In this version, I borrowed the handling of JSON formatting from the Swift Core Foundation framework. Greatly improved the performance of json parsing.
We previewed 3.8k lines of json on iPhone 13 Simulator running iOS 15.5 using version 1.3.6
and version 2.0.0-beta.2
respectively.
After testing, the processing time was reduced from an average of 0.77 seconds to 0.34 seconds, a performance improvement of about 55%.
Change
We have refactored the entire content of parsing and rendering, so if you are using that part, then you may need to modify your entire code.
However, in the UI layer, we have not modified anything. This allows you to enjoy excellent performance improvements without making any changes if you only use this framework through JSONPreview
.
1.3.6 - Support for scientific notation
Add
Now supports using scientific notation to represent numbers in json. The supported format is {E/e}[+/-]
.
For example, the following numbers are supported:
{
"exponential_value": [
1024e+23,
-25e+23,
-25e-23,
2.54e23,
3.1415926E+23,
3.1415926E-23
]
}
PLEASE NOTE:
The rendering time increases when the json contains numbers represented using scientific notation.
There is no solution for this at the moment.
I have understood that JSONPreview
has some degree of performance bottleneck in parsing json and rendering.
I will try to fix this in version 2.0.0
, but I can't be sure or even predict when it will be released.
Sorry about that.
1.3.5 - Support SPM
1.3.2 - Available for iOS 15
Change
- Uses a new method for calculating the height of the row number view Cell.
Fix
- Adapted for iOS 15.
1.3.1 - Fix Click Error
Fix
- Fixed the issue that the behavior is not normal after clicking the fold/expand button in some cases.
1.3.0 - Compromise Updates
In this version, we were forced to remove the
JSONPreview
diagonal sliding feature. There were too many problems with this feature due to personal incompetence, and we couldn't fix it at the same time. Finally we removed this feature.
Add
- Add
JSONPreviewDelegate
, which is used to replace the previous use ofUITextViewDelegate
to realize the URL click.
Change
- Since JSON is now displayed in line breaks, the line height is no longer a fixed value.
- Improved the judgment rules for URLs, and now IP addresses can be correctly identified as URLs.
Remove
- Removed the diagonal swipe feature.