Hello,

The Tramp team is happy to announce the release of Tramp 2.7.1.

Tramp is a remote file editing package for Emacs.  Tramp uses different
methods like ssh or scp to access files on remote hosts as if they were
local files.  Access to the remote file system for editing files,
version control, directory editing and running processes on the remote
host are transparently enabled.

Tramp 2.7.1 supports Emacs since version 27.1.  This is the version
integrated with the upcoming Emacs 30.

The download files are located at <https://ftp.gnu.org/gnu/tramp/>.  Tramp's
homepage is <https://www.gnu.org/software/tramp/>.

Tramp 2.7.1 is also available via GNU ELPA.

Here is an excerpt from etc/NEWS of Emacs 30.1, which covers the major
changes of Tramp 2.7, compared with Tramp 2.6:

--8<---------------cut here---------------start------------->8---
** Tramp

*** Tramp methods can be optional.
An optional connection method is not enabled by default.  The user must
enable it explicitly by the 'tramp-enable-method' command.  The existing
methods "fcp", "krlogin", " ksu" and "nc" are optional now.

*** New optional connection method "androidsu".
This provides access to system files with elevated privileges granted by
the idiosyncratic 'su' implementations and system utilities customary on
Android.

*** New optional connection method "run0".
This connection method is similar to "sudo", but it uses the
'systemd-run' program internally.

*** New connection methods "dockercp" and "podmancp".
These are the external methods counterparts of "docker" and "podman".

*** New optional connection methods for containers.
There are new optional connection methods "toolbox", "distrobox",
"flatpak", "apptainer" and "nspawn".  They allow accessing system
containers provided by Toolbox or Distrobox, sandboxes provided by
Flatpak, instances managed by Apptainer, or accessing systemd-based
light-weight containers..

*** Connection method "kubernetes" supports now optional container name.
The host name for Kubernetes connections can be of kind [CONTAINER.]POD,
in order to specify a dedicated container.  If there is just the pod
name, the first container in the pod is taken.  The new user options
'tramp-kubernetes-context' and 'tramp-kubernetes-namespace' allow
accessing pods with different context or namespace but the default one.

*** Rename 'tramp-use-ssh-controlmaster-options' to 
'tramp-use-connection-share'.
The old name still exists as obsolete variable alias.  This user
option controls now connection sharing for both ssh-based and
plink-based methods.  It allows the values t, nil, and 'suppress'.
The latter suppresses also "ControlMaster" settings in the user's
"~/.ssh/config" file, or connection share configuration in PuTTY
sessions, respectively.

*** New command 'tramp-cleanup-some-buffers'.
It kills only a subset of opened remote buffers, subject to the user
option 'tramp-cleanup-some-buffers-hook'.

*** New command 'inhibit-remote-files'.
This command disables the handling of file names with the special
remote file name syntax.  It should be applied only when remote files
won't be used in this Emacs instance.  It provides a slightly improved
performance of file name handling in Emacs.

*** New macro 'without-remote-files'.
This macro could wrap code which handles local files only.  Due to the
temporary deactivation of remote files, it results in a slightly
improved performance of file name handling in Emacs.

*** New user option 'tramp-completion-multi-hop-methods'.
It contains a list of connection methods for which completion should
be attempted at the end of a multi-hop chain.  This allows completion
candidates to include a list of, for example, containers running on a
remote docker host.

*** New command 'tramp-revert-buffer-with-sudo'.
It reverts the current buffer to visit with "sudo" permissions.  The
buffer must either visit a file, or it must run 'dired-mode'.  Another
method but "sudo" can be configured with user option
'tramp-file-name-with-method'.

*** Direct asynchronous processes are indicated by a connection-local variable.
If direct asynchronous processes shall be used, set the connection-local
variable 'tramp-direct-async-process' to a non-nil value.  This has been
changed, in previous Emacs versions this was indicated by the now
deprecated connection property "direct-async-process".  See the Tramp
manual "(tramp) Improving performance of asynchronous remote processes".

*** Direct asynchronous processes use 'tramp-remote-path'.
When a direct asynchronous process is invoked, it uses 'tramp-remote-path'
for setting the remote 'PATH' environment variable.

*** User option 'tramp-completion-reread-directory-timeout' has been removed.
This user option has been obsoleted in Emacs 27, use
'remote-file-name-inhibit-cache' instead.
--8<---------------cut here---------------end--------------->8---

Best regards, Michael.

Reply via email to