.. -*- mode: rst -*-
.. vim: ft=rst

.. _releases-1.4.0pre1:

1.4.0pre1
=========

The first prerelease for Bcfg2 1.4.0 is now available at:

 ftp://ftp.mcs.anl.gov/pub/bcfg

Bcfg2 1.4.0pre1 is a prerelease, and contains many new features,
including some that are backwards-incompatible with Bcfg2 1.3.x and
earlier. Please read the release notes thoroughly. This is a prerelease
and as such is not likely suitable for general production deployment.
That said, please help us test the release in non- and preproduction
environments.

backwards-incompatible user-facing changes
------------------------------------------

* Completely rewrote option parser

  Many single character options now have long equivalents.  Some
  subcommand interfaces (``bcfg2-info``, ``bcfg2-admin``) have been
  reorganized to some degree. ``bcfg2-reports`` syntax is completely
  different.

* Added new :ref:`server-plugins-misc-acl` plugin

  Default ACLs only allow clients to perform bcfg2 client runs, and only
  permit `bcfg2-admin xcmd` calls from localhost.  If you want to change
  this, you must enable the ACL plugin and configure your own ACLs.

* Added genshi requirement for the server

* :ref:`server-plugins-generators-decisions`

  * Switch plugin to use StructFile instead of host- or group-specific XML
    files (this allows a single e.g. whitelist.xml file with <Group> tags)

    You can convert your existing decisions using
    ``tools/upgrade/1.4/migrate_decisions.py``.


deprecated features (will be removed in a future release, likely 1.5)
---------------------------------------------------------------------

* :ref:`server-plugins-structures-bundler`

  * Deprecated use of an explicit name attribute

    You can convert your existing bundles using
    ``tools/upgrade/1.4/convert_bundles.py``.

  * Deprecated :ref:`.genshi bundles
    <server-plugins-structures-bundler-index-genshi-templates>` (use
    .xml bundles and specify the genshi namespace instead)

* SSLCA

  * Deprecated plugin
  * SSLCA functionality has been added to the Cfg plugin:
    see :ref:`server-plugins-generators-cfg-ssl-certificates`

deprecated plugins and features which have been removed
-------------------------------------------------------

Plugins
^^^^^^^

* PostInstall
* TGenshi
* TCheetah
* Account
* Hostbase
* Snapshots
* Statistics
* Editor
* Base

Client tools
^^^^^^^^^^^^

* RPMng
* YUM24
* YUMng

Other features
^^^^^^^^^^^^^^

* FAM filemonitor
* Removed mode="inherit" support
* Removed support for .cat/.diff files
* Removed support for info/:info files
* Removed "magic" groups (for the Packages plugin)

other fixes and new features
----------------------------

* Added :ref:`inter-bundle dependencies
  <server-plugins-structures-bundler-index-dependencies>`
* Added support for :ref:`independent bundles
  <server-plugins-structures-bundler-index-disabling-magic>` (replaces
  the functionality of Base):
* Added support for wildcard XIncludes
* Add Solaris 11 IPS Package support
* Add bcfg2-report-collector init script to debian package
* Git VCS plugin enhancements
* Removed deprecated plugins

* :ref:`server-plugins-structures-bundler`

  * Deprecated use of an explicit name attribute
  * Deprecated .genshi bundles
  * Added path globbing

* :ref:`server-plugins-grouping-metadata`

  * Allow setting global default authentication type

* :ref:`server-plugins-generators-packages`

  * Add yum group support to internal resolver
  * Change location of plugin-generated APT sources
  * Add new Pkgng plugin
  * Add ability for per-package recommended flag override

* :ref:`server-plugins-statistics-reporting`

  * Add support for POSIX user/group entries
  * Add support for Django > 1.4
  * Add support for separate reporting database

* Added option to periodically dump performance stats to logs
* Added option to force server to wait until all FAM events are
  processed

* :ref:`server-plugins-generators-sshbase`

  * Add support for IPv6 addresses in known_hosts file
  * Add support for :ref:`encryption of generated ssh keys
    <server-plugins-generators-sshbase-encryption>`

* APT

  * Allow specification of deb-src lines (resolves
    http://trac.mcs.anl.gov/projects/bcfg2/ticket/1148)

* SSLCA

  * Rewrote SSLCA as Cfg handler

    Existing SSLCA installations will need to migrate to the new format
    using ``tools/upgrade/1.4/migrate_sslca.py``.

* :ref:`server-plugins-generators-nagiosgen`

  * Migrate configuration to conf.d

* :ref:`server-plugins-probes`

  * Rewritten to improve caching
  * Add probes.allowed_groups option to restrict group assignments:
    see :ref:`server-plugins-probes-dynamic-groups`


Thanks
------

Special thanks to the following contributors for this release

 * Alexander Sulfrain
 * Chris Brinker
 * Duncan Hutty
 * Jason Kincl
 * John Morris
 * Matt Schwager
 * Michael Fenn
 * Stéphane Graber
 * Tim Laszlo
