github egoist/mygo v0.8.3
MyGo 0.8.3

54 minutes ago

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.Default now includes alerts, mentions and issue references, so code that walks a document's inlines gets Mention and Reference inlines where it used to get Text. Their Text field holds the text as written, and parser.PlainText and the HTML writer handle them. To keep the old output, parse with parser.Default &^ (parser.ExtMentions | parser.ExtReferences). (#1423)
  • Generated TypeScript types named Record or Promise get their package's prefix, such as ModelsRecord, so they no longer hide TypeScript's built-in Record and Promise and 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. @octocat and #123, GH-123 or octocat/hello#123 are read as GitHub reads them. With Options.Resolve, an issue or PR viewer turns them into links that open the person or the PR in place, and Options.Preview shows a hover card on any link, mention or reference. Theme.Alerts holds the alert colors. (#1423, @brodienguyen)
  • Korean text breaks lines between words. Text, TextInput and TextArea keep Korean words whole and break at spaces, as CSS's word-break: keep-all does, whenever the text's language is Korean (from the app's language or a span's Lang). 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 (HandleTextInput or TextCaret) 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.RightClick on 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

Full Changelog: v0.8.1...v0.8.3

Don't miss a new mygo release

NewReleases is sending notifications on new releases.