Remove extra stuff

This commit is contained in:
Petr Bokoč 2020-09-09 16:00:41 +02:00
commit 14d2a99ef3
24 changed files with 6 additions and 1065 deletions

View file

@ -1,5 +1,5 @@
---
name: fedora
version: f32
version: master
# Navigation is in the main 'fedora' component:
# https://pagure.io/fedora-docs/release-docs-home

View file

@ -4,7 +4,6 @@ include::{partialsdir}/entities.adoc[]
** xref:welcome/Welcome.adoc[Welcome to Fedora]
*** xref:welcome/Hardware_Overview.adoc[Hardware Overview]
*** xref:welcome/Feedback.adoc[Feedback]
** xref:dedication.adoc[Dedication]
** xref:sysadmin/Sysadmins.adoc[System Administrators]
*** xref:sysadmin/Distribution.adoc[Distribution-wide Changes]
*** xref:sysadmin/Installation.adoc[Installation]

View file

@ -2,7 +2,7 @@
:BZURL: https://pagure.io/fedora-docs/release-notes/issues
:COMMONBUGS_URL: https://fedoraproject.org/wiki/Common_F32_bugs
:HOLDER: Fedora Project Contributors
:PREVVER: 31
:PREVVER: 32
:PRODUCT: Fedora Documentation
:PRODVER: 32
:PRODVER: Rawhide
:YEAR: 2020

View file

@ -1,8 +0,0 @@
include::{partialsdir}/entities.adoc[]
= Dedicated to John McDonough
John McDonough (jjmcd) link:https://www.legacy.com/obituaries/ourmidland/obituary.aspx?n=john-mcdonough&pid=196046706[passed away on 20 April 2020]. John was a long-time contributor to Fedora Docs. For many years, he was the driving force behind the Technical Notes and the Release Notes. John was a kind and patient mentor to many Docs contributors. He was passionate about open source and amateur radio (callsign WB8RCR).
Those wishing to share their memories of John can do so on the link:https://fedoraproject.org/wiki/User:Jjmcd/Friend[Fedora Wiki].

View file

@ -1,41 +1,3 @@
include::{partialsdir}/entities.adoc[]
= Notable changes for desktop users
== Change the Desktop release criteria for ARM and AArch64
The following release criteria changes are now present in Fedora 32:
* Drop Xfce on 32-bit ARM from release-blocking desktops.
* Workstation on `AArch64` to release-blocking desktops.
The new additions to release-blocking deliverables include `IoT` and `CoreOS` architecture.
To reduce the overall test coverage and release-blocking desktops, it no longer blocks on the 32-Bit ARM Xfce Desktop spin and adds `Workstation` on AArch64 as a release-blocking desktop.
As a result, this change reduces the release-blocking desktops and potential for blocker bugs.
== Selected bitmap fonts are now available as OpenType
In Fedora 31, the *Pango* library switched to the *HarfBuzz* back end, which does not support bitmap fonts.
Applications that use *Pango* for font rendering, such as *GNOME Terminal*, can no longer use bitmap fonts.
This release introduces new packages that provide selected bitmap fonts converted to the OpenType format.
This format is supported by *Pango*.
The following packages now provide OpenType versions of bitmap fonts:
* `bitmap-lucida-typewriter-opentype-fonts`
* `bitmap-fangsongti-opentype-fonts`
* `bitmap-console-opentype-fonts`
* `bitmap-fixed-opentype-fonts`
* `ucs-miscfixed-opentype-fonts`
* `terminus-fonts`
You cannot install both the bitmap and OpenType versions of the packages, with the exception of `terminus-fonts`, which includes both formats.
== Fonts language Provides moved to the langpacks package
This change aims to provide more reliable, predictable, and consistent fonts installation as well as better user experience around font dependencies.
To achieve this, the change moves the `Provides: font(:lang=\*)` tags into the `langpacks-core-font-\*` sub-packages of the `langpacks` package.
The sub-packages already obtain the default font, locale and input-method for each language.
As a result, whenever a missing glyph font installation is requested, the `langpacks-core-font-_<lang>_` package will be installed and will get the default font using the existing `Requires:` tag.

View file

@ -2,69 +2,3 @@ include::{partialsdir}/entities.adoc[]
[[sect-binutils]]
= GNU Binutils 2.33
:toc:
Fedora 32 comes with GNU Binutils based on 2.33.1 release. This release brings a lot of bug fixes, improvements to the linker, as well as support for the CTF debug format.
== New Features and Bug Fixes:
=== Assembler
* Adds support for the Arm Scalable Vector Extension version 2
(SVE2) instructions, the Arm Transactional Memory Extension (TME)
instructions and the Armv8.1-M Mainline and M-profile Vector
Extension (MVE) instructions.
* Adds support for the Arm Cortex-A76AE, Cortex-A77 and Cortex-M35P
processors and the AArch64 Cortex-A34, Cortex-A65, Cortex-A65AE,
Cortex-A76AE, and Cortex-A77 processors.
* Adds a `.float16` directive for both Arm and AArch64 to allow
encoding of 16-bit floating point literals.
* For MIPS, Add `-m[no-]fix-loongson3-llsc` option to fix (or not)
Loongson3 LLSC Errata. Add a `--enable-mips-fix-loongson3-llsc=[yes|no]`
configure time option to set the default behavior. Set the default
if the configure option is not used to "no".
=== Linker
* The Cortex-A53 Erratum 843419 workaround now supports a choice of
which workaround to use. The option `--fix-cortex-a53-843419` now
takes an optional argument `--fix-cortex-a53-843419[=full|adr|adrp]`
which can be used to force a particular workaround to be used.
See `--help` for AArch64 for more details.
* Add support for `GNU_PROPERTY_AARCH64_FEATURE_1_BTI` and
`GNU_PROPERTY_AARCH64_FEATURE_1_PAC` in ELF GNU program properties
in the AArch64 ELF linker.
* Add `-z force-bti` for AArch64 to enable `GNU_PROPERTY_AARCH64_FEATURE_1_BTI`
on output while warning about missing `GNU_PROPERTY_AARCH64_FEATURE_1_BTI`
on inputs and use PLTs protected with BTI.
* Add `-z pac-plt` for AArch64 to pick PAC enabled PLTs.
=== Utilities
* Add `--source-comment[=<txt>]` option to objdump which if present,
provides a prefix to source code lines displayed in a disassembly.
* Add `--set-section-alignment` `<section-name>=<power-of-2-align>`
option to objcopy to allow the changing of section alignments.
* Add `--verilog-data-width` option to objcopy for verilog targets to
control width of data elements in verilog hex format.
* The separate debug info file options of readelf (`--debug-dump=links`
and `--debug-dump=follow`) and objdump (`--dwarf=links` and
`--dwarf=follow-links`) will now display and/or follow multiple
links if more than one are present in a file. (This usually
happens when gcc's `-gsplit-dwarf` option is used).
* Add support for dumping types encoded in the Compact Type Format
to objdump and readelf.
See the link:https://lists.gnu.org/archive/html/info-gnu/2019-10/msg00006.html[upstream release announcement] for more detailed information about this release.

View file

@ -3,190 +3,3 @@ include::{partialsdir}/entities.adoc[]
[[sect-c]]
= C
:toc:
== GCC 10.0.1
The GNU compiler suite has been update to version 10.0.1. See the http://gcc.gnu.org/gcc-10/changes.html[upstream documentation] for user visible changes. Packages in Fedora 32 have been rebuilt with the new version of the compiler.
=== New features and general improvements
* New built-in functions:
** The `__has_builtin` built-in preprocessor operator can be used to query support for built-in functions provided by GCC and other compilers that support it.
** `__builtin_roundeven` for the corresponding function from ISO/IEC TS 18661.
* New command-line options:
** `-fallocation-dce` removes unneeded pairs of new and delete operators.
** `-fprofile-partial-training` can now be used to inform the compiler that code paths not covered by the training run should not be optimized for size.
** `-fprofile-reproducible` controls level of reproducibility of profile gathered by -fprofile-generate. This makes it possible to rebuild program with same outcome which is useful, for example, for distribution packages.
* Inter-procedural optimization improvements:
** The inter-procedural scalar replacement for aggregates (IPA-SRA) pass was re-implemented to work at link-time.
** `-finline-functions` is now enabled at -O2 and was retuned for better code size versus runtime performance trade-offs. Inliner heuristics was also significantly sped up to avoid negative impact to -flto -O2 compile times.
** Inliner heuristics and function cloning can now use value-range information to predict effectivity of individual transformations.
** During link-time optimization the C++ One Definition Rule is used to increase precision of type based alias analysis.
* Link-time optimization improvements:
** A new binary lto-dump has been added. The program can dump various information about a LTO bytecode object file.
** Parallel phase of the LTO can automatically detect a running make`s jobserver or can fall back to number of available cores.
** The LTO bytecode can be compressed with zstd algorithm. Configure script can automatically detect the zstd support.
** Most `--param` values can now be specified at translation unit granularity. This includes all parameters controlling the inliner and other inter-procedural optimizations. Unlike earlier releases, GCC 10 will ignore parameters controlling optimizations specified at link-time and apply parameters specified at compile-time in the same manner as done for optimization flags.
* Profile driven optimization improvements:
** Profile New Languages and Language-Specific `Improvementsmaintenance` during compilation and hot/cold code partitioning have been improved.
** Using `-fprofile-values`, an instrumented binary can track multiple values (up to 4) for e.g. indirect calls and provide more precise profile information.
=== New languages and language-specific improvements
* Version 2.6 of the OpenACC specification is now supported in the C, C++ and Fortran compilers.
See the implementation status section on the OpenACC wiki page and the run-time library documentation for further information.
* OpenMP and OpenACC now support offloading to AMD Radeon (GCN) GPUs; supported are the third-generation Fiji (fiji) and the fifth-generation VEGA 10/VEGA 20 (gfx900 or gfx906).
==== C family
* New attributes.
* New warnings.
* Enhancements to existing warnings.
==== C
* Several new features from the upcoming C2X revision of the ISO C standard are supported with `-std=c2x` and `-std=gnu2x`. Some of these features are also supported as extensions when compiling for older language versions. In addition to the features listed, some features previously supported as extensions and now added to the C standard are enabled by default in C2X mode and not diagnosed with `-std=c2x -Wpedantic`.
* GCC now defaults to `-fno-common`. As a result, global variable accesses are more efficient on various targets. In C, global variables with multiple tentative definitions now result in linker errors. With `-fcommon` such definitions are silently merged during linking.
==== C++
* Several `C++20` features have been implemented.
* Several `C++ Defect` Reports have been resolved.
* New warnings.
* G++ can now detect modifying constant objects in `constexpr` evaluation (which is undefined behavior).
* G++ no longer emits bogus `-Wsign-conversion` warnings with explicit casts.
* Narrowing is now detected in more contexts (e.g., case values).
* Memory consumption of the compiler has been reduced in `constexpr` evaluation.
* The `noexcept-specifier` is now properly treated as a complete-class context as per `[class.mem]`.
* The attribute deprecated can now be used on namespaces too.
==== Runtime library (libstdc++)
* Improved experimental `C++2a` support, including.
* Support for RDSEED in `std::random_device`.
* Reduced header dependencies, leading to faster compilation for some code.
== The GNU C Library version 2.31
Fedora 32 provides the GNU C Library - `glibc` - version 2.31. Notable changes include:
=== New features
* The GNU C Library now supports a feature test macro _ISOC2X_SOURCE
to enable features from the draft ISO C2X standard. Only some
features from this draft standard are supported by the GNU C
Library, and as the draft is under active development, the set of
features enabled by this macro is liable to change. Features from
C2X are also enabled by _GNU_SOURCE, or by compiling with `gcc
-std=gnu2x`.
* The `<math.h>` functions that round their results to a narrower type
now have corresponding type-generic macros in `<tgmath.h>`, as defined
in TS 18661-1:2014 and TS 18661-3:2015 as amended by the resolution
of Clarification Request 13 to TS 18661-3.
* The function `pthread_clockjoin_np` has been added, enabling join with
a terminated thread with a specific clock. It allows waiting
against `CLOCK_MONOTONIC` and `CLOCK_REALTIME`. This function is a GNU
extension.
* New locale added: `mnw_MM` (Mon language spoken in Myanmar).
* The DNS stub resolver will optionally send the AD (authenticated
data) bit in queries if the trust-ad option is set via the options
directive in /etc/resolv.conf (or if `RES_TRUSTAD` is set in
`_res.options`). In this mode, the AD bit, as provided by the name
server, is available to applications which call res_search and
related functions. In the default mode, the AD bit is not set in
queries, and it is automatically cleared in responses, indicating a
lack of DNSSEC validation. (Therefore, the name servers and the
network path to them are treated as untrusted.)
=== Deprecated and removed features
* The totalorder and totalordermag functions, and the corresponding
functions for other floating-point types, now take pointer arguments
to avoid signaling NaNs possibly being converted to quiet NaNs in
argument passing. This is in accordance with the resolution of
Clarification Request 25 to TS 18661-1, as applied for C2X.
Existing binaries that pass floating-point arguments directly will
continue to work.
* The obsolete function stime is no longer available to newly linked
binaries, and its declaration has been removed from `<time.h>`.
Programs that set the system time should use `clock_settime` instead.
* We plan to remove the obsolete function ftime, and the header
`<sys/timeb.h>`, in a future version of glibc. In this release, the
header still exists but calling ftime will cause a compiler warning.
All programs should use gettimeofday or clock_gettime instead.
* The gettimeofday function no longer reports information about a
system-wide time zone. This 4.2-BSD-era feature has been deprecated
for many years, as it cannot handle the full complexity of the
world`s timezones, but hitherto we have supported it on a
best-effort basis. Changes required to support 64-bit time_t on
32-bit architectures have made this no longer practical.
* The settimeofday function can still be used to set a system-wide
time zone when the operating system supports it. This is because
the Linux kernel reused the API, on some architectures, to describe
a system-wide time-zone-like offset between the software clock
maintained by the kernel, and the "RTC" clock that keeps time when
the system is shut down.
* SPARC ISA v7 is no longer supported. v8 is still supported, but
only if the optional CAS instruction is implemented (for instance,
LEON processors are still supported, but SuperSPARC processors are
not).
* If a lazy binding failure happens during dlopen, during the
execution of an ELF constructor, the process is now terminated.
Previously, the dynamic loader would return NULL from dlopen, with
the lazy binding error captured in a dlerror message. In general,
this is unsafe because resetting the stack in an arbitrary function
call is not possible.
* For MIPS hard-float ABIs, the GNU C Library will be configured to
need an executable stack unless explicitly configured at build time
to require minimum kernel version 4.8 or newer. This is because
executing floating-point branches on a non-executable stack on Linux
kernels prior to 4.8 can lead to application crashes for some MIPS
configurations. While currently `PT_GNU_STACK` is not widely used on
MIPS, future releases of GCC are expected to enable non-executable
stack by default with `PT_GNU_STACK` by default and is thus likely to
trigger a crash on older kernels.
* System call wrappers for time system calls now use the new time64
system calls when available. On 32-bit targets, these wrappers
attempt to call the new system calls first and fall back to the
older 32-bit time system calls if they are not present. This may
cause issues in environments that cannot handle unsupported system
calls gracefully by returning `-ENOSYS`. Seccomp sandboxes are
affected by this issue.
=== Security-related changes
* CVE-2019-19126: ld.so failed to ignore the `LD_PREFER_MAP_32BIT_EXEC`
environment variable during program execution after a security
transition, allowing local attackers to restrict the possible
mapping addresses for loaded libraries and thus bypass ASLR for a
setuid program. Reported by Marcin Kościelnicki.
For detailed information about glibc-2.31 see the link:https://sourceware.org/legacy-ml/libc-announce/2020/msg00001.html[upstream NEWS document]; note that you may need to scroll down to find version 2.31 as the document continues to be updated.
== mpfr 4.0.2
Fedora 32 provides the GNU MPFR library version 4.0.2. Notable changes include:
* mpfr now supports shared caches for multithreaded applications, thereby reducing memory usage.
* Improved caching: a minimum of 10% increase of the precision is guaranteed to avoid too many recomputations, thereby reducing CPU usage.
* A small-precision `mpz_t` pool is used to reduce the number of memory allocations, thereby reducing CPU usage.
* Several functions are now faster; e.g., `mpfr_add`, `mpfr_sub`, `mpfr_mul`, `mpfr_div`, `mpfr_sqrt`, `mpfr_set_d`, and `mpfr_get_d`.
* The `mpfr_div_ui` function could produce incorrectly rounded results in mpfr 3; the bug has been fixed in mpfr 4.
For more information, visit the upstream release notes for version link:https://www.mpfr.org/mpfr-4.0.0/#changes[4.0.0], link:http://www.mpfr.org/mpfr-4.0.1/#changes[4.0.1], and link:http://www.mpfr.org/mpfr-4.0.2/#changes[4.0.2].

View file

@ -3,23 +3,3 @@ include::{partialsdir}/entities.adoc[]
[[sect-dotnet]]
= .NET
== Mono has been updated to 6.6
The Mono development platform has been updated from version 5.20 to 6.6.
For more information about Mono 6.6, see the link:https://www.mono-project.com/docs/about-mono/releases/6.6.0/[upstream release notes].
== .NET Core 3.1
{empty}.NET Core is now available in Fedora.
The current version of .NET Core is 3.1, which is the latest Long Term Support (LTS) release. See the https://devblogs.microsoft.com/dotnet/announcing-net-core-3-1/[upstream annoucement] for all the new features and user visible changes in this release of .NET Core.
=== New packages
* .NET Core Runtimes:
** `dotnet-runtime-3.1` provides the .NET Core Runtime
** `aspnetcore-runtime-3.1` provides the ASP.NET Core Runtime
* .NET Core SDK:
** `dotnet-sdk-3.1` provides the .NET Core SDK

View file

@ -2,9 +2,4 @@
include::{partialsdir}/entities.adoc[]
[[sect-development-go]]
= Golang version 1.14
A rebase of the `Golang` packages is present in the version 1.14 on Fedora 32.
This rebase provides performance improvements in support for currently supported platforms among other bug fixes and new features.
For a complete list of changes see the notes at link:https://tip.golang.org/doc/go1.14[Go 1.14 Release Notes].
= Golang

View file

@ -2,10 +2,4 @@
include::{partialsdir}/entities.adoc[]
[[sect-haskell]]
= Haskell Stackage 14 LTS
This release updates the Haskell libraries that are packaged in Fedora. The libraries update from the Stackage platform version 13 LTS to version 14 LTS.
Note that not all packages from Stackage are included in Fedora.
For more information about Stackage 14 LTS, see link:https://www.stackage.org/lts-14[].
= Haskell

View file

@ -2,30 +2,4 @@
include::{partialsdir}/entities.adoc[]
[[sect-llvm]]
= LLVM 10.0.0
Fedora 32 comes with LLVM 10.
Please note that the `soname` version for LLVM libraries has been changed.
Maintainers of packages that depend on `clang-libs` or `llvm-libs` will need to update their spec files to depend on the `clang9.0` and `llvm9.0` compatibility packages if they want to rebuild their package and it does not work with LLVM 10 yet.
Compatibility packages `clang9.0` and `llvm9.0` was added to this release.
Spec file changes are only needed if the package is going to be rebuilt after LLVM 10 and Fedora update.
== Changes
The full list of new features, improvements and bug fixes that comes with LLVM 10 can be found in the https://releases.llvm.org/10.0.0/docs/ReleaseNotes.html[upstream release notes].
=== All LLVM sub-projects in Fedora 32 was also updated to version 10
* clang (https://releases.llvm.org/10.0.0/tools/clang/docs/ReleaseNotes.html[details])
* lld (https://releases.llvm.org/10.0.0/tools/lld/docs/ReleaseNotes.html[details])
* lldb (https://releases.llvm.org/10.0.0/docs/ReleaseNotes.html#changes-to-lldb[details])
* libcxx (libc{plus}{plus}) (https://releases.llvm.org/10.0.0/projects/libcxx/docs/ReleaseNotes.html[details])
==== As well as
* compiler-rt
* libomp
* llvm-test-suite
* libcxxabi (libc{plus}{plus}abi)
* python-lit
= LLVM

View file

@ -3,138 +3,3 @@ include::{partialsdir}/entities.adoc[]
[[sect-python]]
= Python
:toc:
== Improved performance of Python
Depending on the workload, up to 27% improved performance is now observed in Python-based software.
The improved performance is accomplished by building the Python interpreter with `-fno-semantic-interposition`.
Because there is no semantic interposition now, the internal symbol look-ups from `libpython` to `libpython` library are direct and faster.
As a consequence, if Fedora users need to use `LD_PRELOAD` to override symbols in `libpython`, the recommended way is to build a custom Python build without `-fno-semantic-interposition`.
However, it is still possible to use `LD_PRELOAD` to override symbols in other libraries (for example in glibc).
== Python 2 has been removed
The Python upstream stopped supporting Python 2 on 1 January 2020.
For this reason, Fedora 32 removes Python 2 packages.
The following packages are no longer available:
* The `python2` package and all its subpackages.
* All packages that need Python 2 to run.
* All packages that need Python 2 to build.
Fedora 32 still provides a legacy `python27` package.
This package is intended for developers who need to support Python 2 and for users who need to use software that depends on Python 2.
The `python27` package has several limitations compared to the original `python2` package:
* The package has no subpackages. All content is stored in the single package.
* The package provides no debug build, which was previously available as `python2-debug`.
* The package does not provide the `/usr/bin/python` binary.
* Any special backwards compatible Provides are removed (this package is not intended to be depended upon).
== Deprecated support for Nose
Support for Nose is now deprecated.
However for now, the `python3-nose` package continues to be available in the Fedora repositories.
No specific release it yet targeted to remove the `python3-nose` package.
Users and packagers of dependent packages are encouraged to switch to `python3-pytest` or `python3-nose2`.
== Notes on migrating user-installed pip packages
When you upgrade from Fedora 30 or 31 to Fedora 32, the main Python interpreter version changes from 3.7 to 3.8.
If you have any Python packages installed using `pip`, you must complete the following procedure to migrate them to the new version:
. Install the previously main Python version:
+
[source,bash]
----
sudo dnf install python3.7
----
. Get `pip` for the previously main Python version:
+
[source,bash]
----
python3.7 -m ensurepip --user
----
. Observe the installed packages:
+
[source,bash]
----
python3.7 -m pip list
----
. Save the list with specific versions:
+
[source,bash]
----
python3.7 -m pip freeze > installed.txt
----
. Install the same packages for the now default version:
+
[source,bash]
----
python3 -m pip install --user -r installed.txt
----
. Uninstall user-installed packages for 3.7; this ensures proper removal of files in `~/.local/bin`:
+
[source,bash]
----
python3.7 -m pip uninstall $(python3.7 -m pip list --user | cut -d" " -f1)
----
. Optionally, clean up the now empty directory structure:
+
[source,bash]
----
rm -rf ~/.local/lib/python3.7/
----
. Optionally, remove the unneeded Python version:
+
[source,bash]
----
sudo dnf remove python3.7
----
Additionally, if you have any `pip` packages installed using `sudo`, run the following commands _before running the final step above which removes `python3.7`_, or install it again temporarily:
. Get `pip` for the previously main Python version for `root`:
+
[source,bash]
----
sudo python3.7 -m ensurepip
----
. Observe the system-installed packages:
+
[source,bash]
----
sudo python3.7 -m pip list
----
. Uninstall installed packages for 3.7; this ensures proper removal of files in `/usr/local/bin`:
+
[source,bash]
----
sudo python3.7 -m pip uninstall $(python3.7 -m pip list | cut -d" " -f1)
----
. Optionally, clean up now empty directory structure:
+
[source,bash]
----
sudo rm -rf /usr/local/lib*/python3.7/
----
[IMPORTANT]
====
If you followed the first procedure, the packages are already installed for your user account, which is the preferred option. Avoid using `sudo pip` in the future; these instructions are only intended to recover users who already used `sudo pip` in the past.
====

View file

@ -2,208 +2,3 @@ include::{partialsdir}/entities.adoc[]
[[sect-ruby]]
= Ruby
:toc:
== Ruby 2.7
Fedora 32 provides Ruby 2.7 version. With this major update from Ruby 2.6, Fedora becomes the superior Ruby development platform.
[[back]]
=== Changes since Ruby 2.6:
Ruby 2.7 comes with several new features and performance improvements.
==== New features
* <<Pattern,Pattern Matching>>
* <<REPL,REPL improvement>>
* <<GC,Compaction GC>>
* <<Separation,Separation of positional and keyword arguments>>
==== Performance improvements
* JIT [Experimental]
* Fibers cache strategy is changed and fiber creation is speeded up.
* `Module#name`, `true.to_s`, `false.to_s`, and `nil.to_s` now always return a frozen String. The returned String is always the same for a given object. [Experimental]
* The performance of `Monitor` and `MonitorMixin` is improved.
* The performance of `CGI.escapeHTML` is improved.
* `Per-call-site` method cache, which has been there since around 1.9, was improved: cache hit rate raised from 89% to 94%.
* `RubyVM::InstructionSequence#to_binary` method generates compiled binary. The binary size is reduced.
==== Other notable changes
* Some standard libraries are updated.
** Bundler 2.1.2
** RubyGems 3.1.2
** Racc 1.4.15
** CSV 3.1.2
** REXML 3.2.3
** RSS 0.2.8
** StringScanner 1.0.3
** Some other libraries that have no original version are also updated.
* The following libraries are no longer bundled gems. Install corresponding gems to use these features.
** CMath (cmath gem)
** Scanf (scanf gem)
** Shell (shell gem)
** Synchronizer (sync gem)
** ThreadsWait (thwait gem)
** E2MM (e2mmap gem)
* `profile.rb` was removed from standard library.
* Promote `stdlib` to default gems
** The following default gems were published on rubygems.org
*** benchmark
*** cgi
*** delegate
*** getoptlong
*** net-pop
*** net-smtp
*** open3
*** pstore
*** singleton
** The following default gems were only promoted at ruby-core, but not yet published on rubygems.org.
*** monitor
*** observer
*** timeout
*** tracer
*** uri
*** yaml
* `Proc.new` and `proc` with no block in a method called with a block is warned now.
* lambda with no block in a method called with a block raises an exception.
* Update Unicode version and Emoji version from 11.0.0 to 12.0.0.
* Update Unicode version to 12.1.0, adding support for U+32FF SQUARE ERA NAME REIWA.
* `Date.jisx0301`, `Date#jisx0301`, and `Date.parse` support the new Japanese era.
* Require compilers to support C99.
=== Detailed changes
[[Pattern]]
==== Pattern Matching [Experimental]
Pattern matching, a widely used feature in functional programming languages, is introduced as an experimental feature. It can traverse a given object and assign it's value if it matches a pattern.
[source,json]
----
require "json"
json = <<END
{
"name": "Alice",
"age": 30,
"children": [{ "name": "Bob", "age": 2 }]
}
END
case JSON.parse(json, symbolize_names: true)
in {name: "Alice", children: [{name: "Bob", age: age}]}
p age #=> 2
end
----
[[REPL]]
==== REPL improvement
`irb`, the bundled interactive environment (REPL; Read-Eval-Print-Loop), now supports multi-line editing.
It is powered by `reline`, a `readline` -compatible library implemented in pure Ruby.
It also provides rdoc integration. In `irb` you can display the reference for a given class, module, or method.
[[GC]]
==== Compaction GC
This release introduces Compaction GC which can defragment a fragmented memory space.
Some multi-threaded Ruby programs may cause memory fragmentation, leading to high memory usage and degraded speed.
The `GC.compact` method is introduced for compacting the heap.
This function compacts live objects in the heap so that fewer pages may be used, and the heap may be more CoW (copy-on-write) friendly.
[[Separation]]
==== Separation of positional and keyword arguments
Automatic conversion of keyword arguments and positional arguments is deprecated, and conversion will be removed in Ruby 3.
===== Changes
* When a method call passes a Hash at the last argument, and when it passes no keywords, and when the called method accepts keywords, a warning is emitted.
To continue treating the hash as keywords, add a double splat operator to avoid the warning and ensure correct behavior in Ruby 3.
+
[source,ruby]
----
def foo(key: 42); end; foo({key: 42}) # warned
def foo(**kw); end; foo({key: 42}) # warned
def foo(key: 42); end; foo(**{key: 42}) # OK
def foo(**kw); end; foo(**{key: 42}) # OK
----
* When a method call passes keywords to a method that accepts keywords, but it does not pass enough required positional arguments, the keywords are treated as a final required positional argument, and a warning is emitted.
Pass the argument as a hash instead of keywords to avoid the warning and ensure correct behavior in Ruby 3.
+
[source,ruby]
----
def foo(h, **kw); end; foo(key: 42) # warned
def foo(h, key: 42); end; foo(key: 42) # warned
def foo(h, **kw); end; foo({key: 42}) # OK
def foo(h, key: 42); end; foo({key: 42}) # OK
----
* When a method accepts specific keywords but not a keyword splat, and a hash or keywords splat is passed to the method that includes both Symbol and non-Symbol keys, the hash will continue to be split, and a warning will be emitted.
You will need to update the calling code to pass separate hashes to ensure correct behavior in Ruby 3.
+
[source,ruby]
----
def foo(h={}, key: 42); end; foo("key" => 43, key: 42) # warned
def foo(h={}, key: 42); end; foo({"key" => 43, key: 42}) # warned
def foo(h={}, key: 42); end; foo({"key" => 43}, key: 42) # OK
----
* If a method does not accept keywords, and is called with keywords, the keywords are still treated as a positional hash, with no warning.
This behavior will continue to work in Ruby 3.
+
[source,ruby]
----
def foo(opt={}); end; foo( key: 42 ) # OK
----
* Non-symbols are allowed as keyword argument keys if the method accepts arbitrary keywords.
+
[source,ruby]
----
def foo(**kw); p kw; end; foo("str" => 1) #=> {"str"=>1}
----
* `**nil` is allowed in method definitions to explicitly mark that the method accepts no keywords.
Calling such a method with keywords will result in an `ArgumentError`.
+
[source,ruby]
----
def foo(h, **nil); end; foo(key: 1) # ArgumentError
def foo(h, **nil); end; foo(**{key: 1}) # ArgumentError
def foo(h, **nil); end; foo("str" => 1) # ArgumentError
def foo(h, **nil); end; foo({key: 1}) # OK
def foo(h, **nil); end; foo({"str" => 1}) # OK
----
* Passing an empty keyword splat to a method that does not accept keywords no longer passes an empty hash, unless the empty hash is necessary for a required parameter, in which case a warning will be emitted.
Remove the double splat to continue passing a positional hash.
+
[source,ruby]
----
h = {}; def foo(*a) a end; foo(**h) # []
h = {}; def foo(a) a end; foo(**h) # {} and warning
h = {}; def foo(*a) a end; foo(h) # [{}]
h = {}; def foo(a) a end; foo(h) # {}
----
If you want to disable the deprecation warnings, please use a command-line argument `-W:no-deprecated` or add `Warning[:deprecated] = false` to your code.
See the link:https://www.ruby-lang.org/en/news/2019/12/25/ruby-2-7-0-released/[upstream release announcement] for more detailed information about this release.
== Jekyll 4.0
The *Jekyll* static page generator and its plug-ins have been updated to version 4.0.0. This version includes the following changes compared to version 3.8:
* Significant performance improvements
* Cleanups and bug fixes
* Other minor changes incompatible with the previous release
For more information about *Jekyll* 4.0.0, see link:https://jekyllrb.com/news/2019/08/20/jekyll-4-0-0-released/[].

View file

@ -3,37 +3,3 @@ include::{partialsdir}/entities.adoc[]
[[sect-development-tools]]
= Development Tools
:toc:
== Comp-NeuroFedora lab
A new lab called Comp-NeuroFedora has been added to the suite.
This change provides a pre-packaged, ready-to-install lab image with Free and Open Source Software (FOSS) to streamline computational neuroscience work.
The change also aims to encourage more users to use Fedora in their scientific efforts.
For more information about Comp-NeuroFedora, see the link:https://neuro.fedoraproject.org[upstream documentation].
For a list of Fedora labs, see the link:https://labs.fedoraproject.org/[Functional bundles for Fedora] page.
== Switch mingw32 toolchain to dwarf-2 exceptions
The `mingw32` toolchain in Fedora 32 uses the `dwarf-2` exception model instead of the previously used `SJLJ`.
Notable differences include:
* `SJLJ` (`setjmp`/`longjmp`):
** Not "zero-cost": even if an exception isn't thrown, it incurs a minor performance penalty (~15% in exception heavy code).
** Allows exceptions to traverse through e.g. windows callbacks.
* `DWARF` (`DW2`, `dwarf-2`)
** No permanent runtime overhead.
** needs whole call stack to be `dwarf`-enabled, which means exceptions cannot be thrown over e.g. Windows system DLLs (i.e. throwing an exception in a system DLL callback and attempting to catch it won't work)
** DW2 potentially generates bigger libraries. The overhead however is not big (< 10%) for typical applications.
The main reason for switching to `dwarf-2` is that Rust can only be compiled to a link:https://github.com/rust-lang/rust/issues/12859#issuecomment-185081071[MinGW toolchain targeting dwarf exceptions on 32-bit], and Rust usage is starting to appear in some packages (i.e. `librsvg2`).
Switching to `dwarf-2` on `mingw32` would hence allow to keep the same consistent package offering between `mingw32` and `mingw64`, whereas otherwise one would need to either freeze the `mingw32` variants at older versions, or remove them altogether.
== PostgreSQL has been updated to version 12 in the non-modular builds
PostgreSQL `postgresql` and `libpq` components have been updated in Fedora 32 from 11 to 12 version in the non-modular main builds.
For a complete list of enhancements, see link:https://www.postgresql.org/docs/12/release-12.html[PostgreSQL Release 12]

View file

@ -3,23 +3,3 @@ include::{partialsdir}/entities.adoc[]
[[sect-web-development]]
= Web Development
== Django 3.0
The `python-django` package has been updated to version 3.0 in Fedora 32.
Notable changes in this version include:
* ASGI support.
* Official MariaDB support.
* Exclusion constraints on PostgreSQL.
* Enumerations for model field choices.
* Various new minor features.
* Several deprecations and removals.
See the link:https://docs.djangoproject.com/en/3.0/releases/3.0/[upstream release notes] for full information about this release.
== PHP 7.4
Fedora 32 provides the latest version 7.4 of the PHP stack.
This new version provides a large set of new features, new functions, classes, and interfaces, performance improvements, as well as some removals, deprecations, and backward incompatible changes.
Those using the PHP stack on Fedora should therefore read through the link:https://raw.githubusercontent.com/php/php-src/PHP-7.4/UPGRADING[upstream Upgrade Notes]. link:https://raw.githubusercontent.com/php/php-src/PHP-7.4/UPGRADING.INTERNALS[Internals Upgrade Notes] are also available upstream.

View file

@ -3,114 +3,3 @@ include::{partialsdir}/entities.adoc[]
[[select-distribution]]
= Distribution-wide Changes
:toc:
== Improved usage data gathering through DNF
Before Fedora 32, The Fedora Project was estimating the number of installed Fedora systems by counting the unique IP addresses which access updates from the official mirrors.
This approach is highly inaccurate for multiple reasons, such as undercounting due to NAT and overcounting due to short DHCP leases and laptops moving between different network connections, and this approach also doesn't allow for distinguishing between Fedora variants.
At the same time, accurate usage metrics are highly useful for any software project that wants to serve its community and remain relevant, and so The Fedora Project has been exploring ways to obtain more useful information without compromising privacy of its users.
In Fedora 32, when the installed system contacts one of the official Fedora mirrors, it provides the following information ("user agent"):
* Fedora version (such as "Fedora 32").
* Fedora variant (such as "Server").
* Operating system and architecture (such as "Linux.x86_64").
* A newly introduced `countme` variable.
The `countme` variable is used by Fedora Project to determine the age of the system. The variable has four possible values:
* `1` within the first week of installation - 0-7 days.
* `2` between the first week and the first month of installation - 8-30 days.
* `3` between the first month and the the first 6 months of installation - 31-180 days.
* `4` after the first 6 months of installation - 180 days or more.
Using this system, The Fedora Project can measure the usage levels of various combinations of architectures and variants and collect data short and long term usage of each variant. At the same time, this system avoids collecting any identifying information about any client system.
If you wish to disable this behavior, change the value of the `countme` boolean in DNF configuration. See the `dnf.conf(5)` man page for details.
[NOTE]
====
This system will not be active on Fedora Project's side at the moment of Fedora 32 release because the server side portion is not ready. Clients will send their user agent including `countme`, but it will not be processed at first.
====
== Physical optical media does not require pre-GA testing
Since Fedora 32, the operating system to be installed from the physical optical media will not need to be tested before the general availability.
However, issues regarding physical media boot will still be treated as blocker bugs.
The change will affect the following images:
* `Fedora-Everything-netinst-x86\_64-__<RELEASE_MILESTONE>__.iso`
* `Fedora-Workstation-Live-x86\_64-__<RELEASE_MILESTONE>__.iso`
The change aims to address the trend of ever decreasing amount of new computers and laptops with CD/DVD drives, and errors that installation using this media entails.
As a result, the Fedora QE Team and community testers will have more capacity to test parts of Fedora that are far more visible and exposed to end users.
[IMPORTANT]
====
Due to some bugs, users might not be able in some cases to complete the installation from optical media.
====
== Packaging changes in clang-libs package
The `clang-libs` package no longer includes individual component libraries like `libclangBasic.so`, `libclangAST.so` and so on.
Packages that depend on the clang libraries are now linked to `libclang-cpp.so`.
As a result of this change:
* There is an improved stability in Fedora and application start-up time.
* End-users who develop applications using clang libraries are required to update their applications to use `libclang-cpp.so` instead of the individual component libraries.
* End-users who use Fedora packages that depend on clang libraries do not have any impact due to this change.
== Added support for AArch64 and ppc64le packages with extended availability of FPC-dependent packages
An updated version (3.2.0) of Free Pascal Compiler is now available with Fedora 32.
With the updated Free Pascal Compiler you can now build `Arch64` and `ppc64le` packages.
Also, the Free Pascal Compiler now supports new architectures.
As a result, the programs that are compiled using FPC are available to run on more architectures that Fedora supports.
== Adopting sysusers.d format
Previously, users were created in `%pre` section by calling the commands `getent`, `useradd`, and `groupadd`.
With this update, users are defined in the `sysusers.d` format.
It adds an rpm package `Provides generator` to create `user(__<name>__)` and `group(__<name>__)` virtual Provides for packages with sysusers.d files.
An rpm package `Provides` generator is added to generate `user(__<name>__)` and `group(__<name>__)` for packages with `sysusers.d` files.
As a benefit:
* Packages declare system users using a uniform syntax.
* Scriptlets are more standardized.
* Admins may easily inspect the system user list and find which packages require users.
* Admins may easily override definitions of system users by providing appropriate `sysusers.d` files with higher priority.
+
[NOTE]
====
Users are still created using old-style `useradd` calls.
====
== Limited scriptlet usage of core packages
In Fedora 32, core packages (packages that are used to build the minimal container image) have had all of their scriptlet calls (`%pre`, `%post`, `%preun`, `%postun`) removed.
This means the entire install process of the container image is now declarative and transparent to packaging tools such as `rpm`, `ostree`, or `composer`, the installation is faster, and keeping this approach in the future will allow for additional optimizations and features.
Packages can still make changes to the system during installation by placing files in specific locations that trigger actions.
== Faster recovery from low-memory situations in Fedora Workstation
The `earlyoom` service is now enabled by default in Fedora Workstation.
The `earlyoom` service monitors system memory usage.
If free memory falls below a set limit, `earlyoom` terminates an appropriate process to free up memory.
As a result, the system does not become unresponsive for long periods of time in low-memory situations.
The following is the default `earlyoom` configuration:
* If both RAM and swap go below 10% free, `earlyoom` sends the `SIGTERM` signal to the process with the largest `oom_score`.
* If both RAM and swap go below 5% free, `earlyoom` sends the `SIGKILL` signal to the process with the largest `oom_score`.
For more information, see the `earlyoom` man page.

View file

@ -12,28 +12,5 @@ This section covers changes in the [application]*Anaconda* installer, including
[[sect-installation-anaconda-general]]
=== General changes
* `/boot` can now be placed on a BTRFS subvolume.
* It is no longer possible to attempt to add more than the maximum allowed number of boot-device NVRAMs on `ppc64le`.
* Anaconda now uses the DBus storage module instead of the local storage object.
This change has been in development for multiple releases, and is now complete.
* Anaconda add-ons now have full DBus support, allowing add-on developers to use their own DBus modules.
See the link:https://github.com/rhinstaller/hello-world-anaconda-addon[add-on example] for more information.
* The Anaconda development team has implemented their own DBus library, `python3-dasbus`.
The library is written in Python, based on GLib, and inspired by `pydbus`.
The repository, including documentation, is available at link:https://github.com/rhinstaller/dasbus[GitHub].
* Comps files can now set specific architectures on which packages can be installed.
* Packages can no longer be downloaded to RAM.
This option has been disabled because it could previously cause out-of-memory issues.
Packages can now only be downloaded to a hard drive, which also means the minimum storage requirements are slightly higher.
* The Network & Hostname screen no longer allows a trailing dot in a host name, which mirrors the behavior of the underlying `systemd-hostnamed` and the kernel.
Previously, attempting to set such a host name crashed the installer.
Note that the actual FQDN specification does technically allow for host names with a trailing dot, but the installer does not.
* Translations have been migrated to the Weblate platform. See the link:https://translate.fedoraproject.org/projects/anaconda/[project page] if you would like to contribute.
[[sect-installation-kickstart]]
=== Kickstart changes
* The `liveimg` command now avoids attempts to download an image twice, which could previously cause the installer to crash due to running out of memory.
* The `%packages` section now supports the `--ignorebroken` option.
Using this option, you can stop DNF from checking packages, groups, or modules with conflicting files.
The default behavior is to abort the installation with an error listing the conflicting files.

View file

@ -3,45 +3,3 @@ include::{partialsdir}/entities.adoc[]
[[networking]]
= Networking
== nftables replaces iptables as the default network packet filtering framework
The `nftables` framework provides packet classification facilities and it is the designated successor to the `iptables`, `ip6tables`, `arptables`, and `ebtables` tools.
It offers numerous improvements in convenience, features, and performance over previous packet-filtering tools, most notably:
* Lookup tables instead of linear processing.
* A single framework for both the IPv4 and IPv6 protocols.
* Rules all applied atomically instead of fetching, updating, and storing a complete ruleset.
* Support for debugging and tracing in the ruleset (`nftrace`) and monitoring trace events (in the `nft` tool).
* More consistent and compact syntax, no protocol-specific extensions.
* A Netlink API for third-party applications.
Similarly to `iptables`, `nftables` use tables for storing chains.
The chains contain individual rules for performing actions.
The `nft` tool replaces all tools from the previous packet-filtering frameworks.
The `libnftables` library can be used for low-level interaction with `nftables` Netlink API over the `libmnl` library.
The `iptables`, `ip6tables`, `ebtables` and `arptables` tools are replaced by nftables-based drop-in replacements with the same name.
While external behavior is identical to their legacy counterparts, internally they use `nftables` with legacy `netfilter` kernel modules through a compatibility interface where required.
Effect of the modules on the `nftables` ruleset can be observed using the `nft list ruleset` command.
Since these tools add tables, chains, and rules to the `nftables` ruleset, be aware that `nftables` rule-set operations, such as the `nft flush ruleset` command, might affect rule sets installed using the formerly separate legacy commands.
To quickly identify which variant of the tool is present, version information has been updated to include the back-end name.
In Fedora 32, the nftables-based `iptables` tool prints the following version string:
[source,bash]
----
$ iptables --version
iptables v1.8.4 (nf_tables)
----
For comparison, the following version information is printed if legacy `iptables` tool is present:
[source,bash]
----
$ iptables --version
iptables v1.8.4 (legacy)
----
For more information, see link:https://fedoraproject.org/wiki/Changes/iptables-nft-default[] and link:https://wiki.nftables.org/wiki-nftables/index.php/Legacy_xtables_tools[].

View file

@ -2,17 +2,3 @@ include::{partialsdir}/entities.adoc[]
[[sect-printing-scanning]]
= Printing
== Added support for driverless printing with Dymo LabelWriter and Zebra ZPL printers
Fedora now ships the `lprint` package, which provides driverless support for Dymo LaberWriter and Zebra ZPL label printers. Other label printer support is currently untested with `lprint`, but it is planned to be implemented if hardware is available.
`lprint` is capable of running with CUPS or without CUPS and it provides its own web UI.
= Scanning
== Added driverless scanning support for devices with WSD and eSCL protocols
Fedora now ships the `sane-airscan` package, which provides driverless support for scanners and multi-functions devices, which supports the WSD (WS-Scan) and eSCL (Apple Airscan) protocols.
Most newer devices (released approximately around 2013 and newer) implement at least one of the protocols, so newer devices don't need to depend on regular SANE backends or third party binaries such as HPLIP plugin.

View file

@ -3,16 +3,3 @@ include::{partialsdir}/entities.adoc[]
[[sect-security]]
= Security
== firewalld now uses nftables as its default backend
With this release, the `nftables` filtering subsystem becomes the default firewall backend for the `firewalld` daemon.
To change the backend, use the `FirewallBackend` option in the `/etc/firewalld/firewalld.conf` file.
This change introduces the following differences in behavior when using `nftables`:
* `iptables` rule executions always occur _before_ `firewalld` rules.
** `DROP` in `iptables` means a packet is never seen by `firewalld`.
** `ACCEPT` in `iptables` means a packet is still subject to `firewalld` rules.
* Direct-rule execution occurs _before_ `firewalld` generic acceptance of established connections.
For more information, see link:https://firewalld.org/2018/07/nftables-backend[] and link:https://fedoraproject.org/wiki/Changes/firewalld_default_to_nftables[].

View file

@ -3,15 +3,3 @@ include::{partialsdir}/entities.adoc[]
[[sect-storage]]
= Storage
== Weekly file system TRIM is now enabled
The `fstrim.timer` unit is now enabled by default for new installations and upgrades. The unit weekly runs the `fstrim` tool, which sends the `TRIM` command to all mounted file systems that are listed in the `/etc/fstab` file.
The `TRIM` command informs physical and virtual storage devices about unused blocks. This has the following effects:
* The hinting can make wear leveling and block erasure more efficient.
* `TRIM` returns free logical extents on LVM thin provisioning to the thin pool.
* `TRIM` prevents the slow downs that might occur in certain flash storage devices.
For details about the `TRIM` command and the `fstrim` tool, see the `fstrim(8)` man page.

View file

@ -2,71 +2,3 @@ include::{partialsdir}/entities.adoc[]
[[sect-system-utilities]]
= System Utilities
:toc:
== Bazaar has been replaced by Breezy
In Fedora 32, the `breezy` package for a version control system obsoletes the `bzr` and `git-remote-bzr` packages related to the Bazaar version control system.
As a result, users who install `bzr` will receive `breezy` instead.
The `bzr` command (Bazaar) will be provided as a symbolic link to the `brz` command (Breezy).
== MariaDB 10.4
Fedora 32 provides the `mariadb` package 10.4, up from version 10.3 in Fedora 31.
Notable changes include:
* The `root` and `mysql` users can log in without a password using the `unix_socket` authentication plugin.
* Possibility to use more than one authentication plugins for each user account.
* Support for user password expiry.
* Implementation of the optimizer trace.
* Performance increase in Unicode collations.
* Various changes in syntax, variables and the InnoDB storage engine.
For full information about this release, see the link:https://mariadb.com/kb/en/changes-improvements-in-mariadb-104/[official MariaDB release notes].
== rdiff-backup 2.0.0
This new release has been made truly ready for the future, with a move to https://github.com/rdiff-backup[GitHub], Python 3 support, automated CI/CD pipeline on https://travis-ci.org/rdiff-backup[Travis], availability on https://pypi.org/project/rdiff-backup[PyPi] and no known regression bugs compared to version 1.2.8/1.3.3.
We even found the time to add a few features for you (details in the https://github.com/rdiff-backup/rdiff-backup/blob/v2.0.0/CHANGELOG[change log]):
* Sparse files handling has become more efficient on file systems which support it.
* More compressed file formats are kept as-is.
* Have a look at the `--no-fsync` option to improve speed of backup (at the slight risk of data loss).
* Reproducible builds are possible.
* Verbosity can be set via environment variable `RDIFF_BACKUP_VERBOSITY`.
On the down side, we have to say that due to the many changes, rdiff-backup 2.x can't communicate with older versions 1.x in client-server mode (*but* the repository formats remain compatible), so you'll need to upgrade client and server at once.
Which brings us to the installation, described in details in the https://github.com/rdiff-backup/rdiff-backup/blob/v2.0.0/README.md[read me], but here's the quick version:
* On Fedora 32, in this distribution.
* On Fedora 30 and 31 available as an update.
* CentOS/RHEL 7 and 8, available as an update in https://fedoraproject.org/wiki/EPEL[EPEL]
* On Ubuntu, you may use https://code.launchpad.net/~rdiff-backup/+archive/ubuntu/rdiff-backup-development[Otto's PPA repo].
* Windows, download the asset `rdiff-backup-2.0.0.win32exe.zip` from https://github.com/rdiff-backup/rdiff-backup/releases/tag/v2.0.0[here] and unpack it somewhere in your `PATH`.
* Any other supported platform, use `pip install rdiff-backup` (or download and install the proper asset from
https://github.com/rdiff-backup/rdiff-backup/releases/tag/v2.0.0[here]).
If you encounter issues, log a ticket in https://bugzilla.redhat.com/[Bugzilla], contact us on the https://lists.nongnu.org/mailman/listinfo/rdiff-backup-user[rdiff-backup-users mailing list]
and/or https://github.com/rdiff-backup/rdiff-backup/issues/new[report an issue].
Happy backup, and remember: _no_ backup, _no_ pity!
== apt package rebased from apt-rpm to Debian's apt
Before Fedora 32, the `apt` package did not use the mainline `apt` software from Debian, but instead the `apr-rpm` fork.
It had the advantage of allowing users to use `apt-get` commands in the terminal and use them to install packages from Fedora's DNF repositories.
This was useful because a lot of tutorials online use `apt-get`.
By switching the Fedora apt package from `apt-rpm` to regular `apt` we move from a dead to a living upstream.
We also close security holes and introduce a critical dependency for more packages from the `DPKG` ecosystem.
It is already possible to build Deb packages in Fedora, including with `pbuilder`, an equivalent for `mock` in the `DPKG` ecosystem, however `pbuilder` uses `debootstrap` to provision a build environment.
While we may lose the ability to `apt-get install` Fedora packages from the command line, we also open the gate for `sbuild`, another mock equivalent to build Debs in a clean environment.
This change offers more options to target Debian and derivative systems without leaving the Fedora comfort zone.

View file

@ -1,8 +0,0 @@
== Deprecated support
=== Deprecated support for Nose
Support for Nose is now deprecated. However for now, the python3-nose package continues to be available in the Fedora repositories.
No specific release it yet targeted to remove the python3-nose package.
Users and packagers of dependent packages are encouraged to switch to python3-pytest or python3-nose2.

View file

@ -1,17 +0,0 @@
== Packaging changes in clang-libs package
The clang-libs package now does not include the individual component libraries like libclangBasic.so, libclangAST.so and so on.
Packages that depend on the clang libraries are now linked to libclang-cpp.so.
As a result of this change,
* There is an improved stability in Fedora and application start-up time.
* End-users who develop applications using clang libraries must update their applications to use libclang-cpp.so instead of the individual component libraries.
However, the end-users using Fedora packages that depend on clang libraries do not have any impact of this change.
== Added support for AArch64 and ppc64le packages with extended availability of FPC-dependent packages
An updated version (3.2.0) of Free Pascal Compiler is now available with Fedora 32.
With the updated Free Pascal Compiler you can now build the AArch64 and ppc64le packages.
Also, the Free Pascal Compiler now supports new architectures. As a result, the programs that are compiled using FPC are available to run on more architectures that Fedora supports.