Skip to content

fix(deps): update dependency io.github.rosemoe.sora-editor:editor to v0.23.6#44

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/io.github.rosemoe.sora-editor-editor-0.x
Open

fix(deps): update dependency io.github.rosemoe.sora-editor:editor to v0.23.6#44
renovate[bot] wants to merge 1 commit intomainfrom
renovate/io.github.rosemoe.sora-editor-editor-0.x

Conversation

@renovate
Copy link

@renovate renovate bot commented Nov 1, 2025

This PR contains the following updates:

Package Change Age Confidence
io.github.Rosemoe.sora-editor:editor 0.11.40.23.6 age confidence

Release Notes

Rosemoe/sora-editor (io.github.Rosemoe.sora-editor:editor)

v0.23.6

Compare Source

Enhancements

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.foreground not working for textmate color scheme (#​656)
  • fix measure size when wrap_content is 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 )

v0.23.5

Compare Source

Fixes and Enhancements
  • fix some compatibility issues in textmate and Language interface
  • 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

v0.23.4

Compare Source

Fixes and Enhancements

  • add logic for typing dead chars and avoid crashing for some keyboard (#​547)
  • cancel selection handle animation when mouse is connected
  • fix view scrolling not being cancelled after mouse button is released
  • fix input sometimes unexpectedly entering inactive mode
  • fix inconsistent scroll position after scaling in wordwrap mode
  • fix a compatibility issue in textmate after upstream sync (devices under API 34 are affected)
  • update dependencies

Documentation Site

Previous pages in sora-editor main repository are removed and unpublished.
Introduction part of sora-editor is available at here, including a brief overview of editor and basic usage/knowledge for getting started.

v0.23.3

Compare Source

Fixes

  • add static APIs in Span to SpanFactory to avoid NoSuchMethodError when app minSdk < 24
    Migrate to SpanFactory recommended.

Documentation

We are adding documentation for sora-editor now!
Currently, you can visit here to explore the documentation, though it's incomplete.

v0.23.2

Compare Source

Fixes and Enhancements

  • fix editor cursor animation
  • fix wrong keyboard meta states used when printing key is pressed
  • fix editor is not focused when soft keyboard is disabled
  • add context-click, hover, and context menu events
  • add mouse support for editor (#​472)
    • select text
    • drag and drop text in editor
    • drag text into editor from other widgets (like TextView)
    • diagnostic tooltip on hover
    • built-in context menu
    • strengthened mouse wheel function

v0.23.1

Compare Source

Hello, 2024! Here's the first major update of sora-editor in 2024.

Release Notes for 0.23.0

Fixes and Enhancements

Editor Core
  • add more XML attributes
  • optionally report cursor anchor position on screen to input method
  • fix failure in fetching scroll factor (#​532 by @​dingyi222666 )
  • fix completion window being cut (#​420 by @​dingyi222666 )
  • fix fuzzyScore sort for completion items (#​538 by @​dingyi222666 )
  • fix that text styles are still used after editor is released
  • add PlainTextAnalyzeManager for plain text that requires completion
  • fix incorrect rendering order of sticky lines and pinned line numbers (#​539 )
  • fix stack overflow when cutting line on last editor line
  • fix thread-safety issues in Content
  • add extended attributes objects for Span, and make Span an interface
  • add span and span range in editor's motion events (click, double-click and long-click) (#​540 )
  • add more editor state events for implementing user-side features
  • fix diagnostic tooltip is not dismissed on focus lost
  • add EditorSpanInteractionHandler as base implementation for clickable spans
  • cut line forward or backward (#​508)
  • fix scroll position auto-adjust
  • add Ctrl+PgUp, Ctrl+PgDn, Ctrl+Shift+PgUp, Ctrl+Shift+PgDn shortcuts
Language Textmate
  • merge TM4E update from upstream
  • enable symbol pairs by default
Language LSP
Language Tree-sitter
  • fix access violation to tree-sitter native objects and thread-safety issues (#​497 )
Language Java
  • add detection for links
Sample App
  • open links in code editor by double-click on it

Breaking Changes and Migration

Editor Selection API

The legacy moveSelectionUp, moveSelectionDown and other methods for moving/extending selection are removed.
Now selection moving and extending are seperated.

  • moveSelection method: de-select any text and move the cursor based on given movement type
  • extendSelection method: update selected range, based on the movement type passed and anchor for current text selecting
  • selection anchor is updated as selection changes and text updates

For selection movement types, please see SelectionMovement enum.

Span API (for custom languages)

Span is now interface class. To migrate to new API, note:

  • replace your field access with setters and getters
  • do not use builder-like calls to set properties of Span
  • you can not directly get underlineColor because it is resolved when the span is rendered

Release Notes for 0.23.1

Apply a minor fix to selection anchor updating.

v0.23.0

Compare Source

v0.22.2

Compare Source

Note: the version is already released on Nov 26, 2023, not now. v0.23.0 will be published recently

Fixes and Enhancements

Editor Core

  • pointer icon for mouse input
  • single direction fling for better scrolling experience (enabled by default)
  • indent selected text on TAB key event (#​482 by @​itsaky )
  • add StaticColorSpan for dynamicly setting color from the analysis (#​485 by @​itsaky )
  • add null checks for CodeBlock list during rendering (#​498 by @​itsaky )
  • add switches to enable/disable soft keyboard (#​505 by @​itsaky )
  • update Numbers class to latest JDK implementation
  • dependency updates

TreeSitter

  • add API to create custom spans with TsSpanFactory (#​484, #​491 by @​itsaky )
  • fix invalid query on TSNode in TsBracketPairs
  • remove redundant checks in LineSpansGenerator
  • update android-tree-sitter to v4.0.0

v0.22.1

Compare Source

Fixes and Enhancements

  • add more textmate colors for tooltip (#​467 by @​PranavPurwar )
  • collapse sticky scroll lines automatically when text is selected for better reading (#​468)
  • memorize cursor position in undo (#​471, originally posted in AndroidIDE#1206)
  • ability to select text between two points. This avoids dragging on screen for long time. (originally posted in AndroidIDE#1215)
  • update tree-sitter version and replace deprecated usages with new ones
  • fix TSTree access violation when fetching bracket pairs
  • remove for-removal outdated class ContentCreator

v0.22.0

Compare Source

This is a major update of editor.

Bugs Fixed

editor core

  • text action tool window causes some bugs in Gboard (#​401 )
  • editor string resource ids can be shadowed easily (#​406 by @​summerain0 )
  • clipboard text inserted is wrong when using code snippets (#​409 by @​itsaky )
  • text regions is sometimes wrongly patched by highlighted delimiters
  • error on old Android device because of un-desugared classes (#​417 by @​MuntashirAkon )
  • platform API TypedArray#close called on unsupported devices
  • null reference in code block list causes crash (#​433 by @​itsaky )
  • inactive tab stops in code snippets mode are wrongly computed (#​438 by @​yuruxuan )
  • platform deprecated class MutableInt is used
  • scaling is still possible when any selection handle is hold (#​452 by @​summerain0 )
  • Styles#finishBuilding call is missing in languages
  • selection handle is not taken into account when editor tries to intercept parent from handling motion events (#​456 )

language-java

editor-lsp

  • LspLanguage#getFormatter may return null values

language-textmate

  • illegal argument is not recognized but NPE is thrown when loading textmate grammar files

New Features and Enhancements

build and CI

  • snapshot builds are automatically published to maven central (#​410 by @​itsaky )
  • update to AGP v8

editor core

  • code snippets: nested placeholder support (#​409 by @​itsaky )
  • better selection handle experience with expanded region for touch detection (#​358 )
  • add sticky scroll for better code reading (#​376, experimental)
  • specific line number background can be modified by applying LineGutterBackground (#​361 )
  • scroll fast when ALT key is pressed

language-textmate

tree-sitter

docs

About Sticky Scroll Preview

This is the first preview of sticky scroll feature and the feature is disabled by default. Please provide feedbacks if you have any.
Sticky Scroll helps you stay oriented in your code as you scroll, which is also introduced in Visual Studio and Visual Studio Code. Refer to this post of Visual Studio for animated preview of the original feature.
In sora-editor, it's now experimentally supported, including the sticky line display and options like scope-keeping policy and max sticky line count. We also added support for click navigation - jumping to the sticky line when clicked.
Hope this feature help you enjoy a better coding experience.

Preview Image in sora-editor

image

v0.21.1

Compare Source

This release includes minor bug fixes and new features.

Bugs Fixed
  • renderer may crash when null code block item is added
  • index out of bounds when selection is between CR and LF
  • CharArrayWrapper#subSequence refers to wrong text start
  • text wrongly inserted between CRLF
  • editor is still listening to text changes after release, causing memory leaks
  • occasional index out of bounds when measuring text in GraphicTextRow
Improvements
  • EditorReleaseEvent is added, allowing you to do some cleanup on destruction
  • add ContentIO for creating/saving Content texts
  • add strikethrough color in scheme
  • simplify composing text update as insertion or deletion if possible (#​357)
  • signature help window for lsp (by @​dingyi222666 )
  • add ThemeModel#isDark for lsp (by @​dingyi222666 )
Notes

ContentReader should be migrated to ContentIO. ContentReader will be removed in future.

v0.21.0

Compare Source

This release includes bug fixes and little improvement as well as minor API changes.

Bugs fixed
  • incorrect horizontal scroll range when renderFunctionCharacter is on
  • TSQuery is not verified before making access to it
  • IME that relies on InputConnection#getSurroundingText gets invalid position description when maxIPCTextLength is exceeded
  • invalid composing text range can be set through EditorInputConnection#setComposingRegion
  • text becomes dirty when using old Gboard to delete characters fast
  • animated row background is on wrong layer
  • empty text is matched repeatly in regex, leading to OOM
  • StringIndex OutOfBoundsException in TextMateNewlineHandler (by @​dingyi222666 )
  • CodeEditor#release does not detach EditorColorScheme
  • NPE when sending message in AsyncIncrementalAnalyzeManager
  • leaking thread by TextMateLanguage#updateLanguage
  • ReplaceAction can be added without its DeleteAction
  • nested undo/redo is possible
  • JavaTextTokenizer does not take down current token (#​349)
  • AsyncIncrementalAnalyzeManager does not update the spans of last line being affected by insertion (#​350)
  • Styles#eraseAllLineStyles raises npe when no line style is there
Improvments
  • better search experience, including support for whole word search, speed improvement of regex search, cyclic jumping and better scrolling strategy (#​321)
  • performance improvement of tree-sitter predicates
  • avoid edge effect in CodeEditor#ensurePositionVisible
  • boost the speed of querying search results by binary search
  • show built-in text actions window on insert handle release
  • add touch slop before magnifier is triggered
  • add I18nConfig for application provided replacement string resources
  • add DirectAccessProps#clipboardTextLengthLimit and add tip when text is unable to be copied due to limit or TransactionTooLargeException
  • more exact position of built-in text actions window
  • editor uses global default color scheme on startup
  • enhanced function of DirectAccessProps#disallowSuggestions (tested on newest Gboard and Sogou Input for MIUI)
  • adapt view parameters for long screenshot in MIUI system
  • add two new accessibility actions since Android M
Updated API
  • new function Content#substring
  • new event PublishSearchResultEvent, which is called when search result is available in main thread or searching is stopped
  • new I18nConfig class for replacing string resources
  • new function add CodeEditor#isAntiWordBreaking
  • [BREAKING] new API in EditorColorScheme for global default theme. All newly-created editors use the global default theme. Your modifications to global default theme will reflect in those editors.
  • [BREAKING] CodeEditor#getScroller now has return type EditorScroller. Get the original OverScroller by EditorScroller#getImplScroller
  • [BREAKING] AsyncIncrementalAnalyzeManager and TsAnalyzeManager will receive thread interruption on exit

v0.20.4

Compare Source

Bugs Fixed

  • member variable highlighting in tree-sitter
  • editor crashes in rendering highlighted delimeters when spans are corrupted
  • EditorDiagnosticTootipWindow can not be got from editor components
  • EventManager can not be disabled

New Features

  • CodeEditor#createSubEventManager()

v0.20.3

Compare Source

v0.20.2

Compare Source

Fixed Bugs

  • indent is unexpectedly doubled in keybinding Ctrl+D
  • default completion layout can not be clicked after animation unless you scroll the list
  • invalid indices are used in editing TSTree in main thread
  • IndexOutOfBoundsException when appending text if tree-sitter is used
  • unable to run predicates after text editions in tree-sitter

New features

  • line info panel style is now a bubble (#​283 )
  • Content.getDocumentVersion() is added for checking document modifications
  • DiagnosticDetail for describing diagnostics and builtin EditorDiagnosticTooltipWindow (#​314 )
  • experimental Quickfix item
  • support members scope in tree-sitter (see LocalsCaptureSpec for more information) and improve speed in finding definitions
  • custom text provider for line info panel LineNumberTipTextProvider

v0.20.1

Compare Source

Fixed a critical bug of tree-sitter code blocks in previous release of 0.20.0

v0.20.0

Compare Source

Use 0.20.1 instead

Bugs fixed

  • memory leaks in LanguageServerWrapper
  • EditorSearcher.gotoPrevious() always jumps to the first item when regex is enabled
  • transparent line in selection handle drawable (#​270 , fixed by @​tegajoel #​312 )
  • whole document becomes black-colored when user is scaling in some languages
  • SimpleAnalyzeManager ignores line separators
  • OnigRegExp returns corrupted cache in multi-threaded access (#​315 by @​xyzxqs )
  • TextReference.toString() does not return string of backed sequence
  • text context region can be unexpectedly bigger the bounds of text (#​318 )
  • textmate newline handler fixs (#​319 by @​dingyi222666 )
  • corePoolSize exceeds maximumPoolSize on 1-core devices (#​320 )

New Features

  • add support for wrap_content in view measuring (not recommended, be cautious)
  • better interaction with vertical scrollbar
  • IdentifierAutoComplete now does not add item that is the same as prefix
  • reselect text after long press again (optional)
  • show ASCII function characters in editor style (optional, enabled by default)
  • tree-sitter support, including highlighting, code blocks and brackets for editor, as well as tree-sitter predicate support

Special Thanks

@​itsaky for android-tree-sitter

v0.19.0

Compare Source

Bugs fixed
  • can't add language with scope not "source" (#​288 by @​dingyi222666 )
  • nullable data bundle in ImePrivateCommandEvent is marked nonnull (#​293 )
  • index out of bounds when rendering in preset composing state (#​294 )
  • magnifier shows when window size is illegal (#​298 )
  • partly broken logic of Content#deleteInternal after introducing line separator types (#​299 )
  • completion window size is not adjusted when size is too small
  • layout is not recreated after scaling when wordwrap is enabled and gutter is disabled
  • occasional invalid height for completion window
  • occasional NPE when searching with regex (AndroidIDE#588)
  • unexpected symbol pair matching for '<' '>' in textmate Java
  • unexpected symbol pair match when pasting text (AndroidIDE#593)
  • selection span can be out of range when shifting cursor in some situations(AndroidIDE#579)
  • posted Runnable can be executed out of editor lifecycle (#​305 )
  • Spans.Reader is not locked during text line rendering, giving chances to hold dirty spanOffset if span content is modified in another thread (#​290 )
  • editor layout state is not check when layout initialization is finished and is trying to update editor state (#​307 )
  • View#post does not execute posted actions on startup, causing pending layoutBusy state (#​308 )
New features
  • updated auto completion ui and sorting method (by @​dingyi222666 )
  • lua language server in sample app (by @​dingyi222666 )
  • expose some internal classes of EditorRenderer for better extension
  • very alpha release of tree-sitter [RIP]

v0.18.1

Compare Source

A major update of editor. This release note covers the updates of 0.18.0 and 0.18.1

Improvements

  • more built-in key bindings (by @​itsaky )
  • update lsp4j to 0.17.0
  • anti-word-breaking option for wordwrap (for English). enabled by default
  • animation for fading scrollbars
  • registry feature in textmate, which provides multi-language highlighting in one file (by @​dingyi222666 )
  • hardwrap marker
  • input connection events BuildEditorInfoEvent and ImePrivateCommandEvent
  • symbol pair completion for textmate (by @​dingyi222666 )
  • updated symbol pair api (by @​dingyi222666 )
  • add bom module (by @​keta1 )
  • support indentationRules in textmate (by @​dingyi222666 )

Fixed Bugs

  • [VITAL] wrong state passed to incremental analysis process when line state-affecting text is inserted
  • selection anchor not updated when moving lines (by @​itsaky )
  • possible crash on low API device #​246
  • measure cache is not verified before being used
  • selection animation is unexpectedly canceled when composing text is present
  • selection scale animation causes visual lag when setting new selection position
  • emoji character is unexpectedly cut in wordwrap mode
  • potential recycled editor in LspEditor#setWrapperLanguage
  • IndexOutOfBoundsException generated during rendering with complex text directions
  • invalid selection position for RTL text under wordwrap mode
  • unable to type after scaling text under wordwrap mode
  • MatchHelper#startsWith not working correctly
  • editor saves redundant undo operation when user is using newest Gboard and some other IMEs
  • CodeEditor#commitTab ignores language settings
  • EditorKeyEvent can not be intercepted

Migration

  • Due to new API of textmate, some methods are deprecated. They are still compatiable until 0.20.0 or so. See #​282 for detailed message
  • NewlineHandler should get textBefore and textAfter by manually slicing given text with the text position
  • refer to new symbol pair interface

v0.18.0

Compare Source

v0.17.2

Compare Source

Bugs Fixed

  • fix unexpected cursor animation when text is not editable
  • fix text selecting issue on low API devices (#​238 )
  • fix unsupported symbol pair is still being used in textmate
  • notify the input method when layout is initialized
  • fix potential nullptr when CodeEdditor#updateStyle is called
  • fix compatibility issues in textmate (#​252 by @​MuntashirAkon )
  • fix symbol input wrongly adding text to editor when editor is not editable (#​253 )
  • fix unnrenderer trailing diagnostics when text is short
  • fix horizontal scrollbar becoming too short to touch when text includes any single long line (#​259 by @​summerain0 )
  • fix selected text color on high API devices
  • fix wrong display of code block lines in textmate when using tabs (#​248 )
  • fix ContentReference.RefReader ignoring line separator type (#​260 )
  • fix completion window not getting hidden when user switches between tabstops
  • fix conflict of edge effect and reversed scroll on Android 11 and below
  • fix NewlineHandler not triggered when completion window is shown
  • fix wrongly inserted line separator in completion window

Improvements

  • add StyleUpdateRange for performance when highlight is updated
  • (BREAKING) separate some less frequently used field to AdvancedSpan from Span
  • support highlightedDelimetersForeground color property in textmate (#​247 by @​PranavPurwar )
  • add optional enchanced functionality of HOME and END
  • reorder the dispatch of content edit event and completion request
  • add support for custom scrollbar styles (#​255 by @​MuntashirAkon )
  • line info panel position can be changed to other places (#​259 by @​summerain0 )
  • improve connection speed of language server (#​262 by @​dingyi222666 )
  • add verticalExtraSpaceFactor for extra space size in vertical viewport

Dependency

v0.17.1

Compare Source

Bugs Fixed

  • fix nullptr when destroying lsp server without completion implementation
  • fix trailing FORMAT sting at snippet end causing index out of bounds
  • fix a bug in JavaTextTokenizer that causes the completion stop

Improvements

  • editor code snippets now support complex variables and placeholders (with transform or choices) as well as usage of \u and interpolated shell code
  • do not log CompletionCancelledException in CompletionThread
  • add SnippetEvent for code snippet events
  • export more API in SnippetController
  • add QuickQuoteHandler (separated from SymbolPairMatch)
  • add code snippet support in editor-lsp backed by editor snippet (by @​dingyi222666 )
  • add StylesUtils#checkNoCompletion
  • enhanced NewlineHandler interface

v0.17.0

Compare Source

Fixed bugs

  • a potential bug in composing text
  • invalid emoji text display when using textmate
  • an exception when using lsp (by @​dingyi222666 )
  • stack overflow in copyLine() (by @​itsaky )
  • potential nullptr when user selects completion item
  • invalid display of code block lines after text style update
  • bug in selecting text when ICU is unavailable (#​238 )
  • occasional index out of bounds in drawText

New features and Improvements

  • Optional bold highlighted delimiters (by @​ikws4 )
  • Better auto completion in lsp (by @​dingyi222666 )
  • Upstream update of tm4e (by @​dingyi222666 )
  • Line number color for current line
  • Very basic support of code snippets (simple tabstops, variables and placeholder. choice and rules are unavailable now)

Breaking changes

tm4e upstream code is changed significantly. You are expected to refer to our sample app for migrating old code.

v0.16.5

Compare Source

v0.16.4

Compare Source

Updates
  • Fix potential bug when format thread continues after setText() is called
  • Merge composing text edits with composing text submission in undo stack
  • Smoother layout update when text size changed after user scaling
  • Optional animation in CodeEditor#ensurePositionVisible
  • Cut unnecessary memory usage of Paint
  • Fix bugs in BlockIntList, which affects horizontal scroll range when wordwrap is disabled
  • Support standalone divider margins for left and right
  • Update style of default text action window
  • Gson dependency update
  • Internal field naming updates
Note

Users who rely on using internal fields should check their reflection targets.

v0.16.3

Compare Source

Updates
  • add shortcut method for setting keywords in textmate auto completer
  • do not show identifier if it is duplicated with a keyword in IdentifierAutoCompleter
  • fix bug in rendering text background when wordwrap is enabled

v0.16.2

Compare Source

Updates

  • fix potential bug in ContentCreator when reading CRLF text
  • fix bug in Content#copyText
  • fix occasional concurrent modification error when invoking ContentBidi and CachedIndexer
  • performance enhancement in text copying
  • some internal code style uniformation
  • add some potential combined character clusters

v0.16.1

Compare Source

Updates

  • Specify line separators for new lines when users edit text in editor
  • Fix Content#subSequence bugs in CRLF text
  • Fix composing text bug in a specific situations when trackComposingText is enabled
  • Do not highlight delimiters when text is selected
  • Remove debug logs
  • Performance enhancement in ContentLine#subSequence

v0.16.0

Compare Source

Performance Enhancements

This release is mainly focused on performance and display correctness. We optimized the speed of highlighting delimiters and the time cost when text is editted. We also add a new mode called "Basic Display Mode", which provides basic display of text and fast measuring speed. However, some features such as RTL and ligatures are disabled when this is enabled.

New Features

  • correct LTR and RTL mixed display
  • customizible round text background factor
  • side icon for lines and its click event are available now
  • mixed CR,LF,CRLF in Content (Note that CodeEditor#setLineSeparator is not complete yet. editor still uses LF for newlines when you edit text in editor)

Bugs fixed

  • fix the width measurement of RTL texts
  • fix bugs in TextRegionIterator

v0.15.1

Compare Source

0.15.1

This is a major update of sora-editor

New features

  • editor-lsp for LSP users, provided by @​dingyi222666
  • new selection position can be provided by formatters
  • code completion in language-textmate (optional)
  • specify whether a scheme is dark and some new color ids for completion window (#​215)
  • specify line background color from language analyzer and these backgrounds are automatically shifted when text is editted
  • highlight matching delimiters (including underline, bold and background) (optional)

Improvements

  • quicker speed when finding index in text
  • use Android 12 introduced new EdgeEffect
  • reusing layout objects and async loading
  • editor is still partially interactive when formatting
  • draw only visible region of diagnostics
  • optimize shifting logic of diagnostics
  • optimize the speed of deleting texts in editor, especially when deleting text with a lot of lines
  • better display of symbols in wordwrap mode, especially in Chinese and Japanese
  • do not recreate layout when text size is not actually changed when the user finishes scaling
  • better user experience when editor is not editable
  • more switches in DirectAccessProps

Fixed bugs

  • fix potential NPE during destruction of AsyncIncrementalAnalyzeManager
  • fix concurrent issue of InsertTextHelper (critical)
  • fix sometimes wrongly drawn newline markers on high API devices

Notice

From next version of sora-editor, the min SDK version will rise to Android API 24 due to better maintainence.

v0.15.0

Compare Source

v0.14.0

Compare Source

Bug fix

  • Fix unnotified text change for IME when undo/redo (#​210 )
  • Fix bad scroll range (#​212 )
  • Bounds check in Content
  • Reset batch edit when Content object is detached
  • Reset all styles when text or language changes

Improvements

  • Indexer and Content share a lock
  • Content has 8x faster speed when inserting
  • Content now recoginzes newline correctly: CR, LF, CRLF are all considered '\n'

New Features

  • Brackets matching and highlighting in language-java and language-textmate (#​194 )

v0.13.1

Compare Source

Fix some issues in composing text

Fix incorrect sticky selection

v0.13.0

Compare Source

Improvements

  • Fix unexpectedly created 512 bytes array when drawing
  • Fix text width caching
  • Optimize memory usage of language-java, language-textmate
  • Optimize speed of analyzing code blocks in language-textmate
  • Cache theme colors in textmate
  • Track composing text when external text changes occur (#​186 #​204)
  • Add new APIs in Layout
  • Fix some deprecations and better RTL support (@​PranavPurwar )
  • Add line spacing APIs
  • Add option for round text background

Chores

  • Update dependencies of textmate & testing instrumentations

Breaking changes

  • UIThreadIncrementalAnalyzeManager is removed
  • IdentifierAutoComplete is updated so that it can be used incrementally
  • IncrementalAnalyzeManager now have integer for line index passed in tokenizeLine

v0.12.0

Compare Source

Bug fix

  • Fix parent view of Magnifier
  • Fix missing invalidate() call in setFontFeatureSettings()
  • Remove unnecessary string resource items
  • Adapt Mircosoft Swift Key
  • Fix potential invalid state of SHIFT and ALT in EditorKeyEvent
  • Fix invalid error indicator line display (invalid phi for the wavy lines)
  • Fix 1 char invisible at line ending sometimes when wordwrap is enabled

New & Improvements

  • Custom scale factor in Magnifier
  • Add time limit for merging undo actions (can be modified by UndoManager#setMergeTimeLimit(long))
  • Better magnifier image quality (@​massivemadness )
  • Better magnifer position when sticky cursor is enabled (@​massivemadness )
  • KeyBindingEvent and some new built-in keybindings (@​itsaky )
  • Improved cursor animation (ScaleCursorAnimation)
  • Diagnostics APIs
  • More diagnostic indicator styles (DiagnosticIndicatorStyle)
  • Approriate default size for diagnostic indicator lines

Breaking changes

  • Span#problemFlags, MappedSpans#markProblemRegion and MappedSpans.Builder#markProblemRegion are removed. Instead, you are expected to replace them with Diagnostic APIs
  • In order to catch up with the updates from tm4e in time, some packages in language-textmate are moved to its original package in tm4e project.

Migration Guide

->Mainly, your work will be miragting your problem marking logic to the new diagnostic API.
Now, the diagnostics are sent by calling StyleReceiver#setDiagnostics(DiagnosticContainer). You are expected to add your DiagnosticRegion objects to the DiagnosticContainer. The container will maintain the positions of those added regions. And also, DiagnosticRegion is described by the start index and end index of the diagnostic item, but not by (line, column) pairs. So you need to compute the index by shadowed Content.
Note that it is not recommended to add new regions to a container that is already being used by editor though the class is thread-safe.
See package io.github.rosemoe.sora.lang.diagnostic.

->package io.github.rosemoe.langs.textmate.core and io.github.rosemoe.langs.textmate.languageconfiguration are moved to org.eclipse.tm4e.core and org.eclipse.tm4e.languageconfiguration

More information

Now editor will show diagnostics with zero length. The editor will show the indicator with a width of the character 'a'.

Note

Maven artifact language-textmate 0.12.0 is broken. Use 0.12.0-1 instead.


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/io.github.rosemoe.sora-editor-editor-0.x branch from 69718f0 to 7bf2a28 Compare November 11, 2025 02:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants