The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
2.3.1 - Spring brings blossoms
3 weeks ago
## 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
- Fixed the problem introduced in 2.3.0 that performing the folding operation when JSON is not at the beginning of the line will cause UI rendering errors. #23 @rakuyoMo
2.2.3 - PrivacyInfo
13 weeks ago
## Added
- Add PrivacyInfo.xcprivacy.
## Fixed
- `Package.swift` supports wider Swift versions.
2.1.0 - Annual update
15 weeks ago
### Added
- The `JSONPreview.preview` method adds the `initialState` parameter to support setting the default folding and unfolding states when rendering json.
- `JSONPreview` supports hiding line number view.
- The `highlightStyle` property now has `public` read and write permissions.
- Now in the closure of the `JSONPreview.preview` method, the initialized `JSONDecorator` 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 to `internal`.
- [**Break**] Adjusted the order of parameters of `JSONDecorator.highlight` method.
- [**Break**] Because `highlightStyle` is now publicly accessible, `JSONPreview.preview` method now removes the `style` 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
1 year ago
## 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
1 year ago
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
2 years ago
## Add
Now supports using scientific notation to represent numbers in json. The supported format is `{E/e}[+/-]`.
For example, the following numbers are supported:
```json
{
"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
2 years ago
## Add
- We now support SPM: #2
## Fix
- Fixed a crash caused by clicking on a blank area: #3
- Modified the determination of the url
## Other Change
- Adjusted the directory structure
1.3.2 - Available for iOS 15
2 years ago
## 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
2 years ago
## Fix
- Fixed the issue that the behavior is not normal after clicking the fold/expand button in some cases.
1.3.0 - Compromise Updates
2 years ago
> 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 of `UITextViewDelegate` 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.