❌

Normale weergave

BSD Release: NetBSD 9.5

6 September 2026 om 14:46
The DistroWatch news feed is brought to you by TUXEDO COMPUTERS. The NetBSD project has announced the fifth and final update to the NetBSD 9.x series. The NetBSD 9 series will no longer receive security updates. "Announcing NetBSD 9.5. Note: this will be the final release from the netbsd-9 stable branch and also marks the end-of-support for this branch.....
  •  

v1.18.29

5 September 2026 om 01:47

Core

Bugfixes

  • Allow Codex OAuth model filtering to recognize integer GPT versions like gpt-6
  • Fixes issue of gpt-6-astra not showing up for openai subscription users

Thank you to 2 community contributors:

  •  

v1.18.28

4 September 2026 om 17:38

Core

Improvements

  • Send the session ID as GitHub Copilot's interaction header to improve request tracking across a session.

Desktop

Bugfixes

  • Use the desktop client ID during OpenCode account device authentication.
  • Increase the open-in app icon size for better visibility.

Thank you to 1 community contributor:

  •  

v1.18.27

2 September 2026 om 23:41

Core

Bugfixes

  • Default provider header timeouts to five minutes so slow model startups fail less often.
  • Default streamed chunk timeouts to five minutes, with false supported to disable them.
  • Let Anthropic thinking.blockBinding opt out via config when you need to keep the provider default. (@dkindlund)
  • Limit Anthropic thinking block binding to Claude 5.1+ models so older deployments do not reject requests.
  • Avoid unhandled errors when canceling timed-out SSE reads. (@AlexanderWillner)

Thank you to 2 community contributors:

  •  

v1.18.26

1 September 2026 om 23:52

Core

Bugfixes

  • Claude 5 sessions now tolerate stale thinking blocks instead of failing after prompt or tool changes.
  • Bedrock GPT-5.6 models now accept none reasoning effort.
  • Bedrock reasoning and replay handling is more reliable. (@pengzh1)
  • Tool call timing now stays accurate when tools update their metadata while still running. (@bartlettroscoe)
  • apply_patch no longer emits an empty move path in permission metadata. (@altendky)

Improvements

  • Azure CLI sign-in now asks for the resource name directly instead of querying Azure management APIs.

Desktop

Bugfixes

  • Session renames now save reliably from the title editor and tab context menu.

Thank you to 3 community contributors:

  •  

v1.18.25

28 Augustus 2026 om 07:58

Core

Bugfixes

  • Fixed Azure authentication so Azure CLI sign-in works without requiring Bun.

  •  

v1.18.24

28 Augustus 2026 om 06:10

Core

Bugfixes

  • Bedrock reasoning responses no longer get cached into unreplayable empty messages.

Improvements

  • Azure providers can now sign in with Microsoft Entra ID through the Azure CLI instead of requiring an API key.
  • V1 now reads supported V2 config fields so newer config files keep working in more mixed setups.

Desktop

Bugfixes

  • Archived sessions disappear from the Home list immediately. (@NathanTCode)

Thank you to 3 community contributors:

  •  

v1.18.23

25 Augustus 2026 om 08:30

Core

Bugfixes

  • Fixed Cloudflare AI Gateway routing for third-party providers so non-Workers models work through the gateway's REST API. (@superhighfives)
  • Fixed Anthropic models through Cloudflare AI Gateway by converting dotted model IDs like claude-haiku-4.5 to the dashed slug Anthropic expects. (@superhighfives)
  • Fixed parent session IDs being sent in request headers for session-aware providers.

TUI

Bugfixes

  • Fixed GitHub auth for immutable OIDC subject tokens.

Thank you to 1 community contributor:

  • @superhighfives:
    • fix(provider): send Anthropic's dashed native slug through the AI Gateway (#44281)
    • fix(provider): route non-native Cloudflare AI Gateway providers via the REST API (#44828)

  •  

v1.18.22

24 Augustus 2026 om 16:43

Core

Bugfixes

  • Removed outdated OpenCode Go first-month discount messaging and pricing.
  • Fixed OpenCode device login links when servers return relative verification URLs or use a base path.
  • Fixed textVerbosity being sent to OpenAI-compatible providers that do not support it. (@joelstucki-taulia)
  • Updated the Amazon Bedrock provider for compatibility fixes.

Desktop

Bugfixes

  • Keep model provider headers visible while scrolling the model picker.

Thank you to 1 community contributor:

  •  

v1.18.21

21 Augustus 2026 om 16:51

Core

Bugfixes

  • Continue responses when a model reports an unknown finish reason instead of stopping early
  • Route Vertex AI eu and us multi-region Gemini requests through REP endpoints

Desktop

Bugfixes

  • Keep file search results visible while the next search is loading
  • Register the archive session command in both desktop layouts (@NathanTCode)

Thank you to 1 community contributor:

  •  

v1.18.20

21 Augustus 2026 om 10:09

Core

Bugfixes

  • Surface failed subagent tool calls with a resumable task_id.
  • Retry provider responses that end with finish_reason: network_error.
  • Retry more network error variants, including network-error and network_error.
  • Surface resumable subagent failures instead of returning an empty result.
  • Preserve Cerebras max_completion_tokens without applying an extra output cap.
  • Answer permission requests triggered by subagents during opencode run.
  • Retry xAI capacity and temporary unavailability stream errors.

  •  

31.4.4

6 September 2026 om 14:53

Release Notes for 31.4.4

Windows Installer
Windows No Installer (zip)
macOS - Universal
Linux - deb, AppImage or rpm

ChangeLog:

  • Uses electron 44.2.0
  • Restricts renderer file reads to paths the user has authorised, so opening and exporting a crafted diagram can no longer read arbitrary local files through the file IPC [GHSA-fjgc-8xgj-rvh4]
  • Corrects the AppImage compression method, so AppImageLauncher and other tools that expect gzip can read the image again [#2538]
  • Updates to draw.io core 31.4.4. All changes from 31.4.2 to 31.4.4 are added in this build.

Testing:

Verified against the packaged, signed macOS build. Linux and Windows packaging changes were verified from the produced release artifacts.

Base checks

  • Launch, open a file passed on the command line, add and edit shapes, undo and redo, save, insert and delete pages
  • Copy and paste through the system clipboard, which changed with Electron 44
  • Export to PNG, SVG and PDF from the app and from the command line
  • Diagram round trip in exported PNG, SVG and PDF, including reopening an exported PDF
  • Command line page selection with -p, and --size page against the default --size diagram
  • Quick Look preview on macOS renders the diagram
  • The macOS bundle is signed with a Developer ID certificate under the hardened runtime and is notarised, and the Quick Look app extension is sandboxed and separately signed
  • The x86_64 and arm64 AppImages are gzip compressed
  • 153 unit tests pass

Read authorisation [GHSA-fjgc-8xgj-rvh4]

  • readFile, fileStat, isFileWritable, watchFile, getFileDrafts, getBkpFile and checkFileExists all refuse paths the user has not authorised, including a symlink planted inside an authorised folder
  • A crafted diagram whose font source points at a local file exports with nothing embedded, checked by scanning the export for the file contents in both plain and base64 form
  • The font URL check rejects the evasions the URL parser would otherwise strip, being leading spaces, tabs and newlines in the scheme, uppercase schemes, and absolute, UNC and protocol relative paths, while still accepting http(s), data: and relative URLs

Checks around the read authorisation change

  • Libraries and templates declared in the configuration still load, and their shapes still appear in the sidebar
  • The configuration widens what may be read and not what may be written, checked by a write to a configured path being refused
  • Custom libraries added in earlier versions keep working after upgrading to this build
  • Drafts, backups, external change detection and the save conflict check still work
  • Authorisations survive a restart, so Recent Files keeps working
  • Saving a shape library opened from a file still writes without reopening the save dialog [#2518] [#2521]

  •  

v0.5.5 - β€œConquistador Coffee”

6 September 2026 om 12:13

0.5.5 (2026-09-06)

  • Feature: [#26423] [Plugin] Add PathNavigator and PathConnection for exploring the footpath network as a graph.
  • Feature: [#26827] [Plugin] Add map resize hook to scripting api.
  • Feature: [#26877] Clear Scenery can now remove footpath additions, and remove walls separately from small scenery.
  • Feature: [#26938] [Plugin] Allow getting and setting caret position for textbox while it is in focus.
  • Improved: [#16269] Unnamed rides in the original Added Attractions & Loopy Landscapes scenarios now use their official names from Rollercoaster Tycoon Classic.
  • Improved: [#19000] Add sprite font glyph for the Won (β‚©).
  • Improved: [#21441] Add sprite font glyph for the Hryvnia (β‚΄).
  • Improved: [#22500] LandSetHeightAction has now proper error message title.
  • Improved: [#23872] Loading a park outside the game now sets the folder of the load/save window, as loading one in-game does.
  • Improved: [#25362] When dragging footpaths, they will now properly adapt to uneven terrain.
  • Improved: [#26099] The ride type selection cheat has been moved into the ride operations tab.
  • Improved: [#26099] The ride visiblity cheat has been moved into the ride colour/appearance tab.
  • Improved: [#26441, #26958] Change result.position.z of SmallScenery- and WallPlaceAction to match the actual position of the placed tile element.
  • Improved: [#26862] Add a Liquid Glass app icon for macOS 26 and later.
  • Improved: [#26931] The save prompt now bounces the macOS dock icon, flashes the Windows taskbar button and marks Linux windows urgent when it blocks quitting an unfocused game.
  • Improved: [#26936] Rain is now drawn next to the top toolbar, but only when it is centred.
  • Improved: [#26996] Ride names in scenarios can now be autopatched.
  • Fix: [#7858] Dropdowns do not close when an action by a plugin or another player in multiplayer closes their parent window.
  • Fix: [#15891] Lower case hard sign is drawn as upper case.
  • Fix: [#18197] Track Designs Manager does not autoload scenery.
  • Fix: [#18415] Preview in the Track Designs Manager is not updated after deleting the first design.
  • Fix: [#18782] Dropdowns do not close and become non-functional when mouse is released outside of the game window.
  • Fix: [#21632] [Plugin] Crash when loading custom image larger than 300 by 300 pixels.
  • Fix: [#22854] Network connections of plugins pile up every time another park is loaded.
  • Fix: [#24520] The close button does not use the sprite font on languages using a TTF font when the enlarged UI is enabled.
  • Fix: [#24610] Graph tabs on Finances window get a little bit longer every time you switch between them.
  • Fix: [#25169] The convert command strips custom objects from the resulting park.
  • Fix: [#25496] The guest pickup button does not grey out when the guest’s state changes while the window is open.
  • Fix: [#25558] [Plugin] Image buttons ignore their explicit border setting when a theme draws borders around them.
  • Fix: [#26056] Freeze when trying to download all objects on save where they are missing.
  • Fix: [#26802] Opening rides with 0 or -1 water cars per train crash the game.
  • Fix: [#26811] Crash when a ride points to a non-existing station object.
  • Fix: [#26816] Water rides ignore zero clearances, preventing adjacent terrain modifications and building them anywhere.
  • Fix: [#26880] Max negative G-Force stat on flat track erroneously reads as 0.49g.
  • Fix: [#26903] Making a ride visible or invisible is always denied in multiplayer.
  • Fix: [#26917] Tile Inspector does not show indestructible track status correctly when β€˜Make all track pieces destructible’ cheat is enabled.
  • Fix: [#26921] The bottom panel buttons for finances, park rating, date, etc. are not invalidating properly.
  • Fix: [#26935] Windows opened on the title screen do not β€˜flash’ around the edges when bringing them back into focus.
  • Fix: [#26938] [Plugin] Caret in textbox not animating or blinking.
  • Fix: [#26954] Land paint price is not updated when selecting columns or rows of tiles by holding down Ctrl.
  • Fix: [#26965] When showing missing objects, some types show up as β€˜Unknown type’.
  • Fix: [#26965] The window with missing objects is displayed under the β€˜Load game’ window.
  • Fix: [#26992] A partial or no car is drawn on the ride vehicle tab if the ride has 0 or fewer cars per train.
  • Fix: [#26996] Correct spelling of some rides in Heide-Park, Diamond Heights and Alton Towers.
  • Fix: [#26996] Scenario patch for Okinawa Coast doesn’t work for CD versions of Wacky Worlds (meaning landscape ownership fixes do not get applied).
  • Fix: [#27004] Windows are moved off-screen when mouse is released outside of the game window.
  • Fix: [#27023] [Plugin] Transparent plugin sprites do not work correctly in software rendering mode.

Release created in https://github.com/OpenRCT2/OpenRCT2/actions/runs/34024796628

SHA256 checksums:

f5d8aac771931b5cf683a34de92f6fc34dc5460fb6c606f987a4000d4016ed79  ./OpenRCT2-v0.5.5-Linux-noble-x86_64.tar.gz
23b50a9f8a6fae33e9c86c3638b0d7575a582ff8bee1e0d20bc791bd1759e1c4  ./OpenRCT2-v0.5.5-windows-symbols-x64.zip
790068a44ee461dd80f0cad22090d2cd2bda58ba1270746285fa912bdcf55e36  ./OpenRCT2-v0.5.5-Linux-resolute-x86_64.tar.gz
db233a2cde7861057f5d70982cb7299066222888f7c796540085ee4eb9a0a7a0  ./OpenRCT2-v0.5.5-Linux-bookworm-x86_64.tar.gz
56c8bade89ca207be137da7853635a572ac9bde0c8fe024371859539ed584606  ./OpenRCT2-v0.5.5-sha256sums.txt
ee677d5d3db4f62213634e21950406b92f23b9391b10485b2d2b6cac779efa55  ./OpenRCT2-v0.5.5-windows-symbols-win32.zip
30fc440e7296f90e90d397e9dc123141a52e7d597c92aef5eddddc4dcadff24c  ./OpenRCT2-v0.5.5-windows-symbols-arm64.zip
6810120d5b7409d1a6f8622a48306f31aeede203bfc51b96b3336ba7cb9faf90  ./OpenRCT2-v0.5.5-windows-portable-x64.zip
47ad04a020dde36265d90854d13f61377ce376bcec2c77b0e191231a10a45eca  ./OpenRCT2-v0.5.5-windows-installer-arm64.exe
0c69b2cc7f278854fe1ba24ba70e03313e83ebc4c80ef4e979c44108bfc1a12a  ./OpenRCT2-v0.5.5-windows-portable-arm64.zip
f5922dd3df9985ef75eb984537b9205bc5b8c795711141a20f2b3d04cb3cd4b3  ./OpenRCT2-v0.5.5-windows-portable-win32.zip
c36b216d3378c9c29a36e29bfc498a7ed93357a48ec06f61f7f658489dc9eb01  ./OpenRCT2-v0.5.5-windows-installer-x64.exe
f04c1c0ba160671389fabe3c09601abec8180d8615a34a57d5c38bec883100ec  ./OpenRCT2-v0.5.5-windows-installer-win32.exe
f3debb61bd9b6cc4c85e4ca4f17c46f76834a1e89f1faac2b694e0a563d9ad7c  ./OpenRCT2-v0.5.5-linux-x86_64.AppImage
fe2117cd916e01e7544964cb5b39b94a31a2380126d09fa5d5995cc9e2224d3a  ./OpenRCT2-v0.5.5-Linux-trixie-x86_64.tar.gz
d02f0a3054106e60186805268828cc80068485ffa324aca7363ae1d69081fb0d  ./OpenRCT2-v0.5.5-macos-universal.zip
8dcabe11c87a5ea8de00a7e083ee3f54bd37239def6cb6f14d2b192492707111  ./OpenRCT2-v0.5.5-android.apk

  •  

v1.21.0

5 September 2026 om 23:36

New major features

Media-over-QUIC

  • support forwarding streams (#6145)

API

  • add /paths/static-sources/get endpoint (#6177) this allows to obtain details about static sources.
  • add type-specific properties to forward destinations (#6178)
  • add type-specific properties to static sources (#6184)

Fixes and improvements

General

  • add --validate-conf flag (#5549) (#6140)
  • use internal/core/VERSION as single source of truth to get version (#6119)
  • httpp: propagate Flush() through the response writer wrappers (#6126) handlerLogger's responseRecorder and handlerWriteTimeout's writeTimeoutWriter both wrap http.ResponseWriter but implement neither http.Flusher nor Unwrap(). Any handler that flushes mid-response has that flush silently dropped, and its output only reaches the client when the handler returns. That defeats the stated purpose of writeTimeoutWriter, whose own comment says it exists so one can "write long responses, splitted in chunks, without causing timeouts": the deadline is reset per Write(), but nothing ever leaves the buffer until the end. Found while adding a server-sent-events endpoint: events written and flushed at t=0.4s onlyreached the client at t=2.2s, when the handler returned. Adding Flush() plus Unwrap() (so http.ResponseController can reach through) fixes both. The new test drives a real listener throughboth wrappers and reads while the handler is still blocked, so it fails on the current code by hitting the read deadline.
  • support setting read buffer size on macOS (#6128) (#6131)
  • drop support for Debian Bullseye (#6137) Bullseye reached EOL on 31st august 2026.
  • emit "closed" log message when a server is closed (#6152)
  • fix external command exit code reporting on non-Windows platforms (#6155)
  • conf: support YAML version directives (#6157)
  • metrics: add 'pos' property to forward_dests (#6183)
  • metrics: deprecate the 'remoteAddr' property (#6174) Metrics are meant to provide aggregate statistics, not per-peer properties, that can be accessed through the API. The property is still served to keep backward compatibility.
  • metrics: add 'type' to forward dests, deprecated 'protocol' (#6170) 'type' is aligned with the terminology used in the rest of the server.
  • metrics, pprof: set default Allow-Origins to empty list (#6165) This prevents cross-site attacks to the API with the default configuration.
  • always-available: support disabling recording when the source is offline (#6182) Add alwaysAvailableRecorded parameter that controls whether recording happens during offline periods for always-available paths. When set to false, recording only starts when a real source is connected. Co-authored-by: Abdulrahman Nashaat abdelrahmanndev@gmail.com
  • allow sources and forward destinations with an empty password (#6193) Restore the behavior introduced in #395 and accidentally reverted by #5779, which factored the RTMP/HLS credential check into validateURL() and applied it to RTSP sources too. A username with an explicitly empty password is valid per RFC 3986 and is required by some legacy cameras whose password cannot be set. It is now accepted for every scheme handled by validateURL(), including forward destinations. A username without password or a password without username is still rejected,with a clearer error message pointing to the right syntax.
  • fix wrong validation of HTTP allowed origins (#6198) An allowed origin with wildcards was making the server accept origins with a different scheme. This is fixed.
  • fix HTTP allowed origins dots being interpreter as any character (#6199) A dot in an HTTP allowed origin now requires a corresponding dot in an incoming origin.
  • serve Origin: Vary header with Access-Control-Allow-Origin (#6200) This prevents CDNs from caching the Access-Control-Allow-Origin header regardless of the origin.
  • stop returning wildcard in Access-Control-Allow-Origin (#6201) if domain is allowed, return the domain, otherwise nothing.
  • pmp4, fmp4: stop validating inbound H264/H265 SPS (bluenviron/mediacommon#366) Validating SPS adds latency and is generally redundant.
  • pmp4, fmp4: do not accept empty H264/H265 parameters (bluenviron/mediacommon#367)
  • h265: fix DTS extraction of streams with temporal sub-layers (bluenviron/mediacommon#368) The picture-type switches in the H265 DTS extractor accepted only TRAIL_N/TRAIL_R/RASL_N/RASL_R, so an access unit whose slices are TSA_N/TSA_R/STSA_N/STSA_R (Rec. ITU-T H.265, table 7-1, types 2-5) fell through to "access unit doesn't contain an IDR or non-IDR NALU" and the stream could never be recorded. TSA and STSA pictures use the same slice segment header syntax as TRAIL pictures, so handle them in the same way. Co-authored-by: aler9 46489434+aler9@users.noreply.github.com

API

  • add 'type' to forward dests, deprecated 'protocol' (#6170) 'type' is aligned with the terminology used in the rest of the server.
  • set default Allow-Origins to empty list (#6165) This prevents cross-site attacks to the API with the default configuration.
  • deprecate 'conf' field of forward destinations (#6175) configuration is already available through the confName property of the path.
  • refactor endpoint names (#6172) group endpoints by category (i.e. /hls/muxers, /hls/sessions), rename /forward/* into /forward-dests/*, use kebab-case. Backward compatibility is preserved by still serving old endpoints.

Media-Over-QUIC

  • rename boolean header fields (#6148) rename Properties into HasProperties, FirstObject into IsFirstObject
  • add shared Conn interface (#6149)
  • close server streams when no longer in use (#6151) Explicitly close bidirectional and unidirectional streams that were previously keep open for the entire duration of the session. Note that closing a stream in QUIC/WebTransport means telling the peer that "we are not sending data anymore", while still allowing inbound data.
  • add shared client (#6150)
  • impose a 100MB limit on reordered bytes per session (#6194) previously, the limit was per-track. This decreases the probability of incurring in an out-of-memory situations.

RTSP

  • redact credentials in logs (#6158)
  • demux MPEG-TS from static source pull (#6181) When rtspDemuxMpegts is set, a pulled single MP2T track is demuxed into elementary streams, matching RTSP publishers, so HLS can attach. Co-authored-by: remreaygan remreaygan@gmail.com Co-authored-by: aler9 46489434+aler9@users.noreply.github.com
  • support setting read buffer size on macOS (#6128) (bluenviron/gortsplib#1143)
  • client: ignore invalid source IPs in SETUP responses (bluenviron/gortsplib#1070) (bluenviron/gortsplib#1145)
  • fix decoding and encoding fragmented MPEG-4 audio packets (bluenviron/gortsplib#1150) The AU-size field was set incorrectly in subsequent fragments.
  • stop validating inbound H264/H265 SPS (bluenviron/gortsplib#1151) Validating SPS adds latency and is generally redundant.
  • Support SDES (RFC 4568) SRTP key exchange for RTSP/RTSPS sources (bluenviron/gortsplib#1148)
  • rtpklv: do not reuse buffer of returned KLV units (bluenviron/gortsplib#1154) Decode() returns a slice that points to the decoder's internal buffer, and the next call to Decode() overwrites that same array in place. A caller that holds the previous unit - for instance while it is being recorded or forwarded on another goroutine - ends up reading the bytes of the next unit, or a torn mix of both when the sizes differ. Clear the buffer instead of truncating it, so each unit gets its own array. This is what the h264, h265, av1, vp8 andmpeg1video decoders already do, at the cost of one allocation per unit.
  • auth: support qop=auth in digest client (bluenviron/gortsplib#1074) (bluenviron/gortsplib#1155) The client never looked at the qop directive of a digest challenge and always computed the legacy RFC 2069 response, so servers that require qop="auth" - as most RFC 7616 implementations do - rejected every request with a 401. Parse qop in WWW-Authenticate, and when the server offers "auth", send qop, cnonce and nc and compute the response as H(HA1:nonce:nc:cnonce:qop:HA2) (RFC 7616, section 3.4.1). The nonce count increases at every request, as required. Challenges without qop keep the previous behavior. auth-int is not implemented. Also copy the opaque value of the challenge into the Authorization header, which RFC 7616 section 3.3 says the client should return unchanged. Co-authored-by: aler9 46489434+aler9@users.noreply.github.com
  • client: remove Content-Length from HTTP tunnel GET request (bluenviron/gortsplib#1158)
  • rtpav1: do not set Y/Z bits when no OBU bytes were written (bluenviron/gortsplib#1153) When the remaining space in a packet is too small to hold any byte of thenext OBU, the encoder writes nothing but still marks the current packet with Y=1 and the following one with Z=1. The AV1 RTP payload format (v1.0, section 4.4) requires both bits to be 0 unless an OBU element is actually fragmented across the two packets. Receivers that honor the bits therefore join two complete OBUs into one: this happens with the decoder in this package, with pion/rtp and with ffmpeg. It is reachable whenever an earlier OBU leaves exactly 0 free bytes (or 0-2 when the next OBU is size-prefixed), so it affects streams that are repacketized, e.g. non-RTSP sources read over RTSP in mediamtx. Co-authored-by: aler9 46489434+aler9@users.noreply.github.com

RTMP

HLS

  • validate hlsSegmentCount according to the HLS variant (#6154)

WebRTC

  • Register RTX for incoming video tracks (#6125)
  • fix deprecated webrtcICEServers parser for IPv6 hosts; (#5932)

RPI Camera

Dependencies

  • code.cloudfoundry.org/bytefmt updated from v0.85.0 to v0.88.0
  • github.com/bluenviron/gohlslib/v2 updated from v2.4.3 to v2.4.4
  • github.com/bluenviron/gortmplib updated from v1.0.1 to v1.0.2
  • github.com/bluenviron/gortsplib/v5 updated from v5.6.4 to v5.6.5
  • github.com/bluenviron/mediacommon/v2 updated from v2.9.3 to v2.9.4
  • github.com/matthewhartstonge/argon2 updated from v1.5.6 to v1.5.7
  • github.com/pion/webrtc/v4 updated from v4.2.18 to v4.2.19
  • github.com/quic-go/quic-go updated from v0.61.0 to v0.62.0
  • github.com/quic-go/webtransport-go updated from v0.12.0 to v0.13.0
  • github.com/stretchr/testify updated from v1.12.0 to v1.12.1
  • github.com/dunglas/httpsfv updated from v1.1.0 to v1.1.1
  • github.com/pion/stun/v3 updated from v3.1.6 to v3.1.7
  • github.com/pion/turn/v5 updated from v5.0.12 to v5.0.13
  • gopkg.in/yaml.v3 removed
  • go.yaml.in/yaml/v3 v3.0.5 added
  • github.com/bluenviron/mediamtx-rpicamera updated from v2.8.0 to v2.9.0
  • hls.js updated from v1.7.0 to v1.7.2

Security

Binaries are compiled from source code by the Release workflow, which is a fully-visible process that prevents any change or external interference in produced artifacts.

Checksums of binaries are also published in a public blockchain by using GitHub Attestations, and they can be verified by running:

ls mediamtx_* | xargs -L1 gh attestation verify --repo bluenviron/mediamtx

You can verify checksums of binaries by downloading checksums.sha256 and running:

cat checksums.sha256 | grep "$(ls mediamtx_*)" | sha256sum --check

  •  

Distribution Release: Zenwalk GNU Linux Current-260905

5 September 2026 om 22:05
The DistroWatch news feed is brought to you by TUXEDO COMPUTERS. Zenwalk GNU Linux is a Slackware-based desktop distribution. The project's latest snapshot integrates Flatpak support and includes version 7.1.7 of the Linux kernel. "One of the improvements in this milestone is the integration of native Flatpak support directly into the Zenwalk desktop. Flatpak is installed and configured out....
  •  

SCS On The Road: Isle of Ireland Research Trip

Door: Alex
5 September 2026 om 17:00

Recently, we shared a blog with details about our Ireland research trip, where members of our Map team, QA team, and our Road Specialist travelled across the Emerald Isle to gather important references, take photos, and experience the roads and locations that will help us recreate our upcoming Isle of Ireland DLC for Euro Truck Simulator 2.Β 

In that blog, we also mentioned that our cameras were rolling throughout the journey, as we worked on a special SCS On The Road episode documenting the trip. Today, we're happy to finally share it with you!

Join Alex, one of our Community Managers, and the team as we take you across Ireland, visit some of the locations featured in our research, and give you a closer look at what goes into gathering the references and information our teams use during development.



We hope you will enjoy coming along for the ride! If you enjoyed the episode, and would like to see more like it, be sure to leave a like, and a comment on where in Ireland you'd love to visit! If you're excited about the upcoming Isle of Ireland DLC, don't forget to add it to your Steam Wishlist! Until next time, keep on truckin'!Β 

  •  

v0.20.0-rc.1

5 Juli 2026 om 07:55

❗ This is a pre-release

  • May contain bugs and unfinished features.

⚠️ Note for macOS users

Builds are unsigned (no Apple Developer ID). After dragging MarkText into Applications, clear the quarantine flag once:

xattr -cr /Applications/marktext.app

Verifying downloads

All artifacts are listed with their SHA-256 in SHA256SUMS.txt. Verify with:

sha256sum -c SHA256SUMS.txt --ignore-missing

What's Changed

  • fix(desktop): resolve Homebrew/standard bin dirs for GUI launches by @Jocs in #4796
  • fix(muya): show and slug TOC headings by rendered plain text (#3516) by @Jocs in #4811
  • Add UKey Wallet sponsor to README and website by @Jocs in #4819
  • fix(desktop): apply editor max-width preference to @muyajs/core content column (#4828) by @Jocs in #4830
  • Add Bengali README and links by @FahimFBA in #4823
  • fix(muya): skip identity operations during deferred flush by @tech-hoon in #4815
  • fix(muya): harden History against identity (null) json-change ops by @Jocs in #4838
  • fix(muya): stop inline math showing a scrollbar for trailing sub/superscripts (#4837) by @Jocs in #4839
  • fix(muya): isolate mermaid render failures during export (#4812) by @Jocs in #4840
  • fix(desktop): correct English typos in locale and preference schema (#4787) by @Jocs in #4845
  • fix(muya): stop double percent-encoding autolink hrefs by @Jocs in #4841
  • fix(muya): keep pasted list items in order when merging mid-list by @Jocs in #4842
  • fix(desktop): confirm before opening executable link targets (code execution) by @Jocs in #4843
  • fix(muya): keep soft line breaks when exporting to HTML/PDF by @Jocs in #4844
  • fix(muya): show escaped pipe in table cell code as | not | (#4849) by @Jocs in #4850
  • fix(muya): preserve fenced code block info string on round-trip (#4770) by @Jocs in #4846
  • fix(muya): load Prism component dependencies in order (fixes flaky c++ load) by @Jocs in #4861
  • refactor(muya): treat the code fence info string as the source of truth (CommonMark) by @Jocs in #4856
  • fix(muya): call h1-h6 "headings" not "headers" in the insert menu by @Jocs in #4854
  • fix(desktop): don't crash on unwatchable image directories (UNC/WSL paths) by @Jocs in #4853
  • fix(desktop): save files atomically to prevent data loss on crash by @Jocs in #4852
  • fix(desktop): make crash-recovery buffer writes durable against power loss by @Jocs in #4864
  • fix(muya): render extensionless remote images served with a charset (shields.io badges) by @Jocs in #4857
  • fix(muya): follow the link when modifier-clicking a linked image by @Jocs in #4858
  • fix(muya): follow the link on Ctrl/Cmd-click for reference-linked and raw-HTML linked images (#4865) by @Jocs in #4866
  • fix(desktop): keep TOC collapse state across tab switches by @Jocs in #4860
  • fix(desktop): flush pending edits before saving (dropped last keystroke) by @Jocs in #4859

New Contributors

Full Changelog: v0.20.0-beta.5...v0.20.0-rc.1

  •  

v0.20.0-beta.5

2 Juli 2026 om 16:54

❗ This is a pre-release

  • May contain bugs and unfinished features.

⚠️ Note for macOS users

Builds are unsigned (no Apple Developer ID). After dragging MarkText into Applications, clear the quarantine flag once:

xattr -cr /Applications/marktext.app

Verifying downloads

All artifacts are listed with their SHA-256 in SHA256SUMS.txt. Verify with:

sha256sum -c SHA256SUMS.txt --ignore-missing

What's Changed

  • fix(muya): scroll wide math blocks instead of clipping by @Jocs in #4751
  • fix(desktop): route undo/redo to CodeMirror in source code mode by @Jocs in #4752
  • fix(muya): leave Tab to the IME during composition by @Jocs in #4753
  • fix(desktop): add a context menu to the sidebar root folder by @Jocs in #4754
  • fix(muya): preserve code fence length on serialize by @Jocs in #4755
  • fix(muya): refresh math/diagram preview on undo by @Jocs in #4756
  • fix(desktop): resolve relative local links on export by @Jocs in #4757
  • fix(muya): require a word boundary before an emoji shortcode by @Jocs in #4758
  • fix(desktop): don't overwrite an existing file when creating from the sidebar by @Jocs in #4759
  • fix(desktop): ignore content-identical file-change events by @Jocs in #4760
  • fix(desktop): make the source-mode selection visible on dark themes by @Jocs in #4771
  • fix(desktop): persist export dialog options across sessions by @Jocs in #4768
  • fix(muya): convert $$ to a math block in place inside a list item by @Jocs in #4767
  • fix(muya): self-close generated tags for JSX/MDX compatibility by @Jocs in #4766
  • fix(muya): preserve current-line indent on Enter in code fences by @Jocs in #4761
  • fix(muya): make autolinks and bare URLs followable on Cmd/Ctrl-click by @Jocs in #4763
  • fix(muya): exclude selection whitespace when applying inline format by @Jocs in #4762
  • fix(desktop): make empty-state CTA button labels readable in all themes by @Jocs in #4775
  • fix(muya): surface the KaTeX parse error for invalid math by @Jocs in #4764
  • fix(desktop): keep sidebar width + tree collapse state across icon toggle by @Jocs in #4769
  • fix(muya): recognize c++/h++ as aliases for the cpp code grammar by @Jocs in #4794
  • fix(muya): don't highlight LaTeX \% as a comment by @Jocs in #4795
  • fix(muya): recolor sequence-diagram text/boxes for dark themes by @Jocs in #4800
  • fix(muya): keep image resize handles attached on layout reflow by @Jocs in #4802
  • fix(muya): make cpp c++/h++ alias registration idempotent by @Jocs in #4816
  • fix(desktop): preserve TOC collapse state across content edits by @Jocs in #4803
  • fix(desktop): make Paragraph/Format commands inert in source mode (grey out menus) by @Jocs in #4810
  • fix(desktop): New File on a collapsed sidebar folder expands it by @Jocs in #4809
  • fix(desktop): select the query when re-opening the Find bar by @Jocs in #4807
  • fix(desktop): keep diagram content when exporting with Header & Footer by @Jocs in #4805
  • fix(desktop): list bundled fonts in the font picker by @Jocs in #4801
  • fix(desktop): remove doubled Edit-menu separator on Windows/Linux by @Jocs in #4797
  • fix(desktop): generate a PDF outline from headings on export by @Jocs in #4798
  • fix(desktop): avoid PDF/print page breaks right after a heading by @Jocs in #4799

Full Changelog: v0.20.0-beta.4...v0.20.0-beta.5

  •  

v0.20.0-beta.4

26 Juni 2026 om 19:04

❗ This is a pre-release

  • May contain bugs and unfinished features.

⚠️ Note for macOS users

Builds are unsigned (no Apple Developer ID). After dragging MarkText into Applications, clear the quarantine flag once:

xattr -cr /Applications/marktext.app

Verifying downloads

All artifacts are listed with their SHA-256 in SHA256SUMS.txt. Verify with:

sha256sum -c SHA256SUMS.txt --ignore-missing

What's Changed

  • fix(renderer): keep the key bindings hover row readable on dark themes by @FurkaanBoraa in #4719
  • fix(renderer): make the custom dictionary table readable on dark themes by @FurkaanBoraa in #4721
  • feat(muya): self-contained editor typography via --mu-* options by @Jocs in #4722
  • refactor(desktop): consume muya self-contained typography, remove shell style injection by @Jocs in #4726
  • fix(muya): move preview toolbar to the block's top-right by @Jocs in #4734
  • fix(renderer): hide muya float tools in source-code mode by @Jocs in #4732
  • fix(desktop): remove duplicate title when using the native title bar by @Jocs in #4630
  • fix(muya): keep a nested sublist when forward-deleting an empty list item (#1845) by @Jocs in #4725
  • fix(muya): remove the inner format when un-toggling a nested inline run (#2063) by @Jocs in #4727
  • docs: add commenting guidelines by @Jocs in #4738
  • fix(muya): escape parentheses in inserted image paths (#3060) by @Jocs in #4728
  • fix(muya): decode HTML entities in fetched page titles when pasting a URL (#2525) by @Jocs in #4729
  • fix(muya): reset search state when the document is replaced (#1932) by @Jocs in #4730
  • fix(muya): split on Enter over a cross-block selection (#2443) by @Jocs in #4735
  • fix(muya): let Enter replace a selection when the format toolbar is shown (#3196) by @Jocs in #4736
  • fix(muya): stop punctuation after a link wrapping to its own line (#2258, #3025) by @Jocs in #4737
  • chore: audit Claude-authored comments against the commenting guidelines by @Jocs in #4740
  • fix: normalize HTML task-list paste by @Renakoni in #4710
  • fix: preserve bare URL HTML links on paste by @Renakoni in #4711
  • fix: preserve whitespace-only plain text paste by @Renakoni in #4706
  • fix: preserve nested HTML lists under ordered parents by @Renakoni in #4709
  • fix: prevent nested empty list items from becoming setext headings by @Renakoni in #4697
  • fix: preserve empty task list items when parsing markdown by @Renakoni in #4696
  • fix: remove ~1s sidebar delay for newly created files (#3955) by @Jocs in #4744
  • fix(i18n): degrade malformed translations to raw text instead of crashing (#4046) by @Jocs in #4745
  • fix: vertically center task list checkbox with item text by @Jocs in #4750
  • fix(desktop): prefer UTF-8 when a file is valid UTF-8 instead of trusting ced (#3151) by @Jocs in #4739
  • fix(desktop): scroll the view up when the caret moves above the viewport (#3329) by @Jocs in #4742
  • fix: scroll the active tab into view on tab switch (#3958) by @Jocs in #4743

Full Changelog: v0.20.0-beta.3...v0.20.0-beta.4

  •  

v0.20.0-beta.3

25 Juni 2026 om 17:19

❗ This is a pre-release

  • May contain bugs and unfinished features.

⚠️ Note for macOS users

Builds are unsigned (no Apple Developer ID). After dragging MarkText into Applications, clear the quarantine flag once:

xattr -cr /Applications/marktext.app

Verifying downloads

All artifacts are listed with their SHA-256 in SHA256SUMS.txt. Verify with:

sha256sum -c SHA256SUMS.txt --ignore-missing

What's Changed

  • fix(desktop): restore vue-tsc typecheck (vite 7 PluginOption) by @Jocs in #4667
  • fix(release): support immutable releases (draft-then-promote) + docs by @Jocs in #4666
  • fix(muya): undo/redo corruption on coalesced paragraphβ†’list + text edits by @Jocs in #4669
  • fix(renderer): keep find-bar prefill from being clobbered on open by @NSO73 in #4646
  • fix(muya): preserve nested-list indentation in RTL mode by @Jocs in #4676
  • fix(muya): load mhchem onto the same katex instance so \ce renders (#4670) by @Jocs in #4674
  • fix(muya): keep inline links that are followed by a bare URL or text (#4671) by @Jocs in #4672
  • fix(keybinding): sync menu bar and command palette when keybindings change by @Jocs in #4681
  • fix(muya): guard detached code block in language selector (#4654) by @Jocs in #4677
  • test(e2e): stabilize flaky search-prefill test (wait for selection commit) by @Jocs in #4682
  • fix: export PDF/HTML/print in the editor's text direction (RTL) by @Jocs in #4678
  • fix(muya): create a code-block when typing ``` + Enter inside block-quotes and lists by @Jocs in #4689
  • fix(muya): prevent undo/redo exceptions from permanently disabling history (#4685) by @Jocs in #4692
  • fix(muya): auto-hide inline markers when holding an arrow key out of a token by @Jocs in #4694
  • test(e2e): replace fixed waits with expect.poll in editor-input by @NSO73 in #4695
  • fix: normalize first-row colspan table paste by @Renakoni in #4707
  • fix(renderer): use the theme text colour for the key bindings list (#3937) by @FurkaanBoraa in #4713
  • fix: wrap selected text when typing auto-pair characters by @Renakoni in #4698
  • fix(muya): skip empty sibling containers in caret navigation (#4644 follow-up) by @FurkaanBoraa in #4715
  • fix(muya): stop the paragraph front-menu from acting on a stale block (#4686) by @Jocs in #4714
  • fix(muya): re-sync the live tree from json state when an undo/redo apply throws by @Jocs in #4717
  • fix(desktop): paint the launch window in the active theme's background (#3957) by @FurkaanBoraa in #4718

New Contributors

Full Changelog: v0.20.0-beta.2...v0.20.0-beta.3

  •  

v0.20.0-beta.2

23 Juni 2026 om 17:57

❗ This is a pre-release

  • May contain bugs and unfinished features.

⚠️ Note for macOS users

Builds are unsigned (no Apple Developer ID). After dragging MarkText into Applications, clear the quarantine flag once:

xattr -cr /Applications/marktext.app

Verifying downloads

All artifacts are listed with their SHA-256 in SHA256SUMS.txt. Verify with:

sha256sum -c SHA256SUMS.txt --ignore-missing

What's Changed

  • chore(release): v0.19.0 release branch (DO NOT MERGE until stable) by @Jocs in #4269
  • chore: bump develop to 0.20.0-dev by @Jocs in #4296
  • docs(release): update Step 7 asset list to 24 by @Jocs in #4298
  • docs(end-user): align user docs with 0.19 prefs and platform matrix by @Jocs in #4300
  • docs(dev): sync developer docs with current codebase by @Jocs in #4299
  • chore: convert repo to pnpm monorepo (packages/desktop, muyajs, website) by @Jocs in #4302
  • refactor(website): migrate to Next.js 15 + Cloudflare Workers CI by @Jocs in #4305
  • feat(website): serve www.marktext.me (301 β†’ apex) by @Jocs in #4308
  • fix(website): wwwβ†’apex redirect (middleware) + smarter preview-URL parsing by @Jocs in #4309
  • ci(website): enable Preview URLs on marktext-website Worker by @Jocs in #4311
  • refactor(website): redesign landing page, drop markdown engine deps by @Jocs in #4312
  • feat(muya): migrate TS rewrite to packages/muya alongside legacy muyajs by @Jocs in #4314
  • feat(website): add /docs route and consolidate docs/ under packages/website/ by @Jocs in #4316
  • fix: replace remaining absolute raw.githubusercontent.com URLs with relative paths in READMEs by @Jocs with @Copilot in #4329
  • fix(website): serve prerendered docs pages via static-assets cache by @Jocs in #4335
  • fix(website): open download buttons in new tab pointing to releases page by @Jocs in #4336
  • refactor(website): simplify docs subtree (palette / sidebar / markdown / nav) by @Jocs in #4349
  • refactor(website): simplify landing page (helpers, types, data-driven blocks) by @Jocs in #4350
  • chore(website): tighten middleware matcher; drop unused 'use client' by @Jocs in #4351
  • fix(muyajs): preserve nested lists of differing types (#4341) by @Jocs in #4354
  • fix(muyajs): allow CJK ideographs as flanking boundary for emphasis by @Jocs in #4355
  • fix(muyajs): clamp setStart offset to legal range to prevent IndexSizeError (#2800) by @Jocs in #4358
  • fix(muyajs): null-guard list block paths to prevent renderer crash (#4346) by @Jocs in #4359
  • fix: restore local builds after monorepo split by @Jocs in #4361
  • fix(release): add repository field for electron-builder by @Jocs in #4368
  • fix(muyajs): split correct paragraph on Enter in multi-block list items (#4374) by @Jocs in #4376
  • fix(renderer): improve graphite contrast and unify accent colors (#4377) by @Jocs in #4378
  • feat(muya): expose desktop-required public API accessors by @Jocs in #4381
  • feat(muya): expose themeable CSS variables and diagram theming by @Jocs in #4382
  • feat(muya): add block duplicate/insert/delete public API by @Jocs in #4384
  • feat(muya): restore flowchart and sequence diagrams by @Jocs in #4385
  • feat(muya): add ImagePathPicker floating autocomplete UI by @Jocs in #4386
  • fix(muya): unbreak lint:css (stylelint 17 compatibility) by @Jocs in #4388
  • feat(muya): add cursorCoords + active formats to selection-change by @Jocs in #4387
  • feat(muya): implement focus mode (dim inactive blocks) by @Jocs in #4389
  • feat(muya): emit format-click and preview-image interaction events by @Jocs in #4390
  • feat(muya): add updateParagraph block-type conversion API by @Jocs in #4391
  • feat(muya): add runtime setOptions / setFont / setTabSize / setListIndentation by @Jocs in #4393
  • feat(muya): add spellcheck word-replacement API by @Jocs in #4392
  • feat(muya): serialize/restore undo history by @Jocs in #4394
  • feat(muya): add invalidateImageCache by @Jocs in #4396
  • test(muya): port MarkText regression cases (#4341/#4307/#4190) by @Jocs in #4399
  • feat(muya): add createTable / insertImage / setCursor API by @Jocs in #4397
  • feat(muya): add clipboardFilePath paste hook by @Jocs in #4398
  • fix(muya): treat CJK as punctuation for strong/em flanking (#4307) by @Jocs in #4401
  • feat(desktop): consume @muyajs/core in util files (markdownToHtml/pdf/dompurify/printService/sourceCode/icon) by @Jocs in #4402
  • feat(desktop): add kebab-case editor CSS vars to themes for @muyajs/core by @Jocs in #4404
  • feat(desktop): migrate editor.vue to @muyajs/core engine by @Jocs in #4406
  • fix(i18n): unify quick-insert hint to "/" trigger by @Jocs in #4405
  • test(parity): failing-test scoreboard for #4406 muyajsβ†’@muyajs/core gaps by @Jocs in #4407
  • fix(muya): insertParagraph immediate-block anchoring in nested blocks (PG13) by @Jocs in #4408
  • fix(muya): consume autoCheck + hideLinkPopup options (PG3/PG12) by @Jocs in #4409
  • feat(muya): expose block affiliation in selection-change (PG1) by @Jocs in #4410
  • feat(muya): restore clipboard image paste + imageAction routing + copyAsRich (PG5/PG6/PG9) by @Jocs in #4411
  • fix(muya): inline export CSS + heading ids for offline export & TOC anchors (PG7/PG8) by @Jocs in #4412
  • feat(muya): emit preview-image + heading-copy-link events (PG10/PG11) by @Jocs in #4414
  • feat(muya): restore drag-and-drop image insertion (PG4) by @Jocs in #4413
  • feat(desktop): wire @muyajs/core parity APIs (menu state, copyAsRich, heading-link, source cursor, saved indicator) by @Jocs in #4415
  • fix(desktop): pass imageAction + getPathForFile to Muya constructor (re-activate PG4/5/6) by @Jocs in #4417
  • fix(muya): resolve pre-existing lint:css no-descending-specificity by @Jocs in #4419
  • fix(muya): record source-mode bulk edit as a single undo boundary (PG14) by @Jocs in #4420
  • test(desktop): remove redundant muyajs-engine unit specs (Phase F) by @Jocs in #4422
  • fix(desktop): retarget theme.ts editor CSS at muya mu-* classes (E4) by @Jocs in #4421
  • fix(desktop): port print image-src resolution off muyajs (last muya/lib import) by @Jocs in #4423
  • fix(muya): crash typing '#' β€” guard I18n.t + add heading-copy-link locale key by @Jocs in #4424
  • fix(muya): add missing image i18n keys ('Click to add an image' / 'Load image failed') by @Jocs in #4427
  • fix(muya): render relative image paths anchored to the document dir (Phase G blocker) by @Jocs in #4428
  • fix(desktop): Editβ–ΈReplace action + saved-indicator false-clean (Phase G) by @Jocs in #4431
  • fix(muya): preserve drive/UNC roots in relative image path resolution (#4428 review follow-up) by @Jocs in #4430
  • fix: source-mode cursor sync + language-switch hint refresh (Phase G G7/G8) by @Jocs in #4432
  • fix(muya): updateParagraph data-loss on list/quote + front-matter insertion + frontmatterType lang (Phase G) by @Jocs in #4429
  • test: cover @muyajs/core migration regression gaps (Phase G) by @Jocs in #4434
  • fix(muya): restore cross-cell table selection + resolve dead TableChessboard picker (Phase G) by @Jocs in #4435
  • test(muya): de-flake heading-locale + backspace regression specs (#4434 review) by @Jocs in #4436
  • fix(muya): restore the in-editor table grid picker (revert #4435 chessboard deletion + wire trigger) by @Jocs in #4437
  • docs: archive the muyajs β†’ @muyajs/core migration tracker by @Jocs in #4438
  • chore: keep .claude/ fully ignored (untrack migration tracker) by @Jocs in #4439
  • fix: restore editor visual parity after @muyajs/core migration by @Jocs in #4443
  • fix(muya): align Cmd+A / copy / cut / paste with legacy muyajs by @Jocs in #4446
  • chore(muya): align packages/muya conventions with desktop + doc cleanup by @Jocs in #4450
  • fix(muya): editor parity with muyajs (themes, fonts, spellcheck) + CLASS_NAMES cleanup by @Jocs in #4454
  • refactor(muya): split clipboard into modules + type copy/paste modes as enums by @Jocs in #4459
  • fix(muya): enable inline image resize by @Jocs in #4460
  • refactor(muya): rebuild ImageEditTool to match muyajs ImageSelector by @Jocs in #4461
  • chore: remove ununsed comments by @Jocs in #4462
  • chore(muya): remove redundant comments added during the muyajs port by @Jocs in #4463
  • refactor(muya): unify Selection into facade over Text/Table/Image sub-selections by @Jocs in #4467
  • fix(muya): match muyajs nested list spacing and bullet markers by @Jocs in #4469
  • fix(editor): restore caret on source-mode undo and tab switch by @Jocs in #4470
  • fix(muya): preventDefault on forward-delete paragraph merge by @Jocs in #4471
  • fix(muya): restore Paste as Plain Text via async clipboard read by @Jocs in #4472
  • fix(muya): stop drag-selection from expanding to whole blocks by @Jocs in #4477
  • fix(muya): delete whole image on backspace (inline, raw html, reference) by @Jocs in #4478
  • fix(muya): stop Shift+Tab unindent from crashing on insertTab by @Jocs in #4479
  • fix(muya): stop arrow nav from crashing on null cursor coords by @Jocs in #4480
  • fix(muya): clear the / trigger when quick-inserting front matter by @Jocs in #4481
  • fix(desktop): make Promote Heading shortcut fire on macOS by @Jocs in #4482
  • fix(desktop): refresh muya locale on language switch (hint + quick-insert menu stay translated) by @Jocs in #4489
  • fix(desktop): anchor theme card h3 label to its heading by @Jocs in #4490
  • fix(muya): stop in-flight float positioning from re-revealing a hidden float by @Jocs in #4491
  • fix(desktop): return relative image path for local-path-string inserts by @Jocs in #4492
  • fix: insert web images dragged from a browser by @Jocs in #4494
  • fix(muya): support resizing images that share the same link by @Jocs in #4495
  • fix(muya): render vega-lite diagrams under the renderer CSP by @Jocs in #4496
  • fix(muya): refresh local images on "Reload images" (View β†’ Reload images) by @Jocs in #4498
  • fix: reflect the current block in the Paragraph menu (PG1) by @Jocs in #4500
  • fix(muya): keep selection after applying an inline format to a range by @Jocs in #4501
  • fix(desktop): reflect underline/superscript/subscript/highlight in the Format menu by @Jocs in #4503
  • fix: paragraph menu / command palette parity (focus, list unwrap, shortcut symbols) by @Jocs in #4504
  • fix(muya): keep cursor in place when toggling Loose List Item by @Jocs in #4506
  • refactor(muya): rework the selection type surface by @Jocs in #4512
  • fix(desktop): point in-app docs links at marktext.me by @Jocs in #4513
  • fix(website): point self-referential doc links at the published docs by @Jocs in #4514
  • fix(website): register the missing end-user docs pages by @Jocs in #4515
  • feat(i18n): add Turkish (tr) locale by @FurkaanBoraa in #4510
  • feat: make PlantUML server URL configurable by @jyte in #4400
  • fix: #4474 unsaved indicator never clears after undoing back to on-disk content by @FurkaanBoraa in #4475
  • fix(test): correct PlantUML custom-server URL assertion by @Jocs in #4517
  • fix(i18n): reconcile desktop & muya locale keys after the muya engine refactor by @Jocs in #4516
  • test(muya): backfill engine-unit coverage for audited gaps by @Jocs in #4508
  • test(muya-e2e): backfill real-DOM e2e coverage for audited gaps by @Jocs in #4511
  • test(desktop): backfill renderer/main unit coverage for audited gaps by @Jocs in #4509
  • refactor(muya): return enums from TextSelection direction/type by @Jocs in #4519
  • refactor(muya): setSelection takes anchor/focus endpoints by @Jocs in #4523
  • refactor(muya): route format/codeblock selection through setCursor by @Jocs in #4520
  • refactor(muya): split ICursor into focused interfaces by @Jocs in #4524
  • refactor(muya): keep table rect selection exclusive of text selection by @Jocs in #4522
  • refactor(muya): extract computeDirection/computeCaretType helpers by @Jocs in #4525
  • refactor(muya): simplify selectAll into three escalation rules by @Jocs in #4526
  • test(muya): replace any with precise block/state types in specs by @Jocs in #4528
  • refactor(desktop): remove no-explicit-any suppressions in favor of precise types by @Jocs in #4527
  • refactor(muya): drop cyclomatic complexity below 20 across the engine by @Jocs in #4529
  • refactor(muya): rename selection enum members to UPPER_SNAKE_CASE by @Jocs in #4531
  • chore: translate remaining Chinese console/debug strings to English by @Jocs in #4533
  • refactor(muya): enforce _ prefix for private members via lint by @Jocs in #4535
  • refactor(muya): mark core/state/selection internals private by @Jocs in #4541
  • refactor(muya): mark block-tree internals private/protected by @Jocs in #4538
  • refactor(muya): mark UI float-tool internals private by @Jocs in #4539
  • refactor(desktop): remove remaining no-explicit-any suppressions by @Jocs in #4548
  • feat: align Paragraph/Format menus with muyajs behavior on @muyajs/core (+3 upgrades) by @Jocs in #4547
  • fix(muya): sync inline format toolbar highlight via selection-change by @Jocs in #4558
  • fix(muya): align normalizePastedHTML link unlinking with muyajs by @Jocs in #4550
  • fix(muya): render footnotes in copy-as-html / copy-as-rich clipboard HTML by @Jocs in #4544
  • fix(muya): align clipboard cut/delete semantics with muyajs by @Jocs in #4540
  • fix(muya): collapse code block to paragraph on cross-block cut from its language line (#918) by @Jocs in #4545
  • fix(muya): merge pasted paragraphs/headings inline (muyajs parity) by @Jocs in #4542
  • fix(muya): replace selected image on paste + language-input paste parity by @Jocs in #4543
  • fix(muya): merge same-type list paste + plain-text block HTML (muyajs parity) by @Jocs in #4546
  • fix(muya): round-2 paste/clipboard parity fixes from a full muyajs re-audit by @Jocs in #4549
  • fix: populate the table of contents on open and fix link navigation by @NSO73 in #4448
  • fix(desktop): paste captured image on macOS Edit β†’ Screenshot by @Jocs in #4566
  • fix(muya): restore editor cursor when closing the search bar (selectHighlight) by @Jocs in #4567
  • fix(muya): restore find-bar prefill from editor selection by @Jocs in #4569
  • fix(search): scroll editor to match when opening a folder-search result by @Jocs in #4568
  • fix(muya): serialize lists with the configured listIndentation by @Jocs in #4570
  • fix(muya): restore the focused frontmatter delimiter markers by @Jocs in #4571
  • fix(muya): show code-block line numbers on first render for language-less blocks by @Jocs in #4572
  • fix(muya): re-parse on parse-affecting option changes so ```math toggles live by @Jocs in #4573
  • fix(export): repair five styled-HTML export regressions (math, vega, footnotes, TOC, images) by @Jocs in #4576
  • fix(export): make "Overwrite theme font" actually override the selected theme by @Jocs in #4579
  • fix(editor): restore per-tab caret on tab switch by @Jocs in #4580
  • fix(editor): restore undo after an external file reload by @Jocs in #4582
  • fix(desktop): auto-focus the editor when creating or opening a tab by @Jocs in #4581
  • fix(editor): align code block line numbers vertically by @Jocs in #4583
  • fix(editor): keep spelling suggestions when "no underline" is enabled by @Jocs in #4584
  • refactor(muya): decouple engine/block layers from src/ui plugin internals by @Jocs in #4587
  • fix(clipboard): copy only the selected part of cross-block selections by @Jocs in #4586
  • fix(muya): correct setext heading level when typing the underline by @Jocs in #4591
  • fix(muya): guard checkNeedRender against a null cursor (image-preview reclick crash) by @Jocs in #4588
  • test(desktop): backfill renderer/main unit coverage for post-migration gaps by @Jocs in #4592
  • test(muya-e2e): backfill real-DOM e2e coverage for post-migration gaps by @Jocs in #4593
  • test(muya): backfill engine unit coverage for post-migration gaps by @Jocs in #4589
  • test(desktop): backfill app e2e coverage for post-migration gaps by @Jocs in #4594
  • chore(security): remediate 25 Dependabot alerts by @Jocs in #4596
  • chore(deps): upgrade all packages to latest + align shared versions by @Jocs in #4597
  • test(muya): poll for the html_tag mount instead of waiting a single frame by @Jocs in #4607
  • fix(muya): escape pipes at cell start and consecutive pipes in table serialization by @Jocs in #4601
  • fix(muya): absorb a manually typed closing markdown marker after text by @Jocs in #4602
  • fix(muya): let Shift+ArrowUp/Down extend selection while the inline toolbar is shown by @Jocs in #4603
  • fix(muya): render
  • fix(muya): keep emphasis intact when a line contains escaped dollar signs by @Jocs in #4605
  • fix(muya): paste a URL into link parentheses without nesting a markdown link by @Jocs in #4608
  • fix(muya): make links inside a raw HTML block clickable by @Jocs in #4609
  • fix(muya): correct inline code/math shortcut labels in the format toolbar by @Jocs in #4611
  • fix: #4356 crash when using the link popover on a link with an unsupported protocol by @FurkaanBoraa in #4473
  • fix(muya): map Β  to U+00A0 and keep escaped spaces unbreakable by @Jocs in #4612
  • fix(desktop): scroll to non-heading in-document anchors on Ctrl/Cmd-click by @Jocs in #4613
  • fix(muya): keep the inline-math parse-error message on one line by @Jocs in #4614
  • fix(muya): allow inline style in the html-block live preview by @Jocs in #4618
  • fix(muya): cap and horizontally scroll the inline-math popup by @Jocs in #4615
  • fix(desktop): isolate the editor stacking context so previews stay under modals by @Jocs in #4617
  • test(desktop): fix inline code/math shortcut tests failing on develop after #4611 by @FurkaanBoraa in #4624
  • fix(desktop): scroll CodeMirror to the heading on TOC click in source mode by @Jocs in #4619
  • fix(muya): constrain a rendered diagram svg so wide diagrams don't clip by @Jocs in #4616
  • fix(desktop): apply custom keybinding changes without an app restart by @Jocs in #4621
  • fix(muya): break undo entries at word and edit-kind boundaries by @Jocs in #4622
  • fix(muya): swap cross-block arrow boundary keys in RTL mode by @Jocs in #4610
  • fix: opaque light-theme editor text colors for crisp antialiasing by @Jocs in #4631
  • fix(muya): clamp selection offset to the node's legal range by @Jocs in #4626
  • fix(desktop): prevent data loss when closing after Source Code mode edits by @Jocs in #4627
  • fix(muya): center inline math vertically so it sits on the text baseline by @Jocs in #4632
  • fix(muya): render inline math containing an escaped dollar sign by @Jocs in #4629
  • fix(muya): prevent renderer crash when deleting consecutive thematic breaks by @Jocs in #4628
  • test: drop the low-value opaque-color guard tests from #4466 by @Jocs in #4633
  • test(muya): regression guard for code-block scroll on typing (#3191) by @Jocs in #4638
  • fix(muya): align serialized table columns by visual width (#1983) by @Jocs in #4636
  • fix(muya): insert ordinary spaces for Tab instead of non-breaking spaces (#3273) by @Jocs in #4634
  • fix(muya): convert typed diagram fences to diagram blocks on Enter (#2177) by @Jocs in #4635
  • fix(muya): keep the caret on Shift+Tab list unindent (REPLACEMENT path) (#3223) by @Jocs in #4637
  • fix(muya): typed diagram fences create diagram blocks via the language selector (#2177) by @Jocs in #4640
  • refactor: rewrite getTOC and remove unused comments by @Jocs in #4642
  • fix(muya): allow trailing whitespace after a math block's closing $$ (#1931) by @Jocs in #4649
  • fix(muya): stop ArrowDown from endlessly creating empty paragraphs (#3520) by @Jocs in #4650
  • fix(muya): take the list marker from a line start in _convertToList (#2429) by @Jocs in #4651
  • fix(muya): strip trailing punctuation from extended autolinks (#2096) by @Jocs in #4652
  • fix(muya): ArrowUp at document start moves the caret to offset 0 (#3193) by @Jocs in #4655
  • fix(muya): destroy UI plugins on Muya.destroy() to stop leaking DOM nodes (#3315) by @Jocs in #4659
  • fix(muya): don't cut a cross-block selection on Ctrl+ (Windows/Linux) (#3491) by @Jocs in #4656
  • fix(muya): apply inline format across paragraphs nested in one blockquote (#3462) by @Jocs in #4661
  • fix: #4534 group theme menu into Light/Dark submenus by @FurkaanBoraa in #4623
  • fix(muya): drop pending op batch on setContent to prevent cross-document corruption (#2938) by @Jocs in #4658
  • test(desktop): pin autosave's recreate-missing-directory behavior (#3509) by @Jocs in #4657
  • fix(muya): keep list item non-empty on Enter in empty first paragraph (#4644) by @Jocs in #4660

New Contributors

Full Changelog: v0.19.0...v0.20.0-beta.2

  •  

v0.19.1

6 Juni 2026 om 07:05

⚠️ Note for macOS users

Builds are unsigned (no Apple Developer ID). After dragging MarkText into Applications, clear the quarantine flag once:

xattr -cr /Applications/marktext.app

Verifying downloads

All artifacts are listed with their SHA-256 in SHA256SUMS.txt. Verify with:

sha256sum -c SHA256SUMS.txt --ignore-missing

What's Changed

  • chore(release): v0.19.0 release branch (DO NOT MERGE until stable) by @Jocs in #4269
  • chore: bump develop to 0.20.0-dev by @Jocs in #4296
  • docs(release): update Step 7 asset list to 24 by @Jocs in #4298
  • docs(end-user): align user docs with 0.19 prefs and platform matrix by @Jocs in #4300
  • docs(dev): sync developer docs with current codebase by @Jocs in #4299
  • chore: convert repo to pnpm monorepo (packages/desktop, muyajs, website) by @Jocs in #4302
  • refactor(website): migrate to Next.js 15 + Cloudflare Workers CI by @Jocs in #4305
  • feat(website): serve www.marktext.me (301 β†’ apex) by @Jocs in #4308
  • fix(website): wwwβ†’apex redirect (middleware) + smarter preview-URL parsing by @Jocs in #4309
  • ci(website): enable Preview URLs on marktext-website Worker by @Jocs in #4311
  • refactor(website): redesign landing page, drop markdown engine deps by @Jocs in #4312
  • feat(muya): migrate TS rewrite to packages/muya alongside legacy muyajs by @Jocs in #4314
  • feat(website): add /docs route and consolidate docs/ under packages/website/ by @Jocs in #4316
  • fix: replace remaining absolute raw.githubusercontent.com URLs with relative paths in READMEs by @Copilot in #4329
  • fix(website): serve prerendered docs pages via static-assets cache by @Jocs in #4335
  • fix(website): open download buttons in new tab pointing to releases page by @Jocs in #4336
  • refactor(website): simplify docs subtree (palette / sidebar / markdown / nav) by @Jocs in #4349
  • refactor(website): simplify landing page (helpers, types, data-driven blocks) by @Jocs in #4350
  • chore(website): tighten middleware matcher; drop unused 'use client' by @Jocs in #4351
  • fix(muyajs): preserve nested lists of differing types (#4341) by @Jocs in #4354
  • fix(muyajs): allow CJK ideographs as flanking boundary for emphasis by @Jocs in #4355
  • fix(muyajs): clamp setStart offset to legal range to prevent IndexSizeError (#2800) by @Jocs in #4358
  • fix(muyajs): null-guard list block paths to prevent renderer crash (#4346) by @Jocs in #4359
  • fix: restore local builds after monorepo split by @Jocs in #4361

New Contributors

  • @Copilot made their first contribution in #4329

Full Changelog: v0.19.0...v0.19.1

  •  

v0.19.0

28 Mei 2026 om 16:03

⚠️ Note for macOS users

Builds are unsigned (no Apple Developer ID). After dragging MarkText into Applications, clear the quarantine flag once:

xattr -cr /Applications/marktext.app

Verifying downloads

All artifacts are listed with their SHA-256 in SHA256SUMS.txt. Verify with:

sha256sum -c SHA256SUMS.txt --ignore-missing

What's Changed

  • Ignore empty key bindings by @fxha in #3077
  • Update auto pair quote logic by @Lorilandly in #2960
  • Fix image paste handler is not executed by @fxha in #3076
  • Add experimental native support for Apple M1 by @fxha in #3089
  • Update dependencies by @fxha in #3096
  • Fix: "delete" shortcut on a selected image deletes the text after it (#2816) by @kiyoka in #3088
  • Fix links to macOS releases by @yous in #3099
  • Fix typo in the DataCenter class init method by @vdeschuy in #3104
  • 0.17.1 by @fxha in #3105
  • Fixed multi line highlight. by @or1ko in #3115
  • Don't copy (or on cut) empty data to the clipboard, matches native behavior by @mitchcapper in #3130
  • Upgrade Electron to v17 by @fxha in #3138
  • Remove Wayland workaround by @fxha in #3147
  • Refactor menu actions and shortcut handling by @fxha in #3032
  • Replace node-spellchecker with Electron builtin spell checker by @fxha in #2895
  • Remove expired "marktext.app" domain by @CouldBeThis in #3350
  • fix wrong logo path in ko.md by @heli-os in #3576
  • Update Traditional Chinese translation of README by @ChiahongHong in #3264
  • Update dependencies by @fxha in #3213
  • Add .mdx extension support by @davidknezic in #3438
  • FIX: 'yarn run test:specs' command fails to load @markedjs/html-differ (#3330) by @kiyoka in #3331
  • fix #3150: Win32 error in renderer process by @fxha in #3214
  • Fix roadmap link by @fulldecent in #3678
  • upgrade to mermaid 10 by @ivy-rew in #3734
  • [i18n] Improve portuguese translation on the README by @tiagozip in #3813
  • chore: update readme add Inkio and remove broken link by @Jocs in #4084
  • chore: Update outdated GitHub Actions versions by @pgoslatara in #4113
  • Add arabic lang for doc by @Almohawis in #4097
  • chore: update readme file by @Jocs in #4136
  • docs: improve grammar & punctuation by @RightWrite in #3939
  • add .claude .agents to gitignore by @chongchonghe in #4172
  • Note added according to the issue #2208 by @aespondac in #3867
  • fix: upload failure with github (#3588) by @left0ver in #3589
  • Fix not colored emojis on popup by @fxha in #3215
  • fix issue 3268 by @hahaha28 in #3269
  • fix: #4153 suppress EPIPE crash in main process by @Wordbe in #4154
  • New feature: Opening image file with the external tool (#2321) by @kiyoka in #3007
  • fix: guard null imageContainer.firstChild in getImageInfo by @Jocs in #4193
  • fix: prevent querySelector crash on empty heading slug by @Bowl42 in #4135
  • Re-Factor MarkText with electron-vite by @Tkaixiang in #4001
  • fix: restore docs accidentally deleted in PR #4001 (electron-vite refactor) by @Jocs in #4196
  • restore: recover accidentally deleted tests from PR #4001 by @Jocs in #4197
  • chore: upgrade project dependencies to latest compatible versions by @Jocs in #4199
  • translate: convert all Chinese code comments to English by @Jocs in #4201
  • fix: fix ESLint configuration and resolve all lint errors by @Jocs in #4202
  • fix: resolve post-refactor regressions from electron-vite migration by @Jocs in #4203
  • Make native menu theme follow app theme by @johnsmith507 in #4205
  • feat: add GitHub Sponsors button to repository by @Jocs in #4207
  • feat: update sponsor by @Jocs in #4208
  • i18n: translate sponsor section in all language READMEs by @Jocs in #4209
  • fix: support Node v24+ with native-keymap C++20 patch and automated postinstall by @Jocs in #4211
  • fix: ensure npm run dev works after npm install on Node v24+ by @Jocs in #4212
  • feat: migrate package manager from npm to pnpm by @Jocs in #4213
  • docs: display special sponsor as a Markdown table by @Jocs in #4215
  • docs: update stale references and add CLAUDE.md by @Jocs in #4216
  • ci: replace manual test_pr with automated PR workflows by @Jocs in #4218
  • fix: word count tooltip not showing on macOS by @Jocs in #4219
  • fix: restore image fullscreen viewer broken by view-image removal by @Jocs in #4221
  • feat: restore third-party license tooling and add CI validation by @Jocs in #4220
  • fix: prevent crash in normalizeTable when body row has more cells than header by @Jocs in #4222
  • fix: skip conflict detection for unbound shortcuts in keybinding loader by @Jocs in #4223
  • fix: avoid reloading existing i18n locales by @cerredz in #4224
  • fix: migrate jsconfig.json away from deprecated baseUrl (TS 6.0) by @Jocs in #4225
  • fix: remove unused languine dependency (resolves CVE-2026-41650) by @Jocs in #4226
  • chore: remove unused deps and upgrade all dependencies to latest by @Jocs in #4227
  • ci: add Claude Code Action workflow by @Jocs in #4228
  • fix: add pnpm-workspace.yaml to approve build scripts for native deps by @Jocs in #4230
  • fix: build error when build mac target by @Jocs in #4232
  • fix: use default font smoothing by @cerredz in #4217
  • docs: update CommonMark Spec links to latest version by @Jocs in #4235
  • fix: #4151 preserve scroll position on external file change by @Wordbe in #4152
  • fix: Internal image cache isn't reset if failed to load (#3001) by @kiyoka in #3010
  • Allow scrolling down even if no contents below by @szdytom in #3405
  • Added Arch Linux to development dependencies in BUILD.md by @lawgimenez in #3381
  • fix(i18n): capitalize GitHub in English and Portuguese locale strings by @Blueteemo in #4238
  • docs: expand CLAUDE.md with single-test recipes and dev script catalog by @Jocs in #4239
  • fix: unblock local lint and vitest runs by @Jocs in #4240
  • test(e2e): broaden Playwright coverage with menu/IPC-driven specs by @Jocs in #4241
  • fix(ui): repair Insert Table dialog wrap and overhaul Help menu by @Jocs in #4242
  • fix(source-view): stop styling math subscripts as emphasis (#4121) by @Jocs in #4243
  • feat(security): sandbox the renderer (contextIsolation, nodeIntegration: false, sandbox: true) by @Jocs in #4244
  • feat(ts): migrate the entire project to TypeScript by @Jocs in #4247
  • refactor(stores): type editor + preferences Pinia stores (TS migration follow-up 1/6) by @Jocs in #4249
  • refactor(renderer): type prefComponents schemas + leaf SFC controls (TS migration follow-up 2/6) by @Jocs in #4250
  • refactor(test): port specs to strict TS β€” drop @ts-nocheck, ESM imports (TS migration follow-up 3/6) by @Jocs in #4251
  • refactor(renderer): type sidebar + top-level SFCs β€” drop @ts-nocheck (TS migration follow-up 4/6) by @Jocs in #4252
  • refactor(renderer): type editor + components SFCs β€” drop @ts-nocheck (TS migration follow-up 5/6) by @Jocs in #4253
  • refactor(renderer): type preference page SFCs β€” drop @ts-nocheck (TS migration follow-up 6/6) by @Jocs in #4254
  • chore(eslint): tighten @typescript-eslint/no-explicit-any to error (TS migration follow-up 7/7) by @Jocs in #4255
  • chore(eslint): ignore .claude/ worktree clones in lint runs by @Jocs in #4256
  • fix(ipc): tighten three IPC channels + SET_IMAGE_FOLDER_PATH signature by @Jocs in #4258
  • fix(renderer): editor fills width when sidebar collapses to icon strip by @Jocs in #4262
  • style(preferences): polish dialog UI and unify design by @Jocs in #4263
  • style(ui): batch polish sidebar, tabs, preferences, and theme contrast by @Jocs in #4264
  • style(sidebar): unify collapse arrows and tighten tree spacing by @Jocs in #4265
  • fix(muya): guard stale cursor/block lookups against null by @Jocs in #4267
  • ci(release): split into validateβ†’buildβ†’publish, harden workflow by @Jocs in #4266
  • test(e2e): regression guards for previously-reported "Unexpected error" crashes by @Jocs in #4268
  • docs(release): expand RELEASE.md into a step-by-step playbook by @Jocs in #4270
  • fix(release): restore updater metadata artifacts by @Jocs in #4272
  • fix(sidebar): create-file button works in non-English locales by @Jocs in #4273
  • chore: remove unused SVG icons from renderer by @Jocs in #4275
  • FIx: switch path-browserify to Pathe + image pasting on windows + cleanup console.logs by @Tkaixiang in #4274
  • refactor(image): remove GitHub uploader and None option; default to PicGo by @Jocs in #4276
  • feat(sidebar): implement file & folder sort with natural ordering by @Jocs in #4277
  • feat(sidebar): add toggle to hide Opened Files + cap list to 4 items by @Jocs in #4278
  • build: add Windows ARM64 native build support by @Jocs in #4279
  • fix(uploader): remove 5 MB hard limit on image uploads by @Jocs in #4280
  • fix(preferences): update broken doc links to correct develop-branch paths by @Jocs in #4281
  • fix(build): restore dedicated .md file icon on Windows by @Blueteemo in #4284
  • chore: remove residual Unsplash code by @Jocs in #4286
  • chore: remove dead code and debug noise by @Jocs in #4287
  • refactor(editor): rename LINTEN_FOR_* typos and unify JSON deep-clones by @Jocs in #4288
  • perf(filesystem): cut stat syscalls and per-call regex compilation by @Jocs in #4289
  • chore: misc simplifications by @Jocs in #4290

New Contributors

Full Changelog: v0.17.0...v0.19.0

  •  

v0.19.0-rc.4

27 Mei 2026 om 05:59

❗ This is a pre-release

  • May contain bugs and unfinished features.

⚠️ Note for macOS users

Builds are unsigned (no Apple Developer ID). After dragging MarkText into Applications, clear the quarantine flag once:

xattr -cr /Applications/marktext.app

Verifying downloads

All artifacts are listed with their SHA-256 in SHA256SUMS.txt. Verify with:

sha256sum -c SHA256SUMS.txt --ignore-missing

What's Changed

  • fix(preferences): update broken doc links to correct develop-branch paths by @Jocs in #4281
  • fix(build): restore dedicated .md file icon on Windows by @Blueteemo in #4284

Full Changelog: v0.19.0-rc.3...v0.19.0-rc.4

  •  

v0.19.0-rc.3

25 Mei 2026 om 05:03

❗ This is a pre-release

  • May contain bugs and unfinished features.

⚠️ Note for macOS users

Builds are unsigned (no Apple Developer ID). After dragging MarkText into Applications, clear the quarantine flag once:

xattr -cr /Applications/marktext.app

Verifying downloads

All artifacts are listed with their SHA-256 in SHA256SUMS.txt. Verify with:

sha256sum -c SHA256SUMS.txt --ignore-missing

What's Changed

  • docs(release): expand RELEASE.md into a step-by-step playbook by @Jocs in #4270
  • fix(release): restore updater metadata artifacts by @Jocs in #4272
  • fix(sidebar): create-file button works in non-English locales by @Jocs in #4273
  • chore: remove unused SVG icons from renderer by @Jocs in #4275
  • FIx: switch path-browserify to Pathe + image pasting on windows + cleanup console.logs by @Tkaixiang in #4274
  • refactor(image): remove GitHub uploader and None option; default to PicGo by @Jocs in #4276
  • feat(sidebar): implement file & folder sort with natural ordering by @Jocs in #4277
  • feat(sidebar): add toggle to hide Opened Files + cap list to 4 items by @Jocs in #4278
  • build: add Windows ARM64 native build support by @Jocs in #4279
  • fix(uploader): remove 5 MB hard limit on image uploads by @Jocs in #4280

Full Changelog: v0.19.0-rc.2...v0.19.0-rc.3

  •  

v0.19.0-rc.2

24 Mei 2026 om 09:05

❗ This is a pre-release

  • May contain bugs and unfinished features.

⚠️ Note for macOS users

Builds are unsigned (no Apple Developer ID). After dragging MarkText into Applications, clear the quarantine flag once:

xattr -cr /Applications/marktext.app

Verifying downloads

All artifacts are listed with their SHA-256 in SHA256SUMS.txt. Verify with:

sha256sum -c SHA256SUMS.txt --ignore-missing

Full Changelog: v0.19.0-rc.1...v0.19.0-rc.2

  •  

v1.8.0

5 September 2026 om 01:11

Changelog

  • a40aae8 Bugfix: url-encoded chars on the website listener
  • 6f69a1f Check versioning on init
  • ea9c1d6 auth: add GetUserAccountFresh to bypass the IAM cache
  • 4e5fb34 chore(deps): bump actions/checkout from 6 to 7
  • d88ac4e chore(deps): bump actions/setup-go from 6 to 7
  • 77aa23b chore(deps): bump actions/setup-go from 6 to 7
  • 1c7e22e chore(deps): bump github/codeql-action from 4 to 4.37.4
  • dc2ae0c chore(deps): bump github/codeql-action from 4.37.4 to 4.37.6
  • e553d3c chore(deps): bump github/codeql-action from 4.37.6 to 4.37.7
  • ec61bc5 chore(deps): bump github/codeql-action from 4.37.7 to 4.37.8
  • 41a511e chore(deps): bump github/codeql-action from 4.37.8 to 4.37.9
  • ea8233c chore(deps): bump the dev-dependencies group across 1 directory with 20 updates
  • c1c5a5f chore(deps): bump the dev-dependencies group with 19 updates
  • 3e555fb chore(deps): bump the dev-dependencies group with 21 updates
  • 8ac6bd5 chore(deps): bump the dev-dependencies group with 22 updates
  • 8112b91 chore(deps): bump the dev-dependencies group with 23 updates
  • 67e8d08 chore(deps): bump the dev-dependencies group with 27 updates
  • f4a2904 chore(deps): bump the dev-dependencies group with 9 updates
  • 87fc1b9 chore: add rdma/librcserver.a to .gitignore
  • de042a5 cumiddleware: cover RC token boundary and legacy-precedence cases
  • 05487cf cumiddleware: reject unsupported RC token schemes with 501
  • c638503 feat(azure): carry Azure blob marker in continuation token for pagination
  • a780f34 feat(azure): server-side copy with download+reupload fallback
  • c84c5f6 feat: accept principal ARNs in bucket policies under standalone IAM
  • e012a6f feat: add AWS-compatible standalone IAM service
  • 7b6b816 feat: add Helm chart support for the standalone IAM service
  • ec579ca feat: add IAM OIDC provider CRUD
  • 4901afe feat: add IAM OIDC provider tagging actions
  • cbcc656 feat: add IAM Role CRUD
  • c9ce6ab feat: add IAM role inline policy CRUD
  • 1bbcd64 feat: add IAM role tagging actions
  • 9b352a3 feat: add IAM user access key management
  • 3328501 feat: add IAM user inline policy CRUD
  • 26a54b3 feat: add IAM user tagging actions
  • ab2b816 feat: add STS web identity federation, IAM policy Condition support, and access control enforcement
  • 062bf0b feat: add best-effort O_DIRECT support for posix put/get-object put-part
  • 45a532e feat: add configurable file permissions for new objects
  • 1b8147c feat: add helm chart admin and webui ingress support
  • 2e22a42 feat: add live GitHub OIDC end-to-end test for AssumeRoleWithWebIdentity
  • 62c6787 feat: add new vgwrdma service for cuObject compatible server
  • 29256f0 feat: add optional data-integrity ETag mode for posix/scoutfs
  • abb3b27 feat: add standalone IAM support in WebGUI
  • c9e26b5 feat: add standalone iam service to systemd config setup
  • 535cc9d feat: add the hipobj-rc-v2 control routes to the vgwrdma gateway
  • a8c5810 feat: allow supplying an external IAM service implementation to embedgw
  • 7dfea7a feat: govern GetBucketVersioning with the regular access checks
  • 2147a0c feat: integrate standalone IAM service with S3 gateway for identity-based policy enforcement
  • 5f9041f feat: support admin/access logs on standard streams
  • a4d4519 feat: version the private IAM protocol between gateway and standalone service
  • f7e13d7 fix(posix): make conditional PUT evaluation and publication atomic per key
  • b83f5d9 fix(posix): return empty config for GetBucketVersioning when unconfigured
  • 0720815 fix: add integeration tests
  • f6219c8 fix: add license header to rdma files
  • 6121d52 fix: apply default Content-Type in POSTObject
  • f567abc fix: authorize every key in a DeleteObjects batch after a bucket-policy deny
  • fce9d9b fix: build failure from conflicting merges
  • ca8d434 fix: drain unread request bodies before closing the connection
  • 9a73e22 fix: harden posix conditional publish locking
  • e146646 fix: honor mpMaxParts across partNumber validation
  • b9f8b8e fix: include common prefixes in ListObjectsV2 key count
  • 9011935 fix: infer UserName from the calling access key in the access-key APIs
  • 8779630 fix: make --chuid/--chgid usable with the standalone IAM service
  • 4a0e07f fix: newer gofmt for s3api
  • afbee5b fix: role last-used tracking, and record S3 requests in last-used metadata
  • e05d0df fix: s3proxy sends bodyless CreateBucket when the configuration is empty
  • 571df30 fix: support proxy
  • c7f8bc0 fix: use constant-time comparisons for SigV4 signatures
  • c0ed55c fix: use dir permissions option for temporary directories
  • c281008 rdma: add the Go binding for the RC session server
  • 64fcfee rdma: add the RC session server C ABI
  • 50fc9fe rdma: authenticate RC routes through the terminal error path
  • 726d65d rdma: gate the RC data plane behind a dedicated flag
  • 1596531 rdma: keep RC route XML fidelity
  • 50f4482 rdma: map RC transport errors to protocol codes
  • efa0309 rdma: port the hipObject v2 RC session core
  • 1a8d4c9 rdma: serialize RC route errors at the route boundary
  • 158ccdf rdma: test RC route errors through the production server

  •  

Minecraft 26.3-pre-2 (snapshot) Released

4 September 2026 om 13:54
26.3 Pre-Release 2 (known as 26.3-pre-2 in the launcher) is the second pre-release for Java Edition 26.3, released on September 4, 2026, which fixes bugs. Full changelog: https://minecraft.wiki/Java_Edition_26.3-pre-2
  •  

v4.3.17

4 September 2026 om 17:38

Fixes

  • Corrected notification and deployment log links to use the configured instance URL. #11623
  • Cleaned up orphaned helper containers when helper images used unqualified names, nested registry paths, tags, or digests. #11540 closed #11511.
  • Preserved Docker restart policies when applications, previews, databases, and service applications were stopped without removing their containers.
  • Fixed type errors when stopping applications and adding scheduled tasks.
  • Kept Docker Compose domains in sync when noindex settings changed.
  • Prevented removed Docker Compose service domains from being regenerated by magic service URL variables.
  • Preserved generated Compose variables during bulk environment variable replacement and reported blocked deletions correctly.
  • Cleared stale Traefik version data after proxies stopped or changed.
  • Prevented invalid repository URLs from producing malformed commit links.

Improvements

  • Removed app-only restart-limit enforcement from database resources so databases continued to follow their configured Docker restart behavior.
  • Made missing required environment variables directly accessible from a service's disabled Deploy action.
  • Hid Coolify-managed Compose variables from the developer environment variable view to prevent accidental edits.

What's Changed

  • fix: build notification and deployment log links from the instance url by @peaklabs-dev in #11623
  • fix(docker): reap orphaned helper containers regardless of registry by @kashik0i in #11540

New Contributors

Full Changelog: v4.3.16...v4.3.17

  •  

v1.19.1-pre

4 September 2026 om 18:00
  • Fixed AltGr / diacritic input being swallowed by the integrated terminal on Windows. (#63762)
  • Fixed goToDefinition opening out-of-worktree entries (#63756)
  • Fixed dev container environment variables being logged in full (#63734)
  • Fixed OpenCode Go requests that could fail when Zed omitted the session header. (#63714)
  • Fixed containers becoming scrollable by a sub-pixel amount, with a phantom full-height scrollbar thumb, at fractional UI font sizes. (#63659)

  •  
❌