
#
# Open Build Service 2.9
#

Please read the README.SETUP file for initial installation
instructions or use the OBS Appliance from

  http://openbuildservice.org/download/

There is also an install medium with installs OBS on hard disc now.

dist/README.UPDATERS file has informations for updaters.

OBS Appliance users who have setup their LVM can just replace
their appliance image without data loss. The migration will
happen automatically.


Features
========

Generic:
 * image and container maintenance support, including binary tracking
 * riscv64 hardware architecture support

Frontend:
 * New Kerberos authentication mode. Read how to setup Kerberos in the OBS Admin Guide: http://openbuildservice.org/help/manuals/obs-admin-guide/
 * New job history page to see why a package was built.
 * New GPG key details dialog.
 * RSS Feeds for User's Notifications is now available.
 * New Studio Express feature:
   * New central page to branch image templates from.
   * Add and edit repository and package lists in kiwi files.
   * Edit kiwi image details: name, author, contact, specification.
 * RabbitMQ support. OBS admins can configure their instance to send messages to a RabbitMQ server. Read more in the OBS Admin Guide.
 * Receive email notifications for projects that are in your watchlist. Configure at /user/notifications.
 * Improved UI/UX for configuration of notifications page. Now it shows a better layout and explanations to make this complex page easy to understand.
 * Allow users to view the full diff of large changes.
 * Remove the unused api_relative_url_root option from the options.yml file.
 * release mechanism improvements:
   - manual maintenance release support (avoiding requests)
   - operation happen atomic for entire project now
   - support release of single multibuild container
 * Ec2 cloud upload support for ec2 images (currently only available for OBS installations based on openSUSE 42.3)

Backend:
 * support showing source files in blame view (works also via links)
 * support project copy with makeoriginolder option

Backend:
 * New build formats:
   - native container build based on DockerFile (beside exiting kiwi support)
   - FISSILE build format
   - AppImage build format
 * freezelink command to freeze current sources accessed via project link
 * support showing source files in blame view (works also via links)
 * support project copy with makeoriginolder option
 * support automatic vrev extending via project links
 * Improved container support:
   - support build of layered containers by reusing existing contaienrs
   - support publishing to docker registry server
   - support container signing via notary server
 * cloud upload server supporting Amazon EC2 and Microsoft Azure
 * improved bootstrap cycle handling
 * additional SHA256 checksum in source commit handling for security
 * projects can be temporary suspended to avoid scheduling between multiple changes
 * support AirBrake for reporting problems
 * support new debian repository format
 * support for building in openstack cloud
 * Many smaller improvements in DownloadOnDemand and multibuild handling

Shipment:
 * To make use of the ec2 cloud upload feature you need to:
   - Install the obs-cloud-uploader package.

Major bugfixes:
 * Fix deletion of groups with users.
 * Fix notification generation with very big payloads.
 * Create history element on priority raise of request.
 * Fix huge bottleneck in notification emails.
 * Fix setting of new attributes to a project or package.

Wanted changes:
===============

 * creating of repositories on branching has changed if repositories of the
   source refer each other. This gets recreated in new project.

 * project copy is not adding the user anymore

 * service dispatcher is used by default now

 * The editing of a user's realname, email adress or password is no longer possible if LDAP mode is activated

 * Unused ldap options in options.yml were dropped:
   - ldap_update_support
   - ldap_object_class
   - ldap_entry_base
   - ldap_sn_attr_required

 * dropping of the project/package tag functionality/api

 * password hashing algorithm was changed to bcrypt (blowfish)

 * The backend notification plugin system is not used anymore.
   The RabbitMQ plugin is replaced with a RabbitMQ message bus implementation in the frontend, you can find details about this in the admin manual.
   The Hermes plugin is dropped without replacement as it was only used for notifications which the OBS is doing on it's own since quite some time.

 * publish hook failures are handled as fatal failures now.
   => publisher will retry to publish

Other changes
=============

 *

Notes for systems using systemd:
================================

OBS is using init scripts, not systemd style .service files. This will stay until
we will switch from SLES 11 to SLES 12 as default production platform.

openSUSE installations may use systemd (instead of sysvinit) and it should work
in general. Not working are usages like

 # rcobssrcserver status

You will only get the systemd status here.

Also stopping services may not kill all processes, which leads to abstract errors
when trying to restart them. We heard also about trashed MySQL databases when using
systemd.

To avoid these problems you need switch directory to avoid the systemd mapper:

 # cd /etc/init.d
 # ./obssrcserver status|stop|start
