Silk Web Hosting: What's New in Silkv3

Modified

Silkv3 servers are built on Red Hat Enterprise Linux 9, replacing Red Hat Enterprise Linux 7. Many tools not listed here have been updated.

Web features

  • HTTP/2 support from browsers to the silk proxy servers. (HTTP/2 from the proxy servers to back-end user servers is not a proxy feature.)
  • Centralized, searchable web server logs. This replaces the prior site-specific log directories found at ~/<hostname>-logs or ~/www-logs.
  • WebSockets support [still in development]

Programming languages

  • Go 1.22 is available, updated from 1.19.
  • Java 11, 17, and 21 are available, rather than 1.8 and 11.
  • Node.js 18 and 20 are available, updated from 16.
  • Perl 5.38 is available, updated from 5.16.
  • PHP assertions will be optionaly available. [still in development]
  • New language: the current version of PowerShell Core is available.
  • Python 3.12 is available, in addition to 3.8 and 3.10.
  • R 4.3.3 is available, updated from 4.1.1.
  • Some of the most commonly used R packages are installed and managed in a system-wide library, which will hopefully reduce the need for individual people to recompile/reinstall packages each time R is upgraded.
  • Ruby 3.1, 3.2, and 3.3 are available, updated from 3.0.
  • New language: the current version of Rust is available.

Login session improvements

  • Commands with multiple versions available that are called without a full path will use the version configured for your current directory. For example, if you cd into the directory of a site configured for Python 3.10, calling python3 --version will show you Python 3.10.14. If you then cd to a site configured for Python 3.12, python3 --version will show Python 3.12.2. If you set a software version in .silk.ini for a given site, that change will be reflected immediately in your login session.
  • less aand cat are aliased to bat -p, providing syntax highlighting for many file types.
  • $MANPAGER is configured to use bat, providing syntax highlighting for manual pages.
  • cp and mv are aliased to include the -Z option, which should avoid many SELinux issues.
  • True color terminal support
  • Shell history is saved after each command. This results in command history not being lost for sessions that do not log out cleanly, and means that history is saved in order even across multiple concurrent login sessions.

Text editors

  • Neovim is now available. NeoVim is a modern fork of Vim.
  • micro is now available. Micro is a simple to use editor in the vein of nano or pico, with intuitive keystrokes and features like syntax highlighting and line numbering.
  • The default editor started by commands using $VISUAL or $EDITOR is now micro. In the past, no editor was set, which in practice implied Vim.

Git settings

  • The default branch name for new repositories is main, rather than master.
  • When listing repository tags, their names are sorted by semantic version rather than alphabetically.
  • When no user-global settings for name and email address are already present, user.name and user.email are added to ~/.config/git/config or ~/.gitconfig, avoiding a Git warning when commiting changes.