Product SiteDocumentation Site

4. Fedora 针对开发人员所做的变更

4.1. 开发

4.1.1. ACPICA 工具

Fedora 为进行 ACPI 子系统工作的开发人员提供了更多资源。 acpica-tools 软件包代替了已有的 iaslpm-tools 软件包,它提供了来自 http://acpica.org 的所有工具。

4.1.2. 开发人员助手 (Developer Assistant)

Developer Assistant 是一个用流行编程语言和平台开始写代码项目的工具,该工具更新后提供了图形化用户界面,同时还在功能上做了改进。
Developer Assistant 的文档位于:https://developer-assistant.readthedocs.org/

4.1.3. Perl 5.18

Fedora 20 已经将 Perl 升级至拥有许多显著改进的 5.18 版本。

新特性

  • 已支持 Unicode 6.2。
  • 比之前更快的匹配 Unicode 属性。
  • 操作符 next,last,redo 和 dump 支持在运行时进行标签计算。
  • kill 函数允许以象征式名称向进程组发送信号。
  • 增加了对 lexical 子程序的实验性支持。
  • 以结构化的方式访问 perl -V 数据的 Config::Perl::V 模块已加入到核心模块中。
  • DTrace/SystemTap 提供了新探测器 op-entry,loading-file 和 loaded-file。

变更

  • 默认将哈希值随机化。这意味着每次运行 perl 时,从哈希值返回的密钥和值中的顺序都会发生变化。可将 PERL_PERTURB_KEYS 环境变量设置为 0 来禁用随机化功能。
  • qw() 操作符不再提示周围的括号。
  • 使用 \N{} 句法指定的未知字符名称会在编译时处理,并会触发句法错误。
  • 垂直制表符将被看作为空白区域 (white space)。
  • 存储在环境变量中的值默认是字节串。
  • I/O 的 readline 函数将读取指定数量的字符而不是字节。
  • 用引用标记分隔的 Here-document 将从标记之后的行开始。
  • 字母数字操作符必须于正则表达式分隔符分开。
  • 智能匹配和 lexical $_ 成为实验性功能,因为已表明它们存在问题。
  • $< 和 $> 变量的交换会产生不希望的效果。推荐使用本地化更改的变量。

移除的特性:

  • PL_sv_objcount XS 变量已弃用。
  • 所有用于分类 XS 函数的字符都将弃用。
  • to_uni_lower_lc,to_uni_title_lc 和 to_uni_upper_lc XS 函数均已弃用。
Perl 开发人员应阅读 http://search.cpan.org/dist/perl-5.18.0/pod/perldelta.podhttp://search.cpan.org/dist/perl-5.18.1/pod/perldelta.pod 来全面了解本版本发布的内容。

4.1.4. python-setuptools 已更新

python-setuptools 更新至 0.9.x 版本。该版本合并了上游项目 setuptoolsdistribute,导致 API 和行为有不少变化。
由于这次变更的版本与上一个版本大体上是兼容的,因此它不会妨碍 Fedora 中任何 Python 软件包。如果您怀疑您写的或部署的其它 Python 软件会受到影响,请参考 http://pythonhosted.org/setuptools/merge.htmlhttps://pypi.python.org/pypi/setuptools#changes 了解更多信息。

4.2. GCC 工具

4.2.1. Boost 1.54.0 升级

boost 升级到了 1.54.0 版本。除了一些 bug 修正外,还引入了三个新库:用于日志记录的 Boost.Log,用于输入特征自检 (Type Traits Introspection) 的 Boost.TTI,以及用于基于概念的运行时多态性 (runtime polymorphism based on concepts) 的 Boost.TypeErasure
位于 http://www.boost.org/users/history/version_1_54_0.html 的上游发行注记详细介绍了本版本的有关信息。

4.2.2. GLIBC 2.18

Fedora 20 随带 2.18 版的 GNU C 库。有关该版本的信息可阅读上游发布说明:https://sourceware.org/ml/libc-alpha/2013-08/msg00160.html

4.3. Haskell

4.3.1. ghc

GHC 更新至 7.6.3 版本,Haskell 平台更新至 2013.2 版。这其中有很多软件包进行了更新,并增加了新软件包,这包括 idris 和众多库。更新后的所有软件包均遵守最新简化修订的 Haskell 打包指南。
请注意 ghc-7.6 并不正式支持 llvm-3.3,因此使用 llvm 后端(尤其是在 ARM 上,因为 ARM 上默认使用 llvm)时会有些问题。

4.4. Web 开发

4.4.1. WildFly 8

Fedora 20 提供了由一个非常流行的 Java EE 平台 JBoss Application Server 更名而来的 WildFly 8 Application Server。WildFly 是一个快速的,模块化的,轻量级的服务器。WildFly 让运行和管理部署有多个应用的服务器集群变得轻而易举。
开始使用 WildFly http://wildfly.org

4.4.2. Ruby on rails

Fedora 20 提供了流行网络框架 Ruby on Rails 的 4.0 版本。本版本除了更好地模块化以外,还在功能、速度和安全性方面进行了改进。
打算迁移到 Ruby on Rails 4.0 的开发人员可在项目的升级指南和上游发行注记的详细信息中得到帮助。