Compare commits
38 commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 060496fc9d | |||
| 621763b8a5 | |||
|
|
1bd3661877 | ||
|
bc92fc9f5b |
|||
| 6b136732c1 | |||
| e0ea67441f | |||
| 8d25929cee | |||
| 0d874efe61 | |||
| 82e5147916 | |||
| 0b29611fee | |||
| 39aa4e95d1 | |||
| c755758364 | |||
| 32bfdf76de | |||
| bd222ea903 | |||
| ab937e9d6a | |||
| dc2c912025 | |||
| 782b373eba | |||
| 63923428fe | |||
| f3384b5b37 | |||
| 3968d963a6 | |||
| 50d8ba5bf5 | |||
| d30f59ad2b | |||
| 8faffa0388 | |||
| c786c8bf25 | |||
| 38377ccffd | |||
| 3bd740b6ae | |||
| dc2718f766 | |||
| 2c21f03f34 | |||
| a6e54e0bb2 | |||
|
|
b65a1ca815 | ||
|
|
3b70ccdf31 | ||
|
|
62a94dd750 | ||
|
|
1e5926b500 | ||
|
|
cfa13e51e7 | ||
|
|
a19482528e | ||
|
c3efe39180 |
|||
|
|
b272b348fc | ||
| b7a1031447 |
27 changed files with 622 additions and 89 deletions
|
|
@ -1,5 +1,5 @@
|
|||
---
|
||||
name: fedora
|
||||
version: rawhide
|
||||
version: f37
|
||||
# Navigation is in the main 'fedora' component:
|
||||
# https://pagure.io/fedora-docs/release-docs-home
|
||||
|
|
|
|||
52
build.sh
52
build.sh
|
|
@ -1,52 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
image="docker.io/antora/antora"
|
||||
cmd="--html-url-extension-style=indexify site.yml"
|
||||
|
||||
if uname | grep -iwq darwin; then
|
||||
# Running on macOS.
|
||||
# Let's assume that the user has the Docker CE installed
|
||||
# which doesn't require a root password.
|
||||
echo ""
|
||||
echo "This build script is using Docker container runtime to run the build in an isolated environment."
|
||||
echo ""
|
||||
docker run --rm -it -v "$(pwd):/antora" "${image}" ${cmd}
|
||||
|
||||
elif uname | grep -iq linux; then
|
||||
# Running on Linux.
|
||||
# there isn't an antora/aarch64 container, antora can be installed locally
|
||||
# Check whether podman is available, else faill back to docker
|
||||
# which requires root.
|
||||
|
||||
if [ -f /usr/local/bin/antora ]; then
|
||||
/usr/local/bin/antora ${cmd}
|
||||
elif uname -m | grep -iwq aarch64; then
|
||||
echo "no antora/aarch64 container try just \`npm install -g @antora/cli @antora/site-generator-default\`"
|
||||
elif [ -f /usr/bin/podman ]; then
|
||||
echo ""
|
||||
echo "This build script is using Podman to run the build in an isolated environment."
|
||||
echo ""
|
||||
podman run --rm -it -v "$(pwd):/antora:z" "${image}" ${cmd}
|
||||
|
||||
elif [ -f /usr/bin/docker ]; then
|
||||
echo ""
|
||||
echo "This build script is using Docker to run the build in an isolated environment."
|
||||
echo ""
|
||||
|
||||
if groups | grep -wq "docker"; then
|
||||
docker run --rm -it -v "$(pwd):/antora:z" "${image}" ${cmd}
|
||||
else
|
||||
echo "You might be asked for your password."
|
||||
echo "You can avoid this by adding your user to the 'docker' group,"
|
||||
echo "but be aware of the security implications."
|
||||
echo "See https://docs.docker.com/install/linux/linux-postinstall/"
|
||||
echo ""
|
||||
sudo docker run --rm -it -v "$(pwd):/antora:z" "${image}" ${cmd}
|
||||
fi
|
||||
else
|
||||
echo ""
|
||||
echo "Error: Container runtime haven't been found on your system. Fix it by:"
|
||||
echo "$ sudo dnf install podman"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
278
docsbuilder.sh
Executable file
278
docsbuilder.sh
Executable file
|
|
@ -0,0 +1,278 @@
|
|||
#!/bin/bash
|
||||
|
||||
# script to watch source directory for changes, and re-run build and preview
|
||||
|
||||
script_name="docsbuilder.sh"
|
||||
script_source="https://gitlab.com/fedora/docs/templates/fedora-docs-template/-/raw/main/${script_name}"
|
||||
version="1.2.0"
|
||||
image="docker.io/antora/antora"
|
||||
cmd="--html-url-extension-style=indexify site.yml"
|
||||
srcdir="modules"
|
||||
buildir="public"
|
||||
previewpidfile="preview.pid"
|
||||
|
||||
# 4913: for vim users, vim creates a temporary file to test it can write to
|
||||
# directory
|
||||
# https://groups.google.com/g/vim_dev/c/sppdpElxY44
|
||||
# .git: so we don't get rebuilds each time git metadata changes
|
||||
inotifyignore="\.git.*|4913"
|
||||
|
||||
watch_and_build () {
|
||||
if ! command -v inotifywait > /dev/null
|
||||
then
|
||||
echo "inotifywait command could not be found. Please install inotify-tools."
|
||||
echo "On Fedora, run: sudo dnf install inotify-tools"
|
||||
stop_preview_and_exit
|
||||
else
|
||||
# check for git
|
||||
# required to get ignorelist
|
||||
if ! command -v git > /dev/null
|
||||
then
|
||||
echo "git command could not be found. Please install git."
|
||||
echo "On Fedora, run: sudo dnf install git-core"
|
||||
stop_preview_and_exit
|
||||
else
|
||||
# Get files not being tracked, we don't watch for changes in these.
|
||||
# Could hard code, but people use different editors that may create
|
||||
# temporary files that are updated regularly and so on, so better
|
||||
# to get the list from git. It'll also look at global gitingore
|
||||
# settings and so on.
|
||||
inotifyignore="$(git status -s --ignored | grep '^!!' | sed -e 's/^!! //' | tr '\n' '|')${inotifyignore}"
|
||||
fi
|
||||
|
||||
while true
|
||||
do
|
||||
echo "Watching current directory (excluding: ${inotifyignore}) for changes and re-building as required. Use Ctrl C to stop."
|
||||
inotifywait -q --exclude "($inotifyignore)" -e modify,create,delete,move -r . && echo "Change detected, rebuilding.." && build
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
build () {
|
||||
if [ "$(uname)" == "Darwin" ]; then
|
||||
# Running on macOS.
|
||||
# Let's assume that the user has the Docker CE installed
|
||||
# which doesn't require a root password.
|
||||
echo ""
|
||||
echo "This build script is using Docker container runtime to run the build in an isolated environment."
|
||||
echo ""
|
||||
docker run --rm -it -v $(pwd):/antora $image $cmd
|
||||
|
||||
elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then
|
||||
# Running on Linux.
|
||||
# Check whether podman is available, else faill back to docker
|
||||
# which requires root.
|
||||
|
||||
if [ -f /usr/bin/podman ]; then
|
||||
echo ""
|
||||
echo "This build script is using Podman to run the build in an isolated environment."
|
||||
echo ""
|
||||
podman run --rm -it -v $(pwd):/antora:z $image $cmd --stacktrace
|
||||
|
||||
elif [ -f /usr/bin/docker ]; then
|
||||
echo ""
|
||||
echo "This build script is using Docker to run the build in an isolated environment."
|
||||
echo ""
|
||||
|
||||
if groups | grep -wq "docker"; then
|
||||
docker run --rm -it -v $(pwd):/antora:z $image $cmd
|
||||
else
|
||||
echo ""
|
||||
echo "This build script is using $runtime to run the build in an isolated environment. You might be asked for your password."
|
||||
echo "You can avoid this by adding your user to the 'docker' group, but be aware of the security implications. See https://docs.docker.com/install/linux/linux-postinstall/."
|
||||
echo ""
|
||||
sudo docker run --rm -it -v $(pwd):/antora:z $image $cmd
|
||||
fi
|
||||
|
||||
else
|
||||
echo ""
|
||||
echo "Error: Container runtime haven't been found on your system. Fix it by:"
|
||||
echo "$ sudo dnf install podman"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
start_preview () {
|
||||
|
||||
# clean up a preview that may be running
|
||||
stop_preview
|
||||
|
||||
# always run an initial build so preview shows latest version
|
||||
build
|
||||
|
||||
if [ "$(uname)" == "Darwin" ]; then
|
||||
# Running on macOS.
|
||||
# Let's assume that the user has the Docker CE installed
|
||||
# which doesn't require a root password.
|
||||
echo "The preview will be available at http://localhost:8080/"
|
||||
docker run --rm -v $(pwd):/antora:ro -v $(pwd)/nginx.conf:/etc/nginx/conf.d/default.conf:ro -p 8080:80 nginx
|
||||
|
||||
elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then
|
||||
# Running on Linux.
|
||||
# Fedora Workstation has python3 installed as a default, so using that
|
||||
echo ""
|
||||
echo "The preview is available at http://localhost:8080"
|
||||
echo ""
|
||||
pushd "${buildir}" > /dev/null 2>&1
|
||||
python3 -m http.server 8080 &
|
||||
echo "$!" > ../"${previewpidfile}"
|
||||
popd > /dev/null 2>&1
|
||||
fi
|
||||
}
|
||||
|
||||
stop_preview () {
|
||||
if [ -e "${previewpidfile}" ]
|
||||
then
|
||||
PID=$(cat "${previewpidfile}")
|
||||
kill $PID
|
||||
echo "Stopping preview server (running with PID ${PID}).."
|
||||
rm -f "${previewpidfile}"
|
||||
else
|
||||
echo "No running preview server found to stop: no ${previewpidfile} file found."
|
||||
fi
|
||||
}
|
||||
|
||||
stop_preview_and_exit ()
|
||||
{
|
||||
# stop and also exit the script
|
||||
|
||||
# if stop_preview is trapped, then SIGINT doesn't stop the build loop. So
|
||||
# we need to make sure we also exit the script.
|
||||
|
||||
# stop_preview is called before other functions, so we cannot add exit to
|
||||
# it.
|
||||
stop_preview
|
||||
exit 0
|
||||
}
|
||||
|
||||
|
||||
# https://apple.stackexchange.com/questions/83939/compare-multi-digit-version-numbers-in-bash/123408#123408
|
||||
version () { echo "$@" | awk -F. '{ printf("%d%03d%03d%03d\n", $1,$2,$3,$4); }'; }
|
||||
|
||||
|
||||
check_update () {
|
||||
if ! command -v curl > /dev/null
|
||||
then
|
||||
echo "curl command could not be found. Please install curl."
|
||||
echo "On Fedora, run: sudo dnf install curl"
|
||||
exit 0
|
||||
fi
|
||||
script_version="$(grep "^version=" ${script_name} | cut -d '=' -f2 | tr --delete '"')"
|
||||
tempdir="$(mktemp -d)"
|
||||
echo "$tempdir"
|
||||
pushd "$tempdir" > /dev/null 2>&1
|
||||
curl "$script_source" --silent --output "${script_name}"
|
||||
upstream_version="$(grep "^version=" ${script_name} | cut -d '=' -f2 | tr --delete '"')"
|
||||
echo "${upstream_version}"
|
||||
if [ $(version $upstream_version) -gt $(version $script_version) ]; then
|
||||
echo "Update available"
|
||||
echo "Script version $upstream_version is available at $script_source"
|
||||
echo "This version is $script_version."
|
||||
echo "Please use the '-U' option to update."
|
||||
echo
|
||||
fi
|
||||
popd > /dev/null 2&>1
|
||||
}
|
||||
|
||||
install_update () {
|
||||
if ! command -v curl > /dev/null
|
||||
then
|
||||
echo "curl command could not be found. Please install curl."
|
||||
echo "On Fedora, run: sudo dnf install curl"
|
||||
exit 0
|
||||
fi
|
||||
curl "$script_source" --silent --output "${script_name}.new"
|
||||
mv "${script_name}.new" "${script_name}"
|
||||
chmod +x "${script_name}"
|
||||
}
|
||||
|
||||
usage() {
|
||||
echo "$0: Build and preview Fedora antora based documentation"
|
||||
echo
|
||||
echo "Usage: $0 [-awbpkh]"
|
||||
echo
|
||||
echo "-a: start preview, start watcher and rebuilder"
|
||||
echo "-w: start watcher and rebuilder"
|
||||
echo "-b: rebuild"
|
||||
echo "-p: start_preview"
|
||||
echo "-k: stop_preview"
|
||||
echo "-h: print this usage text and exit"
|
||||
echo "-u: check builder script update"
|
||||
echo "-U: install builder script from upstream"
|
||||
echo
|
||||
echo "Maintained by the Fedora documentation team."
|
||||
echo "Please contact on our channels: https://docs.fedoraproject.org/en-US/fedora-docs/#find-docs"
|
||||
}
|
||||
|
||||
# check if the script is being run in a Fedora docs repository
|
||||
if [ ! -e "site.yml" ]
|
||||
then
|
||||
echo "site.yml not be found."
|
||||
echo "This does not appear to be a Fedora Antora based documentation repository."
|
||||
echo "Exiting."
|
||||
echo
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
if [ $# -lt 1 ]
|
||||
then
|
||||
echo "No options provided, running preview with watch and build."
|
||||
echo "Run script with '-h' to see all available options."
|
||||
echo
|
||||
echo
|
||||
trap stop_preview_and_exit INT
|
||||
start_preview
|
||||
watch_and_build
|
||||
stop_preview
|
||||
fi
|
||||
|
||||
# parse options
|
||||
while getopts "awbpkhuU" OPTION
|
||||
do
|
||||
case $OPTION in
|
||||
a)
|
||||
# handle sig INT to stop the preview
|
||||
trap stop_preview_and_exit INT
|
||||
start_preview
|
||||
watch_and_build
|
||||
stop_preview
|
||||
exit 0
|
||||
;;
|
||||
w)
|
||||
watch_and_build
|
||||
exit 0
|
||||
;;
|
||||
b)
|
||||
build
|
||||
exit 0
|
||||
;;
|
||||
p)
|
||||
start_preview
|
||||
echo "Please run ./${script_name} -k to stop the preview server"
|
||||
exit 0
|
||||
;;
|
||||
k)
|
||||
stop_preview
|
||||
exit 0
|
||||
;;
|
||||
h)
|
||||
usage
|
||||
exit 0
|
||||
;;
|
||||
u)
|
||||
check_update
|
||||
exit 0
|
||||
;;
|
||||
U)
|
||||
install_update
|
||||
exit 0
|
||||
;;
|
||||
?)
|
||||
usage
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
|
@ -12,7 +12,11 @@ include::{partialsdir}/entities.adoc[]
|
|||
*** xref:sysadmin/Storage.adoc[Storage]
|
||||
*** xref:sysadmin/System_Utilities.adoc[System Utilities]
|
||||
*** xref:sysadmin/Printing_Scanning.adoc[Printing and Scanning]
|
||||
*** xref:sysadmin/Mail_Servers.adoc[Mail Servers]
|
||||
*** xref:sysadmin/Ostree.adoc[Ostree based variants]
|
||||
** xref:desktop/Desktop_index.adoc[Desktop Users]
|
||||
*** xref:desktop/I18n.adoc[Internationalization]
|
||||
*** xref:desktop/Multimedia.adoc[Multimedia]
|
||||
** xref:developers/Developers.adoc[Developers]
|
||||
*** xref:developers/Development_Tools.adoc[Development Tools]
|
||||
*** xref:developers/Development_Binutils.adoc[Binutils]
|
||||
|
|
@ -24,6 +28,5 @@ include::{partialsdir}/entities.adoc[]
|
|||
*** xref:developers/Development_Python.adoc[Python]
|
||||
*** xref:developers/Development_Ruby.adoc[Ruby]
|
||||
*** xref:developers/Development_Web.adoc[Web Development]
|
||||
//CHANGE THIS WITH A NEW RELEASE
|
||||
** link:https://fedoraproject.org/wiki/Common_F34_bugs[Common Bugs]
|
||||
** link:{COMMONBUGS_URL}[Common Bugs]
|
||||
** xref:Revision_History.adoc[Revision History]
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
:BOOKID: release-notes
|
||||
:BZURL: https://pagure.io/fedora-docs/release-notes/issues
|
||||
:COMMONBUGS_URL: https://fedoraproject.org/wiki/Common_F34_bugs
|
||||
:COMMONBUGS_URL: https://ask.fedoraproject.org/tags/c/common-issues/f37
|
||||
:HOLDER: Fedora Project Contributors
|
||||
:PREVVER: 35
|
||||
:PREVVER: 36
|
||||
:PRODUCT: Fedora Documentation
|
||||
:PRODVER: Rawhide
|
||||
:PRODVER: 37
|
||||
:YEAR: 2022
|
||||
|
|
|
|||
|
|
@ -1,3 +1,8 @@
|
|||
include::{partialsdir}/entities.adoc[]
|
||||
|
||||
= Notable changes for desktop users
|
||||
|
||||
[[pantheon-removal]]
|
||||
== Pantheon Desktop Environment has been removed from Fedora
|
||||
|
||||
Due to massive changes in the core technology stack of GNOME 43 (i.e. the switch to libsoup-3.0, webkit2gtk-4.1, geoclue-glib-2.0, rest-1, gcr-4), the Pantheon Desktop Environment and various elementary applications, which do not yet support the latest versions of these libraries, will no longer be supported or available as of Fedora 37.
|
||||
|
|
|
|||
29
modules/release-notes/pages/desktop/I18n.adoc
Normal file
29
modules/release-notes/pages/desktop/I18n.adoc
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
include::{partialsdir}/entities.adoc[]
|
||||
:experimental:
|
||||
|
||||
[[sect-i18n]]
|
||||
= Internationalization
|
||||
|
||||
[[ibus]]
|
||||
== IBus 1.5.27
|
||||
* `ibus restart` subcommand is enhanced for the GNOME desktop session. Previously `ibus restart` subcommand failed to restart ibus-daemon but now it’s also connected to systemd by default. The other options can be shown with `ibus restart --help` subcommand.
|
||||
* `ibus im-module` subcommand is added newly to get an internal gtk-im-module value from an instance of an GTK instance and this subcommand would be useful in case that users install IBus input method framework by manual and they check if IBus is installed properly.
|
||||
* IBus Emoji shortcut key is now reverted to kbd:[🪟+.](Super+Period).
|
||||
* IBus theme of the candidate window can be customized with ibus-setup utility in non-GNOME desktop sessions. IBus theme has inherited the GTK themes in the desktop session by default and this is useful for other desktop sessions likes KDE.
|
||||
|
||||
== ibus-libpinyin 1.13
|
||||
The ibus-libpinyin package will make English input and Table input in the "Intelligent Pinyin" input method easier.
|
||||
|
||||
[[gettext-runtime]]
|
||||
== Gettext Runtime Subpackage
|
||||
Two subpackages gettext-runtime and gettext-envsubst have been added to gettext to separate out the programs needed at runtime, reducing the default install footprint.
|
||||
|
||||
[[enhanced-persian-fonts]]
|
||||
== Enhanced Persian font support
|
||||
|
||||
In previous Fedora releases, the Persian (fa) locale used multiple different fonts such as DejaVu and Noto Sans Arabic for various programs, leading to an inconsistent and suboptimal experience. Fedora 37 adds the `vazirmatn-vf-fonts` package containing the Vazirmatn font, which is now used by default everywhere, providing improved user experience to those who use the `fa` locale.
|
||||
|
||||
[[firefox-langpacks]]
|
||||
== Firefox now has a langpacks subpackage
|
||||
|
||||
Firefox's langpacks are now installed in a separate recommended subpackage for greater flexibility. This enhances Fedora's modularity and allows you to install Firefox without support for all available languages if not needed.
|
||||
20
modules/release-notes/pages/desktop/Multimedia.adoc
Normal file
20
modules/release-notes/pages/desktop/Multimedia.adoc
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
include::{partialsdir}/entities.adoc[]
|
||||
|
||||
[[sect-multimedia]]
|
||||
= Multimedia
|
||||
|
||||
[[mumble-1-4]]
|
||||
== Mumble 1.4
|
||||
|
||||
Mumble is a popular voice chat application. It is commonly used for gaming and podcasts.
|
||||
|
||||
This update brings for example the following changes:
|
||||
|
||||
* Enable the native PipeWire audio backend
|
||||
* Rename the Mumble server package from `murmur` to `mumble-server`
|
||||
* Relocate the Mumble server configuration file from `/etc/murmur/murmur.ini` to `/etc/murmur.ini`
|
||||
* Introduce a new, general purpose plugin framework
|
||||
* Substitute a sub-optimal free-type search for a fully featured search dialog
|
||||
* Support markdown markup language for text messages in the chat bar
|
||||
|
||||
You can see the full list of changes in the https://www.mumble.info/blog/mumble-1.4.230/[upstream release notes].
|
||||
2
modules/release-notes/pages/desktop/index.adoc
Normal file
2
modules/release-notes/pages/desktop/index.adoc
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
= Notable changes for desktop users
|
||||
:page-aliases: Desktop_index.adoc
|
||||
|
|
@ -3,3 +3,9 @@ include::{partialsdir}/entities.adoc[]
|
|||
|
||||
[[sect-c]]
|
||||
= C
|
||||
|
||||
|
||||
[[mingw]]
|
||||
== MinGW updates
|
||||
|
||||
Fedora 37 comes with the mingw-gcc-12 and mingw-binutils-2.38, and mingw-openssl-3.x. The new MinGW toolchain and tools are available to compile binaries targeting the Windows UCRT.
|
||||
|
|
|
|||
|
|
@ -3,3 +3,9 @@ include::{partialsdir}/entities.adoc[]
|
|||
|
||||
[[sect-haskell]]
|
||||
= Haskell
|
||||
The Haskell GHC compiler has been updated from 8.10.5 to 8.10.7
|
||||
with some important bugfixes. Haskell packages were updated
|
||||
to final Stackage 18.28 versions.
|
||||
|
||||
Newer versions of GHC are available via the
|
||||
ghc9.0, ghc9.2, and ghc9.4 packages.
|
||||
|
|
@ -2,4 +2,8 @@
|
|||
include::{partialsdir}/entities.adoc[]
|
||||
|
||||
[[sect-llvm]]
|
||||
= LLVM
|
||||
= LLVM version 15
|
||||
|
||||
All LLVM sub-projects in Fedora have been updated to version 15, and there has been be a soname version change for the LLVM libraries. Compatibility packages `clang14` and `llvm14` are available to ensure that packages that currently depend on CLang and LLVM version 14 libraries will continue to work.
|
||||
|
||||
A full list of changes in LLVM 15 is available in the link:https://releases.llvm.org/15.0.0/docs/ReleaseNotes.html[upstream LLVM Release Notes].
|
||||
|
|
|
|||
|
|
@ -3,3 +3,40 @@ include::{partialsdir}/entities.adoc[]
|
|||
|
||||
[[sect-python]]
|
||||
= Python
|
||||
|
||||
== Python 3.11
|
||||
|
||||
Fedora 37 provides the Python stack in version 3.11, up from version 3.10 in the previous release. Notable changes include:
|
||||
|
||||
* Exception Groups and `except*`
|
||||
* Enhanced error locations in tracebacks
|
||||
* Support for parsing TOML in the standard library
|
||||
* A massive speed improvement compared to Python 3.10
|
||||
|
||||
Typing features:
|
||||
|
||||
* Variadic generics
|
||||
* Marking individual `TypedDict` items as required or potentially-missing
|
||||
* Self type
|
||||
* Arbitrary literal string type
|
||||
* Dataclass transforms
|
||||
|
||||
For a full list of changes, see the link:https://docs.python.org/3.11/whatsnew/3.11.html[What's New In Python 3.11] upstream document. Also see link:https://docs.python.org/3.11/whatsnew/3.11.html#porting-to-python-3-11[Porting to Python 3.11] if you have Python programs running on an older version.
|
||||
|
||||
[[default-shebangs]]
|
||||
== Add -P to default shebangs
|
||||
|
||||
All Python 3 shebang RPM macros in Fedora 37 have been changed to contain one more flag: `-P`. Previously, they contained `-s`, now they contain `-sP`. The `-P` flag was introduced in Python 3.11.
|
||||
|
||||
The new flag stops Python from prepending a potentially unsafe path to `sys.path`. This causes Python programs in `/usr/bin` to be less fragile towards random files present in the same directory, making debugging certain types of issues easier and enhancing security.
|
||||
|
||||
The following RPM macros are affected by this change:
|
||||
|
||||
* `%{py3_shbang_opts}`
|
||||
* `%{py3_shbang_opts_nodash}`
|
||||
* `%{py3_shebang_flags}`
|
||||
* `%{py_shbang_opts}`
|
||||
* `%{py_shbang_opts_nodash}`
|
||||
* `%{py_shebang_flags}`
|
||||
|
||||
For a detailed explanation of what this change means, a list of affected packages, and information on how to opt out of this change (or explicitly opt in) if needed, see the link:https://fedoraproject.org/wiki/Changes/PythonSafePath#Detailed_Description[Fedora Wiki].
|
||||
|
|
|
|||
|
|
@ -1,5 +1,16 @@
|
|||
|
||||
include::{partialsdir}/entities.adoc[]
|
||||
:experimental:
|
||||
|
||||
[[sect-development-tools]]
|
||||
= Development Tools
|
||||
|
||||
[[emacs-28]]
|
||||
== Emacs 28
|
||||
|
||||
Fedora 37 provides the Emacs editor version 28.1. Notable new features include:
|
||||
|
||||
* Native compilation of Lisp files
|
||||
* Much improved display of Emoji and Emoji sequences
|
||||
* New system for documenting groups of functions
|
||||
|
||||
For more information, see the link:https://www.gnu.org/software/emacs/news/NEWS.28.1[upstream Emacs 28.1 NEWS]. You can also access this information within Emacs itself by pressing kbd:[C-h] kbd:[n].
|
||||
|
|
|
|||
|
|
@ -3,3 +3,18 @@ include::{partialsdir}/entities.adoc[]
|
|||
|
||||
[[sect-web-development]]
|
||||
= Web Development
|
||||
|
||||
== Node.js 18
|
||||
|
||||
Fedora 37 ships with the latest LTS version of Node.js JavaScript server-side engine, 18.x. The 16.x, and 14.x interpreters will remain available as non-default module streams.
|
||||
|
||||
If your applications are not yet ready for this newer version, you can revert to the 16.x series by running the following commands:
|
||||
|
||||
[source,bash]
|
||||
----
|
||||
dnf remove nodejs
|
||||
dnf module reset nodejs
|
||||
dnf module install nodejs:16
|
||||
----
|
||||
|
||||
For more detailed information about Node.js 18, see the link:https://github.com/nodejs/node/blob/main/doc/changelogs/CHANGELOG_V18.md[upstream Node.js 18 ChangeLog].
|
||||
|
|
|
|||
2
modules/release-notes/pages/developers/index.adoc
Normal file
2
modules/release-notes/pages/developers/index.adoc
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
= Notable changes for developers
|
||||
:page-aliases: Developers.adoc
|
||||
|
|
@ -1,5 +1,60 @@
|
|||
|
||||
include::{partialsdir}/entities.adoc[]
|
||||
|
||||
[[select-distribution]]
|
||||
= Distribution-wide Changes
|
||||
|
||||
[[raspberry-pi-4]]
|
||||
== Official support for Raspberry Pi 4
|
||||
|
||||
This Fedora update brings support for Raspberry Pi 4, including 4B, the 400 unit, and the Compute Module (CM) 4 IO Board. All the mentioned models support also accelerated graphics using the V3D GPU for both OpenGL-ES and Vulkan.
|
||||
|
||||
Some minor caveats include:
|
||||
|
||||
* Support for WiFi on the Raspberry Pi 400 is out of scope of this change.
|
||||
* We tested CM 4 and will support on the official IO board. Other devices that incorporate CM 4 should work correctly provided the vendor has their support in the upstream Raspberry Pi firmware/overlays.
|
||||
* The hardware based media decoding (H264/HVEC, and others) are out of scope for this change.
|
||||
|
||||
[[retire-armv7]]
|
||||
== ARMv7 architecture is no longer supported
|
||||
|
||||
Fedora 37 drops support for older ARM devices using the ARMv7 (also known as arm32 or armhfp) architecture. Such devices running older Fedora releases will not be able to upgrade, and will not be able to do a fresh Fedora 37 installation.
|
||||
|
||||
[[server-kvm-image]]
|
||||
== Fedora Server Edition available as KVM virtual machine disk image
|
||||
|
||||
Fedora Server provides now a virtual disk image to greatly facilitate installation of Fedora Server VMs. It allows an immediate installation by either Cockpit administration WEB UI or one of the CLI tools.
|
||||
|
||||
The image is optimized for KVM and aims to resemble a default server installation as closely as possible. All administrative tools are available reliably from the beginning, all administrative routines and helps (scripts) can be used in the same way. All application services work the same as in the standard installation.
|
||||
|
||||
The server documentation link:https://docs.fedoraproject.org/en-US/fedora-server/virtualization/vm-install-diskimg-fedoraserver/[Creating a virtual machine using Fedora Server Edition disk image] provides detailed information on installing and using the disk image.
|
||||
|
||||
[[eln]]
|
||||
== ELN Extras
|
||||
The ELN project will now run "ELN-Extras", a new build target and compose similar to ELN in behavior, but closer in function to EPEL. It will be a place to prepare and maintain packages that may be desired for EPEL N+1 while RHEL N+1 is still being incubated in ELN. This will enable application developers to keep up with impending changes in RHEL even before CentOS Stream becomes available for that release. Additionally, it provides a bootstrapping mechanism for EPEL, which will mean a much shorter gap between the launch of a new RHEL major release and the availability of the EPEL repositories.
|
||||
|
||||
See the link:https://docs.fedoraproject.org/en-US/eln/[Fedora ELN Project] documentation for more information about the project, including link:https://docs.fedoraproject.org/en-US/eln/extras/[Extras].
|
||||
|
||||
[[pantheon-removal]]
|
||||
== Pantheon Desktop Environment has been removed from Fedora
|
||||
|
||||
See xref:desktop/Desktop_index.adoc#pantheon-removal[Desktop].
|
||||
|
||||
[[boot-iso-grub2]]
|
||||
== boot.iso now uses GRUB2 on BIOS systems
|
||||
|
||||
See xref:sysadmin/Installation.adoc#boot-iso-grub2[Distribution].
|
||||
|
||||
== Python3 packages are now built with -P
|
||||
|
||||
See xref:developers/Development_Python.adoc#default-shebangs[Python].
|
||||
|
||||
== Fedora Cloud Base is now a Fedora Edition
|
||||
|
||||
Fedora Cloud Base has been promoted to official status as a Fedora Edition. Cloud Base images can now be downloaded from link:https://alt.fedoraproject.org/cloud/[Get Fedora].
|
||||
|
||||
[[coreos-edition]]
|
||||
== Fedora CoreOS is now a Fedora Edition
|
||||
|
||||
Fedora CoreOS has been promoted to official status as a Fedora Edition. CoreOS images can now be downloaded from link:https://getfedora.org/en/coreos?stream=stable[Get Fedora].
|
||||
|
||||
Documentation for Fedora CoreOS is available at link:https://docs.fedoraproject.org/en-US/fedora-coreos/[this docs site].
|
||||
|
|
|
|||
|
|
@ -4,13 +4,11 @@ include::{partialsdir}/entities.adoc[]
|
|||
[[sect-installation]]
|
||||
= Installation
|
||||
|
||||
[[sect-installation-anaconda]]
|
||||
== Anaconda changes
|
||||
== Anaconda and related components
|
||||
|
||||
This section covers changes in the [application]*Anaconda* installer, including changes in the graphical and text mode interactive installers, Kickstart, and installer boot options.
|
||||
Release notes for the Fedora installer, Anaconda, as well as related topics, are now being maintained upstream. See the project's link:https://anaconda-installer--4379.org.readthedocs.build/en/4379/release-notes.html#fedora-37[ReadTheDocs] documentation for a full list of installer-related changes in Fedora 37.
|
||||
|
||||
[[sect-installation-anaconda-general]]
|
||||
=== General changes
|
||||
[[boot-iso-grub2]]
|
||||
== boot.iso now uses GRUB2 on BIOS systems
|
||||
|
||||
[[sect-installation-kickstart]]
|
||||
=== Kickstart changes
|
||||
In previous Fedora releases, the minimal installer image (`boot.iso`) used the syslinux bootloader when booting on systems using BIOS firmware, while on UEFI systems GRUB2 is used. However, the syslinux project is no longer being developed upstream. Therefore, starting with Fedora 37, `boot.iso` images will use GRUB2 on both BIOS and UEFI-based systems.
|
||||
|
|
|
|||
24
modules/release-notes/pages/sysadmin/Mail_Servers.adoc
Normal file
24
modules/release-notes/pages/sysadmin/Mail_Servers.adoc
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
include::{partialsdir}/entities.adoc[]
|
||||
|
||||
= Mail servers
|
||||
|
||||
== roundcubemail 1.6
|
||||
|
||||
Roundcube Webmail has been updated to version 1.6 in Fedora 37. Note that this version contains a set of breaking changes to previous versions; the following configuration options have been either removed or renamed:
|
||||
|
||||
* IMAP
|
||||
** renamed `default_host` to `imap_host`
|
||||
** removed `default_port` option (non-standard port can be set via `imap_host`)
|
||||
** set `localhost:143` as a default for `imap_host`
|
||||
* SMTP
|
||||
** renamed `smtp_server` to `smtp_host`
|
||||
** removed `smtp_port` option (non-standard port can be set via `smtp_host`)
|
||||
** set `localhost:587` as a default for `smtp_host`
|
||||
* LDAP
|
||||
** removed `port` option from `ldap_public` array (non-standard port can be set via `host`)
|
||||
** removed `use_tls` option from `ldap_public` array (use `tls://` prefix in `host`)
|
||||
* Managesieve
|
||||
** removed `managesieve_port` option (non-standard port can be set via `managesieve_host`)
|
||||
** removed `managesieve_usetls` option (set `tls://` prefix to `managesieve_host`)
|
||||
|
||||
For a list of changes, see the link:https://github.com/roundcube/roundcubemail/releases/tag/1.6.0[upstream Rouncube Webmail release notes].
|
||||
|
|
@ -3,3 +3,25 @@ include::{partialsdir}/entities.adoc[]
|
|||
|
||||
[[networking]]
|
||||
= Networking
|
||||
|
||||
|
||||
== BIND 9
|
||||
|
||||
Berkeley Internet Name Domain (BIND) software suite was updated to version 9.18.x. This version brings the following notable changes, for example:
|
||||
|
||||
* Support for DNS over TLS and DNS over HTTPS servers. Both authoritative and resolver modes.
|
||||
* Re-work of internal connection handling using the `libuv` library.
|
||||
* Remote Name Daemon Control (RNDC) channel does not support Unix sockets.
|
||||
* Support for incoming and outgoing DNS zone transfer over TLS.
|
||||
* Domain Information Groper (dig) utility can send queries using DNS over TLS and DNS over HTTPS.
|
||||
|
||||
[NOTE]
|
||||
====
|
||||
The `bind-dyndb-ldap` dynamic LDAP back-end was upgraded to version 11.10 to support support BIND 9.18. The back-end will be built together with the `bind` package.
|
||||
====
|
||||
|
||||
You can see the full list of changes in the https://bind9.readthedocs.io/en/v9_18_4/notes.html#notes-for-bind-9-18-0[upstream release notes].
|
||||
|
||||
== Fallback hostname set to `localhost` on server-based editions
|
||||
|
||||
For the Cloud, CoreOS, IoT, and Server editions of Fedora, the fallback hostname has been changed to `localhost`. The fallback hostname is the hostname that is set if the hostname cannot be determined by any other mechanism (statically set, DHCP, or reverse DNS). This change was made in order to conform to the common expectation that a hostname of `localhost` on a system means the hostname is "unset".
|
||||
|
|
|
|||
28
modules/release-notes/pages/sysadmin/Ostree.adoc
Normal file
28
modules/release-notes/pages/sysadmin/Ostree.adoc
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
include::{partialsdir}/entities.adoc[]
|
||||
|
||||
= Changes for ostree based variants of Fedora
|
||||
|
||||
This page regroups changes that only apply to ostree/rpm-ostree based variants of Fedora, such as Fedora CoreOS, Fedora IoT, Fedora Silverblue and Fedora Kinoite.
|
||||
|
||||
[[fedora-coreos-major-changes]]
|
||||
== Fedora CoreOS major changes
|
||||
|
||||
Major changes for Fedora CoreOS are list in the https://docs.fedoraproject.org/en-US/fedora-coreos/major-changes/[Major Changes page] in the https://docs.fedoraproject.org/en-US/fedora-coreos/[Fedora CoreOS documentation].
|
||||
|
||||
[[readonly-sysroot-ostree-desktopsl]]
|
||||
== `/sysroot` mounted read only
|
||||
|
||||
On rpm-ostree based systems, the real root (the root directory of the root partition on the disk) is mounted under the `/sysroot` path.
|
||||
By default it contains the state of the system (the content of `/var` and `/etc`) as well as the system versions themselves (each versioned copy of `/usr`) in the ostree repository (`/ostree/repo`).
|
||||
|
||||
Users and administrators are not expected to directly interact with the content available there and should instead use the interface offered by rpm-ostree, GNOME Software or soon Plasma Discover to manage their system.
|
||||
|
||||
Thus `/sysroot` is now mounted read only starting with this release.
|
||||
|
||||
New installations of all three variants will have `/sysroot` read only by default.
|
||||
|
||||
Existing installations of Fedora Silverblue and Fedora Kinoite will be migrated on the first boot to Fedora 37 and will have `/sysroot` read only on the next boot.
|
||||
|
||||
Fedora CoreOS has already made this change in a previous release (https://github.com/coreos/fedora-coreos-tracker/issues/1232[fedora-coreos-tracker#1232]).
|
||||
|
||||
See the https://fedoraproject.org/wiki/Changes/Silverblue_Kinoite_readonly_sysroot[Fedora change page] for more details.
|
||||
|
|
@ -3,3 +3,16 @@ include::{partialsdir}/entities.adoc[]
|
|||
|
||||
[[sect-security]]
|
||||
= Security
|
||||
|
||||
[[fido-onboarding]]
|
||||
== Fedora IoT supports FIDO device onboarding
|
||||
|
||||
The ability for an IoT or Edge device to be plugged in and automatically onboard itself with zero user interaction is critical for scaling. To do this in a secure way with open standards is even more critical. Therefore, the FIDO IoT working group has collaborated with leaders in the silicon industry to produce the FIDO Device Onboarding specification.
|
||||
|
||||
With this update, Fedora IoT provides the FIDO Device Onboarding software stack for Zero Touch Onboarding.
|
||||
|
||||
The aim is to demonstrate the use of the leading edge open industry protocols for onboarding IoT and Edge devices.
|
||||
|
||||
== Python3 packages are now built with -P
|
||||
|
||||
See xref:developers/Development_Python.adoc#default-shebangs[Python].
|
||||
|
|
|
|||
|
|
@ -3,3 +3,16 @@ include::{partialsdir}/entities.adoc[]
|
|||
|
||||
[[sect-storage]]
|
||||
= Storage
|
||||
|
||||
== Stratis 3.2.0
|
||||
The upgrade to Stratis 3.2.0 includes the following significant new features:
|
||||
|
||||
* In https://stratis-storage.github.io/stratis-release-notes-3-1-0/[Stratis 3.1.0],
|
||||
a complete redesign and reimplementation of thinpool block layer management.
|
||||
See https://stratis-storage.github.io/thin-provisioning-redesign/[the separate blog post]
|
||||
for more detailed discussion of the redesign.
|
||||
* In https://stratis-storage.github.io/stratis-release-notes-3-2-0/[Stratis 3.2.0], the ability to stop and to start individual pools.
|
||||
|
||||
Please see
|
||||
https://github.com/stratis-storage/stratisd/blob/master/CHANGES.txt[the stratisd changelog] and
|
||||
https://github.com/stratis-storage/stratis-cli/blob/master/CHANGES.txt[the stratis-cli changelog] for further details.
|
||||
|
|
|
|||
|
|
@ -2,3 +2,33 @@ include::{partialsdir}/entities.adoc[]
|
|||
|
||||
[[sect-system-utilities]]
|
||||
= System Utilities
|
||||
|
||||
[[rpm-4-18]]
|
||||
== RPM 4.18
|
||||
|
||||
RPM 4.18 contains various improvements over previous versions, but in particular this release addresses a whole class of symlink handling related security issues, some with CVEs, from 2021. Other notable improvements include:
|
||||
|
||||
* A more intuitive conditional builds macro `%bcond`
|
||||
* A more robust and secure `--restore` functionality
|
||||
* Long-standing `%patch` quirks fixed
|
||||
* Weak dependencies accept qualifiers like `meta` and `pre` now
|
||||
* New interactive shell for working with macros (`rpmspec --shell`) and embedded Lua (`rpmlua`)
|
||||
* New `%conf` spec section for build configuration
|
||||
* New `rpmuncompress` cli tool simplifies unpacking multiple sources
|
||||
* Numerous macro improvements and fixes
|
||||
* Numerous OpenPGP parser correctness and security fixes
|
||||
|
||||
For more detailed information see the link:https://rpm.org/wiki/Releases/4.18.0[upstream RPM 4.18 Release Notes].
|
||||
|
||||
|
||||
[[preset-all-systemd-units-on-first-boot]]
|
||||
== Preset all systemd units on first boot
|
||||
|
||||
On a Fedora system you booted from an image without the fully populated `/etc/` directory (https://www.freedesktop.org/software/systemd/man/machine-id.html#First%20Boot%20Semantics[First Boot]), `systemd` will execute an equivalent of the `systemctl preset-all` command. As a result, units will be enabled or disabled according to the preset configuration.
|
||||
|
||||
[NOTE]
|
||||
====
|
||||
The `systemd` service manager will disable any units, to which you manually created symbolic links against the preset rules.
|
||||
====
|
||||
|
||||
You can use the `systemctl preset-all` command at any time to apply the preset configuration. If you did not make any prior local changes to the configuration, the command would make no changes to unit state. If you enabled or disabled some units, the command would return unit enablement to the after-installation pristine state.
|
||||
|
|
|
|||
2
modules/release-notes/pages/sysadmin/index.adoc
Normal file
2
modules/release-notes/pages/sysadmin/index.adoc
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
= Notable changes for system administrators
|
||||
:page-aliases: Sysadmins.adoc
|
||||
18
preview.sh
18
preview.sh
|
|
@ -1,18 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
if [ "$(uname)" = "Darwin" ]; then
|
||||
# Running on macOS.
|
||||
# Let's assume that the user has the Docker CE installed
|
||||
# which doesn't require a root password.
|
||||
echo "The preview will be available at http://localhost:8080/"
|
||||
docker run --rm -v "$(pwd):/antora:ro" -v "$(pwd)/nginx.conf:/etc/nginx/conf.d/default.conf:ro" -p 8080:80 nginx
|
||||
|
||||
elif [ "$(expr substr "$(uname -s)" 1 5)" = "Linux" ]; then
|
||||
# Running on Linux.
|
||||
# Fedora Workstation has python3 installed as a default, so using that
|
||||
echo ""
|
||||
echo "The preview is available at http://localhost:8080"
|
||||
echo ""
|
||||
cd ./public
|
||||
python3 -m http.server 8080
|
||||
fi
|
||||
6
site.yml
6
site.yml
|
|
@ -5,11 +5,11 @@ content:
|
|||
sources:
|
||||
- url: .
|
||||
branches: HEAD
|
||||
- url: https://pagure.io/fedora-docs/release-docs-home.git
|
||||
branches: master
|
||||
- url: https://gitlab.com/fedora/docs/fedora-linux-documentation/release-docs-home.git
|
||||
branches: f37
|
||||
ui:
|
||||
bundle:
|
||||
url: https://asamalik.fedorapeople.org/ui-bundle.zip
|
||||
url: https://gitlab.com/fedora/docs/docs-website/ui-bundle/-/jobs/artifacts/HEAD/raw/build/ui-bundle.zip?job=bundle-stable
|
||||
snapshot: true
|
||||
default_layout: with_menu
|
||||
output:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue