Changes in behavior
No breaking changes to the Go API. Two changes code may notice:
- Markdown's default parser reads GitHub mentions and references.
parser.Defaultnow includes alerts, mentions and issue references, so code that walks a document's inlines getsMentionandReferenceinlines where it used to getText. TheirTextfield holds the text as written, andparser.PlainTextand the HTML writer handle them. To keep the old output, parse withparser.Default &^ (parser.ExtMentions | parser.ExtReferences). (#1423) - Generated TypeScript types named
RecordorPromiseget their package's prefix, such asModelsRecord, so they no longer hide TypeScript's built-inRecordandPromiseand the client compiles. Code importing those types uses the new names after regenerating. JSON fields and method names are unchanged. (#1421, @HiPanJin)
Highlights
- GitHub alerts, mentions and issue references in Markdown.
> [!NOTE],[!TIP],[!IMPORTANT],[!WARNING]and[!CAUTION]render as GitHub's alerts with their icons and colors, also while a model's answer is still streaming in, so a chat app never shows the marker as text.@octocatand#123,GH-123oroctocat/hello#123are read as GitHub reads them. WithOptions.Resolve, an issue or PR viewer turns them into links that open the person or the PR in place, andOptions.Previewshows a hover card on any link, mention or reference.Theme.Alertsholds the alert colors. (#1423, @brodienguyen) - Korean text breaks lines between words.
Text,TextInputandTextAreakeep Korean words whole and break at spaces, as CSS'sword-break: keep-alldoes, whenever the text's language is Korean (from the app's language or a span'sLang). A word longer than the line still breaks. (#1405, requested by @yldst-dev in #1403, who wrote the patch it builds on)
New
Page.GPUProcessID()gives the process that does a page's graphics and media, so a music player can capture a web player's sound for a visualizer with a Core Audio process tap on macOS. On Windows it is WebView2's GPU process, and on Linux it is 0. (#1401, requested by @fzn0x in #1397)
Fixes
UI and apps
- Space in an element that takes text itself (
HandleTextInputorTextCaret) inside a scroll view types a space without paging the view. (#1411, reported by @tacshi in #1410) - In a split diff, a hunk's header stays on the old side and ends in an ellipsis before the divider, however far the divider is dragged. (#1415, reported by @yangdev02 in #1413)
Tester.RightClickon a list row opens the context menu that the row's content carries. (#1416, reported by @yangdev02 in #1414)
Graphics
- A clip inside a rounded, clipped view, such as a column filling the bottom of a rounded card, keeps to the card's rounded corners with Metal, Direct3D and OpenGL. (#1420, reported by @Mrhoho in #1418)
- A card turned over in perspective far from the window's top left stays visible, and clips inside it keep to its size. (#1409, reported by @fzn0x in #1406)
- A rounded view that grows over an animation, such as a card opening out of a cover until it fills the window, keeps one mask instead of allocating a new one each frame, so opening it no longer adds a couple of hundred MB of memory. (#1428)
- Idle clip masks keep within their 32 MB memory budget. (#1408, reported by @fzn0x in #1407)
macOS
- With the Korean 2-Set input source, pressing Return while a syllable is composing commits it and also reaches the app, so a chat box sends on the first press. (#1404, reported by @yldst-dev in #1402)
Windows
- Animations that change only every other frame free their idle textures. (#1394)
Linux
Window.SetIgnoreMouseEvents(true)lets clicks through to what is under the window, as on macOS and Windows, for overlays such as desktop lyrics. (#1419, @r0k1s-i)
Updates
- Apps built with this version or later remove the files that a newer version no longer ships when they update on Linux and Windows. (#1400, reported by @fzn0x in #1396)
New Contributors
- @r0k1s-i made their first contribution in #1419
- @brodienguyen made their first contribution in #1423
Full Changelog: v0.8.1...v0.8.3