|
1 | 1 | # Changelog |
2 | 2 |
|
| 3 | +## [2.3.6] - 2026-03-20 |
| 4 | + |
| 5 | +### Changed |
| 6 | +- Optimize TextKit2 scrolling by ensuring layout and relocating viewport |
| 7 | +- Defer relayout during active layout to prevent recursion; add inLayout and setNeedsLayoutSafe |
| 8 | +- Add convergence loop for text layout viewport with needsRelayout flag |
| 9 | +- Replace scroll-to-selection flag with one-shot postLayoutAction executed after layout |
| 10 | +- Ensure selection is scrolled post-layout via one-shot postLayoutAction |
| 11 | +- Refactor viewport layout: move convergence loop into layoutViewport() and call it from layoutText() |
| 12 | +- Ensure layout for current viewport range during viewport updates |
| 13 | +- Fix viewportBounds: adjust for gutter offset, use contentView coords and width, perform Y-only union, clamp negative origins |
| 14 | +- Track speech state via AVSpeechSynthesizer delegate and fix Stop Speaking validation |
| 15 | +- Speed up large selection deletes in [#107](https://github.com/krzyzanowskim/STTextView/pull/107) |
| 16 | + |
| 17 | +## [2.3.5] - 2026-01-14 |
| 18 | + |
| 19 | +### Changed |
| 20 | +- Resolve crash within NavigationSplitView in v2.3.4 in [#102](https://github.com/krzyzanowskim/STTextView/pull/102) |
| 21 | +- Add ignoresSafeArea to STTextView to allow full-screen display |
| 22 | +- Refactor typing attribute reset logic by replacing direct assignment with resetTypingAttributes() |
| 23 | +- Add resetTypingAttributes() to reset typing attributes to default values |
| 24 | +- Reset typing attributes when setting new text or attributedText |
| 25 | + |
| 26 | +## [2.3.4] - 2026-01-06 |
| 27 | + |
| 28 | +### Changed |
| 29 | +- Update test to reflect initial selection behavior in STTextView |
| 30 | +- Update iOS Simulator device from iPhone 17 Pro to iPhone 16 in test workflow |
| 31 | +- Run tests on all tags and update test scheme and simulator in CI configuration |
| 32 | +- Add workflow_dispatch trigger to GitHub Actions test workflow |
| 33 | +- Add GitHub Actions workflow for testing on macOS and iOS |
| 34 | +- Fix sizeToFit() not including gutter width in frame calculation in [#101](https://github.com/krzyzanowskim/STTextView/pull/101) |
| 35 | + |
| 36 | +## [2.3.3] - 2026-01-04 |
| 37 | + |
| 38 | +### Changed |
| 39 | +- Improve VoiceOver accessibility for STTextView by refining traits and escape handling |
| 40 | +- Refine accessibility notification for selection change and remove unused method |
| 41 | +- Add accessibility scroll support to STTextView for VoiceOver users |
| 42 | +- Improve accessibility support for STTextView including VoiceOver and UI testing |
| 43 | +- Fix accessibilityRange to detect trailing newlines via NSString instead of textContentManager |
| 44 | +- Improve accessibility line range calculation and add support for setting insertion line |
| 45 | +- Add accessibility support for edited state, insertion point line, and help text |
| 46 | +- Improve accessibility support for text character range and hit testing |
| 47 | +- Improve accessibility by implementing accessibilitySelectedTextRanges and posting valueChanged notification |
| 48 | +- Add accessibility support to STTextView for VoiceOver and text selection |
| 49 | + |
| 50 | +## [2.3.2] - 2026-01-02 |
| 51 | + |
| 52 | +### Changed |
| 53 | +- Improve layout fragment height calculation to handle incomplete layout cases |
| 54 | + |
| 55 | +## [2.3.1] - 2025-12-30 |
| 56 | + |
| 57 | +### Changed |
| 58 | +- Ensure gutter view background color matches text view background color |
| 59 | +- Fix background and text color updates when appearance changes in GutterView |
| 60 | +- Ensure typing attributes are updated after text replacement |
| 61 | +- Ensure STTextView updates typing attributes after processing text service input |
| 62 | + |
3 | 63 | ## [2.3.0] - 2025-12-23 |
4 | 64 |
|
5 | | -### Added |
6 | | -- [macOS] Add snapshot tests for STTextView gutter rendering with various configurations |
7 | | -- [iOS] Add background blur effect to STGutterView when backgroundColor is nil |
8 | | -- [SwiftUI] Add environment-based lineHeightMultiple support in text views |
9 | | -- [SwiftUI] Add support for configurable lineHeightMultiple in TextView |
10 | | -- [SwiftUI/iOS] Add support for custom contentInsets to TextView |
11 | | -- [SwiftUI] Add showLineNumbers option and autocorrectionDisabled modifier to TextView |
12 | | -- [Shared] Expose contentFrame property to Plugins SPI |
13 | | - |
14 | | -### Changed |
15 | | -- [iOS] Rename STContentView to STTextContainerView and add lightweight content size update |
16 | | -- [iOS] Optimize text view layout fragment rendering by reusing existing views |
17 | | -- [iOS] Adjust layout to respect textContainerInset in STTextView |
18 | | -- [iOS] Adjust viewportBounds to account for textContainerInset for better fragment coverage |
19 | | -- [iOS] Improve viewport bounds calculation to account for adjustedContentInset |
20 | | -- [iOS] Refactor gutter width adjustment logic to reduce redundant checks and improve layout stability |
21 | | -- [iOS] Make text, attributedText, and showsLineNumbers properties open and objc |
22 | | -- [macOS] Improve layout and drawing logic for STTextRenderView with clipsToContent support |
23 | | -- [macOS] Improve STTextRenderView layout to match actual rendering behavior |
24 | | -- [macOS] Improve selection image frame and origin during drag-and-drop |
25 | | -- [macOS] Adjust line fragment drawing position to account for line height multiple offset |
26 | | -- [macOS] Refactor STTextView layout system for improved viewport stability and accuracy |
27 | | -- [AppKit & UIKit] Ensure fragment views are marked for display when layout or rendering changes occur |
28 | | -- [SwiftUI] Refactor TextView options into shared TextViewOptions struct and extend platform support |
29 | | -- [SwiftUI] Refactor TextView view and coordinator for cleaner bindings and guard logic |
30 | | -- [SwiftUI] Optimize font updates in TextView by caching last applied font |
31 | | -- [Shared] Enable SwiftFormat with customized configuration and makefile tasks |
32 | | -- [Shared] Update platform and toolchain requirements |
| 65 | +### Changed |
| 66 | +- Release 2.3.0 |
| 67 | +- Add changelog entries for upcoming release with new features, fixes, and refactors |
| 68 | +- Improve gutter rendering, alignment, and layout behavior across platforms |
| 69 | +- Expose contentFrame property to Plugins SPI and set GITHUB_TOKEN for git-cliff |
| 70 | +- Add background blur effect to STGutterView when backgroundColor is nil |
| 71 | +- Fix .wrapLines option logic and improve UI toggles and editable state handling |
| 72 | +- Prevent selection change handling when isUpdating is true in TextViewRepresentable |
| 73 | +- Remove .baselineOffset from supported text attributes in AppKit and UIKit views |
| 74 | +- Refactor TextView view and coordinator for cleaner bindings and guard logic |
| 75 | +- Optimize font updates in TextView by caching last applied font |
33 | 76 | - Refactor README to consolidate and simplify SwiftUI usage documentation |
34 | | - |
35 | | -### Fixed |
36 | | -- [iOS] Fix gutter alignment to scroll only vertically and remain fixed horizontally |
37 | | -- [iOS] Defer scrolling to selection until layoutSubviews for better layout consistency |
38 | | -- [macOS] Fix text view jumping by allowing growth of height but preventing shrinkage |
39 | | -- [macOS] Fix dynamic height adjustment and layout behavior in STTextView |
40 | | -- [macOS] Fix text view shrinkage and scroll issues when editing or resetting large documents |
41 | | -- [macOS] Fix layout issue for gutter view with NSScrollView content insets |
42 | | -- [macOS] Prevent text view from resizing below current scroll position |
43 | | -- [SwiftUI] Fix .wrapLines option logic and improve UI toggles and editable state handling |
44 | | -- [SwiftUI] Prevent selection change handling when isUpdating is true in TextViewRepresentable |
| 77 | +- Add showLineNumbers option and autocorrectionDisabled modifier to TextView |
| 78 | +- Remove support for explicitly setting text view editability via parameter or environment |
| 79 | +- Add environment-based lineHeightMultiple support in SwiftUI text views |
| 80 | +- Add support for explicitly setting isEditable in TextView for SwiftUI integration |
| 81 | +- Add support for configurable lineHeightMultiple in TextView |
| 82 | +- Add support for custom contentInsets to TextView |
| 83 | +- Refactor TextView options into shared TextViewOptions struct and extend platform support |
| 84 | +- Fix property name showsLineNumbers and remove sponsors section from README |
| 85 | +- Update platform and toolchain requirements; bump STTextView to version 2.2.0 |
| 86 | +- Make text, attributedText, and showsLineNumbers properties open and objc |
| 87 | +- Ensure fragment views are marked for display when layout or rendering changes occur |
| 88 | +- Adjust viewportBounds to account for textContainerInset for better fragment coverage |
| 89 | +- Fix gutter alignment to scroll only vertically and remain fixed horizontally |
| 90 | +- Defer scrolling to selection until layoutSubviews for better layout consistency |
| 91 | +- Adjust layout to respect textContainerInset in STTextView |
| 92 | +- Refactor gutter width adjustment logic to reduce redundant checks and improve layout stability |
| 93 | +- Improve viewport bounds calculation to account for adjustedContentInset |
| 94 | +- Refactored text layout logic and improved container resizing behavior |
| 95 | +- Optimize text view layout fragment rendering by reusing existing views |
| 96 | +- Rename STContentView to STTextContainerView and add lightweight content size update |
| 97 | +- Improve layout and drawing logic for STTextRenderView with clipsToContent support |
| 98 | +- Adjust line fragment drawing position to account for line height multiple offset |
| 99 | +- Improve selection image frame and origin during drag-and-drop |
| 100 | +- Improve STTextRenderView layout to match actual rendering behavior |
| 101 | +- Move line height adjustment constant outside conditional for clarity and reuse |
| 102 | +- Enable SwiftFormat with customized configuration and makefile tasks |
| 103 | +- Refactor STTextView layout system for improved viewport stability and accuracy |
| 104 | +- Fix text view jumping by allowing growth of height but preventing shrinkage |
| 105 | +- Fix dynamic height adjustment and layout behavior in STTextView |
| 106 | +- Remove unused scrollView check in layoutGutterLineNumbers |
| 107 | +- Remove complex resize and scroll adjustment logic during layout update |
| 108 | +- Adjust gutter line number position by removing contentInsets offset |
| 109 | +- Fix text view shrinkage and scroll issues when editing or resetting large documents |
| 110 | +- Add snapshot test for gutter with extra line fragment and adjust scrolled view test |
| 111 | +- Ensure consistent scrollbar appearance during snapshot tests by setting UserDefaults |
| 112 | +- Add snapshot tests for STTextView gutter rendering with various configurations |
| 113 | +- Add snapshot tests for STTextView and integrate SnapshotTesting on macOS |
| 114 | +- Annotate ContentTests and TypingAttributesTests with @MainActor |
| 115 | +- Add comment explaining workaround for scroll position resizing issue |
| 116 | +- Prevent text view from resizing below current scroll position |
| 117 | +- Revert "Use needsViewportLayout flag instead of needsLayout for viewport-related updates" |
| 118 | +- Use needsViewportLayout flag instead of needsLayout for viewport-related updates |
| 119 | +- Remove redundant layoutGutter() call from setFrameSize() |
| 120 | +- Adjust STTextView sizeToFit to account for scroll view content insets |
| 121 | +- Adjust scroll view top constraint to align with view's top anchor instead of safe area |
| 122 | +- Fix layout issue for gutter view with NSScrollView content insets |
| 123 | +- Update README: reorganize sections, update requirements, and improve clarity |
| 124 | +- Use safe area constraints for scroll view when using fullSizeContentView style |
| 125 | +- Remove traitCollectionDidChange override from STGutterView |
| 126 | +- Improve layout handling and add tolerance support for geometric equality checks |
45 | 127 |
|
46 | 128 | ## [2.2.8] - 2025-11-11 |
47 | 129 |
|
|
0 commit comments