Releases: Rosemoe/sora-editor
Release list
0.24.6
Editor Core
- improve algorithm of collecting sticky lines
- add min width for minimap region
- add inlay hint setter
- enhance emoji text deletion on low API devices
- fix cursor anchor position for IME under wordwrap mode (Xed-Editor/Xed-Editor#1331)
- update no completion checking logic (#850 by @KonerDev)
- add
Ctrl+Spaceto trigger completion (#844)
Editor LSP
- fix NPE in signature text generation (#829)
- fix possible dead loop in Markdown text parsing (#845)
- enhance document color support and inlay hints (#830 by @KonerDev)
- enhance LSP completion overlap, character index bounds (#850 by @KonerDev)
TextMate
- add documentation for
TextMateLanguageand remove deprecated constructors - initialize color scheme on theme creation (#806)
TreeSitter
- add cancellation token for variable analysis to reduce delay in large files
As android support libraries are moving minSdk to 23, this will be the last release that supports API 21. From next release, we will raise the minSdk to 23.
0.24.5
Editor Core
- add
PublishDiagnosticsEventfor diagnostics changes (#781 by @dingyi222666) - add
InlayHintClickEventwhen inlay hint is clicked exactly - add preserve-case replace (#792)
- add experimental minimap (API is unstable yet) (#766)
- improve auto completion experience (#795 by @KonerDev)
- allow adding custom variable resolvers for code snippets (#801)
- avoid lag when text is too long when creating info for accessiblity
- add option to ensure search occurrence is visible (#816 by @KonerDev)
- cut memory usage for Latin1 charset in text buffer
- update highlight as initial analysis goes to improve experience for long files
- fix wrong text style of line info panel sometimes
- fix leading whitespaces are sometimes not visible
- fix
SymbolInputViewalways overrides the background defined in XML attributes - fix possible ANR when scrolling completion list (#800 by @nullij)
- fix possible NPE when drawing text background (Xed-Editor/Xed-Editor#1156)
- fix possible IOOB on completion (#812 by @KonerDev)
Editor LSP
- improve LSP lifecycle and error handling (#777)(#804 by @KonerDev)
- add disable-feature option to server definition (#802)(#809 by @KonerDev)
- add support for multi-line code block with multiple bacticks in markdown renderer (#814)
- fix thread violation when updating UI in LSP (#793 by @mucute-qwq)
- fix hover window not showing (#796)(#809 by @KonerDev)
- fix unnecessary stop of language server wrapper (#808 by @KonerDev)
- fix crash due to inlay hint and document color request cancellation in LSP (#813)
TextMate
- fix wrong span type is chosen when token has underline style (#820 by @META-Xiao)
- fix highlight analysis failure when underline color is undefined
Monarch
- fix wrong span type is chosen when token has underline style (#820)
Demo App
- migrate to Material 3 theme and components
- add simple example for paged editing for super long files
0.24.4
Editor Core
- improve rendering speed when there are many highlighted text backgrounds
- add event for diagnostics update (#773, #781 by @dingyi222666)
- fix a problem that leads to selection can not be correctly placed when tab is in line (#786)
- fix wrong composing text state can be reported to IME (#782, #783)
- fix externally committed tab may remove active composing text (#784)
- fix multi-line indentation for tab-indented languages (#785)
- fix composing text underline becomes unexpectedly hidden when the composing text is partially invisible
- update snakeyaml-engine to v3
Editor LSP
- improve completion prefix computation (#763 by @dingyi222666)
- add language connection status change event (#778 by @KonerDev)
TreeSitter
- update android-tree-sitter to support 16KB page size for newer Android platform (thanks to @itsaky)
0.24.3
Editor Core
- add more line-break opportunities for better programming code reading
- select auto-completion item by Tab and Enter (#768)
- add border color customizations (#764)
- fix a potential problem in calculating horizontal scrolling range (#775)
- fix a problem in line width re-calculating when wordwrap is disabled
- fix wrong background for empty line in certain situation
- enhance the access range check in
Contentfor better problem tracking
Oniguruma Native
Demo App
- add more bracket pair captures for tree-sitter Java
0.24.2
Editor Core
- Improve display correctness and speed for long lines
- Fix text advance calculating in wordwrap mode and bring faster wordwrap speed
- Add support for AltGr in physical keyboard (#384)
- Fix a problem in meta-key state tracking that can leads meta-key to sticky state
- Fix slow regex searching speed on high API device
- Add border for highlight delimiters and is enabled by default as a replacement for previous underline (#764)
- Fix magnifier background when viewport capture is not available yet (#765)
- Fix the problem that editor may draw a selection at multiple positions
- Add basic support for displaying RTL lines with right alignment in wordwrap mode
- Fix some problems in selection handle for bidirectional text
Editor LSP
- Support Markdown escape character (#762)
0.24.1
This release brings minor bug fixes and improvements.
Editor Core
- Fix magnifier content when the editor is in dialogs
- Fix text action window not showing up on long press if the text is empty (#757)
- Fix line-break indicator may not be drawn for empty line if hardware-acceleration is not available
- Fix line-break and soft-wrap indicators for inlay hint only rows
- Add select all to context menu
TextMate
- Add missing proguard rules for optional
oniguruma-nativecomponents
Editor LSP
0.24.0
Thanks to all the contributors, we are finally able to release this major update of sora-editor.
Editor Core
Improvements
- Refactored row rendering system, bringing:
- Visual line based Home/End acttion
- Highlight matched items in completion window (#729)
- Show inserting direction for bidirectional lines
- Faster wordwrap analysis
- Show soft-wrap indicators
- Long-press and drag to select text (#738)
- Move selection to first completion item when phisical keyboard is connected (#746)
- Check thread on editor text changes (disabled by default)
- Add listener for layout init tasks (#742)
- Add lightweight span object to reduce memory usage
- Add shadow for sticky line region bottom
- Sticky lines can have a top offset to scroll with its end line
- Proper mouse pointer icon for sticky lines
- Support dead keys in physical keyboard
Bug Fixes
- Fix some editor windows not dismissed on editor release (#713)
- Fix layout reusing issues (#561, #562)
- Fix lag when editing in large text due to a long IPC length
- Fix dropped frame when scrolling in large text due to wrongly implementedly LRU cache
- Fix night color for line number panel text
- Fix underline visibility when hardware-accelerating is on
- Fix unexpected line background animation when editor is not editable
- Fix magnifier on low API devices and non-activity contexts
- Fix meta-key states when physical keyboard is connected
Removal of Feature
basicDisplayModeis permanently removed from editor core to better support bidirectional text and inline elements
Editor LSP
-
Supported connection using LocalSocket, fixed a bug in
textDocument/diagnosticlogic, and accelerated LSP server connection speed (#706) -
Optimized multiple null checks in the LSP module, improved thread safety, memory leak, security, and text synchronization #716 #718 #719 #726 #733 #739 by @KonerDev, @dingyi222666, @VincentLagerros
-
Supported calling
textDocument/renameandtextDocument/prepareRenamefromrequestManager(#721) -
When calling
EventType.applyEdits, multiple edits will now be merged into a single edit to improve undo efficiency (#721) -
#731 Provided several major feature updates for the LSP module, including:
- Improved and reimplemented signature help window.
- Supported hover window, which displays help documentation for a symbol when the cursor hovers over it.
- Supported codeAction window, which requires manual triggering by the caller.
- A more aesthetically pleasing
DiagnosticTooltipLayout, specially designed for LSP. - Fixed text matching issues in the completion window and supported highlighting of matching text.
- Supported some
workspace/commands for language servers. - LSP-specific windows all support text scaling with the editor size, and provide simple markdown rendering for signature help and
hover.
-
Provided
inlayHintsupport (experimental) for the LSP module. (#743) -
Provided better markdown rendering for PopupWindow in the LSP module, support syntax highlighting (#744)
-
Fixed text editing issues in the LSP module (#747)
-
Provided
documentColorsupport for the LSP module. When the connected LSP server supports it, this will display a color block left to the color code. (#749) -
Fixed multiple memory leak issues in the LSP module (#751)
TextMate
Improvements
- JSON parsing is now lenient
- Add oniguruma support to provider faster and memory-friendly tokenization (see
oniguruma-nativemodule below)
Bug Fixes
- Fix some concurrent issues (#736)
- Fix token colors after theme change
TreeSitter
Bug Fixes
- Allow querying changed node and synchronize the access to the backing tree
- Cache not update when spans are requested in full line
Oniguruma
oniguruma-native is added for matching regexps in native oniguruma implementation.
By including this module to your app, language-textmate will use it to match regexps faster and support more VSCode TextMate bundles.
In a production build, the highlight time is roughly 60% less than the older one.
0.23.7
Bugs Fixed
- empty text committed by IME is unexpectedly ignored
- missing some communication method implementations in input connection (fix GBoard undo/redo support)
- missing highlighted delimiter foreground color in some built-in color schemes
Notice
Since v0.23.7 (inclusive):
- the group namespace is migrated to
io.github.rosemoeinstead ofio.github.Rosemoe.sora-editor bommodule is renamed toeditor-bom
Due to the migration to Central Portal, the old namespace can not be used anymore.
This won't affect any previously published version.
0.23.6
Enhancements
- improve character deleting on Android P and above
- disable desugaring in textmate to let app developer choose whether desugaring is enabled (#641 by @MohammedKHC )
- LSP improvements (#635, #681 by @dingyi222666 )
- add monarch support for editor (#580 by @dingyi222666 )
- add regex back-reference in regex search-replace (#639)
- add default night colors for editor text action window (#644)
- do not stroke matching delimeters (#663 by @massivemadness )
- allow to control current line background overlapping behavior (#679 by @itsaky )
- allow to intercept
SideIconClickEvent(#680 by @itsaky ) - provide motion region and bounds info in
EditorMotionEvent(#682 by @itsaky )
Bugs Fixed
- clipboard content is sometimes pasted like
ClipData.Item {...} - text position error when tab width is not 4
- mess text display after font change
- fix unexpectedly thrown exception in Java tokenizer that leads to syntax-highlight crash
- conflict between symbol completion and search-replace (#638)
- possible concurrent modification to tree-sitter AST
- negative Y offset leads to crash if overscroll is enabled (#655)
editor.foregroundnot working for textmate color scheme (#656)- fix measure size when
wrap_contentis used on editor (#658 by @StarkZhidian ) - fix magnifier in sticky text selection mode (#659 by @massivemadness )
- current line is highlighted when it is supposed to be disabled (#662 by @massivemadness )
- rounded selection region not applied for empty line (#667 by @massivemadness )
0.23.5
Fixes and Enhancements
- fix some compatibility issues in textmate and
Languageinterface - fix crash in finding word boundary (#618)
- add Ctrl+DEL and Ctrl+Backspace keybindings (#625)
- fix a display issue between character TAB and
:.in some fonts - add workaround for unsupported regular expressions in textmate grammars
- fix some issues in symbol pairs (#602, #609, #610, #611, #612)
- fix possible crash during
setText(#561, #562) - fix selection handle can easily set wrong selection position when text size is small (#554)
- fix possible NPE in
SearchThread(#568) - show scrollbars when mouse inside
- add ripple background for action window buttons
- some memory usage enhancement