Product SiteDocumentation Site

Fedora 21

Release Notes

Release Notes for Fedora 21


Edited by

The Fedora Docs Team

Legal Notice

Copyright © 2014 Fedora Project Contributors.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at The original authors of this document, and Red Hat, designate the Fedora Project as the "Attribution Party" for purposes of CC-BY-SA. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, MetaMatrix, Fedora, the Infinity Logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
For guidelines on the permitted uses of the Fedora trademarks, refer to
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
All other trademarks are the property of their respective owners.
This document provides the release notes for Fedora 21. It describes major changes offered as compared to Fedora 20. For a detailed listing of all changes, refer to the Fedora Technical Notes.

1. Welcome to Fedora 21
1.1. Welcome to Fedora
1.2. Overview
1.3. Hardware Overview
1.4. Feedback
2. Fedora Products
2.1. Fedora Cloud
2.2. Fedora Server
2.3. Fedora Workstation
2.4. Fedora Spins
2.5. Fedora ARM
3. Changes in Fedora for System Administrators
3.1. Kernel
3.2. Installation
3.3. Security
3.4. File Systems
3.5. Database Servers
3.6. Samba
3.7. Systemd
3.8. Server Configuration Tools
3.9. Monitoring and Management Solutions
3.10. Cluster
4. Changes in Fedora for Desktop Users
4.1. Desktop
4.2. Networking
4.3. Internationalization
4.4. Multimedia
4.5. Printing
5. Changes in Fedora for Developers
5.1. Development
5.2. Development Tools
5.3. GCC Tools
5.4. Java
5.5. Web Development
A. Contributors
A.1. Writers
B. Revision History

1. Welcome to Fedora 21

1.1. Welcome to Fedora

You can help the Fedora Project community continue to improve Fedora if you file bug reports and enhancement requests. Refer to Bugs And Feature Requests, on the Fedora wiki, for more information about bug and feature reporting. Thank you for your participation.
To find out more general information about Fedora, refer to the following pages, on the Fedora wiki (

1.1.1. Need Help?

There are a number of places you can get assistance should you run into problems.
If you run into a problem and would like some assistance, go to Many answers are already there, but if you don't find yours, you can simply post a new question. This has the advantage that anyone else with the same problem can find the answer, too.
You may also find assistance on the #fedora channel on the IRC net Keep in mind that the channel is populated by volunteers wanting to help, but folks knowledgeable about a specific topic might not always be available.

1.2. Overview

As always, Fedora continues to develop (Red Hat contributions) and integrate the latest free and open source software. The following sections provide a brief overview of major changes from the last release of Fedora.
For more details about the features that are included in Fedora 21 refer to the individual wiki pages that detail feature goals and progress:

1.3. Hardware Overview

Fedora 21 provides software to suit a wide variety of applications. The storage, memory and processing requirements vary depending on usage. For example, a high traffic database server requires much more memory and storage than a business desktop, which in turn has higher requirements than a single-purpose virtual machine.

PPC 32bit discontinued

Support for 32 bit PowerPC systems has been fully discontinued with Fedora 21.

1.3.1. Minimum System Configuration

The figures below are a recommended minimum for the default installation. Your requirements may differ, and most applications will benefit from more than the minimum resources.
1GHz or faster processor
1GB System Memory
10GB unallocated drive space

Low memory installations

Fedora 21 can be installed and used on systems with limited resources for some applications. Text, vnc, or kickstart installations are advised over graphical installation for systems with very low memory. Larger package sets require more memory during installation, so users with less than 768MB of system memory may have better results preforming a minimal install and adding to it afterward.

1.3.2. Display resolution

Graphical Installation requires 800x600 resolution or higher

Graphical installation of Fedora 21 requires a minimum screen resolution of 800x600. Owners of devices with lower resolution, such as some netbooks, should use text or VNC installation.
Once installed, Fedora will support these lower resolution devices. The minimum resolution requirement applies only to graphical installation.

1.3.3. Graphics Hardware Minimum Hardware for Accelerated Desktops
Fedora 21 supports most display adapters. Modern, feature-rich desktop environments like GNOME3 and KDE Plasma Workspaces use video devices to provide 3D-accelerated desktops. Older graphics hardware may not support acceleration:
Intel prior to GMA9xx
NVIDIA prior to NV30 (GeForce FX5xxx series)
Radeon prior to R300 (Radeon 9500) CPU Accelerated Graphics
Systems with older or no graphics acceleration devices can have accelerated desktop environments using LLVMpipe technology, which uses the CPU to render graphics. LLVMpipe requires a processor with SSE2 extensions. The extensions supported by your processor are listed in the flags: section of /proc/cpuinfo Choosing a Desktop Environment for your hardware
Fedora 21 Workstation's default desktop environment, GNOME3, functions best with hardware acceleration. Alternative desktops, such as those featured in Section 2.4, “Fedora Spins”, are recommended for users with older graphics hardware or those seeing insufficient performance with LLVMpipe.
Desktop environments can also be added to an existing installation and selected at login. To list the available desktops, use the yum grouplist command:
        yum grouplist -v hidden | grep desktop
Install the desired group:
        yum groupinstall "KDE Plasma Workspaces"
Or, use the short group name to install:
        yum install @mate-desktop-environment

1.4. Feedback

Thank you for taking the time to provide your comments, suggestions, and bug reports to the Fedora community; this helps improve the state of Fedora, Linux, and free software worldwide.
To provide feedback on Fedora software or other system elements, please refer to Bugs And Feature Requests. A list of commonly reported bugs and known issues for this release is available from Common F21 bugs, on the wiki.
To provide feedback on the Release Notes, use

2. Fedora Products

For more than ten years, the Fedora Project has provided a distribution at the leading edge of the open source ecosystem. Fedora's releases have offered the latest technologies, integrating new and exciting upstream developments into a vast and diverse set of packages.
Users have built powerful desktops, reliable servers, and more recently, versatile cloud instances from the high quality packages in the Fedora repository. Fedora's strong commitment to upstream integrity gives developers a place to showcase their work, and benefit from Fedora's active testing and development volunteers.
In those ten years, much has changed. The initiative represents a considered strategy for maintaining the quality of the distribution and Fedora's position in introducing new technologies, while also providing a more consistent target for developers.
The result of this initiative is three distinct Fedora flagship flavors. Fedora Cloud for scalable infrastructure, Fedora Server for organizational infrastructure, and Fedora Workstation for the developer and desktop user.
Fedora Spins, such as live media featuring alternative desktop environments, will continue to be produced.
Fedora also offers images and support for an ever-increasing number of ARM devices, both large and small.

fedora-release Packages

The named Fedora flavors are identified in part by a set of packages with configuration details and dependencies specific to that flavor. For example, the presence of fedora-release-server identifies a system as Fedora Server, and ensures that core features like Cockpit are present.
Update or installation operations may involve the fedora-release packages, sometimes inadvertently due to the way dependencies are resolved. Environment groups are most susceptible to related conflicts, such as installing extra desktops on Fedora Workstation.
If you encounter package conflicts, add --exclude fedora-release\* to your yum or dnf command. The F21 Common Bugs page describes this in detail.

The netinstall and DVD ISOs

The Fedora netinstall ISO, an installation image that allows you to select and download packages at install time, is now available as the Fedora Server netinstall.
The DVD installation image is not produced for Fedora 21.

2.1. Fedora Cloud

Fedora Cloud is the base building block of the Fedora flavors, ready to be deployed on the fly to meet your changing needs. These small images are backed by the vast set of applications and utilities available in the Fedora package repositories.
Cloud images are available in two varieties:
Just the basics, this image is ready to be customized for your needs.
Cutting edge Project Atomic tools make this image the ideal host for Docker containers.

2.1.1. Smaller Cloud images

Fedora maintainers have worked to reduce dependencies and streamline packaging to produce effective Cloud images that are 10% smaller than the previous release. Base qcow2 images are under 200MB, so your Fedora Cloud deployments will use minimal storage resources.
The reduced size is made possible by these notable changes:
  • Fedora packages traditionally include upstream-provided documentation for user or administrator reference, as well as license text. Starting with Fedora 21, Fedora package maintainers have begun using a special location for license files, allowing Cloud images to be built with the license while avoiding the extra space consumed by unneeded documentation.
    Packages which are included in the official Fedora Docker image, and more, now use a special location for license files, /usr/share/licenses/.
  • Kernel packages are smaller due to improved packaging, as described in kernel-packaging

2.1.2. Converting Cloud instances to Fedora Server

Fedora Cloud excels for meeting organizational needs at scale with largely undifferentiated compute resources, but in some cases, an administrator might want to adopt their cattle by converting a cloud instance to an individually managed Fedora Server installation.
To convert Fedora Cloud to Fedora Server, use the script provided in the cloudtoserver package.

2.2. Fedora Server

2.2.1. Fedora Server Roles

A Featured Server role is an installable component of Fedora Server that provides a well-integrated service on top of the Fedora Server platform. These prepared roles simplify deployment and management of a service compared to setting up an upstream server from scratch; their use is recommended but optional; existing users of upstream servers based on Fedora RPMs will not be impeded.
For kickstart installations, you can use the Fedora Server environment group to deploy Server. Framework for Server Role Deployment
A new D-Bus service is available, exposing available server roles, and making it possible to deploy, configure and manage them. Appropriate functionality will also be exposed as a command-line utility. Domain Controller Server Role
Fedora Server can deploy a domain controller powered by FreeIPA. The role greatly simplifies configuration of a primary domain controller.
When combined with SSSD, complex tasks such as single-sign-on and authenticated access to network resources is easily accomplished.

2.2.2. Cockpit Management Console

The Cockpit Management Console (the cockpit package) is now available by default in Fedora Documentation Server. This tool provides a powerful, easy to use, web-based graphical interface for managing multiple Linux servers. Features include:
  • systemd service management
  • Journal log viewer
  • Storage configuration including LVM
  • Docker container management
  • Basic network configuration
  • Adding and removing local users
Any user known to the server can log in to the Cockpit console by opening http://server-ip-address:9090.

2.3. Fedora Workstation

The Fedora Workstation product provides an easy to use, powerful environment for developers to both work and play. Desktop users can enjoy the familiar GNOME Desktop Environment, with support for devices and applications used every day. Developers will appreciate how Workstation is configured for their needs, and provides useful tools like DevAssistant.
For kickstart installations, you can use the Fedora Workstation environment group to deploy Workstation.

2.3.1. GNOME powered

Fedora Workstation developers have provided many enhancements to streamline and improve the GNOME Desktop Environment. Read more about changes to GNOME in Fedora 21 in Section 4.1.1, “GNOME 3.14”

2.3.2. Captive Portal Detection

Fedora Workstation, by default, enables a captive portal detection that requests known content from a trusted Fedora server. If the request is redirected, a window automatically appears for you to interact with the portal's login webpage.
To disable this feature, remove /etc/NetworkManager/conf.d/20-connectivity-fedora.conf

2.3.3. Developer oriented firewall

Developers often run test servers that run on high numbered ports, and interconnectivity with many modern consumer devices also requires these ports. The firewall in Fedora Workstation, firewalld, is configured to allow these things.
Ports numbered under 1024, with the exceptions of sshd and clients for samba and DHCPv6, are blocked to prevent access to system services. Ports above 1024, used for user-initiated applications, are open by default.
Refer to for details on customizing the firewall configuration, or install the firewall-config package for a graphical tool.

2.4. Fedora Spins

The Fedora Project also produces a number of Spins that provide alternative desktop environments, or package sets crafted for specific use cases. Spins are live images that you can use to preview a variety of software that Fedora has to offer.
Spins available for download from have included:
  • KDE
    A complete, modern desktop built using the KDE Plasma Desktop.
  • Security
    Security analysis tools.
  • Electronic-Lab
    Fedora's high-end hardware design and simulation platform.
  • Scientific-KDE
    Open Source Scientific Computing.
  • Design-suite
    Open Creativity.
  • Games
    A perfect show-case of the best games available in Fedora.
  • Robotics
    Dive into Robotics.
  • Jam-KDE
    Unleash your inner musician.

2.5. Fedora ARM

2.5.1. Virtualizing AArch64

The qemu project has been working to enable full AArch64 system emulation, provided by the qemu-system-aarch64package.
AArch64 VMs can now be run on x86 hosts using standard libvirt tools like virsh, virt-manager, and virt-install.

2.5.2. Allwinner sunxi (A10 / A13 / A20) ARM SoC Support

Allwinner sunxi is a family of ARM system on a chip (SoC) devices. The sunxi A10, A13 and A20 SoCs are used in a number of popular, low cost ARM development boards and ARM mini computers. Previously, Fedora ARM has been supported on these devices through a Remix. With the release of F21, these sunxi SoCs are now supported directly in the official Fedora ARM images, without the need for a Remix.

Serial console only

HDMI video output from these sunxi devices is not yet supported in Fedora ARM. A serial console should be used instead.

3. Changes in Fedora for System Administrators

3.1. Kernel

Fedora 21 features the 3.17.4 kernel.

3.1.1. Modular Kernel Packaging

The kernel package is now a meta package that pulls in kernel-core and kernel-modules. The kernel-core package is smaller than a full package and is well-suited for virtualized environments. By optionally uninstalling kernel-modules, cloud image size can be reduced.
The kernel-modules package should be included when Fedora is installed on real hardware.

Initramfs Changes

Please note, that a new initramfs is only automatically generated by the kernel-core package but not the kernel-modules package. If you only installed kernel-core at first and install kernel-modules at a later point in time, you need to create a new initramfs manually using dracut, if any of the newly installed modules has become critical for your system's boot up.
The dracut utility is used to create the initramfs on Fedora. To regenerate an initramfs for all installed kernels, use the following command:
        # dracut --regenerate-all

3.2. Installation

3.2.1. Built-in Help in the Graphical Installer

Each screen in the installer's graphical interface and in the Initial Setup utility now has a Help button in the top right corner. Clicking this button opens the section of the Fedora Installation Guide relevant to the current screen using the Yelp help browser.
The help is only available in the English language.

3.2.2. zRAM Swap Support

The Anaconda installer now supports swap on zRAM during the installation.
zRAM is a standard block device with compressed contents. Placing swap into such a device during the installation allows the installer to store more data in RAM instead of in the hard drive. This is especially helpful on low-memory systems; on these systems, the installation can be performed much faster with this feature enabled.
This feature is automatically enabled if Anaconda detects 2 GB or less memory, and disabled on systems with more memory. To force zRAM swap on or off, use the inst.zram=on or inst.zram=off boot option within the boot menu.
Specific limits, numbers and way of implementation may be changed in the future.

3.2.3. Changes in Boot Options

A boot option is used to modify the installer's behavior using the boot command line. The following boot options have been added in Fedora 21:
  • inst.zram=: Use this option to force zRAM swap on (inst.zram=on) or off (inst.zram=off).
  • inst.dnf: Use the experimental DNF backend for package installation instead of YUM.
  • inst.memcheck: Perform a check at the beginning of the installation to determine if there is enough available RAM. If there is not enough memory detected, the installation will stop with an error message. This option is enabled by default; use inst.memcheck=0 to disable it.

3.2.4. Changes in Anaconda Command Line Options

Anaconda command line options are used when running the installer from a terminal within an already installed system, as for example, when installing into a disk image.
  • The built-in help available through the anaconda -h command now provides descriptions for all available commands.
  • --memcheck: Check if the system has sufficient RAM to complete the installation and abort the installation if it does not. This check is approximate. Memory usage during installation depends on the package selection, user interface (graphical/text) and other parameters.
  • --nomemcheck: Do not check if the system has enough memory to complete the installation.
  • --leavebootorder: Boot drives in their existing order - used to override the default of booting into the newly installed drive on IBM Power Systems servers and EFI systems. This is useful for systems that, for example, should network boot first before falling back to a local boot.
  • --extlinux: Use extlinux as the boot loader. Note that there is no attempt to check whether this will work for your platform, which means your system may be unable to boot after completing the installation if you use this option.
  • --dnf: Use the experimental DNF package management backend to replace the default YUM package manager. See for more information about the DNF project.

3.2.5. Changes in Kickstart Syntax

This section provides a list of changes to Kickstart commands and options. A list of these changes can also be viewed using the following command on a Fedora system:
$ksverdiff -f F20 -t F21
This command will only work on Fedora 21 with the pykickstart package installed. New Commands and Options
  • fcoe --autovlan: Enable automatic discovery of VLANs.
  • bootloader --disabled: Do not attempt to install a boot loader. This option overrides all other boot loader configuration; all other boot loader options will be ignored and no boot loader packages will be installed.
  • network --interfacename=: Specify a custom interface name for a VLAN device. This option should be used when the default name generated by the --vlanid= option is not desired, and it must always be used together with --vlanid=.
  • ostreesetup: New optional command. Used for OSTree installations. Available options are:
    • --osname= (required): Management root for OS installation.
    • --remote= (optional): Name of the remote repository.
    • --url= (required): Repository URL.
    • --ref= (required): Name of branch inside the repository.
    • --nogpgcheck (optional): Disable GPG key verification.
    See for more information about OSTree.
  • clearpart --disklabel=: Create a custom disk label when relabeling disks.
  • autopart --fstype=: Specify a file system type (such as ext4 or xfs) to replace the default when doing automatic partitioning.
  • repo --install: Writes the repository information into the /etc/yum.repos.d/ directory. This makes the repository configured in Kickstart available on the installed system as well.
  • Changes in the %packages section:
    • You can now specify an environment to be installed in the %packages section by adding an environment name prefixed by @^. For example:
      @^Infrastructure Server
    • The %packages --nocore option can now be used to disable installing of the Core package group.
    • You can now exclude the kernel from installing. This is done the same way as excluding any other package - by prefixing the package name with -:
      %end Changes in Existing Commands and Options
  • volgroup --pesize=: This option now does not have a default value in Kickstart. The default size of a new volume group's physical extents is now determined by the installer during both manual and Kickstart installation. This means that the behavior of Kickstart and manual installations is now the same. The previous default value for Kickstart installations was 32768.

3.2.6. Additional Changes

  • Software RAID configuration in the graphical user interface has been tweaked.
  • You can now use the + and - keys as shortcuts in the manual partitioning screen in the graphical user interface.
  • The ksverdiff utility (part of the pykickstart package) has a new option: --listversions. Use this option to list all available operating system versions which can be used as arguments for the --from= and --to= options.

3.3. Security

3.3.1. SSSD GPO-Based Access Control

SSSD now supports centrally managed, host-based access control in an Active Directory (AD) environment, using Group Policy Objects (GPOs).
GPO policy settings are commonly used to manage host-based access control in an AD environment. SSSD supports local logons, remote logons, service logons and more. Each of these standard GPO security options can be mapped to any PAM service, allowing administrators to comprehensively configure their systems.
This enhancement to SSSD is related only to the retrieval and enforcement of AD policy settings. Administrators can continue to use the existing AD tool set to specify policy settings.
The new functionality only affects SSSD's AD provider and has no effect on any other SSSD providers (e.g. IPA provider). By default, SSSD's AD provider will be installed in "permissive" mode, so that it won't break upgrades. Administrators will need to set "enforcing" mode manually (see sssd-ad(5)).
More information about this change can be found at:

3.3.2. MD5 signed certificates are rejected

OpenSSL was patched to disallow verification of certificates that are signed with MD5 algorithm. The use of MD5 hash algorithm for certificate signatures is now considered as insecure and thus all the main crypto libraries in Fedora were patched to reject such certificates.
Certificates signed with MD5 algorithm are not present on public https web sites anymore but they may still be in use on private networks or used for authentication on openvpn based VPNs. It is highly recommended to replace such certificates with new ones signed with SHA256 or at least SHA1. As a temporary measure the OPENSSL_ENABLE_MD5_VERIFY environment variable can be set to allow verification of certificates signed with MD5 algorithm.

3.4. File Systems

3.4.1. Autofs learns amd maps

The autofs package has gained support for amd format automount maps. In the past, amd maps have been handled by the am-utils package, which has seen declining upstream development. Those that use amd format automount maps are encouraged to test the autofs functionality, and report any issues or feature requests at
For usage information, refer to /usr/share/doc/autofs/README.amd-maps.

3.5. Database Servers

3.5.1. Apache Accumulo

The Apache Accumulo sorted, distributed key/value store is a robust, scalable, high performance data storage and retrieval system. Apache Accumulo is based on Google's BigTable design and is built on top of Apache Hadoop, Zookeeper, and Thrift. Apache Accumulo features a few novel improvements on the BigTable design in the form of cell-based access control and a server-side programming mechanism that can modify key/value pairs at various points in the data management process.
Please note that Accumulo's optional monitor service is not provided in the initial F21 release. It will be made available as soon as all its dependencies are in place.
For more information see

3.5.2. Apache HBase

Apache HBase is used when you need random, real-time read/write access to your Big Data. Apache HBase hosts very large tables -- billions of rows X millions of columns -- atop clusters of commodity hardware. Apache HBase is a distributed, versioned, non-relational database modeled after Google's Bigtable: A Distributed Storage System for Structured Data by Chang et al. Just as Bigtable leverages the distributed data storage provided by the Google File System, Apache HBase provides Bigtable-like capabilities on top of Hadoop and HDFS.
For more information see

3.5.3. Apache Hive

The Apache Hive data warehouse software facilitates querying and managing large data sets residing in distributed storage. Hive provides a mechanism to project structure onto this data and query the data using a SQL-like language called HiveQL. At the same time this language also allows traditional map/reduce programmers to plug in their custom mappers and reducers when it is inconvenient or inefficient to express this logic in HiveQL.
For more information see

3.5.4. MariaDB 10.0

In Fedora 21, MariaDB have been updated to the upstream version 10.0, which provides various bug fixes and enhancements. Among others, the support for parallel and multi-source replication has been added as well as the support for global transaction IDs. In addition, several new storage engines have been implemented.
For the list of all changes, visit the MariaDB Knowledge Base at

3.6. Samba

3.7. Systemd

3.7.1. Journald

  • Journal messages can be forwarded to remote systems, without using a syslog daemon. The systemd-journal-remote and systemd-journal-upload packages provide receiver and sender daemons. Communication is done over HTTPS.
  • The cupsd service now logs output into the journal. See Section 4.5.1, “CUPS Journal Logging” for details.

3.7.2. systemd 215

systemd in Fedora 21 has been updated to version 215. This release includes substantial enhancements, including improved resource management, service isolation and other security improvements, and network management from systemd-networkd.
Many of these improvements enhance management of services running inside containers, and management of the containers themselves. systemd-nspawn creates securely isolated containers, and tools such as machinectl are available to manage them. systemd-networkd provides network services for the containers, and systemd itself manages resource allocations.
To learn more about enhancements to systemd, read:

3.7.3. Systemd PrivateDevices and PrivateNetwork

Two new security-related options are now being used by systemd for long-running services which do not require access to physical devices or the network:
  • The PrivateDevices setting, when set to "yes", provides a private, minimal /dev that does not include physical devices. This allows long-running services to have limited access, increasing security.
  • The PrivateNetwork setting, when set to "yes", provides a private network with only a loopback interface. This allows long-running services that do not require network access to be cut off from the network.
For details about this change, see the PrivateDevices and PrivateNetwork Wiki page.

3.8. Server Configuration Tools

3.8.1. Cockpit Management Console

The Cockpit Management Console is now available in Fedora Documentation Server. See Section 2.2.2, “Cockpit Management Console” for more information.

3.9. Monitoring and Management Solutions

3.9.1. Monitorix

The lightweight Monitorix system monitoring tool has been updated to version 3.6, adding improved support for many things, including libvirt, apcupsd, process statistics, and more.
Review the project's changelog at

3.9.2. SystemTap

Version 2.6 of systemtap data collection suite in Fedora 21 has many new features, described in /usr/share/doc/systemtap-runtime/NEWS. Documentation for systemtap can be found at

3.9.3. Zabbix

The Zabbix network and infrastructure monitoring utility has been updated to version 2.2.x in Fedora 21. With each release, the Zabbix team improves and expands this powerful tool.
For a complete overview of changes in Zabbix, visit

3.10. Cluster

3.10.1. Apache Ambari

The Apache Ambari project is aimed at making Hadoop management simpler by developing software for provisioning, managing, and monitoring Apache Hadoop clusters. Ambari provides an intuitive, easy-to-use Hadoop management web UI backed by its RESTful APIs.
For more information see

3.10.2. Apache Mesos

Apache Mesos is a cluster manager that provides efficient resource isolation and sharing across distributed applications, or frameworks. It abstracts CPU, memory, storage, and other compute resources away from machines (physical or virtual), enabling fault-tolerant and elastic distributed systems to easily be built and run effectively. Apache Mesos is built using the same principles as the Linux kernel, only at a different level of abstraction. The Mesos kernel runs on every machine and provides applications (e.g., Hadoop, Spark, Kafka, Elastic Search) with APIs for resource management and scheduling across entire data center and cloud environments.
For more information see

3.10.3. Apache Oozie

Apache Oozie is a workflow scheduler to manage Hadoop jobs. It is integrated with the rest of the Hadoop stack and supports several types of Hadoop jobs out of the box (such as Java map-reduce, Streaming map-reduce, Pig, Hive, Sqoop and Distcp) as well as system specific jobs (such as Java programs and shell scripts).
For more information see

3.10.4. Apache Pig

Apache Pig is a platform for analyzing large data sets that consists of a high-level language for expressing data analysis programs, coupled with infrastructure for evaluating these programs. The salient property of Pig programs is that their structure is amenable to substantial parallelization, which, in turn, enables them to handle very large data sets. At the present time, Pig's infrastructure layer consists of a compiler that produces sequences of Map-Reduce programs, for which large-scale parallel implementations already exist (e.g., the Hadoop sub-project).
For more information see:

3.10.5. Apache Spark

Apache Spark is a fast and general engine for large-scale data processing. It supports developing custom analytic processing applications over large data sets or streaming data. Because it has the capability to cache intermediate results in cluster memory and schedule DAGs of computations, Spark programs can run up to 100x faster than equivalent Hadoop MapReduce jobs. Spark applications are easy to develop, parallel, fast, and resilient to failure, and they can operate on data from in-memory collections, local files, a Hadoop-compatible filesystem, or from a variety of streaming sources. Spark also includes libraries for distributed machine learning and graph algorithms.
For more information see:

4. Changes in Fedora for Desktop Users

4.1. Desktop

4.1.1. GNOME 3.14

GNOME has been updated to the latest upstream release 3.14. This release comes with a number of feature improvements, some of which are listed below.
  • The GNOME Weather app has been redesigned for 3.14. It is now integrated with a new geolocation framework so that you don't have to manually specify your current geographical location.
  • The Evince app has been redesigned for 3.14.
  • GNOME 3.14 features improved support for Wi-Fi hotspots.
  • The Photos app now comes with support for Google services and media servers.
  • When running GNOME on touchscreen devices, you can now use multitouch gestures.
  • Desktop privacy settings have been improved for WebDAV, DLNA, and VNC services.
  • GTK+ in GNOME 3.14 includes a new interactive inspector.
  • Wayland support has been improved in 3.14.
  • The 3.14 release includes new and updated Human Interface Guidelines (HIG).
  • gnome-terminal has been improved in 3.14. Developers and administrators alike use a lot of terminal sessions. A new search provider for GNOME Shell makes navigating between multiple terminal windows quick and easy. Just type into the overview to match running processes, ssh sessions, and more.
    Users configuring their own profiles for gnome-terminal will welcome the return of background transparency.
For more information about the release, go read the GNOME 3.14 Release Notes at

4.1.2. Other Changes in GNOME since Fedora 20

Some of the changes in the GNOME Desktop since Fedora 20 were included in the previous upstream release 3.12, which has not been officially made available to Fedora users. The 3.12 release contained, among others, the following changes:
  • The release improved support for HiDPI across the GNOME Desktop components.
  • The Totem video player was renamed to Videos.
  • The Gedit text editor was redesigned to feature a more compact interface.
  • The release also included new applications, such as:
    • GNOME Logs: A systemd journal viewer.
    • GNOME Sound Recorder: A simple utility for audio recordings.
    • Polari: An IRC client.
Other feature improvements included support for Google Cloud Print, Windows Live email, and a new terminal search provider for GNOME Shell.
For more information about the 3.12 release, go read the GNOME 3.12 Release Notes at

4.1.3. KDE 4.14 and SDDM

The KDE Software Compilation 4.14 (including the KDE Plasma Workspaces 4.11), which is the version included in Fedora 21, has already been made available to users of Fedora 20 through the Updates repository. However, the KDE spin of Fedora now uses SDDM as its new default display manager. KDM, which was the default display manager on Fedora 20 and earlier, is still available for installation from the Fedora repositories.
To return to using KDM, install the kdm package using the following command:
~]# yum install kdm
Then enable the service using the following command:
~]# systemctl enable --force kdm.service

4.1.4. MATE 1.8

The MATE desktop environment in Fedora has been updated to version 1.8. The updated version brings a number of visual and functional changes, such as new applets and extensions and support for UPower 1.0. The default sound mixer has been switched from GStreamer to PulseAudio. MATE now also uses the Yelp help browser, which fixes issues with broken links in help pages.
Many packages which are part of MATE were either renamed or replaced.
A full list of changes is available on the MATE 1.8 wiki page and the release announcement.
To start using MATE on an already installed system, use the yum groupinstall "MATE Desktop" command as root, then log out and change your environment in the login menu. Alternatively, you can select MATE as your desktop environment if you are performing a new installation of Fedora Documentation 21 and use the network installation ISO image.

4.2. Networking

4.3. Internationalization

4.3.1. Input Methods

ibus-libzhuyin is a new Zhuyin input method available as a preview for Traditional Chinese input. Try out the New Zhuyin IME that promises faster input of Traditional Chinese characters.
ibus has two new subcommands:
read-config shows the current settings values.
reset-config resets the user ibus configuration settings to the default ones (for troubleshooting, etc) but not ibus engines configurations. It can be used for cleaning up the ibus settings for troubleshooting, or after switching language, to load the pre-defined ibus engines for the language.
If you want to use a different Input Method framework to ibus on GNOME, follow these steps

4.3.2. Fonts

Adobe Source Han Sans Fonts, from the adobe-source-han-sans-cn-fonts and adobe-source-han-sans-twhk-fonts packages, are new default fonts for Chinese.
If you prefer to use the old Fedora 20 default Chinese fonts, or encounter problems, you can use the following commands to revert to Fedora 20 Chinese fonts:
        # yum install cjkuni-uming-fonts cjkuni-ukai-fonts wqy-zenhei-fonts
        # yum remove adobe-source-han-sans-cn-fonts adobe-source-han-sans-twhk-fonts
The Lohit Oriya font (lohit-oriya-fonts) has been renamed to Lohit Odia (lohit-odia-fonts) as per the Odisha State government's guidelines.
The Lohit Punjabi font (lohit-punjabi-fonts) has been renamed to Lohit Gurmukhi (lohit-gurmukhi-fonts) to avoid confusion between the Arabic and Gurmukhi scripts.
ekmukta-fonts is a new Unicode-compliant Devanagari font with a mono-linear typeface.
google-noto-fonts has 44 new families. To list these subpackages and find the fonts available for your language, use the command yum list google-noto-\*

4.4. Multimedia

4.4.1. gPodder

gPodder in Fedora 21 has been updated to the 3.x release branch, with a number of notable features added.
Youtube features are improved, with support for YouTube channels added.
Improved Vimeo integration.
Enhanced support for mobile devices and standalone media players.
Numerous interface advancements.
Support your favorite content creators with Flattr integration.
A new web UI for remote management.

Important changes for gPodder 2 users

gPodder now stores all data and downloads in the ~/gPodder directory, instead of downloads in ~/gpodder-downloads and configuration data in hidden folders.
gPodder has changed configuration and date storage mechanisms. Before launching gPodder, migrating users should run /usr/bin/gpodder-migrate2tres.
If you have run gPodder before running the migration utility, remove the new ~/gPodder and run /usr/bin/gpodder-migrate2tres again.

4.5. Printing

4.5.1. CUPS Journal Logging

CUPS (the cupsd service) now sends its log output to the systemd journal instead of the /var/log/cups/error_log file. You can use the journalctl _COMM=cupsd command to view CUPS log.

5. Changes in Fedora for Developers

5.1. Development

5.1.1. KDE Frameworks 5

Fedora 21 includes a new set of libraries for developers of C++ and Qt applications, KDE Frameworks 5, the successor to KDE Platform 4. KDE Frameworks 5 are based on Qt 5 and provide developers with access to a broad variety of technologies and tools developed by the KDE Community, without having to depend on the entire KDE platform.
Most of the frameworks are based on the kdelibs module, which has been divided according to functionalities provided. Dependencies have been packaged into individual libraries. This allows developers and projects outside the KDE ecosystem to use these technologies and benefit from the work of the KDE Community.
It is possible to install KDE Frameworks 5 alongside KDE Platform 4 packages.

5.1.2. OpenCL

This Fedora release includes basic support for the OpenCL standard, which provides sufficient environment for the development of the OpenCL enabled software.
To enable OpenCL development, the Mesa's OpenCL state-tracker, the Portable Computing Language (pocl), and several other OpenCL packages have been added to the official Fedora repositories. The pocl language can be used on CPUs, and Mesa can be used on R600 AMD/ATI GPUs.

5.1.3. Python 3.4

With this release, Python 3 has been upgraded to version 3.4, which provides various bug fixes, enhancements and security improvements over the previous version. For example, several new library modules and features have been added and multiple library modules have been significantly improved.

Python 2 is still default

While the majority of Python packages are available for both Python and Python3, the default implementation of Python in Fedora is Python 2.7

The rewheel module

For version 3.4, Python upstream has decided to implement changes summarized in the PEP 453 document. In short, these mean:
  1. bundling archives with the setuptools and pip utilities in Python distribution
  2. providing the ensurepip module that is able to install these archives either on a system or in the virtualenv environment.
Due to Fedora strict non-bundling policies, setuptools and pip are unbundled. To match the upstream functionality, the following approach has been implemented:
  1. The python3 package now depends on the python3-setuptools and python3-pip. This means that users do not have to use the ensurepip to install setuptools and pip utilities separately as they are by default installed altogether with python3
  2. To install the setuptools and pip utilities in the virtualenv environment from the system packages, a mechanism called rewheel has been implemented to Fedora 21. When a new virtualenv is being created, rewheel takes the system python3-setuptools and python3-pip packages, recreates their archives and installs them in the new virtualenv so that the upstream functionality is preserved.
One more advantage is provided by the rewheel approach. When there is a bug, for example a security issue, in either python3-setuptools or python3-pip, Fedora maintainers of these packages fix the bug and users get the fixed packages. Therefore, virtualenvs created after updating to fixed python3-setuptools or python3-pip will have already fixed version. With pure upstream Python, this approach is not possible, users will have to wait for upstream to release new Python version with these fixes incorporated. This means that the rewheel patch makes the python3 package fulfill Fedora's high packaging standards and also helps to make virtualenvs more secure.
See the Rewheel page on GitHub for additional information about rewheel.

5.1.4. RPM 4.12

The RPM package manager has been updated to version 4.12, which brings Fedora in line with the latest upstream version.
This update brings a number of improvements, including:
Ability to package files larger than 4 GB.
Support for weak dependencies.
API users will be able to access file data more cleanly.
Payload data is now accessible over the API.
A new tool, rpm2archive, will allow converting rpm packages to tar files instead of the outdated cpio format. The new tool will work with files larger than 4 GB, while cpio and rpm2cpio do not.

No weak deps in Fedora packages

While the the underlying RPM libraries offer support for optional dependencies, soft requirements, and other weak dependencies, the packages in Fedora repositories are not yet leveraging this feature.
See the RPM 4.12 Release Notes for a full list of changes.

No new features for older RPM installations

Using some of the new features will break forward compatibility. Packages using these features cannot be built or installed on older Fedora versions. Backward compatibility is expected to be maintained.

5.1.5. Ruby 2.1

Ruby 2.1 is the latest stable version of Ruby, and brings major increases in speed, memory efficiency, and reliability.
The update brings a soname bump. Therefore, Ruby packages which use binary extensions should be rebuilt - and this has been done for packages in the Fedora repositories. Nevertheless, since upstream payed great attention to source compatibility, no changes to your code should be needed. Additionally, RubyGems with binary extensions need to be updated to conform to the recent package guidelines to ensure compatibility with the new RubyGems release.
Also note that starting with this release, Ruby is adopting semantic versioning.
You can find a full list of changes in Ruby 2.1 in the changelog. Full documentation is available at the Ruby documentation page.

5.1.6. TCL/TK 8.6

In Fedora 21, TCL/TK has been upgraded to version 8.6.1, which includes numerous bug fixes and enhancements. Some of the notable features are described here.
For the full list of changes, see the TCL/TK Release Notes. TCL 8.6
Changes in TCL 8.6
  • IPv6 Support
    Support for IPv6 networking for both client and server sockets.
  • Support for SQL Database
    The bundled tdbc package, which contains the Tcl DataBase Connectivity interface, now enables writing SQL database-powered scripts decoupled from any particular database engine. The bundled sqlite3 and tdbc::sqlite3 packages supply a powerful and popular SQL database engine that is ready to use.
  • Support for Object Oriented Programming
    The commands of the TclOO package are now part of the TCL language itself. This gives TCL a built-in fully dynamic, class-based object system and also includes advanced features such as meta-classes, filters, and mixins.
    A new version 4 of the popular package Itcl (also known as "incr TCL") is also included, now built on a TclOO foundation, granting support for some traditional Object Oriented TCL programming out of the box as well.
  • Support for multi-thread operations
    A thread-enabled default build, a bundled Thread package, and a new command interp cancel enable multi-threaded programming tasks on TCL 8.6. TK 8.6
Changes in TK 8.6
  • PNG Image Support
    Photo images now supports read/write in the PNG format, with the ability to set the alpha channel.
  • Angled Text
    The new -angle $degrees to $canvas create text option rotates the displayed text.

5.1.7. Improved Scala Ecosystem

Fedora now features significantly improved support for the Scala ecosystem with the inclusion of sbt version 0.13.1 and several other key Scala infrastructure packages. These packages include:
  • akka, a toolkit for developing actor-based systems
  • json4s, a unified interface to JSON parsers and generators
  • sbinary, a typed Scala interface for reading and writing binary formats
  • scala-stm, a software transactional memory implementation for Scala
  • scalacheck, a property-based testing framework for Scala
  • scalaz, a set of extensions to the Scala standard library to facilitate functional programming
With these packages available, Fedora has become an excellent environment for developing and distributing Scala projects.

5.2. Development Tools

5.2.1. Eclipse Luna

Eclipse in Fedora 21 has had a major update to the Luna (4.4) release. Eclipse Luna, among other things, introduces support for Java 8, split editors, and a dark theme.
Full details of the release are available in the upstream project's release notes, which are available from

5.2.2. Jenkins

The official Fedora repositories now include Jenkins, an application written in Java that provides continuous integration services for software development. Jenkins allows you to build and test software projects continuously, as well as to monitor executions of jobs that were ran externally.
For additional information, refer to the Meet Jenkins webpage.

5.2.3. Make updated to 4.0

GNU Make has been updated to version 4.0, offering several bug fixes and new features. It also includes new command line options and new variables to improve usability.
Read the Make release announcement at for more information about the changes in this release. The project documentation is available at

5.2.4. Review Board 2.0

Fedora now provides Review Board 2.0, a powerful, web-based patch review and management tool.
Version 2.0 adds the ability to post committed changes from a branch directly from the web UI, adds review of text file attachments, greatly extends the capabilities of the public API and extension framework, and offers significant performance improvements, usability enhancements, and visual cleanups.
Significant enhancements have been made to the diff viewer, as well as adding support for reviews on non-code files (such as binary file formats).
Documentation for Review Board 2.0 is available from the Review Board Manual.

Back up before migrating to Review Board 2.0

Upgrading to Review Board 2.0 from a previous release will modify your database schema. The migration will be performed when you restart Apache for the first time after the upgrade, and the process is irreversible.
Back up your database before upgrading.

5.2.5. SHOGUN Machine Learning Toolbox

The machine learning toolbox's focus is on large scale kernel methods and especially on Support Vector Machines (SVM). It provides a generic SVM object interfacing to several different SVM implementations, among them the state of the art LibSVM. Each of the SVMs can be combined with a variety of kernels.
One of its key features is the "combined kernel" which can be constructed by a weighted linear combination of a number of sub-kernels, each of which not necessarily working on the same domain. An optimal sub-kernel weighting can be learned using Multiple Kernel Learning. Currently SVM 2-class classification and regression problems can be dealt with. However SHOGUN also implements a number of linear methods like Linear Discriminant Analysis (LDA), Linear Programming Machine (LPM), (Kernel) Perceptrons and features algorithms to train hidden Markov-models.
Learn more about SHOGUN at

5.3. GCC Tools

5.3.1. Boost 1.55.0

boost has been upgraded to version 1.55.0. This update brings a large number of bug fixes and enhancements, one new library (Predef), and a slight change in requirements as support for very old versions of several compilers has been removed.
For a full list of changes, see the Boost 1.55.0 Release Notes.

5.3.2. GCC 4.9.x

The GNU Compiler Collection (GCC) has been upgraded to version 4.9.x, and all Fedora packages have been rebuilt with this new version of GCC.
The update provides a large number of bug fixes and enhancements. The notable newly supported features and changes are listed below:
ISO C11 support is largely complete.
Partial support for C++14.
C++11 support for regular expressions.
The OpenMP 4.0 standard.
the Undefined Behavior Sanitizer (UBSAN).
The Cilk Plus extension.
For detailed information about all changes, see the GCC 4.9 Release Notes.

5.4. Java

5.4.1. OpenJDK 8

OpenJDK8 is now the default Java Runtime in Fedora, replacing OpenJDK7. A full list of the features added in OpenJDK8 is available upstream at

Java Customizations

User customizations made to java-1.7.0-openjdk(specifically, to files under /usr/lib/jvm/java-1.7.0*/*) will not be carried across to java-1.8.0-openjdk.

5.4.2. More efficient package dependencies

The way that Java dependencies are handled has changed in Fedora 21. Packages that do not interact with the X server or audio subsystem now depend on a new OpenJDK headless subpackage. This means installation size reduction on servers, a change that aims for efficiency.
Additionally, documentation for Java packages is now optional, saving even more space on your server. Look for the -docsubpackage for Java packages to install the accompanying documentation.
If you need access to API documentation of Java libraries without javadoc subpackages, try using upstream web pages which should be accessible at homepage URL of the project in question. You can query for the URL of installed package with rpm -qi package| grep '^URL'
Java packaging guidelines now also require to convert most Java packages to have Requires: java-headlesswhen appropriate. Detailed information about the packaging effort can be found at

5.4.3. Improved Ivy Packaging

The way of packaging Java software that uses Apache Ivy to manage build dependencies has been improved in a similar way to the Maven packaging updates in previous Fedora releases. In particular, the following improvements have been implemented:
  • automatic resolution of Ivy artifacts,
  • integration with system Maven repository,
  • automatic installation of Ivy artifact metadata,
  • auto requires.

5.5. Web Development

5.5.1. PHP 5.6

The PHP stack has been updated to version 5.6, the latest upstream version. The important changes in this new version include:
PHP 5.6 also features a new tool, the PHP debugger, provided in the new php-dbg subpackage. Use the debugger with the phpdbg command.
Information about migrating applications from PHP 5.5 to PHP 5.6 can be found at

5.5.2. Ruby on Rails 4.1

Fedora 21 includes Ruby on Rails 4.1, the latest version of the well-known web application framework written in Ruby. Highlights in this release include Spring application preloader, config/secrets.yml, Action Pack variants, and Action Mailer previews. The Release Notes are at
Information for developers upgrading existing applications to Ruby on Rails 4.1 can be found in the Upgrading Ruby on Rails guide at

5.5.3. Web Application Authentication

At an operating system level, there are numerous authentication and identity lookup mechanisms, some of them using sssd. With new Apache modules and new sssd, some of those mechanisms become more easily consumable by web applications. Web application environments and frameworks can then consume results of the authentication and information retrieval using environment variables similar to REMOTE_USER. This will allow the better integration of web applications into enterprise-scale deployments.
With mod_authnz_pam, PAM authentication and access checks are available to web applications, allowing wider combination of authentication and access controls. One specific target is host-based access control rules of FreeIPA for Kerberos SSO via mod_sss and sssd.
The mod_intercept_form_submit module makes it possible to enable the PAM authentication of mod_authnz_pam on normal logon form handling paths, which can then be consumed by web application with fairly minimal changes.
The mod_lookup_identity uses sssd-dbus to retrieve additional attributes like name, email address, or group membership, and populates environment variables for easy consumption of this information by web applications.
The sssd-dbus implements new service ifp which provides access to additional user-related pieces of information.
More information can be found at

A. Contributors

A large number of people contribute to Fedora each release. Among these are a number of writers and translators who have prepared these release notes. The following pages list those contributors.

A.1. Writers

Fedora Documentation Project

B. Revision History

Revision History
Revision 21-09Sun 7 Dec 2014Fedora Docs
Added a lot of content.
Revision 21-01 Fri 29 August 2014Fedora Docs
Cleared content for pre-release preparation



Bug Reporting, Welcome to Fedora


Fedora, Welcome to Fedora, Fedora Products


kernel, Kernel


Linux kernel, Kernel


Bug and Feature Request, Welcome to Fedora


Fedora, Welcome to Fedora