This is a maintenance version with important bug fixes. Everyone is encouraged to update.
Important bug fix:
- A serious DirectWrite bug was discovered in #1028 that can cause applications that use DirectWrite to not function properly or even crash.
What's new:
- Update freetype to ee1310ab5ca2897b760258b94f3d9230335cc2c0
- Per-app
ArmBreaker
is now implemented. More details are provided below. - Thanks to the donation from Joe Lowe (https://pismotec.com/), all MacType files including the installer are now digitally signed! This should make quite some antivirus software happy! Great thanks!
Per-app armbreaker:
Before version 2025.1.17, ArmBreaker
which is under the Experimental
section can only be effective when set globally.
I.e.
[experimental]
armbreaker=1 ; this will work properly
[experimental@chrome.exe]
armbreaker=1 ; this will not work at all
That's because this walkaround about chrome's integrity check needs its parent process to do the modification when the actual process is being created. However, previously, the parent process stored global config information only and had no idea what to do for a specific process.
Because disabling mitigation policies for processes is potentially risky and should be limited to strictly necessary processes only, enabling such a "feature" globally should not be a solution everlasting and now is the time.
From this version on, syntaxes like
[experimental@chrome.exe]
armbreaker=1
or
[experimental@browsers]
armbreaker=1
[general@chrome.exe]
alternative=browsers
[general@firefox.exe]
alternative=browsers
will work!
PS: Because of the way this walkaround works, after the profile is changed, only when the parent process gets restarted will it become effective.
E.g. adding chrome.exe
to the armbreaker exception without restarting explorer.exe
(or mactype service) may not work for newly launched chromes. You have to reapply mactype to it.