Product SiteDocumentation Site

4. Changes in Fedora for Developers

4.1. Development Tools

Fedora has traditionally contained a rich set of development tools. The following are highlights of the many improvements to the development tools included in this release of Fedora.

4.1.1. gcc

Fedora 17 includes version 4.7.0 of gcc, gcc-c++, gcc-gfortran, gcc-objc, and gcc-gnat. The update includes numerous changes to the gcc series of compilers, not only C and C++, but also to Ada and Fortran. For complete details, refer to the GCC 4.7 Release Series Changes at http://gcc.gnu.org/gcc-4.7/changes.html.
Some highlights:
  • Several obsoleted architectures including IRIX 6.5, MIPS OpenBSD, Solaris, Tru64 UNIX 5.1 and a number of legacy ARM platforms
  • Support for OpenMP 3.1 on C, C++ and Fortran
  • More support for the C11 and C++11 standards updates
  • New debug flexibility for Ada
  • A number of performance improvements in Fortran
  • Many optimizer enhancements
  • New platforms:
    • ARM Cortex A7
    • AVR XMEGA
    • Texas Instruments C6X
    • National Semiconductor's CR16
    • Tilera TILE-Gx and TILEPro families
  • In addition, there are platform-specific improvements in ARM, AVR, IA-32/x86-64, MIPS, PowerPC/PowerPC64, SH and SPARC.

4.1.2. gdb

Fedora 17 now includes gdb 7.4.50.20120120. To review the many new features please visit http://www.gnu.org/software/gdb/download/ANNOUNCEMENT

4.1.3. D Language

The D2 programming language will be available in Fedora 17. D is a modern language with high performance near C/C++ with an easy syntax. C/C++ and Java developers can easily migrate to D.
Updates include:
  • ldc compiler to latest stable compiler
  • update standard library to dmd front-end 2.058
  • add gtkd package for GUI creation
  • add derelict package for 2D/3D environment, support openGL spec v4.1
  • add DSQLITE package to use sqlite in D
  • add gl3n package for OpenGL Math for D
  • add gljm package for load VBOs from various formats.

4.1.4. Haskell

The Haskell Platform has been updated to the latest 2011.4.0.0 release.

4.1.5. JBoss AS 7

A slimmed down version of JBoss AS 7 (jboss-as) is now packaged for Fedora. JBoss AS 7 is a fast, modular, lightweight, compliant Java EE application server. Currently only the JBoss AS 7 Web Profile is supported, support for the Full Profile will be added in a later release.

4.1.6. OpenJDK

OpenJDK7 is now the default Java Development Kit in Fedora, replacing OpenJDK6. A full list of the features added in OpenJDK7 is available upstream at http://openjdk.java.net/projects/jdk7/features/.

4.1.7. doxygen

In addition to numerous bugfixes, doxygen 1.7.6.1 includes:
  • The selected member is now briefly highlighted in the HTML output (when GENERATE_TREEVIEW is enabled).
  • The navigation tree (GENERATE_TREEVIEW) now shows the same information as the index.
  • The navindex section of layout now also controls what is shown in the navigation tree.
  • When a class/structs has many (>15) members of the same type, only the first 10 are shown in the UML diagram.
  • Made the output of the JavaScript based search engine more compact.
  • Update of the French translation.
  • Added support for PHP heredoc and nowdoc constructs.
  • Added support for cross-referencing in case of operator-> overloading. This includes support for std::auto_ptr,std::smart_ptr,std::unique_ptr and std::weak_ptr when BUILTIN_STL_SUPPORT is enabled.

4.1.8. emacs

GNU Emacs is updated to the latest prerelease from upstream, 24.0.93

4.1.9. git

git has been updated to 1.7.9. Fedora 16 included 1.7.7.
There are numerous small feature additions. The interested reader should review the changes since 1.7.8 and changes since 1.7.7 in the upstream release notes.

4.1.10. rcs

The venerable revision control system (rcs) has been updated to 5.8.
Updates include:
  • License now GPLv3+
  • Change in terminology: from "path" to "file name" (or "file-name")
  • Changes to the RCS package
    • New documentation in Info format
    • Dropped configure option: --with-diffutils
    • Configuration more strict in some ways, more lax in others.
    • New configure option: --enable-suid[=setreuid]
    • New configure option: --disable-mmap
    • New configure option: --enable-mailer=PROG
    • New configure option: --enable-compat2
    • You can "make check" prior to "make install".
  • Bug fixes
    • Remove all edit info when removing all revisions.
    • Code no longer uses mktemp.
    • Miscellaneous manpage tweaks / fixes.
  • Other changes
    • All commands accept ‘--help’ and ‘--version’.
    • A string of all digits is now valid for author, state.
    • Env var RCS_MEM_LIMIT controls stdio threshold.
    • RCS can now work with files larger than 2 gigabytes.
    • Pass-through for RCS file ‘commitid SYMBOL’ now builtin.
    • RCS file top-level grammar frozen.
    • RCS file syntax-validated earlier, completely.
    • Possible to specify an empty log message with ci -m, rcs -m.
    • Date option accepts some more date-only formats
  • Changes to rcsdiff
    • New handling for option: -U N
    • Refined "same-revision don't call diff" optimization

4.1.11. subversion

The version control system subversion has been updated from 1.6.17 to 1.7.3. Numerous changes include better use of HTTP, a new remote dumpfile tool, and improved console output, in addition to numerous minor changes. The reader is encouraged to visit http://subversion.apache.org/docs/release-notes/1.7.html for more information on these improvements.

4.1.12. bugzilla

bugzilla 4.0.4 fixes a number of security issues with previous versions. In addition, the new release permits system administrators to disable autocomplete and corrects a number of minor bugs. Refer to http://www.bugzilla.org/ for details.

4.1.13. bzr

Although basically a bugfix release, 2.5 of bzr represents a new stable version from which future bugfixes will be applied.

4.1.14. highlight

Fedora 17 includes highlight 3.7. Improvements over version 3.6 include:
  • support for Biferno
  • support for RPL
  • support for Ceylon
  • fixed Ruby definition
  • HTML font string may contain a list of fonts, which is not enclosed in quotes
  • added --portable command line option to save config files in the current working directory instead of the user directory

4.1.15. mercurial

mercurial has been upgraded to 2.1. The interested reader should visit http://mercurial.selenic.com/wiki/WhatsNew for a detailed list of new features and bugfixes.

4.1.16. monodevelop

monodevelop 2.8.5 is included in Fedora 17. Among the numerous new features:
  • Project Management
    • New Edit References dialog
    • Improved Class and Document Outline pads
  • Source Editing
    • New editor for syntax highlighting color schemes
    • New default syntax highlighting color scheme
  • Several fixes and enhancements to the Version Control support and to SVN support in particular adding a project which contains linked files to version control is now handled correctly
Visit the project web site at http://monodevelop.com/ for further details.