{"full_name":"egoist/mygo","owner":"egoist","name":"mygo","url":"https://github.com/egoist/mygo","description":"Develop desktop apps with native UI or web frontend in Go","homepage":"https://mygo.egoist.dev","topics":[],"language":"Go","license":"MIT","avatar":"https://avatars.githubusercontent.com/u/8784712?u=c9a8fee657b629ea1b9a09df4c958f0ed8fac9b1&v=4","created_at":"2026-09-26T15:21:37Z","pushed_at":"2026-11-10T09:28:19Z","metrics":{"stars":5801,"forks":351,"watchers":15,"issues":394,"prs":1106,"releases":80,"issues_open":null,"issues_closed":null,"prs_open":null,"prs_closed":null,"prs_merged":null,"discussions":0},"growth":{"day":{"stars":226,"forks":15,"base_day":"2026-11-09"}},"history":{"dates":["2026-11-09","2026-11-10"],"stars":[5575,5801],"forks":[336,351],"watchers":[15,15],"issues_open":[null,null],"prs_open":[null,null]},"boards":{"daily":157,"daily_rate":36,"weekly_rate":93,"new":117},"same_owner":[],"issues":[{"number":1444,"title":"ui: Span.Blur, a blur on one run of a paragraph (CSS filter: blur() on an inline box)","comments":2,"created_at":"2026-11-07T11:22:49Z"},{"number":1443,"title":"ui: RadialGradient is a circle only (CSS radial-gradient's ellipse and extent keywords)","comments":2,"created_at":"2026-11-07T11:22:19Z"},{"number":1304,"title":"ui: text only sets across, so a column of Chinese is built a character at a time","comments":2,"created_at":"2026-11-05T08:35:47Z"},{"number":419,"title":"Let tests and agents drive a running app from another process","comments":2,"created_at":"2026-10-16T09:43:37Z"},{"number":105,"title":"[FEATURE] Native UI roadmap: prioritized capability improvements","comments":2,"created_at":"2026-10-06T16:39:17Z"},{"number":1511,"title":"A square Clip touching a rounded Clip's corner rasterizes a mask of the whole rounded clip","comments":1,"created_at":"2026-11-08T20:34:46Z"},{"number":1496,"title":"Opt-in way to present without display pacing (vsync off / uncapped) for benchmarking and latency measurement","comments":1,"created_at":"2026-11-08T14:21:07Z"},{"number":1471,"title":"Long rich text in virtualized lists: selection is lost when rows are recycled, and a long Markdown reply is built whole","comments":1,"created_at":"2026-11-07T17:58:41Z"}],"discussions":[],"latest_release":{"name":"MyGo 0.8.3","tag":"v0.8.3","published_at":"2026-11-07T08:56:09Z","body":"## Changes in behavior\n\nNo breaking changes to the Go API. Two changes code may notice:\n\n- **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)\n- **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)\n\n## Highlights\n\n- **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)\n- **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)\n\n## New\n\n- `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)\n\n## Fixes\n\n### UI and apps\n- 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)\n- 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)\n- `Tester.RightClick` on a list row opens the context menu that the row's content carries. (#1416, reported by @yangdev02 in #1414)\n\n### Graphics\n- 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)\n- 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)\n- 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)\n- Idle clip masks keep within their 32 MB memory budget. (#1408, reported by @fzn0x in #1407)\n\n### macOS\n- 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)\n\n### Windows\n- Animations that change only every other frame free their idle textures. (#1394)\n\n### Linux\n- `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)\n\n### Updates\n- Apps built with this version or later remove the files that a newer version no longer ships w"},"readme":true,"readme_zh":false,"news":[{"title":"MyGo 开源项目教程","url":"https://blog.csdn.net/gitblog_00949/article/details/141343056","source":"blog.csdn","lang":"zh","date":"2024-08-20"},{"title":"开心果 — 用 Go 开发的桌面应用 · Awesome MyGo","url":"https://news.google.com/rss/articles/CBMiO0FVX3lxTE5qX1RfRklwZ0pXQ1hWbU1HendjOHNJLXFTajB6VW9BYlUyN1NIcVV5RzdKeFhpZGphWU1B?oc=5","source":"Howl.Link","lang":"zh","date":"2026-11-08"},{"title":"用 Go 开发跨平台桌面应用：开源项目 mygo 打包体积极小","url":"https://news.google.com/rss/articles/CBMiYkFVX3lxTE16QUdQUktYRV8yV0EyOW00TkZkTkNYMDgxd0RRWk1qcGlobUlyOVZGQXc1S2ZvYTBLRGozR3pOMUpFSEJYR05HQ3hFUE9YTkZ6dzBJOVZDTDJld2k3b2dIZi1n?oc=5","source":"www.80aj.com","lang":"zh","date":"2026-10-26"}],"stale":false,"snapshot_at":"2026-11-10T09:35:25Z","history_start":"2026-09-06"}