@c -*- coding: utf-8 -*- @c This is part of the Emacs manual. @c Copyright (C) 2005--2024 Free Software Foundation, Inc. @c See file emacs.texi for copying conditions. @node Antinews @appendix Emacs 28 Antinews @c Update the emacs.texi Antinews menu entry with the above version number. For those users who live backwards in time, here is information about downgrading to Emacs version 28.2. We hope you will enjoy the greater simplicity that results from the absence of many @w{Emacs @value{EMACSVER}} features. @itemize @bullet @item Like its newer releases, Emacs 28 can still be built with support of native compilation of Lisp programs. However, in preparation for removal of this feature in some previous version, we've deleted the capability of ahead-of-time native compilation of all the Lisp files that come with Emacs. This makes the Emacs build process much faster. @item Emacs can no longer be built with the tree-sitter library, so you no longer will need to look for and install the grammar libraries for the languages in which you want to program. Similarly, all the modes that are based on the tree-sitter library were deleted, leaving you with just one major mode for every supported programming language: no more need to decide whether to turn the tree-sitter supported modes on and try using their parser-based fontification, indentation, and other features. For some languages and file types, this means no major mode at all, leaving you with the venerable Fundamental mode as the natural, high-performance choice. For example, Go, Rust, and CMake files no longer have any major modes for editing their files --- another milestone towards a simpler, leaner Emacs. @item Built-in support for accessing SQLite databases was removed. You can now again edit SQLite files as simple binary files, which Emacs is quite capable to support, as it always did. @item As a gesture to users of the Haiku operating system, we've dropped the code which allowed Emacs to be built on that OS@. We expect Haiku users to enjoy the much simpler editors they have for editing their files. @item Support for XInput2 input events on X is gone. We think the traditional X input events are more than enough, certainly so as you move back in time, where XInput2 will eventually be removed from X as well, once the maintainers of the X Windows system realize the utter futility of supporting fancy input mechanisms. @item The ``pure GTK'' (a.k.a.@: @acronym{PGTK}) configuration of Emacs is no longer supported. This is in anticipation of the complete removal of the GTK toolkit support from Emacs, and in accordance with our expectation that GTK will cease to exist as you move back in time. We plan on removing support for all the other toolkits as well, leaving only the pure X build with our own widgets as the single supported GUI configuration on X. @item The @option{--init-directory} command-line option was removed, as initializing Emacs with init files of another user is a preposterous idea anyway. @item In line with simplifying and eventually removing the native-compilation option, we've deleted the @option{--with-native-compilation=aot} configure-time option. This greatly simplifies how native compilation works and makes your configure-time decision regarding native compilation in Emacs clear-cut: either Emacs compiles non-preloaded Lisp packages to native code only before using it, or it never uses native compilation at all; no more half measures and special exceptions. For similar reasons, @code{native-compile-prune-cache} and @code{startup-redirect-eln-cache} features are no longer part of Emacs. @item We've deleted the special code and features which allowed Emacs to present decent performance and responsiveness when editing files with very long lines. Such files become more and more rare as time goes back, and so having all this tricky code in Emacs for their benefit was deemed an unnecessary complication. @item Emacs dropped support for Eglot and the LSP servers. We decided that the built-in ways of analyzing source code are more than enough as you move back in time. @item Commands to scale and rotate images are once again bound to single keys like @kbd{+}, @kbd{-}, and @kbd{r}, which makes them much easier to type. As for the risk of typing these by mistake, we don't believe Emacs users make typing mistakes, especially as they move back in time and become younger and younger. @item To simplify typing popular commands, we've rebound the @w{@kbd{C-x 8 . .}} back to @w{@kbd{C-x 8 .}} and @w{@kbd{C-x 8 = =}} back to @w{@kbd{C-x 8 =}}. There's no need for fancier, longer key sequences, as moving back in time means we will have fewer and fewer commands to bind to them in the first place. @item If you inadvertently kill the @file{*scratch*} buffer, Emacs will recreate it in Fundamental mode, not in Lisp Interaction mode. You get to turn on the mode you like yourself. Our long-term plans for past Emacs releases is to remove the recreation of @file{*scratch*} altogether, and this is the first step in that direction. @item Support for @code{rlogin} and @code{rsh} protocols are back, since we expect them to become more and more important and popular as you move back in time. @item In preparation for eventual removal of Unicode support from Emacs, we've downgraded our Unicode support to version 14.0. @item You can no longer change the size of the font globally. Since Emacs will at some past date remove all support for variable-size fonts, having such commands is a luxury we are better without. @item On our permanent quest for simplifying Emacs, we've removed the commands @code{duplicate-line} and @code{duplicate-dwim}; the old-time friends @kbd{M-w} and @kbd{C-y} (typed one or more times) should suffice. The command @code{rename-visited-file} is gone for the same reason. @item We've deleted many commands related to Emoji, which were bound in the @kbd{C-x 8 e} prefix keymap. We decided that the ability to type Emoji sequences using @kbd{C-x 8 @key{RET}} is enough, and actually serves our users better by requiring them to know the codepoints of the sequences they want to type. @item We dropped support for many scripts and input methods, especially old scripts that no one uses anyway. For similar reasons, Greek and Ukrainian translations of the Emacs tutorial are not available anymore. @item @file{package.el} can no longer fetch source code of packages from their VCS repositories. We think command-line tools like Git should be enough to allow you to clone their repositories. So we deleted the @code{package-vc-install} command and other similar commands. @item To keep up with decreasing computer memory capacity and disk space, many other functions and files have been eliminated in Emacs 28.2. @end itemize