Normale weergave

Asterisk Release 23.4.0

11 Juni 2026 om 16:30

The Asterisk Development Team would like to announce
the release of asterisk-23.4.0.

The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/23.4.0
and
https://downloads.asterisk.org/pub/telephony/asterisk

Repository: https://github.com/asterisk/asterisk
Tag: 23.4.0

This release resolves issues reported by the community
and would have not been possible without your participation.

Thank You!

Change Log for Release asterisk-23.4.0

Links:

Summary:

  • Commits: 53
  • Commit Authors: 24
  • Issues Resolved: 43
  • Security Advisories Resolved: 0

  •  

Asterisk Release 22.10.0

11 Juni 2026 om 16:27

The Asterisk Development Team would like to announce
the release of asterisk-22.10.0.

The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/22.10.0
and
https://downloads.asterisk.org/pub/telephony/asterisk

Repository: https://github.com/asterisk/asterisk
Tag: 22.10.0

This release resolves issues reported by the community
and would have not been possible without your participation.

Thank You!

Change Log for Release asterisk-22.10.0

Links:

Summary:

  • Commits: 53
  • Commit Authors: 24
  • Issues Resolved: 43
  • Security Advisories Resolved: 0

  •  

Asterisk Release 20.20.0

11 Juni 2026 om 16:24

The Asterisk Development Team would like to announce
the release of asterisk-20.20.0.

The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/20.20.0
and
https://downloads.asterisk.org/pub/telephony/asterisk

Repository: https://github.com/asterisk/asterisk
Tag: 20.20.0

This release resolves issues reported by the community
and would have not been possible without your participation.

Thank You!

Change Log for Release asterisk-20.20.0

Links:

Summary:

  • Commits: 53
  • Commit Authors: 24
  • Issues Resolved: 43
  • Security Advisories Resolved: 0

  •  

Michael Ablassmeier: vmsync

11 Juni 2026 om 02:00

I’ve been asked a few times if it would be possible to use virtnbdbackup as some kind of “replication” utility, to keep cold standby virtual machines on other libvirt hosts.

Usually i would tell to use underlying filesystem features (such as zfs send/recv, with incremental snapshots) to keep cold, standby copies on other hosts.

As for qcow based virtual machines, using the dirty bitmaps is not only a valid feature to create backups, but to (incrementally) replicate virtual machines, too.

I’ve released vmsync. A small golang utility that implements a simple replication tool using the NBD protocol to sync virtual machines to other hosts.

  •  

Proxmox Mail Gateway 9.1 released

11 Juni 2026 om 09:00

VIENNA, Austria – June 11, 2026 – Enterprise software developer Proxmox Server Solutions today announced the release of Proxmox Mail Gateway 9.1. The updated version of its enterprise email security solution introduces updated core components, comprehensive usability improvements to the spam quarantine, and data encryption options for integrated backups.

Proxmox Mail Gateway functions as a full-featured mail proxy deployed between the firewall and internal mail servers. It filters all incoming and outgoing email traffic at the gateway, protecting organizations against threats such as spam, viruses, Trojans, and phishing attacks.

Key Updates in Proxmox Mail Gateway 9.1

Updated core components

Built on Debian 13.5 “Trixie”, the platform includes updated underlying packages, utilizing a newer Linux kernel 7.0 as its stable default. Proxmox Mail Gateway 9.1 continues to align with the latest major enterprise open-source security components and incorporates stable versions of SpamAssassin 4.0.2 (with continuously updated rulesets), ClamAV 1.4.4, PostgreSQL 17, and ZFS 2.4.

Spam quarantine usability improvements

The web-based quarantine interface features several enhancements to optimize daily administrative and end-user workflows.

  • Shared mailboxes: Users can now mark quarantined emails within shared mailboxes as “seen”, preventing duplicate auditing efforts across teams. The status is displayed inline as a checkmark and can be toggled via an action button.
  • Granular spam scores: The quarantine overview now displays both the positive and negative components of the spam score simultaneously, providing immediate insight into why an email triggered filtering thresholds.
  • On-demand image loading: To enhance privacy and security, external images in quarantined emails can now be configured to load only on demand. Users can then choose to display images by clicking a “Load Images” button in the quarantine view. This ensures email content can be inspected safely without automatically compromising privacy or being exposed to web-based threats.
  • Copy Link Functionality: Administrators can now copy a recipient’s private quarantine access link directly from the admin dashboard using a new “Copy Link” option. This provides a secure and convenient way to share the link through any preferred channel or to integrate it in a custom interface.

Encrypted Proxmox Backup Server targets

Version 9.1 adds native encryption support for backups targeted at a Proxmox Backup Server instance. This option ensures that sensitive email configuration settings, user created rule system data, and historic/private statistics data are encrypted client-side before transmission and remain encrypted at rest on the backup storage target.

Availability

Proxmox Mail Gateway 9.1 is open-source software and immediately available for download. Users can obtain a complete installation image via ISO download, which contains the full feature-set of the solution and can be installed quickly on bare-metal systems using an intuitive installation wizard. The software can be installed on top of an existing Debian installation or as a lightweight Linux Container (LXC) on Proxmox VE. A seamless, fully tested upgrade path from Proxmox Mail Gateway 8.2 or 9.0 is available via the APT package management system.

For production environments, Proxmox offers comprehensive enterprise support plans that provide stable and secure updates and direct access to expert support services. These support contracts offer a cost-effective way to secure enterprise-grade stability. Pricing start at EUR 190 per host per year, including unlimited users and domains.

Resources:

###

About Proxmox Mail Gateway
Proxmox Mail Gateway is the leading open-source email security solution, protecting your mail server against all email threats from the moment they emerge. Organizations of any size can easily deploy and implement the comprehensive anti-spam and antivirus platform in just a few minutes. Deploying the full-featured mail proxy between the firewall and an internal mail server allows you to control all incoming and outgoing email traffic from the central, web-based interface. Proxmox filters all email traffic at the gateway before it reaches the mail server, protecting businesses against email attacks and other malicious threats.

About Proxmox Server Solutions
Proxmox Server Solutions provides powerful, intuitive open-source server software that guarantees vendor independence and minimizes total cost of ownership. Enterprises of all sizes rely on the company’s reliable vendor support, certified training services, and a global network of 3,000 integration partners to ensure business continuity. Established in 2005 and headquartered in Vienna, Austria, tens of thousands of corporate customers worldwide trust Proxmox solutions to secure their mission-critical IT environments.

Contact: Daniela Häsler, Proxmox Server Solutions GmbH, press@proxmox.com

  •  

v1.19.1

11 Juni 2026 om 01:14

Fixes and improvements

General

  • support using regexp groups in every part of a source URL (#5766) (#5779)
  • improve anti-brute force mechanism (#5835) delay authentication failure responses by a random amount of time, use the same anti-brute force mechanism with all users.
  • limit size of HTTP requests shown in debug logs (#5858)
  • print body of selected HTTP responses when log level is debug (#5859)

Media-over-QUIC

  • fix race condition when closing server (#5836) some sessions were hanging if they were concurrently being closed by the remote peer.
  • rename moqHTTPS2Address into moqHTTP2Address, moqHTTPS3Address into moqHTTP3Address (#5841)

RTSP

  • support PROXY protocol (#5754) Support PROXY protocol v1/v2 on RTMP, RTMPS, RTSP, and RTSPS TCP listeners so real client IPs are visible when running behind L4 proxies (nginx stream, HAProxy, AWS NLB).
  • restore support for H264 packetization-mode 0 (#5846) (#5857) H264 streams with packetization-mode=0 cannot be routed with UDP since packets are too big. Inbound streams with packetization-mode=0 are blocked by the server since v1.19.0 but this caused compatibility issues with some cameras. The server is now able to receive such streams with TCP, and automatically remuxes them in streams with packetization-mode=1, which can be routed freely.

RTMP

  • support PROXY protocol (#5754) Support PROXY protocol v1/v2 on RTMP, RTMPS, RTSP, and RTSPS TCP listeners so real client IPs are visible when running behind L4 proxies (nginx stream, HAProxy, AWS NLB).

Dependencies

  • code.cloudfoundry.org/bytefmt updated from v0.74.0 to v0.76.0
  • github.com/bluenviron/gortsplib/v5 updated from v5.5.4 to v5.6.0
  • github.com/pion/ice/v4 updated from v4.2.7 to v4.2.8-0.20260604162030-72f5001c4596
  • github.com/pion/webrtc/v4 updated from v4.2.14 to v4.2.15
  • github.com/quic-go/quic-go updated from v0.59.0 to v0.60.0
  • golang.org/x/crypto updated from v0.52.0 to v0.53.0
  • golang.org/x/net updated from v0.55.0 to v0.56.0
  • golang.org/x/sync updated from v0.20.0 to v0.21.0
  • golang.org/x/sys updated from v0.45.0 to v0.46.0
  • golang.org/x/term updated from v0.43.0 to v0.44.0
  • github.com/pion/dtls/v3 updated from v3.1.3 to v3.1.4
  • github.com/pion/stun/v3 updated from v3.1.4 to v3.1.5
  • github.com/pion/turn/v5 updated from v5.0.7 to v5.0.9
  • golang.org/x/text updated from v0.37.0 to v0.38.0
  • github.com/pires/go-proxyproto v0.12.0 added

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

  •  

Counter-Strike 2 Update

10 Juni 2026 om 23:22
[p]\[ COLOGNE 2026 ][/p]
  • [p]Added display of lowest and highest sticker price in the last 7 days in the Cologne 2026 Major Shop.[/p][/*]
  • [p]Added stickers showcase to the Cologne 2026 Major Hub tile on the main menu.[/p][/*]
[p]\[ MISC ][/p]
  • [p]Added multi-select functionality in Storage Units deposit/retrieve UI.[/p][/*]
  • [p]Added appropriate error message when user's inventory is full and they try to redeem Weekly Care Package rewards, Armory items, or items in the Major Shop cart.[/p][/*]
  • [p]Fixed number wrapping rules in some languages.[/p][/*]
  •  

Mike Gabriel: Future of libayatana-appindicator (v0.6.0 released today)

10 Juni 2026 om 22:15

Some of you might have noticed that the recent (or rather: previous) version of libayatana-appindicator (v0.5.94) notified users and developers of the library being deprecated.

This short post is to notify you, that with today's libayatana-appindicator v0.6.0 release [1] this deprecation warning has now been removed again. Another new feature (added to AppIndicator without ABI breakage) is tooltip support. The new package version has just been uploaded to Debian experimental. Please test if your application (if it gets linked against libayatana-appindicator) continues to work flawlessly. Thanks!

libayatana-appindicator will receive continued support until GTK-3 becomes end-of-life (because libayatana-appindicator has a baked-in GTK-3 dependency which should not be ported to GTK-4 imho). That said, in the future, GTK-3 applications can continue using libayatana-appindicator for sending AppIndicator-like icons and menus over DBus to KStatusNotifierItem-based system tray renderers.

If you are looking for an AppIndicator implementation for GTK-4 applications (or other), I'd like to encourage you to help making libayatana-appindicator-glib [2] a new standard (can be used in GTK and Qt applications alike, implementation is using pure Glib-2.0). Currently, there is only one renderer (ayatana-indicator-application), so more work needs to be done on the renderers' side. (One of the next work items here is to get AppIndicator-Glib support working in Lomiri's desktop/windowed mode).

[1] https://github.com/AyatanaIndicators/libayatana-appindicator/releases/ta...
[2] https://github.com/AyatanaIndicators/libayatana-appindicator-glib/

  •  

v12.0.0

10 Juni 2026 om 21:17

⚠️ Potential Breaking Changes

Changed license to MSCL-1.0-GPL (#27417)

  • Breaking Change: Relicensed from BUSL-1.1 to MSCL-1.0-GPL (Monospace Sustainable Core License, Version 1.0).

Changed the default of IP_TRUST_PROXY from true to false to harden the default deployment against IP spoofing. (#27607)

  • The IP_TRUST_PROXY default was changed from true to false. If you run Directus behind a reverse proxy and rely on X-Forwarded-For (or similar) headers for client IP resolution, you must now explicitly set IP_TRUST_PROXY to true or a more specific trust configuration.

Fixed health check results not being shared in multi-instance settings. Restricted /server/health to authenticated users (#27160)

  • Health checks are cached by default and shared across multi-instance deployments
    • /server/health will return 404 for unauthenticated requests, use /server/ping for liveness checks
    • cache, rateLimiter and rateLimiterGlobal health checks have been replaced by a generic redis check using the redis: prefix

Introduced VERSION_KEY_ constants and renamed main to published @alvarosabu (#27397)*

  • Backward Compatibility: You can now use ?version=published to resolve versions of the main item(s) via the version query parameter. For backward compatibility, ?version=main will continue to work.

Replaced status field with archived boolean in collection settings @alvarosabu (#27397)

  • Backward Compatibility: Existing collections with string-based status fields continue to work unchanged; newly created collections now default to a boolean "Archived" field instead of the string "Status" field

Deprecated the VResizeable component @formfcw (#27437)

  • Deprecation for extensions: The globally registered VResizeable component has been deprecated. Extension authors using <v-resizeable> should migrate to @directus/vue-split-panel or their own implementation.

Updated type system, borders, and theme variables @formfcw (#27437)

  • Potential breaking change for theme extensions: headerShadow and sidebarShadow removed from LayoutConfig interface
  • Potential breaking change for theme extensions: boxShadow removed from header theme rules schema
  • Potential breaking change for theme extensions: sidebarShadow no longer exposed in layout wrapper state

Updated module navigation bar spacing and styling @HZooly (#27437)

  • Potential breaking change in theme extensions: Removed navigation.project.borderColor / navigation.project.borderWidth / navigation.project.background from theming. No action is required — these props will simply no longer have any effect.

Locked published items in versioned collections from editing and added a header action button to edit in the draft version @alvarosabu (#27397)

  • Breaking change — new behavior for versioned collections Published items in versioned collections are now locked. Edits must be made through the draft version.

Removed rounded buttons and adopted shared header action button across all views @formfcw (#27437)

  • Potential breaking change for extensions: The rounded prop has been removed from v-button. Extensions using rounded will still render correctly but buttons will appear as rounded rectangles instead of circles. No functional impact.

Updated header and navigation bar base design and merged their theme properties into a new shell scope @formfcw (#27437)

  • Potential breaking change for theme extensions: The theme properties navigation.background, navigation.backgroundAccent, navigation.borderWidth, navigation.borderColor, header.background, header.borderWidth, and header.borderColor have been removed and replaced by shell.background, shell.backgroundAccent, shell.borderWidth, and shell.borderColor.
  • Potential breaking change for theme extensions: Custom themes overriding any of these removed properties must migrate to the new shell scope. The corresponding CSS variables change from --theme--navigation--background, --theme--navigation--background-accent, --theme--navigation--border-*, --theme--header--background, and --theme--header--border-* to --theme--shell--background, --theme--shell--background-accent, and --theme--shell--border-*.

Removed the extra confirmation step from the publish flow @alvarosabu (#27487)

  • Breaking change — new publish flow: Publishing a version no longer shows an additional confirmation dialog after confirming changes in the comparison modal. The item is published directly once the changes are confirmed.

Updated sidebar styles @formfcw (#27437)

  • Potential breaking change for theme extensions: Removed section.toggle.borderWidth / section.toggle.borderColor in favor of section-level border tokens. No action is required — these props will simply no longer have any effect.
  • Potential breaking change for theme extensions: Removed sidebarShadow and headerShadow from defineLayout(). No action is required — these props will simply no longer have any effect.

Refactored focus ring from border/box-shadow to outline @formfcw (#27437)

  • Potential breaking change for theme extensions: borderColorFocus, boxShadowHover, and boxShadowFocus are removed from the theme schema — custom themes referencing these will lose their focus overrides silently
  • Potential breaking change for interface extensions that relied on --theme--form--field--input--border-color-focus or --theme--form--field--input--box-shadow-focus CSS variables will need to migrate to --theme--form--field--input--focus-ring-color

Updated header bar elements and deprecated the headline slot @formfcw (#27437)

  • Deprecation for extensions: The headline slot on the private view header bar has been deprecated. Existing content keeps rendering, but consumers using <template #headline> will now see a deprecation hint from Volar.

  • @directus/app

  • @directus/api

  • @directus/themes

    • Updated module navigation bar spacing and styling @HZooly (#27437 by @formfcw)

    • Updated header and navigation bar base design and merged their theme properties into a new shell scope @formfcw (#27437 by @formfcw)

    • Updated sidebar styles @formfcw (#27437 by @formfcw)

    • Refactored drawer header layout and simplified v-drawer API @formfcw (#27437 by @formfcw)

      :::notice

      • Deprecation for extensions: The globally registered v-breadcrumb component has been deprecated. Extensions using <v-breadcrumb> keep rendering but will see a deprecation hint from Volar.
      • Deprecation for extensions: On v-drawer, the subtitle prop (use the title prop instead), the subtitle slot, the header:append slot, and the actions:append slot have been deprecated. Existing usage keeps rendering — actions:append content lands in the secondary-actions zone, and for primary CTAs in the drawer header use the new actions:primary slot. Consumers will see deprecation hints from Volar.
      • Potential Breaking change for theme extensions: The theme properties header.headline.foreground and header.headline.fontFamily have been removed. Custom themes overriding these properties should remove them. The corresponding CSS variables --theme--header--headline--foreground and --theme--header--headline--font-family no longer exist.

      :::

  • @directus/types

    • Updated module navigation bar spacing and styling @HZooly (#27437 by @formfcw)

    • Updated header and navigation bar base design and merged their theme properties into a new shell scope @formfcw (#27437 by @formfcw)

    • Updated sidebar styles @formfcw (#27437 by @formfcw)

    • Refactored drawer header layout and simplified v-drawer API @formfcw (#27437 by @formfcw)

      :::notice

      • Deprecation for extensions: The globally registered v-breadcrumb component has been deprecated. Extensions using <v-breadcrumb> keep rendering but will see a deprecation hint from Volar.
      • Deprecation for extensions: On v-drawer, the subtitle prop (use the title prop instead), the subtitle slot, the header:append slot, and the actions:append slot have been deprecated. Existing usage keeps rendering — actions:append content lands in the secondary-actions zone, and for primary CTAs in the drawer header use the new actions:primary slot. Consumers will see deprecation hints from Volar.
      • Potential Breaking change for theme extensions: The theme properties header.headline.foreground and header.headline.fontFamily have been removed. Custom themes overriding these properties should remove them. The corresponding CSS variables --theme--header--headline--foreground and --theme--header--headline--font-family no longer exist.

      :::

  • @directus/extensions

  • @directus/extensions-registry

  • @directus/extensions-sdk

  • @directus/format-title

  • @directus/memory

  • @directus/pressure

  • @directus/release-notes-generator

  • @directus/update-check

  • @directus/validation

  • @directus/schema

  • @directus/schema-builder

  • @directus/specs

  • @directus/storage

  • @directus/storage-driver-cloudinary

  • @directus/storage-driver-supabase

  • @directus/storage-driver-azure

  • @directus/storage-driver-gcs

  • @directus/storage-driver-local

  • @directus/storage-driver-s3

  • @directus/stores

  • create-directus-extension

  • create-directus-project

  • @directus/env

    • Changed the default of IP_TRUST_PROXY from true to false to harden the default deployment against IP spoofing. (#27607 by @br41nslug)
  • @directus/sdk

    • Fixed the outdated updateExtension command and added missing deleteExtension and extension registry commands (#27314 by @kheiner)

      ::notice

      • updateExtension now accepts an id instead of bundle and name
        :::
    • Refactor sdk error to use class over object (#27417 by @ComfortablyCoding)

      :::warning
      Requests that fail will now throw a RequestError instead of returning a response with an error property.
      :::

✨ New Features & Improvements

  • @directus/app
    • Introduced VERSION_KEY_* constants and renamed main to published @alvarosabu (#27397 by @formfcw)

    • Added auto-save for version editing @alvarosabu (#27449 by @alvarosabu)

    • Fixed Image Editor save button to use split button @HZooly (#27437 by @formfcw)

    • Added split-menu slot to v-button and migrate primary header actions @formfcw (#27437 by @formfcw)

    • Added AI-powered translations to the translations interface, including glossary, style guide, and configurable default model settings derived from the enabled providers and allowed models. (#26940 by @bryantgillespie)

    • Added version support to getItemRoute and update all callers to preserve version context when navigating to items from layouts and interfaces @alvarosabu (#27397 by @formfcw)

    • Added behavior to auto-switch to the draft version on the first edit of published item @alvarosabu (#27507 by @alvarosabu)

    • Added Publish without Review action to the publish split menu with shortcut @alvarosabu (#27501 by @alvarosabu)

    • Updated Visual Editor header bar buttons @formfcw (#27437 by @formfcw)

    • Updated content route middleware to handle singleton collections and draft flow via route guards @alvarosabu (#27397 by @formfcw)

    • Replaced status field with archived boolean in collection settings @alvarosabu (#27397 by @formfcw)

    • Updated module bar buttons style @HZooly (#27437 by @formfcw)

    • Deprecated the VResizeable component @formfcw (#27437 by @formfcw)

    • Updated VChip component to appear as a pill in form field label, group accordion, group tabs, kanban, deployment status, extension item, marketplace extension list item, marketplace extension banner, and user popover @formfcw (#27462 by @formfcw)

    • Added tresjs shader background for public pages @alvarosabu (#27428 by @alvarosabu)

    • Updated type system, borders, and theme variables @formfcw (#27437 by @formfcw)

    • Rendered non-clickable version menu without directus_versions read access @alvarosabu (#27461 by @alvarosabu)

    • Added item-less draft creation flow for versioned collections @alvarosabu (#27397 by @formfcw)

    • Updated module navigation bar spacing and styling @HZooly (#27437 by @formfcw)

    • Updated Visual Editor popover/modal action buttons @formfcw (#27437 by @formfcw)

    • Updated UI for the Draft & Publish workflow @formfcw (#27437 by @formfcw)

    • Updated mobile appearance of drawer sidebar @formfcw (#27437 by @formfcw)

    • Moved Promote/Publish button to header actions @alvarosabu (#27397 by @formfcw)

    • Updated primary header actions to show label and replace outlined header action buttons @formfcw (#27437 by @formfcw)

    • Updated SearchInput component to match the new design @formfcw (#27437 by @formfcw)

    • Added MCP OAuth 2.1 authorization server. MCP clients (like Claude, Codex) can now authenticate via standard OAuth flow with PKCE instead of requiring a manually provisioned static token. Enable with MCP_OAUTH_ENABLED=true. Dynamic and client ID metadata registration were kept separately opt-in with MCP_OAUTH_DCR_ENABLED=true and MCP_OAUTH_CIMD_ENABLED=true. (#27069 by @hanneskuettner)

    • Refactored header bar action slots and reorganized CTAs @formfcw (#27437 by @formfcw)

      :::notice

      • Deprecation for extensions: The actions:append slot in the header bar has been deprecated in favor of the new actions:primary slot for primary CTAs. Existing actions:append usage keeps rendering in the secondary-actions zone, but consumers will now see a deprecation hint from Volar.

      :::

    • Added navigation logic on discarding item-less versions @alvarosabu (#27397 by @formfcw)

    • Put the sidebar into the content area @HZooly (#27437 by @formfcw)

    • Updated color system for VChip and VersionMenu components @formfcw (#27437 by @formfcw)

    • Updated content section spacing and drawer content spacing @HZooly (#27437 by @formfcw)

    • Extracted the card subheader into a reusable subheader component @HZooly (#27437 by @formfcw)

    • Added version select to collection page @alvarosabu (#27397 by @formfcw)

    • Updated sidebar styles @formfcw (#27437 by @formfcw)

    • Renamed "Promote" to "Publish" in version menu and disabled create version and published selection for item-less versions @alvarosabu (#27397 by @formfcw)

    • Added version query param guards on content-item route @alvarosabu (#27397 by @formfcw)

    • Improved bookmark flow @formfcw (#27450 by @formfcw)

    • Forwarded theme tokens and i18n strings from Studio to the visual-editing iframe @formfcw (#27469 by @formfcw)

    • Refactored focus ring from border/box-shadow to outline @formfcw (#27437 by @formfcw)

    • Introduced VersionChip component @formfcw (#27437 by @formfcw)

    • Updated theme preview component to match the new design @formfcw (#27437 by @formfcw)

    • Updated collab avatar indicator design @formfcw (#27437 by @formfcw)

    • Refactored drawer header layout and simplified v-drawer API @formfcw (#27437 by @formfcw)

      :::notice

      • Deprecation for extensions: The globally registered v-breadcrumb component has been deprecated. Extensions using <v-breadcrumb> keep rendering but will see a deprecation hint from Volar.
      • Deprecation for extensions: On v-drawer, the subtitle prop (use the title prop instead), the subtitle slot, the header:append slot, and the actions:append slot have been deprecated. Existing usage keeps rendering — actions:append content lands in the secondary-actions zone, and for primary CTAs in the drawer header use the new actions:primary slot. Consumers will see deprecation hints from Volar.
      • Potential Breaking change for theme extensions: The theme properties header.headline.foreground and header.headline.fontFamily have been removed. Custom themes overriding these properties should remove them. The corresponding CSS variables --theme--header--headline--foreground and --theme--header--headline--font-family no longer exist.

      :::

    • Updated header bar elements and deprecated the headline slot @formfcw (#27437 by @formfcw)

    • Ensured to switch to the draft version when visually editing an item of a versioned collection @formfcw (#27595 by @formfcw)

    • Extracted reusable ModuleBarButton component @formfcw (#27437 by @formfcw)

    • Moved client-validation to promote version workflow instead of save version @alvarosabu (#27397 by @formfcw)

    • Added Create New action to publish split menu with shortcut @alvarosabu (#27425 by @alvarosabu)

  • @directus/api
    • Introduced VERSION_KEY_* constants and renamed main to published @alvarosabu (#27397 by @formfcw)
    • Added auto-save for version editing @alvarosabu (#27449 by @alvarosabu)
    • Added AI-powered translations to the translations interface, including glossary, style guide, and configurable default model settings derived from the enabled providers and allowed models. (#26940 by @bryantgillespie)
    • Added Publish without Review action to the publish split menu with shortcut @alvarosabu (#27501 by @alvarosabu)
    • Added MCP OAuth 2.1 authorization server. MCP clients (like Claude, Codex) can now authenticate via standard OAuth flow with PKCE instead of requiring a manually provisioned static token. Enable with MCP_OAUTH_ENABLED=true. Dynamic and client ID metadata registration were kept separately opt-in with MCP_OAUTH_DCR_ENABLED=true and MCP_OAUTH_CIMD_ENABLED=true. (#27069 by @hanneskuettner)
    • Added JSON filtering, alias and sorting support (#26981 by @br41nslug)
    • Added support for item-less versions @Nitwel (#27397 by @formfcw)
    • Added support for the version query parameter in collections @Nitwel (#27397 by @formfcw)
    • Allow disabling the health check endpoint via HEALTHCHECK_ENABLED or selectively disabled checked services via HEALTHCHECK_SERVICES (#27160 by @ComfortablyCoding)
    • Improved AI assistant prompt caching support across providers. (#27545 by @bryantgillespie)
  • @directus/constants
  • @directus/env
    • Added auto-save for version editing @alvarosabu (#27449 by @alvarosabu)
    • Added MCP OAuth 2.1 authorization server. MCP clients (like Claude, Codex) can now authenticate via standard OAuth flow with PKCE instead of requiring a manually provisioned static token. Enable with MCP_OAUTH_ENABLED=true. Dynamic and client ID metadata registration were kept separately opt-in with MCP_OAUTH_DCR_ENABLED=true and MCP_OAUTH_CIMD_ENABLED=true. (#27069 by @hanneskuettner)
    • Allow disabling the health check endpoint via HEALTHCHECK_ENABLED or selectively disabled checked services via HEALTHCHECK_SERVICES (#27160 by @ComfortablyCoding)
  • @directus/system-data
    • Added auto-save for version editing @alvarosabu (#27449 by @alvarosabu)
    • Replaced status field with archived boolean in collection settings @alvarosabu (#27397 by @formfcw)
    • Added MCP OAuth 2.1 authorization server. MCP clients (like Claude, Codex) can now authenticate via standard OAuth flow with PKCE instead of requiring a manually provisioned static token. Enable with MCP_OAUTH_ENABLED=true. Dynamic and client ID metadata registration were kept separately opt-in with MCP_OAUTH_DCR_ENABLED=true and MCP_OAUTH_CIMD_ENABLED=true. (#27069 by @hanneskuettner)
    • Updated directus_oauth_* system collection visibility to match other system collections (#27682 by @hanneskuettner)
  • @directus/types
    • Added auto-save for version editing @alvarosabu (#27449 by @alvarosabu)
    • Updated type system, borders, and theme variables @formfcw (#27437 by @formfcw)
    • Added MCP OAuth 2.1 authorization server. MCP clients (like Claude, Codex) can now authenticate via standard OAuth flow with PKCE instead of requiring a manually provisioned static token. Enable with MCP_OAUTH_ENABLED=true. Dynamic and client ID metadata registration were kept separately opt-in with MCP_OAUTH_DCR_ENABLED=true and MCP_OAUTH_CIMD_ENABLED=true. (#27069 by @hanneskuettner)
    • Refactored focus ring from border/box-shadow to outline @formfcw (#27437 by @formfcw)
    • Added support for item-less versions @Nitwel (#27397 by @formfcw)
    • Added support for the version query parameter in collections @Nitwel (#27397 by @formfcw)
    • Fixed health check results not being shared in multi-instance settings. Restricted /server/health to authenticated users (#27160 by @ComfortablyCoding)
  • @directus/errors
  • @directus/composables
  • @directus/themes
  • @directus/utils
    • Added MCP OAuth 2.1 authorization server. MCP clients (like Claude, Codex) can now authenticate via standard OAuth flow with PKCE instead of requiring a manually provisioned static token. Enable with MCP_OAUTH_ENABLED=true. Dynamic and client ID metadata registration were kept separately opt-in with MCP_OAUTH_DCR_ENABLED=true and MCP_OAUTH_CIMD_ENABLED=true. (#27069 by @hanneskuettner)
  • @directus/sdk
  • @directus/specs
  • @directus/visual-editing
    • Redesigned the editable-element overlay with theming, RTL support and improved a11y @formfcw (#27469 by @formfcw)
  • @directus/memory

🐛 Bug Fixes & Optimizations

  • @directus/app
    • Added DIRECTUS_DOMAIN constant and replaced hardcoded directus.io to directus.com using the new constant (#27417 by @ComfortablyCoding)
    • Consolidated URLs and emails into shared constants (#27641 by @HZooly)
    • Limited mobile sidebar width so the overlay can be tapped to close it @HZooly (#27437 by @formfcw)
    • Bumped vue-tsc to 3.1.8 (#27437 by @formfcw)
    • Fixed tick rendering when count exceeds display limit in v-slider (#27644 by @HZooly)
    • Fixed icon alignment in v-divider component @HZooly (#27437 by @formfcw)
    • Fixed v-dialog returning focus to opener instead of an autofocused child on close @formfcw (#27464 by @formfcw)
    • Fixed flow handle button alignment in flow editor @HZooly (#27437 by @formfcw)
    • Shown "Import in background" checkbox only when a file is selected @HZooly (#27437 by @formfcw)
    • Fixed sidebar reopening at minimum size after being collapsed via drag handle @HZooly (#27437 by @formfcw)
    • Capped datepicker year to prevent invalid date (#27659 by @HZooly)
    • Bumped Vitest to 3.2.6 (#27686 by @br41nslug)
    • Fixed EXTENSIONS_PATH and EXTENSIONS_LOCATION env vars not being respected by the Vite dev server (#27642 by @HZooly)
    • Added notice on license page with oig link (#27661 by @robluton)
    • Fixed vue console warnings related to the comparison modal (#27538 by @formfcw)
    • Fixed bug on tooltip value when decimals is 0 in pie chart panel (#27356 by @Prateet-Github)
    • Fixed misaligned filter editor in search bar @formfcw (#27454 by @formfcw)
    • Added missing collection note translations for the directus_oauth_* system collections (#27682 by @hanneskuettner)
    • Changed back button behavior, always navigates one level up @HZooly (#27437 by @formfcw)
    • Fixed default favicon path to resolve against the instance root path instead of the site origin. (#27095 by @singhvishalkr)
    • Fixed repeater interface ignoring per-field translations and $t: keys on sub-field labels, and added a "Field Name Translations" section to the sub-field configuration UI (#27374 by @khanahmad4527)
    • Fixed search input not trimming whitespace, causing queries with leading or trailing spaces to return no results (#27359 by @khanahmad4527)
    • Added minor copy change to license onboarding and license key interface (#27651 by @robluton)
    • Fixed calendar layout toolbar responsiveness @HZooly (#27437 by @formfcw)
    • Updated license request links. (#27652 by @HZooly)
    • Fixed the error handling (try-catch) when saving a field in Directus Studio. (#27486 by @baguse)
    • Fixed items not being selectable in the collection drawer when the Kanban layout is used while the parent item is opened in a version context @alvarosabu (#27427 by @alvarosabu)
    • Fixed AI assistant "Clear conversation" not canceling in-flight requests, causing them to continue running in the background (#27646 by @levgiorg)
    • Added support for translatable flow names via the existing $t: prefix and translation strings, matching the field/collection label pattern. The flow name input in the flow editor now exposes the translation picker. (#27472 by @khanahmad4527)
    • Removed unsupported json filter function from the studio (#27669 by @sourav-18)
    • Fixed bookmark icon and color not showing in header @formfcw (#27437 by @formfcw)
    • Fixed UI freeze caused by WYSIWYG interface when its non-editable state toggles @formfcw (#27515 by @formfcw)
    • Fixed project setup silently ignoring invalid license keys (#27671 by @ComfortablyCoding)
  • @directus/api
  • @directus/constants
    • Added DIRECTUS_DOMAIN constant and replaced hardcoded directus.io to directus.com using the new constant (#27417 by @ComfortablyCoding)
    • Consolidated URLs and emails into shared constants (#27641 by @HZooly)
  • @directus/system-data
    • Added AI-powered translations to the translations interface, including glossary, style guide, and configurable default model settings derived from the enabled providers and allowed models. (#26940 by @bryantgillespie)
    • Updated the built-in OpenAI and Anthropic AI model lists to use the latest available API models. (#27602 by @hanneskuettner)
  • @directus/types
    • Added AI-powered translations to the translations interface, including glossary, style guide, and configurable default model settings derived from the enabled providers and allowed models. (#26940 by @bryantgillespie)
    • Added JSON filtering, alias and sorting support (#26981 by @br41nslug)
  • @directus/utils
  • @directus/sdk
    • Fixed health check results not being shared in multi-instance settings. Restricted /server/health to authenticated users (#27160 by @ComfortablyCoding)
    • Fixed SingletonCollections incorrectly including core schema collections (#27196 by @kheiner)
  • @directus/ai
    • Updated the built-in OpenAI and Anthropic AI model lists to use the latest available API models. (#27602 by @hanneskuettner)
  • @directus/release-notes-generator
    • Ignored private workspace packages when generating release notes (#27637 by @licitdev)

📦 Published Versions

  • @directus/app@16.0.0
  • @directus/api@36.0.0
  • @directus/ai@1.3.2
  • @directus/composables@11.5.0
  • @directus/constants@14.4.0
  • create-directus-extension@12.0.0
  • create-directus-project@13.0.0
  • @directus/env@6.0.0
  • @directus/errors@2.4.0
  • @directus/extensions@4.0.0
  • @directus/extensions-registry@4.0.0
  • @directus/extensions-sdk@18.0.0
  • @directus/format-title@13.0.0
  • @directus/memory@4.0.0
  • @directus/pressure@4.0.0
  • @directus/release-notes-generator@3.0.0
  • @directus/schema@14.0.0
  • @directus/schema-builder@1.0.0
  • @directus/specs@14.0.0
  • @directus/storage@13.0.0
  • @directus/storage-driver-azure@13.0.0
  • @directus/storage-driver-cloudinary@13.0.0
  • @directus/storage-driver-gcs@13.0.0
  • @directus/storage-driver-local@13.0.0
  • @directus/storage-driver-s3@13.0.0
  • @directus/storage-driver-supabase@4.0.0
  • @directus/stores@3.0.0
  • @directus/system-data@4.5.0
  • @directus/themes@2.0.0
  • @directus/types@16.0.0
  • @directus/update-check@14.0.0
  • @directus/utils@13.5.0
  • @directus/validation@3.0.0
  • @directus/visual-editing@2.1.0
  • @directus/sdk@22.0.0

  •  

Colin Watson: Free software activity in May 2026

10 Juni 2026 om 17:10

My Debian contributions this month were all sponsored by Freexian.

You can also support my work directly via Liberapay or GitHub Sponsors.

OpenSSH

I backported various security fixes from 10.3 to trixie, bookworm, bullseye, buster, and stretch. For trixie, I also backported several IPQoS fixes to line up with upstream’s traffic management settings and drop a rather hacky Debian-specific patch; this needed a quick follow-up fix.

I upgraded trixie-backports to 10.3.

I fixed openssh uses pidof but does not depend on procps.

PuTTY

I upgraded from 0.83 to 0.84.

Python packaging

New upstream versions:

  • bitstruct
  • ormar
  • pdm (fixing a build failure)
  • pydantic
  • pydantic-core
  • pydantic-settings
  • pyglet (fixing a build failure)
  • python-asyncssh
  • python-bitarray
  • python-btrees
  • python-build
  • python-certifi
  • python-charset-normalizer (fixing a build failure)
  • python-fakeredis (contributed supporting fix upstream)
  • python-holidays
  • python-jsonschema-path
  • python-memray (fixing a build failure and CVE-2026-32722)
  • python-openapi-schema-validator
  • python-pathable
  • python-persistent
  • python-pyftpdlib
  • python-pytest-run-parallel
  • sorl-thumbnail
  • twisted
  • zope.interface
  • zope.proxy

Other build/test failures:

Other bugs:

I updated python-treq upstream to stop vendoring multipart, now that the packaging issues with that have been sorted out.

Code reviews

Other bits and pieces

I contributed a debian-policy patch to fix several links related to build profiles.

  •  

South Dakota: Custom Depots #2

Door: Alex
10 Juni 2026 om 17:00

Excited to get delivering in South Dakota? Then this blog is for you! Today, we're happy to share more of the custom depots you'll deliver to and from in our upcoming South Dakota DLC for American Truck Simulator. From busy agricultural industries to a large scrapyard, let's take a closer look at what our teams have been busy creating!


Unlike standard prefabs, these depots have been carefully assembled by our map designers using a variety of assets, giving each one a distinct look and feel. Many of them are based on real-world locations, which perhaps some of you might recognise if you live locally or visit South Dakota often.


Agriculture plays a major role in South Dakota’s economy, and players will find plenty of job contract opportunities from a range of farming industries across the state. One such location can be found near the city of Aberdeen, where you'll discover a large farm facility featuring numerous silos used for storing crops and seeds before they are shipped further afield. Set amongst the vast prairies and open spaces that define much of South Dakota's landscape, drivers will be treated to panoramic views and seemingly endless horizons as they travel between jobs. This is just one of the many farms that make up South Dakota’s number one industry. 


The agriculture industry covers much more than just seeds and crops, however, and nearby the city of Mitchell, players will discover a custom farm livestock depot inspired by a real-life facility. You'll be sure to spot plenty of livestock roaming the nearby fields, as South Dakota famously has the highest cattle to people ratio in the U.S., with approximately 4 times as many cattle as people living in the state!


For those who enjoy heavy industry and rugged terrain, the Spearfish area will feature a large quarry-inspired depot nestled within the scenic Black Hills region. Hauling materials in and out of this site will require careful driving through winding roads and rough terrain, all while surrounded by impressive rocky landscapes and industrial machinery.


In the city of Lead, you’ll find the largest open pit in South Dakota. It is a closed gold mine and a clear visual dominant of the city. In the mine's underground, 4,850 feet deep, we can find a unique research laboratory. It is the deepest underground laboratory in the United States and it houses experiments connected to dark matter and neutrinos, which need to be conducted far below the Earth’s surface, shielded from cosmic radiation. This research facility also serves as an inspiration for one of our locations in the South Dakota DLC. Our players will be able to explore a part of the facility and experience the atmosphere of a place like this for themselves 


Nearby Aberdeen, players will also come across a large scrapyard depot inspired by a real-life agricultural salvage facility. Spanning a huge area filled with rows of machinery, stacked equipment, scrap piles, containers, and industrial vehicles, this custom depot is based on a well known scrapyard business where people travel from across the region in search of spare parts, equipment, and older vehicles.


Grain transportation remains a key part of South Dakota’s economy, and nearby Mitchell, players can deliver to and from a large grain elevator situated amidst the surrounding countryside. Surrounded by open fields, this agricultural landmark captures the scenic character of South Dakota’s farming regions. Standing tall above the prairie, grain elevators like this serve as important hubs for storing and transporting crops throughout the Midwest, and are a familiar sight for truckers travelling America's backroads and highways alike. 


We look forward to sharing even more from this upcoming DLC for American Truck Simulator in the future, right here on our blog. If you're excited to be haulin' in the Mount Rushmore State, be sure to add South Dakota to your Steam Wishlist, your support means a lot to us. Until next time, happy haulin’!

  •  

Minecraft 26.2-pre-6 (snapshot) Released

10 Juni 2026 om 14:20
26.2 Pre-Release 6 (known as 26.2-pre-6 in the launcher) is the sixth pre-release for Java Edition 26.2, released on June 10, 2026. Full changelog: https://minecraft.wiki/Java_Edition_26.2-pre-6
  •  

v5.48.0

10 Juni 2026 om 15:19

5.48.0 (2026-06-10)

🚀 New feature

  • add optional openapi spec route (#26239)
  • openapi: gate endpoint access with config (#26574)

🔥 Bug fix

  • upload returns unsigned URL on update media info (#25195)
  • widgets show error when role has no access to mainfield of ct (#26537)
  • admin: return empty object for empty json body in fetch client (#26277)
  • build: build does not run install; add install-deps arg (#26483)
  • ci: run build:size as full command for compressed-size-action v3 (#26556)
  • ci: restore allowed paths-filter pin (#26575)
  • content-manager: use ReadonlyArray for layout prop and fix Repeatable test fixture (#26522)
  • content-manager: raise z-index of code block language selector (#25010, #26324)
  • core: validate numeric inputs before DB unique checks (#26101)
  • database: restore join-table relation sort order in components (#26553)
  • database: avoid double finalising completed transactions (#26122)
  • upload: folder navigation bugs in Media Library (#26515)
  • upload: preserve animation frames in GIF and WebP images (#26126)
  • utils: ignore empty sort when building orderBy (#26427)

📚 Documentation Changes

  • openapi: add contributor documentation (#26410)

⚙️ Chore

  • remove experimental-dev example app (#26552)
  • update .gitignore for AI tooling directories (#26526)
  • deps: bump axios from 1.16.1 to 1.17.0 (#26539)
  • deps: bump the testing-library group across 1 directory with 2 updates (#26506)
  • deps: bump actions/setup-node from 4 to 6 (#26496)
  • deps: bump actions/stale from 10 to 10.2.0 (#26497)
  • deps: bump preactjs/compressed-size-action from 2 to 3 (#26498)
  • deps: resolve vulnerable transitive deps via lockfile dedupe and resolutions (#26540)
  • deps: bump cheerio from 1.0.0 to 1.2.0 (#26569)
  • deps: bump dorny/paths-filter from 3.0.3 to 4.0.1 (#26566)
  • deps: bump actions/download-artifact from 4.3.0 to 8.0.1 (#26564)
  • deps-dev: bump the eslint group across 1 directory with 10 updates (#26500)
  • deps-dev: bump @types/delegates from 1.0.0 to 1.0.3 (#26570)
  • deps-dev: bump the nx group across 1 directory with 2 updates (#26502)
  • repo: skip change freeze ownership check when freeze disabled (#26474)

💅 Enhancement

  • core/core: rounded thin borders for startup banner (#26273)
  • graphql: use discriminated unions instead of unsafe type casting (#25913)
  • upgrade: unhide and document upgrade to command (#26446)

🚨 Security

❤️ Thank You

  •  

De MAGA Cup | POM S11E37

10 Juni 2026 om 06:00

Volgens een artikel in de Financial Times is het WK voetbal altijd al een politiek instrument geweest: oprichter Jules Rimet wilde er na de loopgraven van de Eerste Wereldoorlog de wereldvrede mee bewerkstelligen, maar door een weeffout in de bekostiging zijn het inmiddels vooral despoten die het toernooi binnenhalen, met Trumps MAGA Cup als nieuwste hoofdstuk.

Tegelijk blijkt een stadion juist een van de weinige plekken waar dissent niet te onderdrukken valt, of het nu Catalanen onder Franco zijn, Italiaanse ballingen die Mussolini's elftal uitfloten of een Megatron in Madison Square Garden die Trump wegjoelt. De NOS draait dat soort boegeroep liever weg en neemt klakkeloos de gemanipuleerde FIFA-feed over, en dat is precies wat een publieke omroep in tijden van wantrouwen niet zou moeten doen.

Het boek How to Rule the World ontmaskert ondertussen het Stanford binnen Stanford, waar VC's al in eerstejaars investeren, feestjes alleen nog met sober monitors en een "I am on stolen land"-eed mogen, en de campuspresident sneuvelt op gefotoshopte onderzoeksresultaten.

Tussendoor een ode aan de sonische identiteiten van de FIFA, met San Francisco als onbetwiste favoriet.

Meer te weten te komen over Carbon Equity? Lees dan verder op carbonequity.com

Interesse gewekt voor Seth Godin? Begrijpelijk! Tickets voor het Amsterdam Business Forum op 18 september vind je op DenkProducties.nl.



This is a public episode. If you would like to discuss this with other subscribers or get access to bonus episodes, visit www.pom.show

💾

  •  

Distribution Release: Alpine Linux 3.24.0

10 Juni 2026 om 02:42
The DistroWatch news feed is brought to you by TUXEDO COMPUTERS. The Alpine Linux development team has announced the release of Alpine Linux 3.24.0, a significant update of the project's independently-developed, general purpose Linux distribution designed primarily for power users: "We are pleased to announce the release of Alpine Linux 3.24.0, the first release in the 3.24 stable series.....
  •  

Release 2026.06.10

10 Juni 2026 om 02:46

Docker Images

Docker images have been built and pushed:

Docker Hub:

  • alexta69/metube:latest
  • alexta69/metube:2026.06.10

GitHub Container Registry:

  • ghcr.io/alexta69/metube:latest
  • ghcr.io/alexta69/metube:2026.06.10

Changes

  • upgrade yt-dlp from 2026.3.17 to 2026.6.9 (e30a24f)

  •  

Vincent Bernat: Blogging with LLMs as a non-native speaker

9 Juni 2026 om 22:15

AI slop is invading the web. A recent story about disallowing LLM-generated submissions on Lobsters triggered a lot of debate. My personal worst offenders are LinkedIn articles with AI-generated images and uninspired articles filled with emojis from people trying to masquerade as experts on a subject they don’t care enough to write themselves. While I am unhappy about this situation, I rely on LLMs for grammar, copyediting, and translation. I don’t see this as a contradiction.

I am a native French speaker, but I blog in both English and French. When I started writing this blog in 2011, I was composing in French and translating to English, but I found it was better to work in the reverse order to avoid unnatural and non-idiomatic constructions. One of my goals is to write “good” English but I never felt it was my strong point.1 For example, verb tenses are often an issue, even if I mostly stick with the present tense. I learn the rules and forget them right away. I also don’t feel like hiring an editor for something I see as a hobby.

As an example, I have kept the history of the successive iterations when writing “Scaling Akvorado BMP RIB with sharding”:

  1. the first draft, authored with the help of a thesaurus,2
  2. the edited copy revised by the copyediting skill,
  3. the translation to French generated with the translation skill, and
  4. the human proofread of the French translation, with minor edits to the English version.

I know that LLMs may alter the author’s voice when editing, but the corrections in the second step are minor. The prompt asks to “apply light stylistic edits,” with some guidance around avoiding passive voice, long sentences, bland verbs, and filler words. It also defines the target audience: technical with a B2 level in English.

In the following excerpt, I used “long time” instead of “long-standing.” The former is missing a hyphen and applies to people—a long-time friend, while the later relates to a situation—a long-standing agreement. I had a hard time understanding the reason of the second change: the LLM prefers a defining relative clause to provide the definition of “RIB sharding.”

As the Internet routing table contains more than 1 million routes, Akvorado needs to scale to tens of millions of routes. This has been a long time long-standing challenge, but I expect this issue is now fixed by using RIB sharding, a method to split that splits the routing database into several parts to enable concurrent updates.

In the next modification, the LLM puts “device” instead of “equipment.” This is correct as “equipment” is an uncountable noun. I know that, but I still fall into this trap.

When Akvorado does not find a route from a specific device, it falls back to a route sent by another equipment device.

I ask the LLM to use “descriptive verbs” and it complies by replacing a multi-word predicate with a lexically rich verb:

The benchmarks demonstrate it has better performance than outperforms other packages, both packages for lookups, insertions, and memory usage.

It also fixes grammar errors. In the next excerpt, a “list of routes” is a singular expression. Moreover, “stored” is a state and I should not use “into” as it expresses a change.

The list of routes for each prefix are is not stored directly into in the prefix tree.

As a last example, consider the following snippet. The “require” verb accepts a noun or an object followed by a to-infinitive. I can’t use it with just a to-infinitive.

An alternative would be to have one prefix tree for each peer but it would require to configure configuring all routers to export their routes.

As someone who didn’t grow up speaking English, I struggle with these grammar rules despite reading a lot of English material.3 French is more complex to get started but more systematic. English is full of irregularities.


On each page, I disclose in the footer whether an AI modified the content. There are three levels:

  • 🧠: no AI or almost no AI (e.g., grammar corrections)
  • ✨: enhanced (e.g., copyediting)
  • 🤖: generated (e.g., translated from another language, even if human-edited)

Hover or tap the icon to reveal the AI’s name and its role in the document.

Screenshot of the footer containing the "sparkles" emoji
Example of AI usage disclosure: Claude Sonnet 4.5 edited this article.

The graph below shows which tool altered each post, year by year. Recently, I applied the grammar skill to past articles. Since 2018, French articles have been translated with the help of DeepL first, then of an LLM. Since 2024, English articles are copyedited.

&#128444; Graph showing the AI usage over the years. Each level get its own color.
AI usage over the years. Hover or tap a band for the details.

If you are strongly against any usage of LLMs specifically for writing, I hope you accept my more nuanced position on the usage of these tools as a trade-off to provide clearer and more engaging articles. Years of literature on improving English told us it is important to choose the right word to keep the reader engaged.

[…] Good writing consists of mastering the fundamentals (vocabulary, grammar, the elements of style) and then filling the third level of your toolbox with the right instruments.

Stephen King, On Writing

Note

Unlike other recent articles, I did not use an LLM to edit this post: an unnamed person kindly accepted to proofread it. I translated it to French without using an LLM either.


  1. I recently read cover to cover “Writing for Developers” and I found it stimulating. Michael Lynch is currently writing “Refactoring English” on the same topic and I have subscribed to the early access. 

  2. I am quite happy with the writing tools provided by Kagi. Both the translate tool and the dictionary are a valuable help to find different wordings. I also lean on Kagi’s research assistant when researching a topic. 

  3. When I was ten, I played Monkey Island 2 in English without having taken any classes. I used a dictionary to translate word by word and I found the irregular verbs confusing—and not in the dictionary. 

  •  

Distribution Release: SysLinuxOS 13.2

9 Juni 2026 om 21:33
The DistroWatch news feed is brought to you by TUXEDO COMPUTERS. Franco Conidi has announced the release of SysLinuxOS 13.2, an updated build of the project's Debian-based distribution made primarily for system integrators and network administrators. The new version uses the Btrfs filesystem on new installation and integrates the Snapper utility for managing snapshots of Btrfs subvolumes. "SysLinuxOS 13.2....
  •  

HeidiSQL v12.18

9 Juni 2026 om 20:37

12.18 - 2026-06-09

⛰️ Features

  • (packaging) Create .rpm package through Makefile, plus let GH action run that step in release mode - (fc728cf)
  • Create checkbox in advanced session setting for new ForceUnicode setting - (75a0f7f)
  • Create opt-out setting "ForceUnicode", for sessions which shall not force Unicode communication - (ed9a94f)
  • Enable connection port visible in a column of the session tree - (7cfdb97)
  • Display auth plugin in a new column of the user listing tree - (3e4f562)
  • Support authentication plugin selection in user manager - (07112a0)
  • Grid export option for exporting the focused grid column only - (d896680)
  • Bypass automatic foreign key lookup in data grid editing through new menu item - (a5ae04b)
  • Add a separate menu item "copy formatted text", using the old code for copying SynEdit-highlighted text as HTML - (84c63c6)
  • Filter edit box for shortcuts in preferences - (fb243fc)
  • Create CLI app for adding PE security flags to heidisql.exe - (3e797e2)
  • Rename snippet per right-click on query helpers tree - (7171e48)
  • Name columns in SELECT when exporting table with invisible columns - (1799b0d)
  • Support invisible indexes on MySQL 8.0+ and ignored indexes on MariaDB 10.6+ - (b3fa484)
  • Support assigning a default role to a user - (96d2aef)
  • Support assigning roles to a user or role - (96717cd)
  • Do not require MySQL's RELOAD privilege just for opening the user manager - (f79d9a5)
  • When nodes are filtered, change "Check all" action to "Change all visible" - (ebd60b3)
  • Disable role rename, add menu item for creating a role, support role deletion - (83472c5)
  • Prevent editing contents of generated columns in data grid - (9ecdff0)
  • Basic support for MariaDB user roles, loaded without SQL error and shown with a different icon - (3249401)
  • Add context menu item for deleting a single query from the history - (0035d5e)
  • Reset a table's current auto_increment value in "delete + insert data" mode - (0422bb3)
  • Support cancelling server login dialog - (e5b9574)
  • Keep EXPLAIN output format traditional, on newer MySQL servers - (90f9937)
  • Make HTML export dark/light mode aware - (dc046e9)
  • Allow setting database to in PostgreSQL connections, and show and in the pulldown selector - (950e2ca)

🚀 Enhancements

  • Disable plugin selector as long as no user was selected - (54dd7d8)
  • Do not copy default type and value from previous column when adding columns to a table - (42a061d)
  • Suppress dialog for saving modified SQL on app close, when tabs get auto-restored - (4ca01d9)
  • Remove FLUSH PRIVILEGES from the user managers FormShow handler. If a click on a non-flushed user in the tree produces an exception, that is caught and shown as a normal error message. - (fe7a5ef)
  • 50% black grid lines, should fit on both light and dark theme - (1872916)
  • Increase supported table size and row limit for quick filter menu showing distinct values - (48eca57)

🐛 Bug Fixes

  • (ui) Filter away vertical writing fonts with an @ prefix - (1814ee9)
  • (ui) Size and margin of buttons on SQL help dialog - (61bc258)
  • (ui) Apply the same larger tree node height on Linux - (c770406)
  • (ui) Remove default "add user" event from add button, turn it into a pure dropdown button - (d7910c1)
  • Copy table dialog crashes when none of dbtree and listtables has Focused=True - (9216061)
  • Prefer SHOW KEYS over SHOW INDEXES, which are synonyms, while very old servers only accept the one with KEYS - (b97122c)
  • Prevent grid queries from doing "WHERE intcol::text = 1", due to "1" being incompatible to the text value on the left - (bcea889)
  • Vulnerability CVE-2025-70873, updating SQLite libs to v3.53.1 - (2930be8)
  • Complaint about invalid password length on user plugins which have no fixed password length - (510b141)
  • SUBSTRING() on array typed VARCHARs throw "function substr(...) does not exist" - (5f2959d)
  • MS SQL throws "Cannot drop database xyz, because it is currently in use" when user is about to drop the current database - (fa2bb05)
  • Wrong tab order after inserting new checkbox in the middle - (59d4f1f)
  • Space missing in CREATE TABLE code of PG table with SERIAL column - (1633c33)
  • Quick filter prompts on numbers break WHERE clause through local formatting - (e7646a0)
  • Restore displayed session name in message dialog caption, was removed in commit:63028518f8b0d5869383d3bc0c42f188851797ed - (a6d6e70)
  • Missing bottom anchor on shortcuts tree - (f8c4bde)
  • Broken ci compilation for Windows - (570fab1)
  • Broken ci compilation, move -WB -WR linker options to the conditionals section of the lpi file - (97ec20b)
  • Turn exception in ParseViewStructure into a log message - (7562a1e)
  • Data grid filter cut with several double-dash comments on one line - (dac7b0e)
  • Hidden input box for line terminator in csv import dialog - (f20d634)
  • Mouse click in edited row calls save action although focus did not change - (b8313e5)
  • SSH command line tweaks, patch from jarczakpawel - (454571e)
  • Broken compilation due encoding update to utf-8: ellipsis char constant seen as string now, instead of char - (26b9696)
  • Replace hardcoded Windows directory separator with DirectorySeparator - (41615e6)
  • Explicitly set client encoding on PG connection - (79c5e4c)
  • MSSQL foreign key lookup to include table schema - (305534d)
  • Wrong ENUM column type detection, due to less strict regex - (e731fd0)
  • Do not start edit mode in ListTables on right mouse button click - (89ccbac)
  • Staying on current table by click on "follow foreign key" when the foreign table lives in a different database - (8643172)
  • Some crashes found in uploaded crash reports - (7bed735)
  • Enable save button after changing default role per combobox - (508b139)
  • Support backtick quoted user roles, and some other TValueListEditor related bug fixes - (86ea19c)
  • A few compiler warnings - (c6dffe1)
  • Pre-select nothing in BOOL grid cell editor on PostgreSQL - (1895959)
  • Allow non existent SQLite files, only complain when its path does not exist - (02cf4cb)
  • Solution for #2431 breaks other stuff, reverting a part of it - (e940863)
  • Editing table data on mysql versions without generated column support - (32f3e6b)
  • EAbort crash when copying text from SynEdit without a highlighter - (6c219b9)
  • Missing anchors and autosize in user manager form - (91b90bc)
  • Reset tree refresh marker earlier, so SetActiveDatabase triggers events and hides the table + data tab after dropping tables - (d2c9c96)
  • Prevent crash due to unsupported edit-database feature on MS SQL - (68aeb96)
  • Clear data grid before indicating a broken or temporary table for which we get no columns from IS.COLUMNS - (b4ec223)
  • Populate SSH executable combo with only a global "ssh" command, do not add .exe files on Linux and macOS - (37f57ce)
  • Call to non existent inherited constructor version of TSQLBatch - (b2f4d5b)
  • TSQLBatch using backslash for escaping single quotes on all server types. Introduce server type specific TSQLBatch.FEscape char. - (e9af525)
  • Crash in SQL export to database for zero length SQL, plus upgrade old-style string handling - (056b5e9)
  • Do not delete selected SQL text from editor when trying to focus the position of erroneous SQL - (f5c5f33)
  • Crash after canceling query - (ee16571)

🚜 Refactor

  • Convert remaining latin1 unit to utf-8 - (85fb0bd)
  • Sync from master - (9727d53)
  • Revert most of what I did for #2424 - (3d547fd)
  • Prefer qAutoInc in SQLProvider over dedicated AutoIncName method - (2fbb779)
  • Simplify some more calls to Query() with the overloaded variants - (b0ab0fc)
  • Convert more TFeatureOrRequirement's to TQueryId - (9f21853)

Localize

  • Update compiled .mo translation files - (53f95d2)

Contributors

New Contributors ❤️

  •  

1.60 Update: Kenworth TourAmerica Paint Jobs

Door: Petr
9 Juni 2026 om 17:00

We are excited to introduce the TourAmerica paint jobs for the Kenworth T680 2022 and W900 as free content in the upcoming 1.60 update for American Truck Simulator!

A few months ago, Kenworth unveiled a special-edition paint scheme as part of the Freedom 250 initiative, a nationwide effort commemorating the 250th anniversary of the United States and celebrating the enduring spirit of American trucking.

Inspired by the iconic TourAmerica T600 paint scheme of the 1990s, this striking design combines red, white, and blue colors - a classic styling with contemporary finishes. We are happy to support the celebrations by bringing this beautiful paint job to American Truck Simulator, where it will be available for both the Kenworth W900 and Kenworth T680 2022.

Now, ATS drivers can join in the festivities as well and pay tribute to trucking heritage with a unique paint job that honors both a legendary design and a major milestone in American history.

These paint jobs are already available in the ongoing 1.60 Open Beta for American Truck Simulator. If you're taking part, be sure to give your Kenworth a fresh new look and hit the road in style!

Remember to follow us on our X/Twitter, Facebook, Instagram, Bluesky, and YouTube for all the latest news from American Truck Simulator, or sign up for our newsletter to stay informed. Until next time, we wish you happy haulin'!

  •  

Distribution Release: RefreshOS 3-0

9 Juni 2026 om 15:55
The DistroWatch news feed is brought to you by TUXEDO COMPUTERS. eXybit Technologies has announced the release of RefreshOS 3-0, a major update of the project's beginner-friendly, desktop Linux distribution based on Debian 13 and featuring the KDE Plasma desktop: "RefreshOS 3 'Colorful Cosmos' is officially here, bringing the biggest visual and usability upgrade the project has seen so....
  •  

BookStack v26.05.1

11 Juni 2026 om 13:12

Security Release

This is a security release to address the following vulnerabilities:

  • Attachment requests could be manipulated to leak details/links/metadata (not content) of attachments which the user did not have permission to view.
  • The file:// protocol could be abused in some Windows-specific scenarios to auto-run requests with credential information when viewing exports.
    • This protocol is now filtered from interactive content.
  • The search system could be abused to cause errors and fill logs.

Upgrade is advised for instances with public viewing enabled, or where untrusted users have authenticated access.

Thanks to Stephen O. / Sakusen (Codeberg, Website), Gurmandeep Deol (LinkedIn), Rafael Castilho (X account) and Gabriel Duarte Guerra (GitHub) for responsibly reporting these issues.

Full List of Changes

  • Updated PHP package versions.
  • Updated translations with the latest Crowdin changes.
  • Updated content allow-filtering to only allow the file:// protocol on anchor hrefs, instead of in all dynamic content.
  • Updated attachment update handling to validate permissions before request content.
  • Fixed numeric handling issue in tag search when using non-standard numbers.

  •  

v4.26.2

Door: Bassel17
9 Juni 2026 om 13:15

⚠️ Note: This is the final Strapi 4 release ⚠️

No further updates to Strapi 4 will be published, this release serves as the final version of Strapi 4 which is considered EOL (End-Of-Life) as of April 30th, 2026. All Strapi users should migrate to Strapi 5: https://docs.strapi.io/cms/migration/v4-to-v5/introduction-and-faq

Also please note, this does include Strapi Customers as well. Strapi Cloud will still continue to function with Strapi 4 but that may be subject change in the near future without warning.

What's Changed

Security

  • Fixed a critical vulnerability where relational filtering could expose sensitive data through insufficient query sanitization. See GHSA-rjg2-95x7-8qmx / CVE-2026-27886.
  • Upgraded tar to v7 to address security warnings.
  • Applied v4 dependency security and maintenance updates.

Fixes

  • Enforced unique admin email validation when updating the authenticated user profile.

Compatibility

  • Added Node.js 22 support for Strapi v4.

Full Changelog: v4.26.1...v4.26.2

  •  
❌