From 09e835e03a6f289b7fea71d6ac63a07e0b126035 Mon Sep 17 00:00:00 2001 From: Petr Bokoc Date: Apr 13 2020 18:49:28 +0000 Subject: Merge branch 'pr479' into f32 --- diff --git a/modules/release-notes/nav.adoc b/modules/release-notes/nav.adoc index 2040688..f2ae2c9 100644 --- a/modules/release-notes/nav.adoc +++ b/modules/release-notes/nav.adoc @@ -13,6 +13,7 @@ include::{partialsdir}/entities.adoc[] *** xref:sysadmin/Security.adoc[Security] *** xref:sysadmin/Automation.adoc[Automation] *** xref:sysadmin/Virtualization.adoc[Virtualization] +*** xref:sysadmin/Storage.adoc[Storage] *** xref:sysadmin/Mail_Servers.adoc[Mail Servers] *** xref:sysadmin/Xorg.adoc[X.Org] *** xref:sysadmin/System_Utilities.adoc[System Utilities] diff --git a/modules/release-notes/pages/desktop/Desktop.adoc b/modules/release-notes/pages/desktop/Desktop.adoc index bd3e580..4fab8d7 100644 --- a/modules/release-notes/pages/desktop/Desktop.adoc +++ b/modules/release-notes/pages/desktop/Desktop.adoc @@ -12,6 +12,23 @@ The following release criteria changes are now present in Fedora 32: * 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. +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. diff --git a/modules/release-notes/pages/developers/Development_Haskell.adoc b/modules/release-notes/pages/developers/Development_Haskell.adoc index 7a2af12..e975cae 100644 --- a/modules/release-notes/pages/developers/Development_Haskell.adoc +++ b/modules/release-notes/pages/developers/Development_Haskell.adoc @@ -3,3 +3,12 @@ include::{partialsdir}/entities.adoc[] [[sect-haskell]] = Haskell + +== The Haskell platform has been updated + +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[]. + diff --git a/modules/release-notes/pages/developers/Development_Python.adoc b/modules/release-notes/pages/developers/Development_Python.adoc index 9a2ac8c..123a655 100644 --- a/modules/release-notes/pages/developers/Development_Python.adoc +++ b/modules/release-notes/pages/developers/Development_Python.adoc @@ -3,3 +3,25 @@ include::{partialsdir}/entities.adoc[] [[sect-python]] = Python + +== 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 note provide the `/usr/bin/python` binary. + +// TODO: I don't quite understand this point. Rephrase? +// * Any special backwards compatible Provides are removed (this package is not intended to be depended upon) + diff --git a/modules/release-notes/pages/developers/Development_Ruby.adoc b/modules/release-notes/pages/developers/Development_Ruby.adoc index c496224..7315762 100644 --- a/modules/release-notes/pages/developers/Development_Ruby.adoc +++ b/modules/release-notes/pages/developers/Development_Ruby.adoc @@ -1,22 +1,24 @@ include::{partialsdir}/entities.adoc[] [[sect-ruby]] -= Ruby 2.7 += Ruby + +== 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: +=== Changes since Ruby 2.6: Ruby 2.7 comes with several new features and performance improvements. -=== New features: +==== New features: * <> * <> * <> * <> -=== Performance improvements: +==== Performance improvements: * JIT [Experimental] * Fiber’s cache strategy is changed and fiber creation is speeded up. @@ -26,7 +28,7 @@ Ruby 2.7 comes with several new features and performance improvements. * `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: +==== Other notable changes: * Some standard libraries are updated. @@ -79,11 +81,11 @@ Ruby 2.7 comes with several new features and performance improvements. * Require compilers to support C99. -== Detailed changes: +=== Detailed changes: [[Pattern]] -=== Pattern Matching [Experimental] +==== Pattern Matching [Experimental] @@ -109,14 +111,14 @@ end [[REPL]] -=== REPL improvement +==== 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 +==== Compaction GC This release introduces Compaction GC which can defragment a fragmented memory space. @@ -128,17 +130,17 @@ The `GC.compact` method is introduced for compacting the heap. This function com [[Separation]] -=== Separation of positional and keyword arguments +==== 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: +===== 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 @@ -148,7 +150,7 @@ Automatic conversion of keyword arguments and positional arguments is deprecated ---- * 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 @@ -158,7 +160,7 @@ Automatic conversion of keyword arguments and positional arguments is deprecated ---- * 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 @@ -167,21 +169,21 @@ Automatic conversion of keyword arguments and positional arguments is deprecated ---- * 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 @@ -192,7 +194,7 @@ Automatic conversion of keyword arguments and positional arguments is deprecated ---- * 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) # [] @@ -205,6 +207,17 @@ If you want to disable the deprecation warnings, please use a command-line argum 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 has been updated to version 4 + +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/[]. + diff --git a/modules/release-notes/pages/developers/Development_Web.adoc b/modules/release-notes/pages/developers/Development_Web.adoc index 1c2e32d..945610f 100644 --- a/modules/release-notes/pages/developers/Development_Web.adoc +++ b/modules/release-notes/pages/developers/Development_Web.adoc @@ -7,17 +7,17 @@ include::{partialsdir}/entities.adoc[] == 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. diff --git a/modules/release-notes/pages/sysadmin/Distribution.adoc b/modules/release-notes/pages/sysadmin/Distribution.adoc index c3170e1..daff84c 100644 --- a/modules/release-notes/pages/sysadmin/Distribution.adoc +++ b/modules/release-notes/pages/sysadmin/Distribution.adoc @@ -14,9 +14,9 @@ This change aims to provide more reliable, predictable, and consistent fonts ins 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 drivers and errors that installation using this media entails. diff --git a/modules/release-notes/pages/sysadmin/Kernel.adoc b/modules/release-notes/pages/sysadmin/Kernel.adoc index a5f7301..95a9d48 100644 --- a/modules/release-notes/pages/sysadmin/Kernel.adoc +++ b/modules/release-notes/pages/sysadmin/Kernel.adoc @@ -3,3 +3,19 @@ include::{partialsdir}/entities.adoc[] [[sect-kernel]] = Kernel + +== Quicker recovery from low-memory situations in Fedora Workstation + +// TODO: Revisit the section placement. This RN isn't really about the kernel -- the change was made in user space, not kernel space. However, it is sufficiently low-level, affecting memory management. + +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: + +1. If both RAM and swap go below 10% free, `earlyoom` sends the `SIGTERM` signal to the process with the largest `oom_score`. +2. 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. + diff --git a/modules/release-notes/pages/sysadmin/Storage.adoc b/modules/release-notes/pages/sysadmin/Storage.adoc new file mode 100644 index 0000000..72d0d25 --- /dev/null +++ b/modules/release-notes/pages/sysadmin/Storage.adoc @@ -0,0 +1,18 @@ + +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` man page. + diff --git a/modules/release-notes/pages/sysadmin/System_Utilities.adoc b/modules/release-notes/pages/sysadmin/System_Utilities.adoc index 4e3ac11..96ae101 100644 --- a/modules/release-notes/pages/sysadmin/System_Utilities.adoc +++ b/modules/release-notes/pages/sysadmin/System_Utilities.adoc @@ -12,17 +12,17 @@ In Fedora 32, the `breezy` package for a version control system obsoletes the `b 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].