I just published the latest stable release of the Modusthemes. The change logentry is reproduced further below. For any questions, you are welcometo contact me. I will now work toapply these same changes to emacs.git, so please wait a little longerfor the updates to trickle down to you. Package name (GNU ELPA): modus-themes (also built into Emacs 28+) Official manual: https://protesilaos.com/emacs/modus-themes Change log: https://protesilaos.com/emacs/modus-themes-changelog Colour palette: https://protesilaos.com/emacs/modus-themes-colors Sample pictures: https://protesilaos.com/emacs/modus-themes-pictures Git repositories: GitHub: https://github.com/protesilaos/modus-themes GitLab: https://gitlab.com/protesilaos/modus-themes Backronym: My Old Display Unexpectedly Sharpened … themes.5.3.0 on 2026-06-21The Modus themes are in a stable state. To my mind, they provide thebest “default theme” experience across the 40+ original themes I havecarefully designed.Modus is also a platform for making themes for Emacs. There are plentyof derivatives already. I am linking to them through the project’sREADME.md and am always happy to mention more packages—just let meknow.This version does not include many user-facing changes. Most of mywork focused on making internal refinements.Load the themes through the early-init.elThe Modus themes can now be loaded through the early-init.el file.The idea is to avoid the flash of light that occurs under certainconditions during startup.This feature is the result of several changes to helper functions,especially those contributing to the modus-themes-generate-palettefunction that Modus derivatives may be relying on.Thanks to Steven Allen for an intermediate refinement in pull request194 and to Mike Olson for another relevant tweak in pull request 199: https://github.com/protesilaos/modus-themes/pull/194 https://github.com/protesilaos/modus-themes/pull/199Steven’s contribution no longer exists in the code base due to otherchanges I made, but was still useful at the time.Both changes are small, meaning that their authors do not need toassign copyright to the Free Software Foundation.Also thanks to Jacod “Jake” Gordon for reminding me to apply one ofthe new functions to the org-habit faces. This was done in issue197: https://github.com/protesilaos/modus-themes/issues/197.The underline for widget fields has the correct colourRelevant faces use the palette entry for border (invoke the commandmodus-themes-preview-colors or modus-themes-preview-colors-currentto view the entries in a theme’s palette).A popular package that makes use of widget.el widgets is notmuch.Thanks to ukiran03 for the contribution, which was done in pullrequest 193: https://github.com/protesilaos/modus-themes/pull/193.The change is small, meaning that ukiran03 does not need to assigncopyright to the Free Software Foundation.A palette can now have a bg-popup entryThis gives users and derivative themes the option to pick a suitablevalue for popup interfaces, such as those of the company and corfupackages.Thanks to aikrahguzar for making this suggestion in issue 70 of myef-themes repository (the ef-themes are built on top of themodus-themes since Modus version 5.0.0, Ef version 2.0.0):https://github.com/protesilaos/ef-themes/issues/70.Support for faces or packages lin by Protesilaos. pulsar by Protesilaos. institution-calendar by Protesilaos. markdown-ts-mode by Rahul Martim Juliato and Stéphane Marks. trust-manager by Eshel Yaron. typst-ts-mode by Ziqi Yang. Thanks to Pranshu Sharma forsuggesting its inclusion in issue 208: https://github.com/protesilaos/modus-themes/issues/208. new elfeed faces since the maintenance of the project was assumedby Daniel Mendler, Karthik Chikmagalur, and Ihor Radchenko. To thisend, thanks to Steven Allen for pull request 217 that added theelfeed-show-* faces: https://github.com/protesilaos/modus-themes/pull/217Internal refinements to the modus-themes-with-colors macroIt now correctly handles the order of default palette colours anduser-defined palette overrides. Thanks to JD Smith for thecontribution in pull request 191: https://github.com/protesilaos/modus-themes/pull/191.The change is small, meaning that JD does not need to assign copyrightto the Free Software Foundation.The multiple-cursors are fine even when a bar is usedWhen the cursor-type is configured to be a bar, the fake cursorsproduced by the multiple-cursors package will still look right.Thanks to Elias Gabriel Perez for the change to themc/cursor-bar-face in pull request 213: https://github.com/protesilaos/modus-themes/pull/213.The blink-matching-paren-offscreen is the same as show-paren-matchThis is for thematic consistency. Thanks to Troy Brown for suggestingthis change in issue 209: https://github.com/protesilaos/modus-themes/issues/209.Get vc-annotate look rightThe built-in vc-annotate command relies on a user option to readcolor values. We cannot handle this nicely at the theme level. Usersneed to write their own configuration like this:(defun my-modus-vc-annotate (&rest _) (modus-themes-with-colors (setq vc-annotate-background-mode nil) (setq vc-annotate-very-old-color fg-dim) (setq vc-annotate-color-map `(( 20. . ,red) ( 40. . ,red-cooler) ( 60. . ,red-warmer) ( 80. . ,yellow-warmer) (100. . ,yellow) (120. . ,yellow-cooler) (140. . ,green-warmer) (160. . ,green) (180. . ,green-cooler) (200. . ,cyan-cooler) (220. . ,cyan-warmer) (240. . ,cyan) (260. . ,blue-warmer) (280. . ,blue) (300. . ,blue-cooler) (320. . ,blue-intense) (340. . ,magenta-cooler) (360. . ,fg-dim)))))(with-eval-after-load 'vc-annotate (my-modus-vc-annotate) (add-hook 'enable-theme-functions #'my-modus-vc-annotate))[ The above code is relevant as of this writing. Though remember that I do not keep older publications up-to-date. The only source of truth is the manual of the Modus themes. ]Two old user options are no longer neededThe user options modus-themes-completions and modus-themes-promptsare obsolete. They used to be relevant before the introduction ofpalette overrides.Rewrote large parts of the manualI did it for clarity, but also to remove notes that were specific toolder versions of Emacs.Many new ERT tests for the projectI have written many tests. They do not cover every single function,though the plan is to do that eventually. These tests are important toensure that Modus is a solid platform for making derivative themes.Much of this was done live: https://protesilaos.com/codelog/2026-04-10-emacs-spontaneous-live-modus-themes/.Thanks to Benjamin Kästner for a couple of tweaks to a relevant macroin the tests’ file. This was done in pull request 212, with furtherchanges by me: https://github.com/protesilaos/modus-themes/pull/212.Links to projects related to ModusIn the README.md I now mention projects that are related to the Modusthemes, such as derivative Emacs themes, but also ports for othereditors.There is also a link to my modus-themes-exporter package, which Ideveloped during a live stream: https://github.com/protesilaos/modus-themes-exporter https://protesilaos.com/codelog/2026-04-13-emacs-live-develop-modus-themes-exporter-package/Git commitsgit shortlog 5.2.0..5.3.0 --summary --numbered 123Protesilaos 2Benjamin Kästner 2Steven Allen 1Elias Gabriel Perez 1JD Smith 1Mike Olson 1ukiran03