Skip to content

Releases: RakuyoKit/JSONPreview

2.3.1 - Spring brings blossoms

28 Mar 08:35
Compare
Choose a tag to compare

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

23 Jan 08:30
Compare
Choose a tag to compare

Added

  • Add PrivacyInfo.xcprivacy.

Fixed

  • Package.swift supports wider Swift versions.

2.1.0 - Annual update

10 Jan 01:58
Compare
Choose a tag to compare

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

13 Mar 05:04
Compare
Choose a tag to compare

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

15 Jun 09:39
Compare
Choose a tag to compare
Pre-release

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

07 Apr 05:45
Compare
Choose a tag to compare

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

02 Apr 02:00
Compare
Choose a tag to compare

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

12 Oct 02:40
Compare
Choose a tag to compare

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

23 Sep 07:25
Compare
Choose a tag to compare

Fix

  • Fixed the issue that the behavior is not normal after clicking the fold/expand button in some cases.

1.3.0 - Compromise Updates

23 Sep 07:30
Compare
Choose a tag to compare

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.