Perl has been updated to version 5.20 in Fedora 22. This new release brings several new features, changes to existing behavior, and removes a few features; notable changes are described below.
New features:
Subroutine prototype
attribute allows to declare subroutine prototype in postfix manner.
The new %hash{...}
and %array{...}
syntax returns a list of key/value and index/value pairs, respectively.
Added support for Unicode 6.3 tables.
More internal counters support 64-bit values (arrays with more than 2^32 elements, regular expression matching strings with more than 2^32 characters).
Copy-on-write mechanism is used when assigning scalars.
Speed improvements (lazy evaluation of logical conjunction and disjunction in void context, constant hash look-ups, return at the end of a subroutine).
New modules have been added into the core (experimental
, IO::Socket::IP
).
Changes in existing behavior:
use locale
in an UTF-8 locale environment enables Unicode character type processing.
Perl initializes locale according to all locale environment variables (such as LANG
).
The -F
Perl option implies the -a
option, and the -a
option implies the -n
option.
Character after a \c
sequence in a double-quoted string or regular expression must be a printable character and may not be a {
.
In use locale
scope, regular expression matching which depends on locale properties (like character case) taints values.
The regular expression pattern element \p{All}
previously matched only Unicode code points. Now it matches all code points, making it equivalent to qr/./s
. Therefore, \p{All}
is no longer synonymous with \p{Any}
, which continues to match only Unicode code points.
The output format for Data::Dumper
has changed.
Locale decimal point in Perl code is subject to locale only in scope of use locale
.
Removed features:
5.1.2. Unicode 7.0 Support in Glibc
Fedora 22 provides Ruby 2.2, the latest stable version of Ruby. This update brings many updates necessary for the increasingly diverse and expanding demands of this language such as incremental and symbol garbage collection and many others.
This update also brings a soname bump. All Ruby packages which use binary extensions should be rebuilt. Ruby 2.2 preserves backward compatibility with Ruby 2.1 (introduced in Fedora 21); therefore no changes to source code are necessary.
5.1.4. python-dateutil 2.4
The python-dateutil
module, which provides extensions to the standard datetime
module available in Python, has been updated to version 2.4 in Fedora 22.
Previous releases of Fedora provided version 1.5 of this module. Upstream releases immediately following this version only supported Python 3, which meant the Fedora package could not be updated without breaking compatibility. The current version will work with both Python 2 and 3.
Separate subpackages are provided for Python 2 and 3: The python-dateutil package should be used for Python 2 applications, and the python3-dateutil package provides support for Python 3.
Fedora 22 includes version 3 of wxPython
- Python bindings for the wxWidgets
GUI library.
This toolkit allows you to create programs with a robust, highly functional graphical user interface simply and easily. It is implemented as a Python extension module (native code) which wraps the popular wxWidgets
cross-platform GUI library, which is written in C++.
Fedora 22 brings Gradle 2, the popular build automation tool written in Java. Gradle can automate building, testing, publishing, deployment etc. of software packages or other types of projects, such as automatically generated documentation or websites.
This change also implements integration with software used for Java packaging in Fedora (XMvn and Javapackages), which makes it possible to use standard Fedora packaging techniques to build RPM packages with Gradle with all features such as automatic artifact installation or auto-requires/provides.
The GNU Compiler Collection (GCC) has been upgraded to version 5, and Fedora packages with dependencies on specific versions of GCC have been rebuilt with this new version.
This update provides a large number of bug fixes and enhancements. The notable newly supported features and changes are:
Improved C++11 support and added C++14 support.
The default mode for C is now -std=gnu11
instead of -std=gnu89
.
OpenMP 4.0
offloading support.
OpenACC 2.0
support.
Improved vectorization support.
The set of widely used C++ libraries, Boost, has been updated to version 1.57 in Fedora 22. This update brings a number of bug fixes, performance improvements and enhancements.
Boost 1.57 brings a soname bump. Fedora packages have been rebuilt using the updated libraries where necessary. Any other client packages must be rebuilt as well; this update does not preserve full ABI compatibility with previous releases.