Wackadoo! Join Bluey for the ultimate playdate on Apple Arcade starting May 21


You can install pre-built binaries from https://repo.dovecot.org/
Docker images can be found at https://hub.docker.com/r/dovecot/dovecot
Please review https://doc.dovecot.org/2.4.4/installation/upgrade/2.3-to-2.4.html and https://doc.dovecot.org/2.4.4/installation/installation.html.
There are experimental features in 2.4, one is enabled with --enable-experimental-mail-utf8, and another with --enable-experimental-imap4rev2, and you also need to set mail_utf8_extensions=yes and imap4rev2_enabled=yes to enable them in config.
Full Changelog: v1.18.1...v1.19.0
First-launch web setup wizard. New installs no longer need to hand-edit .env.local - point a browser at the container and the wizard probes the JMAP server(s), configures OAuth/OIDC, generates the session secret, accepts branding uploads, and provisions the initial admin password. Admin storage is now split into ADMIN_CONFIG_DIR (operator-authored, mountable read-only after setup) and ADMIN_STATE_DIR (runtime audit log and login timestamps); the legacy ADMIN_DATA_DIR keeps working for existing installs.
ADMIN_CONFIG_READONLY for immutable deployments (#226)ADMIN_PASSWORD (#222)
1.19.0
1.19.0
1.19.0

If you are upgrading from v0.16.x, replace the binary (or run docker pull). If you are upgrading from v0.15.x and below, please read the upgrading documentation for more information on how to upgrade from previous versions.
is_ip_in_cidr expression function for CIDR matching.mail-auth to 0.9 (which bumps hickory-resolver to 0.26).hickory.null values fails.Failed instead of Error when the query returns no results.EAFNOSUPPORT error..well-known endpoints.RCPT before rewriting.dns-update crate):
MX and SRV records.subname for apex records instead of @, which the API rejects.TXT record content in double quotes (RFC 1035) to suppress dashboard warnings.calcard crate):
STATUS:CANCELLED mapping from VTODO to JSCalendar.PT0S.
Today, we’re taking a closer look behind the scenes of Building Canada, focusing on the creation of British Columbia and what it takes to bring it into American Truck Simulator. We spoke with Patrix, our Map Technical Lead for ATS, who shared his perspective on how this ambitious new region is being brought to life and how the new road networks are being made.
"Hi, my name is Patrik (also known as Patrix). Over the past 15 exciting years at SCS Software, a mix of good fortune and personal dedication has taken me on quite a journey, from starting as a junior map designer on Euro Truck Simulator 2 just months before its release, to my current role as a Technical Lead working on American Truck Simulator."
"It's a pleasure and a big responsibility to be trusted by the company in terms of technical knowledge and pipeline correctness. In my early years, I recall breaking a lot of technical rules to achieve any sort of visual that was (or could be) considered nice. Doing that, I was many times inevitably instructed by experienced senior colleagues about how the game engine works and why I should be careful about overloading hardware with random details or items in map scenes."
"As years flew by, I became more responsible and stood rather rational about the complexity of the map and shaped a pretty exact vision of where the limits are and how the map should be done, so that it works smoothly on any computer and is also accessible to maintenance, which is critical for projects that live on for more than 10 years, just like ATS recently proved to be able to."
"Right now, my responsibility is to set and maintain a certain technical consistency in terms of how our map is being done across the entire ATS, which means syncing the attitude towards map creation across several projects and across different map teams."
"When our CEO, Pavel Šebor, approached us initially with the idea of going north to British Columbia, we immediately knew it would be a challenge. With its significance for the future of ATS, British Columbia reminds me of the times when we worked on Texas. Both were to be bigger than regular DLCs and should also carry a lot of specific new content. Logically, as we are going to another country in ATS for the very first time, we had to prepare a new set of road signage, both vertical and horizontal. Vertical signage are road-side signs, and those in Canada are very similar to the ones in the United States."
"Small things like font differences, dimensions, or rules for placement are exactly those little details we are looking for and following, so that our community of experienced drivers will immediately recognize that they are in Canada, even from unspecified random screenshots."
"Just like we did for the US, we read lots of Canadian documentation to get things right. One of the more complicated decisions was to pick the correct width of road lines. If documentation gives you a variety, what would you pick? The middle, one of the edge cases, or the most common? Also, how would we know from Prague what the most common roadline width is in Canada? When we found answers to these initial questions, even bigger issues appeared with implementation. For our Prism3D engine, different roadlines mean lots of new data that we had to create. Our in-game roads are made from templates of roads and more complex baked segments that we call prefabs. So if we wanted a slightly different yellow and a little wider/narrower lines, it meant making hundreds of road templates and prefabs to be able to bring this detail into British Columbia."
"Another part of my role as technical leader is to check all city layouts and compare their ambitions to the rest of the map, so that we stay consistent in the way we shape the game world."
This is a major release.
Feature highlights✨:
cli/purge.php to apply purge policy from command lineBug fixes highlights 🐛:
Security highlights 🛡:
UI highlights 🖼:
Extensions highlights 🧩:
This release has been made by @Alkarex, @Inverle, @Kiblyn11, @math-GH, @rupakbajgain, @xtmd and newcomers @polybjorn, @olivluca, @tomasodehnal, @PeterVavercak, @mrtnrdl, @ale-rt, @cweiske, @rid3r45, @gabbihive, @drosell271, @Kachelkaiser, @zanivann, @nanos, @bowencool, @pe1uca, @matheusroberson, @DenuxPlays, @rlrs, @chanse-syres, @IEEE-754, @umaidshahid, @michi-onl
Full changelog:
mdate:P1D for finding articles modified by the author / server during the past day.toString in case of regex-looking string #8479<iframe> referrer allow list #8672allowfullscreen to <iframe> #8467Set-Cookie using native PHP support of SameSite #8447, #8778
session.cookie-lifetime in php.ini<meta name="referrer" content="no-referrer" /> from deprecated never #8725.content pre code #8620Minz_HookType::ActionExecute #8599, #8603Minz_HookType as hook name in registerHook() #8600httpGet() #8700httpGet() cache nullable #8705select-input-changer JavaScript helper #8721get_icon_url() for feed favicon simplepie#974get_thumbnail() #8634, simplepie#970cli/purge.php to apply purge policy #8740timeago() #8670AGENTS.md, SKILLS.md, instructions.md #8478
Note
If someone is asking you to pay money for access to UpSnap binaries, source code, or licenses, you are being scammed.
The official and only trusted source for UpSnap is this repository (and its linked releases).
Do not pay third parties for something that is provided here for free.
Full Changelog: 3.1.1...3.1.2
Welcome to the first alpha for the 5.2 update! This new version is focused on performance, quality-of-life, and infrastructure improvements which prepare for the big 6.0 version that will be coming later. The two biggest changes are the new FileType plugin system and the rewritten high-precision layer rendering engine.
New FileType Plugin System
The original FileType plugin system dates back to 2005 with the v2.5 release. It has withstood the test of time in the sense that it still works and has provided a lot of value for a lot of people, but it has also noticeably aged poorly in ways that have prevented progress in other areas of the app. It was written at a time when .NET itself was just 3 years old and hitting its 2.0 release with generics and 64-bit support. The modern systems used in Paint.NET for component management and isolation were nowhere to be found back then. I had no clue that the project’s longevity would stretch so far into the future, nor that so many plugins would be developed!
The old FileType plugin system is tightly coupled with the Document, Layer, and Surface classes which Paint.NET also uses internally for UI and rendering purposes. They only support the 32-bit BGRA UI8 pixel format and a flat list of bitmap layers. The new FileType system works through interfaces such as IFileTypeDocument<TPixel> and ILayer<TPixel>, along with a rich and strongly-typed imaging framework providing support for a wide variety of pixel formats, pooled bitmap allocation, scaling/interpolation, quantization/dithering, format conversion, color management, and more.
Decoupling the FileType system from the internal classes means that these two systems can now evolve independently, and internal details can be abstracted away from plugins. The new plugin system has been designed to support versioning, meaning that functionality can be added or changed in the programming interfaces that are provided to plugins while maintaining compatibility for plugins that have already been published. New layer types and topologies (e.g. layer folders) can be added without breaking existing plugins, new blend modes can be introduced, and bitmap layers will finally be able to migrate to a tiled storage system.
Note to plugin authors: In general, plugins should provide pixel data in the image file’s original format without converting it to BGRA32. In other words, let Paint.NET handle the conversion, whether you’re supplying pixels as RGBA64, BGR24, or even an HDR format such as RGBA FP32. Paint.NET will figure out the best conversion for pixel format and color profile handling, and when expanded pixel format support is rolled out your plugin can automatically benefit from it. Note that plugins can also determine at runtime which pixel formats are supported and which are native, in case they do want to do the conversion themselves for whatever reason.
New Layer Rendering Engine
The old layer rendering engine has its roots going all the way back to the 1.0 release in 2004. Over the years it has migrated from C# to C for performance reasons, and then back to C# once the language and JIT had finally caught up to the performance of the native code. However, it has no SIMD optimizations, it only has 8 bits per channel of precision (“UI8”), and the code was very messy and difficult to make changes to. Working with many layers can result in incorrect colors or banding artifacts as off-by-1 errors accumulate across multiple layers.
With 5.2, this has been completely rewritten and upgraded to use 32-bits of floating-point precision per channel (“FP32”). It is fully optimized for AVX2, AVX512, and even ARM64 NEON thanks to .NET’s new platform-agnostic intrinsics support. Because FP32 uses a lot more memory bandwidth than UI8, many tricks have been employed to cut down on that to the point that there is no perceptible performance reduction from previous versions (the old renderer not using any SIMD also helps this comparison). The bottleneck is compute, not memory bandwidth, and performance really shines on CPUs with AVX512 support even with standard dual channel memory.
A driving factor behind this change was to prepare for future versions of Paint.NET that will expand pixel format support beyond BGRA UI8. In order to do this in a sane and maintainable manner, having a canonical pixel format became important so that each rendering kernel only needs to be written once. All of the rendering kernels can now operate exclusively on FP32 data, with high-performance format conversion and color transform kernels at the beginning and end of the rendering pipeline. This will make it much easier to add support for RGBA UI16, RGBA FP16, and even RGBA FP32 — the layer rendering engine already supports it, the rest of the app just has to catch up.
What’s coming in 6.0?
This update will introduce a new .PDN file format that will finally enable the ability to add new features to the document and layering systems. High bit-depth pixel formats, new blend modes, and layer folders are planned to be the first use of these. Later on, features such as adjustment layers, text layers, and HDR will also be added (to name a few).
Change Log
Changes since 5.1.12:
Download and Install
This build is available via the built-in updater as long as you have opted-in to pre-release updates. From within Settings -> Updates, enable “Also check for pre-release (beta) versions of paint.net” and then click on the Check Now button. You can also use the links below to download an offline installer or portable ZIP.
You can also download the installer here (for any supported CPU and OS), which is also where you can find downloads for offline installers, portable ZIPs, and deployable MSIs.

Windows Installer
Windows No Installer (zip)
macOS - Universal
Linux - deb, AppImage or rpm
Windows intel x32 releases are marked -ia32-
ChangeLog:
auto adaptive colours (matching web based draw.io); upgrades preserve simple. Change via Extras → Configuration.
If you appreciate my work, you can show your support with a donation through Buy Me a Coffee or GitHub sponsors. Your support helps me continue improving and growing the app. Thank you!