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.
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. 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.
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 at the Review Board Manual website.
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. (Note that this does not automatically mean Fedora packages and other tools support this feature.)
- 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) does not.
See the RPM 4.12 Release Notes for a full list of changes.
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 include:
- 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 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
- PNG Image Support - Photo images now support 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.
For the full list of changes, see the TCL/TK Release Notes.
In Fedora 21, the Erlang programming language has been upgraded to version R17 which provides better integration with the rest of the system. It also includes initial support for Ellyptic Curves (EC), enabling the use of some Ellyptic Curves, which was not possible in the previous version. Other notable changes include:
- Better interaction with systemd and improved EPMD integration.
- It is now possible to install Erlang without installing the graphical libraries, if the user is not planning to use a GUI on the target machine.
- Improved packaging process. It now takes less time to package Erlang software for Fedora.
See the Erlang/OTP 17.1 release article for the full list of changes.
This Fedora release includes basic support for the OpenCL standard, which provides sufficient environment for the development of the OpenCL enabled software. In according to do so, 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.
Improved Scala Ecosystem Support
Fedora now features dramatically improved support for the Scala ecosystem with the inclusion of sbt version 0.13.1 and several other key Scala infrastructure packages, including:
- 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; and
- scalaz, a set of extensions to the Scala standard library to facilitate functional programming.
With these packages available in Fedora, Fedora has become an excellent environment for developing and distributing Scala projects.
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.