# ChangeLog for profile directory
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/profiles/ChangeLog,v 1.8385 2013/11/24 23:02:10 hasufell Exp $
#
# This ChangeLog should include records for all changes in profiles directory.
# Only typo fixes which don't affect portage/repoman behaviour could be avoided
# here. If in doubt put a record here!

  24 Nov 2013; Lars Wendler <polynomial-c@gentoo.org> package.mask:
  Removed make-4.0 mask.

  24 Nov 2013; Julian Ospald <hasufell@gentoo.org>
  hardened/linux/amd64/no-multilib/package.mask:
  mask games-action/brutal-legend for hardened no-multilib

  24 Nov 2013; Julian Ospald <hasufell@gentoo.org>
  hardened/linux/amd64/no-multilib/package.mask:
  mask games-action/hotline-miami for hardened no-multilib

  24 Nov 2013; Johann Schmitz <ercpe@gentoo.org> ChangeLog:
  Removed sci-biology/picard from package.mask as a version with a snapshotted
  tarball is now in the tree and the live ebuilds are removed.

  24 Nov 2013; Justin Lecher <jlec@gentoo.org> package.mask:
  Drop obsolete mask for dev-tcltk/tcl-debug

  24 Nov 2013; Hans de Graaff <graaff@gentoo.org> package.mask:
  Mask omptagger and id3lib-ruby for removal, bug 488676.

  24 Nov 2013; Johannes Huber <johu@gentoo.org> package.mask:
  Mask kde-misc/polkit-kde-kcmodules for removal.

  24 Nov 2013; Hans de Graaff <graaff@gentoo.org> package.mask:
  Remove mask for packages that are now removed.

  23 Nov 2013; Pawel Hajdan jr <phajdan.jr@gentoo.org> base/package.use.mask:
  Unmask tcmalloc USE flag for >=www-client/chromium-32.0.1700.19. Thanks to
  Julien Sanchez and Pavel Volkov for testing (bug #413637).

  23 Nov 2013; Anthony G. Basile <blueness@gentoo.org> profiles.desc:
  hardened/linux/arm/armv6j: tested, thanks CMoH

  22 Nov 2013; Julian Ospald <hasufell@gentoo.org> arch/hppa/package.use.mask,
  arch/powerpc/ppc32/package.use.mask:
  mask gog useflag of games-fps/duke3d-data for hppa and ppc32

  22 Nov 2013; Pacho Ramos <pacho@gentoo.org> desc/cameras.desc:
  Add new description

  22 Nov 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Looks like some people still want it (#480612)

  22 Nov 2013; Tom Wijsman <TomWij@gentoo.org> package.mask:
  Removed gentoo-sources-3.8.13 mask from package.mask as it was removed.

  22 Nov 2013; Julian Ospald <hasufell@gentoo.org> package.mask:
  remove sci-geosciences/osgearth mask

  21 Nov 2013; Matti Bickel <mabi@gentoo.org> package.mask:
  Mask dev-php/PEAR-File_PDF for removal

  21 Nov 2013; Samuli Suominen <ssuominen@gentoo.org> thirdpartymirrors:
  Update ImageMagick mirrors (using patch from Arfrever)

  20 Nov 2013; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add scanlogd license to MISC-FREE group.

  20 Nov 2013; Justin Lecher <jlec@gentoo.org> package.mask:
  Drop old masks

  19 Nov 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Mask mesa-10.0.0_rc1 for bugs #491632 #491644 #491646 #491660 #491664

  19 Nov 2013; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Mask new libreoffice-bin-debug, see comment 5 on bug 490114

  18 Nov 2013; Matt Turner <mattst88@gentoo.org> package.mask:
  Removed pixman-0.32.2.

  17 Nov 2013; Justin Lecher <jlec@gentoo.org> package.mask:
  Release gajim betas to the wild

  17 Nov 2013; Pacho Ramos <pacho@gentoo.org> arch/ia64/package.use.mask,
  eapi-5-files/package.use.stable.mask:
  goa-3.8 needs gst-3.8, that needs systemd that cannot be keyworded yet on
  ia64 (#478076); also gnutls-3 isn't ready for stabilization with latest pan

  15 Nov 2013; Ulrich Müller <ulm@gentoo.org> package.mask:
  Unmask emacs-common-gentoo again, problem should be fixed now.

  15 Nov 2013; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Mask =app-emacs/emacs-common-gentoo-1.3-r4 by ulm's request

  15 Nov 2013; Sergei Trofimovich <slyfox@gentoo.org> package.mask:
  Unmask dev-haskell/{wxc,wxcore,wxhaskell}:2.9 as x11-libs/wxGTK:2.9 is not
  masked anymore.

  14 Nov 2013; Pacho Ramos <pacho@gentoo.org>
  +default/linux/alpha/13.0/desktop/gnome/systemd/parent,
  +default/linux/alpha/13.0/desktop/kde/systemd/parent, profiles.desc:
  Add alpha systemd profiles

  14 Nov 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Mask pixman-0.32.2 for bug #491110.

  14 Nov 2013; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Mask Boost 1.55.0 for testing

  14 Nov 2013; Pawel Hajdan jr <phajdan.jr@gentoo.org> base/package.use.mask,
  package.mask:
  Mask dev-lang/v8 and things still depending on it: dev-lang/v8cgi and v8 USE
  flag for dev-db/drizzle.

  14 Nov 2013; Ryan Hill <dirtyepic@gentoo.org> package.mask:
  Unmask gcc-4.8.2.

  13 Nov 2013; Matti Bickel <mabi@gentoo.org> package.mask:
  Mask dev-php/DBUnit for removal

  13 Nov 2013; Pacho Ramos <pacho@gentoo.org> arch/alpha/package.use.mask:
  Use mask due missing keywords, bug #478254

  12 Nov 2013; Lars Wendler <polynomial-c@gentoo.org> package.mask:
  Masked <dev-vcs/git-1.8.1.5 for removal.

  12 Nov 2013; Patrick Lauer <patrick@gentoo.org> package.mask:
  gcc: Patches broken/unfetchable #491052

  12 Nov 2013; Mike Gilbert <floppym@gentoo.org> package.mask:
  Update dev channel mask for chromium-33.

  11 Nov 2013; Ian Stakenvicius <axs@gentoo.org> package.mask:
  dropped mask to mozplugger now that it has been removed

  11 Nov 2013; Ben de Groot <yngwin@gentoo.org> package.mask:
  Mask older roboto versions

  10 Nov 2013; Markos Chandras <hwoarang@gentoo.org>
  default/linux/package.use.mask:
  Mask media-video/rtmpdump[polarssl]. It does not build with the current
  net-libs/polarssl in the tree

  10 Nov 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Mask prerelease xorg-server

  10 Nov 2013; Thomas Kahle <tomka@gentoo.org> package.mask:
  remove dev-games/gigi entry 'cause it's gone

  09 Nov 2013; Pawel Hajdan jr <phajdan.jr@gentoo.org> package.mask:
  Mask sci-geosciences/osgearth for removal in 30 days, bug #484786.

  06 Nov 2013; Pacho Ramos <pacho@gentoo.org> arch/x86/package.use.mask:
  Keywords recovered

  05 Nov 2013; Stanislav Ochotnicky <sochotnicky@gentoo.org> package.mask:
  Mask =media-sounds/beets-1.3.1 for testing

  04 Nov 2013; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Mask sys-apps/pcfclock, wrt bug #489510

  04 Nov 2013; Mike Gilbert <floppym@gentoo.org> package.mask:
  Remove unifont mask since we now work around the problem in the grub ebuild.

  04 Nov 2013; Jeroen Roovers <jer@gentoo.org> package.mask:
  Unmask app-admin/sysstat-10.2.0.

  03 Nov 2013; Robin H. Johnson <robbat2@gentoo.org> package.mask:
  Mask app-emulation/qenv for treecleaning, doesn't build, qemu changed too
  much.

  03 Nov 2013; Luca Barbato <lu_zero@gentoo.org> package.mask:
  Add a libav-0.8.9 multilib-ready version.

  03 Nov 2013; Johannes Huber <johu@gentoo.org> package.mask:
  Mask kde-misc/qtrans for removal.

  03 Nov 2013; Johannes Huber <johu@gentoo.org> package.mask:
  Mask kde-misc/kio-upnp-ms for removal.

  03 Nov 2013; Ben de Groot <yngwin@gentoo.org> +updates/4Q-2013:
  package move x11-themes/qtcurve-qt4 x11-themes/qtcurve

  02 Nov 2013; Markos Chandras <hwoarang@gentoo.org> ChangeLog:
  mask app-arch/xarchiver for removal

  31 Oct 2013; Fabian Groffen <grobian@gentoo.org> profiles.desc:
  Add profile for OS X Mavericks (10.9)

  30 Oct 2013; Maxim Koltsov <maksbotan@gentoo.org> base/package.use.mask:
  Unmask use ipod for >=media-sound/clementine-1.2.0

  30 Oct 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Unmask rtmpdump snapshot

  29 Oct 2013; Manuel Rüger <mrueg@gentoo.org> package.mask:
  Remove mask for treecleaned ruby18-only packages

  28 Oct 2013; Fabian Groffen <grobian@gentoo.org> package.mask:
  Remove exim 4.82 RC mask

  28 Oct 2013; Lars Wendler <polynomial-c@gentoo.org> package.mask:
  Masked app-arch/xz-utils alpha releases for testing.

  24 Oct 2013; Tiziano Müller <dev-zero@gentoo.org>
  desc/nginx_modules_http.desc, package.mask:
  Add USE_EXPAND descriptions for nginx' auth_request and push_stream modules.
  Mask nginx mainline version bump.

  23 Oct 2013; Davide Pesavento <pesa@gentoo.org> package.mask:
  Mask qt-creator 3.0 beta.

  22 Oct 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  virtual/pyparsing has been removed.

  21 Oct 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Remove mesa security mask as i965 the driver is masked by package.use.mask
  now, bug #472280.

  21 Oct 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  sys-firmware/amd-ucode gone. Bug #455208

  21 Oct 2013; Hans de Graaff <graaff@gentoo.org> package.mask:
  Also mask relevant asset pipeline packages for Rails 3.1, fixing bug 488824
  and 488826.

  21 Oct 2013; Mike Gilbert <floppym@gentoo.org> package.mask:
  Mask media-fonts/unifont-6.3

  20 Oct 2013; Hans de Graaff <graaff@gentoo.org> package.mask:
  Remove dev-ruby/ruby-bdb from mask because it is still used by rbot.

  20 Oct 2013; Hans de Graaff <graaff@gentoo.org> package.mask:
  Write better reason for removal.

  20 Oct 2013; Hans de Graaff <graaff@gentoo.org> package.mask:
  Mask more ruby18-only packages.

  19 Oct 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  SLOT=4 for dev-cpp/libgdamm is gone. Bug #482910

  19 Oct 2013; Pacho Ramos <pacho@gentoo.org>
  +default/linux/amd64/13.0/desktop/kde/systemd/parent,
  +default/linux/arm/13.0/desktop/kde/systemd/parent,
  +default/linux/powerpc/ppc32/13.0/desktop/kde/systemd/parent,
  +default/linux/powerpc/ppc64/13.0/32bit-userland/desktop/kde/systemd/parent,
  +default/linux/powerpc/ppc64/13.0/64bit-userland/desktop/kde/systemd/parent,
  +default/linux/powerpc/ppc64/13.0/desktop/kde/systemd/parent,
  +default/linux/x86/13.0/desktop/kde/systemd/parent, profiles.desc:
  Add kde/systemd variants too (#481920#c20)

  19 Oct 2013; Hans de Graaff <graaff@gentoo.org> package.mask:
  Mask Rails 3.1 for security bug 488298.

  18 Oct 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask new media-video/rtmpdump snapshots for testing

  18 Oct 2013; Tim Harder <radhermit@gentoo.org> package.mask:
  Mask =media-libs/libraw-0.16* for testing.

  15 Oct 2013; Pacho Ramos <pacho@gentoo.org> targets/systemd/use.mask:
  Add reference for consolekit vs logind

  14 Oct 2013; Stanislav Ochotnicky <sochotnicky@gentoo.org> package.mask:
  Mask live ebuild of sys-fs/simple-mtpfs (#488038)

  14 Oct 2013; Stanislav Ochotnicky <sochotnicky@gentoo.org> package.mask:
  Add media-video/pyqtrailer and dev-python/pytrailer removal mask

  14 Oct 2013; Pacho Ramos <pacho@gentoo.org>
  hardened/linux/amd64/no-multilib/package.mask:
  Mask on more places :S

  14 Oct 2013; Pacho Ramos <pacho@gentoo.org>
  arch/amd64/no-multilib/package.mask, features/64bit-native/package.mask:
  Mask packages relying on multilib

  14 Oct 2013; Justin Lecher <jlec@gentoo.org> package.mask:
  Mask metis-5 due to API change

  14 Oct 2013; Justin Lecher <jlec@gentoo.org> use.desc:
  fortran is a known language today, so we don't need toreference to f77

  14 Oct 2013; Lars Wendler <polynomial-c@gentoo.org> package.mask:
  Adjusted samba-4 mask for 4.1 release.

  13 Oct 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Mask vulnerable versions of mesa, bug #472280.

  13 Oct 2013; Tom Wijsman <TomWij@gentoo.org> package.mask:
  Added missing parentheses to really fix the dates.

  13 Oct 2013; Lars Wendler <polynomial-c@gentoo.org> package.mask:
  Masked >=sys-devel/make-4.0 for testing

  13 Oct 2013; Agostino Sarubbo <ago@gentoo.org> package.mask:
  Fix the date for the last entry

  13 Oct 2013; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Hardmask mod_spdy.

  13 Oct 2013; Ulrich Müller <ulm@gentoo.org> package.mask:
  Remove mask for app-editors/mg.

  12 Oct 2013; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Remove obsolete mask of dev-tex/natbib, bug 483974

  12 Oct 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Mask for removal

  12 Oct 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Cleanup entries

  12 Oct 2013; Ulrich Müller <ulm@gentoo.org> package.mask:
  Mask app-editors/mg, bug 487758.

  11 Oct 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask nx11-misc/lightdm-1.8 for futher testing

  09 Oct 2013; Pacho Ramos <pacho@gentoo.org>
  +default/linux/amd64/13.0/desktop/gnome/systemd/parent,
  +default/linux/arm/13.0/desktop/gnome/systemd/parent,
  +default/linux/powerpc/ppc32/13.0/desktop/gnome/systemd/parent,
  +default/linux/powerpc/ppc64/13.0/32bit-userland/desktop/gnome/systemd/parent
  ,
  +default/linux/powerpc/ppc64/13.0/64bit-userland/desktop/gnome/systemd/parent
  , +default/linux/powerpc/ppc64/13.0/desktop/gnome/systemd/parent,
  +default/linux/x86/13.0/desktop/gnome/systemd/parent, profiles.desc,
  +targets/systemd/make.defaults, +targets/systemd/package.mask,
  +targets/systemd/package.use.mask, +targets/systemd/use.mask:
  Add systemd subprofiles (#481920 and
  http://gentoo.2317880.n4.nabble.com/Addition-of-systemd-subprofiles-td270299.
  html )

  09 Oct 2013; Thomas Kahle <tomka@gentoo.org> package.mask:
  Mask dev-games/gigi for removal

  09 Oct 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Finally unmask multilib OpenGL.

  09 Oct 2013; Pawel Hajdan jr <phajdan.jr@gentoo.org> package.mask:
  Roll chromium dev channel masks for chromium-32.x.

  07 Oct 2013; Ryan Hill <dirtyepic@gentoo.org> package.mask:
  Unmask GCC 4.8.

  05 Oct 2013; Tiziano Müller <dev-zero@gentoo.org>
  desc/nginx_modules_http.desc, package.mask:
  Lift mask of www-servers/nginx-1.4.2*

  04 Oct 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  whitespace

  04 Oct 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Add forgotten amd-ucode mask entry. Bug #455208

  04 Oct 2013; Julian Ospald <hasufell@gentoo.org> package.mask:
  remove mask on net-p2p/pybitmessage, people can do their own research

  3 Oct 2013; Chris Reffett <creffett@gentoo.org> package.mask:
  Remove dev-games/neo* mask, packages removed

  30 Sep 2013; Fabian Groffen <grobian@gentoo.org> package.mask:
  Mask Exim 4.82 release candidates

  29 Sep 2013; Andreas K. Huettel <dilfridge@gentoo.org> profiles.desc:
  Downgrade s390 profiles to dev

  28 Sep 2013; Pacho Ramos <pacho@gentoo.org> arch/alpha/package.use.mask,
  arch/sparc/package.use.mask:
  Drop masks as needed keywords were added (#478078)

  28 Sep 2013; Pacho Ramos <pacho@gentoo.org> base/use.mask:
  Mask openrc-force USE flag (#480336)

  27 Sep 2013; Tiziano Müller <dev-zero@gentoo.org> package.mask:
  Mask nginx >=1.4.2 for testing.

  27 Sep 2013; Tiziano Müller <dev-zero@gentoo.org>
  desc/nginx_modules_http.desc:
  Add security to nginx_modules_http USE_EXPAND

  26 Sep 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Unmask python-exec:2 for wider testing.

  26 Sep 2013; Sven Vermeulen <swift@gentoo.org> package.mask:
  Masking openscap-9999

  26 Sep 2013; Tiziano Müller <dev-zero@gentoo.org>
  desc/nginx_modules_http.desc:
  Add echo to nginx_modules_http USE_EXPAND

  24 Sep 2013; Patrick Lauer <patrick@gentoo.org> package.mask:
  Temporarily disable openldap mask until s390 catches up

  23 Sep 2013; Agostino Sarubbo <ago@gentoo.org> package.mask:
  mask older and vulnerable version of openldap

  22 Sep 2013; Pacho Ramos <pacho@gentoo.org> arch/arm/package.use.mask:
  Mask USE on arm due missing keywords

  21 Sep 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask zen-sources live ebuilds

  21 Sep 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Mask multilib OpenGL packages for testing.

  21 Sep 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Remove the mask on glu since the emul set is ready now.

  21 Sep 2013; Michael Palimaka <kensington@gentoo.org>
  targets/desktop/kde/package.use:
  Enable xmp USE flag for media-gfx/exiv2 by default as it is required by
  kde-base/libkexiv2.

  20 Sep 2013; Ian Stakenvicius <axs@gentoo.org>
  +default/linux/amd64/13.0/package.use.stable.mask:
  stable masked abi_x86_32 on all relevant atoms

  20 Sep 2013; Ian Stakenvicius <axs@gentoo.org> package.mask:
  adjusted mask of mozplugger

  19 Sep 2013; Tiziano Müller <dev-zero@gentoo.org> license_groups:
  Add newly added Adaptec-EULA to the EULA license group (as discussed on the
  gentoo-dev ml)

  18 Sep 2013; Tom Wijsman <TomWij@gentoo.org> package.mask:
  >=app-admin/ec2-api-tools-1.6.7.2-r4: Temporarily masked due to QA issue
  during attempts to unbundle dependencies.

  18 Sep 2013; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Mask developer releases of dev-libs/botan

  17 Sep 2013; Tim Harder <radhermit@gentoo.org> package.mask:
  Unmask =media-video/mkvtoolnix-6.4.1.

  17 Sep 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Link the gentoo-dev thread in python-exec:2 p.mask.

  17 Sep 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Mask python-exec-2 for testing.

  17 Sep 2013; Patrick Lauer <patrick@gentoo.org> package.mask:
  Remove poppler mask as everything works now

  16 Sep 2013; Tim Harder <radhermit@gentoo.org> package.mask:
  Mask >=media-video/mkvtoolnix-6.4.0 until libmatroska-1.4.1 is released.

  16 Sep 2013; Justin Lecher <jlec@gentoo.org> package.mask:
  Mask gajim beta

  15 Sep 2013; Joerg Bornkessel <hd_brummy@gentoo.org> package.mask:
  media-plugins/vdr-sysinfo masked for removal on ~15/Oct/2013, Bug #414275
  #414177

  15 Sep 2013; Joerg Bornkessel <hd_brummy@gentoo.org> package.mask:
  media-plugins/vdr-taste masked for removal on ~15/Oct/2013, Bug #414269
  #414177

  15 Sep 2013; Joerg Bornkessel <hd_brummy@gentoo.org> package.mask:
  media-plugins/vdr-timeline masked for removal on ~15/Oct/2013, Bug #414261
  #414177

  15 Sep 2013; Joerg Bornkessel <hd_brummy@gentoo.org> package.mask:
  media-plugins/vdr-tvonscreen masked for removal on ~15/Oct/2013, Bug #414257
  #414177

  15 Sep 2013; Joerg Bornkessel <hd_brummy@gentoo.org> package.mask:
  media-plugins/vdr-tvtv masked for removal on ~15/Oct/2013, Bug #414255
  #414177

  15 Sep 2013; Joerg Bornkessel <hd_brummy@gentoo.org> package.mask:
  media-plugins/vdr-vdrrip masked for removal on ~15/Oct/2013, Bug #414235
  #414177

  15 Sep 2013; Joerg Bornkessel <hd_brummy@gentoo.org> package.mask:
  media-plugins/vdr-prefermenu masked for removal on ~15/Oct/2013, Bug #420883
  #414177

  15 Sep 2013; Joerg Bornkessel <hd_brummy@gentoo.org> package.mask:
  cleanup pmask for media-plugins/vdr-channelscan, depend on wrt bug #474480
  155253 414177, removed from tree

  15 Sep 2013; Hans de Graaff <graaff@gentoo.org> package.mask:
  Remove masked ruby18-only packages.

  14 Sep 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  unmask ocaml 4.01.0

  14 Sep 2013; Amadeusz Żołnowski <aidecoe@gentoo.org>
  desc/dracut_modules.desc:
  Added dash use expand to dracut_modules.

  14 Sep 2013; Tom Wijsman <TomWij@gentoo.org> package.mask:
  Expand sun-* package.mask reason to explain continuation, alternatives and
  also mask and explain JCE; as requested in bugs #473830 and bug #484680,
  reported by Martin Mokrejš.

  14 Sep 2013; Hans de Graaff <graaff@gentoo.org> package.mask:
  Remove masked ruby18-only packages.

  13 Sep 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask dev-lang/jimtcl-9999 live ebuild

  13 Sep 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Mask new PAM due to segfault in pam_unix.so, bug #484732.

  12 Sep 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Mask virtual/pyparsing for removal since we no longer support split pyparsing
  and therefore need it.

  12 Sep 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Lastrite virtual/python-json -- JSON is now built-in in all supported
  Pythons.

  11 Sep 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Unmask buildbot-0.8.8 and buildbot-slave-0.8.8

  11 Sep 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask buildbot live ebuilds

  11 Sep 2013; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Mask dev-tex/natbib for removal, bug 483974

  11 Sep 2013; Pacho Ramos <pacho@gentoo.org> arch/powerpc/ppc32/use.mask,
  arch/powerpc/use.mask:
  Unmask systemd USE flag as it's keyworded there after talking with Ago
  (#478076)

  11 Sep 2013; Michał Górny <mgorny@gentoo.org> updates/3Q-2013:
  Rename sys-devel/systemd-sdk to sys-devel/systemd-m4.

  10 Sep 2013; Patrick Lauer <patrick@gentoo.org> package.mask:
  Unmask postgresql-9.3 final

  09 Sep 2013; Tom Wijsman <TomWij@gentoo.org> package.mask:
  Listed two more important security bugs in the gentoo-sources-3.8.13 mask
  reason.

  09 Sep 2013; Julian Ospald <hasufell@gentoo.org> package.mask:
  revert mask wrt #483588

  09 Sep 2013; Patrick Lauer <patrick@gentoo.org> package.mask:
  Fix perl mask once more

  09 Sep 2013; Patrick Lauer <patrick@gentoo.org> package.mask:
  Fix perl mask

  08 Sep 2013; Ian Stakenvicius <axs@gentoo.org> package.mask:
  masked media-libs/openal-1.15.1-r1 until emul-linux-* can be adjusted to
  remove the colliding files

  08 Sep 2013; Mikle Kolyada <zlogene@gentoo.org> package.mask:
  Mask perl-5.18 and friends, again

  08 Sep 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Unmask latest openocd

  08 Sep 2013; Markos Chandras <hwoarang@gentoo.org> desc/input_devices.desc:
  Add input devices for roccat-tools. Bug #395171

  08 Sep 2013; Pacho Ramos <pacho@gentoo.org> arch/powerpc/package.use.mask:
  monodevelop is not keyworded, bug #468030

  07 Sep 2013; Mike Gilbert <floppym@gentoo.org> thirdpartymirrors:
  Update pypi based on PEP 449, bug 482154 by Arfrever.

  07 Sep 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Mask packages for removal

  07 Sep 2013; Pacho Ramos <pacho@gentoo.org>
  eapi-5-files/package.use.stable.mask:
  Mask abi_x86_32 to let stabilization (#477182#c5)

  05 Sep 2013; Michał Górny <mgorny@gentoo.org>
  desc/python_single_target.desc, desc/python_targets.desc, package.mask:
  Python 2.5, 3.1, and PyPy 1.9 were removed from the tree.

  05 Sep 2013; Patrick Lauer <patrick@gentoo.org> package.mask:
  Unmask perl 5.18

  05 Sep 2013; Patrick Lauer <patrick@gentoo.org> package.mask:
  Adding carp to perl mask

  03 Sep 2013; Hans de Graaff <graaff@gentoo.org> base/package.use.force:
  Force ruby20 on the core ruby packages for ruby 2.0 since too many packages
  still depend on an unqualified dev-lang/ruby, bug 483254.

  03 Sep 2013; <creffett@gentoo.org> package.mask:
  Lastrite dev-games/neo{engine,tools}

  02 Sep 2013; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Temporarily mask libsecret-0.16 due to API/ABI change (bug #483414).

  02 Sep 2013; Pacho Ramos <pacho@gentoo.org> arch/alpha/package.use.mask:
  Mask forgotten stuff (#483314)

  01 Sep 2013; Julian Ospald <hasufell@gentoo.org> license_groups:
  add Q3AEULA-20000111 to EULA license group

  01 Sep 2013; Pacho Ramos <pacho@gentoo.org> arch/alpha/package.use.mask,
  arch/mips/package.use.mask:
  CONFIG_AUDITSYSCALL=y is not implemented, bug #438368

  31 Aug 2013; Tom Wijsman <TomWij@gentoo.org> package.mask:
  Gentoo sources 3.8.13 masked due to security bug #475618: CVE-2013-1059:
  Linux Kernel Ceph NULL Pointer Dereference Denial of Service Vulnerability

  31 Aug 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Clean mask entries

  31 Aug 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Unmask old xdm version that has been replaced already.

  31 Aug 2013; Ulrich Müller <ulm@gentoo.org> package.mask:
  Remove mask for app-admin/eselect, there is app-admin/eselect-bashcomp now.

  31 Aug 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Collect all live ebuild in the same place

  30 Aug 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask screefetch live ebuild

  30 Aug 2013; Gilles Dartiguelongue <eva@gentoo.org> package.mask:
  Update libsoup mask.

  30 Aug 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask new buildbot/buildbot-slave for testing in production

  29 Aug 2013; Gilles Dartiguelongue <eva@gentoo.org> package.mask:
  Add libsoup re-split mask.

  29 Aug 2013; Agostino Sarubbo <ago@gentoo.org> package.mask:
  Mask =dev-db/mariadb-5.1.67 because of the security bug #446240

  28 Aug 2013; Patrick Lauer <patrick@gentoo.org> package.mask:
  Adding gentoo-bashcomp to bash-completion mask

  27 Aug 2013; Mike Gilbert <floppym@gentoo.org> package.mask:
  Remove mask on dev-python/chardet-2.1.1.

  27 Aug 2013; Tom Wijsman <TomWij@gentoo.org> package.mask:
  Clarified what eselect was exactly masked for, expanded 'it'.

  27 Aug 2013; Tom Wijsman <TomWij@gentoo.org> package.mask:
  Masked =app-admin/eselect-1.3.7 and =apps-shells/bash-completion-2.1-r1 on
  behalf of Luca Barbato <lu_zero@gentoo.org> for QA problems and regressions,
  see package.mask entry for details.

  27 Aug 2013; Ian Stakenvicius <axs@gentoo.org> desc/lirc_devices.desc:
  Add lirc_devices setting 'zotac' for bug 462595.

  27 Aug 2013; Michael Palimaka <kensington@gentoo.org> package.mask:
  Remove no longer needed mask for net-libs/libinfinity.

  27 Aug 2013; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Remove obsolete mask on sys-kernel/openvz-sources

  27 Aug 2013; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Add masks for Boost 1.54

  25 Aug 2013; Julian Ospald <hasufell@gentoo.org> package.mask:
  mask net-p2p/pybitmessage experimental

  25 Aug 2013; Mike Gilbert <floppym@gentoo.org> updates/3Q-2013:
  slotmove dev-python/pydns 0 2

  24 Aug 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask openbox live ebuild

  24 Aug 2013; Hans de Graaff <graaff@gentoo.org> package.mask:
  First batch of ruby18-only packages is now removed, remove mask.

  24 Aug 2013; Hans de Graaff <graaff@gentoo.org> package.mask:
  Masked package dev-ruby/fssm is now removed.

  23 Aug 2013; Mike Gilbert <floppym@gentoo.org> package.mask:
  Unmask chromium-31 again after masking the system-ffmpeg use flag.

  23 Aug 2013; Mike Gilbert <floppym@gentoo.org> package.mask:
  Re-mask chromium-30 due to ffmpeg dep.

  23 Aug 2013; Mike Gilbert <floppym@gentoo.org> package.mask:
  Update the chromium dev channel mask for M31.

  22 Aug 2013; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Remove freeipmi mask.

  21 Aug 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Drop mask on mesa-9.2, bug #475444.

  21 Aug 2013; Justin Lecher <jlec@gentoo.org> package.mask:
  Fixed version in PDEPEND of aufs-sources

  21 Aug 2013; Patrick Lauer <patrick@gentoo.org> package.mask:
  Masking aufs-sources version missing dependencies

  20 Aug 2013; Sébastien Fabbro <bicatali@gentoo.org> updates/3Q-2013:
  Move sci-libs/scikits_statsmodels to dev-python/statsmodels

  20 Aug 2013; Michael Palimaka <kensington@gentoo.org>
  +targets/desktop/kde/package.use.force, targets/desktop/kde/use.force:
  Don't force USE="consolekit" on newer KDE versions wrt bug #468500.

  19 Aug 2013; Aaron W. Swenson <titanofold@gentoo.org> package.mask:
  Remove mask for PostGIS 2.1.0.

  19 Aug 2013; Patrick Lauer <patrick@gentoo.org> package.mask:
  Masking random live-vcs packages

  18 Aug 2013; Hans de Graaff <graaff@gentoo.org> updates/3Q-2013:
  Move minitest 5.x to a separate slot because rails will depend on a specific
  major version now.

  18 Aug 2013; William Hubbs <williamh@gentoo.org> package.mask:
  remove mask on sys-apps/openrc

  17 Aug 2013; Mikle Kolyada <zlogene@gentoo.org> package.mask:
  Remove obsolete mask on dev-perl/Date-ISO


  17 Aug 2013; <creffett@gentoo.org> package.mask:
  Remove tg-widgets-* from package.mask as they are now gone from the tree

  17 Aug 2013; Markos Chandras <hwoarang@gentoo.org> profiles.desc:
  Bump all MIPS profiles to 'dev' status apart from the n64 ones

  16 Aug 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Include new revision of sys-apps/kmod to the sys-apps/openrc 0.12 mask
  because the kmod-static-nodes init script is incompatible with 0.11.8.

  16 Aug 2013; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  gdbus-codegen is now in the tree

  16 Aug 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Mask dev-python/pyme for removal.

  16 Aug 2013; Patrick Lauer <patrick@gentoo.org> package.mask:
  Mask glib-2.36.4 until dependencies are there

  16 Aug 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  mask ocaml 4.01.0_beta1

  15 Aug 2013; Tom Wijsman <TomWij@gentoo.org> package.mask:
  Masked dev-java/itext:5: Dependencies are unable to satisfy current version,
  broken; needs a version bump from bug #475552.

  14 Aug 2013; Hans de Graaff <graaff@gentoo.org> package.mask:
  Also mask rox-extra/rox-rename for using obsolete ruby-gnome2 packages.

  14 Aug 2013; Hans de Graaff <graaff@gentoo.org> package.mask:
  Mask app-dicts/fantasdic and associated deprecated ruby-gnome2 components.

  14 Aug 2013; Patrick Lauer <patrick@gentoo.org> package.mask:
  Add more perl virtuals to mask

  14 Aug 2013; Patrick Lauer <patrick@gentoo.org> package.mask:
  Add more perl virtuals to mask

  14 Aug 2013; Patrick Lauer <patrick@gentoo.org> package.mask:
  Adding new virtuals for perl-5.18

  14 Aug 2013; Patrick Lauer <patrick@gentoo.org> package.mask:
  Adding initial mask for perl-5.18

  13 Aug 2013; Tim Harder <radhermit@gentoo.org> package.mask:
  Unmask libcaca/toilet again since the bugs should be fixed now.

  13 Aug 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Restore mask of libcaca and toilet which are completely broken.

  13 Aug 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  unmask libcaca/toilet, relevant bugs seem fixed here

  12 Aug 2013; Hans de Graaff <graaff@gentoo.org> package.mask:
  Remove dev-ruby/pry:0 from the ruby18 mask for now since adhearsion still
  depends on it.

  12 Aug 2013; Alexis Ballier <aballier@gentoo.org> profiles.desc:
  advertise fbsd 9.2 profiles now that they are bumped to rc1

  11 Aug 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  unmask latest celt, it should be ok now

  11 Aug 2013; Alexis Ballier <aballier@gentoo.org> arch/arm/ChangeLog,
  arch/arm/package.mask, arch/ia64/ChangeLog, arch/ia64/package.mask,
  arch/powerpc/ChangeLog, arch/powerpc/package.mask, arch/s390/ChangeLog,
  arch/s390/package.mask, arch/sparc/ChangeLog, +arch/sparc/package.mask,
  arch/x86/ChangeLog, arch/x86/package.mask, package.mask:
  move texlive mask from global to arch profiles, bug #475124

  11 Aug 2013; Justin Lecher <jlec@gentoo.org> ChangeLog:
  Masked sci-libs/mccp4 for removal

  11 Aug 2013; Justin Lecher <jlec@gentoo.org> license_groups:
  Add nvidia cuda license to EULA group, #466576

  11 Aug 2013; Hans de Graaff <graaff@gentoo.org> package.mask:
  Mask more ruby18-only packages for removal.

  10 Aug 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  unmask multilib attr, glib and tiff4

  10 Aug 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  mask multilib tiff

  10 Aug 2013; Anthony G. Basile <blueness@gentoo.org> ChangeLog:
  profiles/default/linux: Mask php and mono for xapian-bindings pending more
  testing

  10 Aug 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  mask multilib glib

  10 Aug 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  mask multilib attr

  10 Aug 2013; Ole Markus With <olemarkus@gentoo.org> package.mask:
  Masking dev-php/symfony for removal

  10 Aug 2013; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Mask upcoming poppler-0.24 until stuff builds with it

  09 Aug 2013; Alexis Ballier <aballier@gentoo.org>
  -releases/freebsd-9.0/ChangeLog, -releases/freebsd-9.0/package.mask,
  -releases/freebsd-9.0/packages, -releases/freebsd-9.0/parent:
  Remove EOL fbsd 9.0 profile

  09 Aug 2013; Kacper Kowalik <xarthisius@gentoo.org>
  arch/amd64/package.use.mask, arch/x86/package.use.mask,
  base/package.use.mask, hardened/linux/package.use.mask:
  Mask GPU related flags for sys-apps/hwloc on most profiles

  09 Aug 2013; Michael Weber <xmw@gentoo.org> use.desc:
  Global use flag "git"

  08 Aug 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Mask revision of sys-auth/polkit using the masked dev-lang/spidermonkey:17.

  08 Aug 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Unmask multilib libusb, libusbx, libusb-compat and udev.

  08 Aug 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Mask virtual & -bin for PyPy as well.

  08 Aug 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Mask multilib systemd.

  08 Aug 2013; Patrick Lauer <patrick@gentoo.org> package.mask:
  Add turbogears to python-2.5 mask, move tg-* mask to the same location

  08 Aug 2013; Tim Harder <radhermit@gentoo.org> package.mask:
  Revert dev-python/futures mask.

  07 Aug 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Mask Python 2.5, 3.1 and PyPy 1.9. Bug #480070.

  07 Aug 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Update mesa-9.2 mask message again.

  07 Aug 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Temporarily mask multilib copies of libusb, libusbx and libusb-compat.

  07 Aug 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  unmask multilib expat

  07 Aug 2013; Ben de Groot <yngwin@gentoo.org> base/package.use.mask:
  Mask razor useflag on newer lightdm, bug #479734

  06 Aug 2013; Christian Faulhammer <fauli@gentoo.org> package.mask:
  mask dev-vcs/bzr-svn for removal, see bug 474518

  06 Aug 2013; Ulrich Müller <ulm@gentoo.org> use.desc:
  Remove unused nocxx flag.
  Make USE flag descriptions more uniform, use imperative form throughout.

  05 Aug 2013; Ulrich Müller <ulm@gentoo.org> use.desc:
  Remove unused kdeprefix flag.

  05 Aug 2013; Mike Gilbert <floppym@gentoo.org>
  desc/python_single_target.desc, desc/python_targets.desc:
  Add pypy2_1.

  04 Aug 2013; Mike Gilbert <floppym@gentoo.org> package.mask:
  Remove mask on grub snapshot.

  04 Aug 2013; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Mask geocode-glib-0.99.1 due to API break until reverse deps are patched (bug
  #479458)

  03 Aug 2013; Michał Górny <mgorny@gentoo.org> updates/3Q-2013:
  Move dev-python/twisted to dev-python/twisted-core.

  03 Aug 2013; Sergey Popov <pinkbyte@gentoo.org> desc/linguas.desc:
  Add English locale for Australia

  03 Aug 2013; Hans de Graaff <graaff@gentoo.org> updates/3Q-2013:
  Move builder 3.2.2 to the 3.2 slot as it should have been from the start.
  Fixes bug 479338.

  02 Aug 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Remove entry for media-tv/tvtime because it was removed from tree.

  02 Aug 2013; Jeroen Roovers <jer@gentoo.org> package.mask:
  Mask all revisions of net-analyzer/nmap-6.40.

  02 Aug 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Temporarily mask new multilib converted dev-libs/expat.

  01 Aug 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  unmask multilib jpeg6b

  01 Aug 2013; Ian Delaney <idella4@gentoo.org> package.mask:
  Temporarily mask dev-util/reviewboard-1.7.12, awaits
  dep Djblets bump

  01 Aug 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Temporarily mask =media-libs/jpeg-6b-r10 with multilib conversion.

  01 Aug 2013; Davide Pesavento <pesa@gentoo.org> package.mask:
  Unmask >=net-libs/qmf-4

  31 Jul 2013; Matt Turner <mattst88@gentoo.org> package.mask:
  Mask dev-perl/gnome2-gconf for removal.

  31 Jul 2013; Matt Turner <mattst88@gentoo.org> desc/abi_mips.desc:
  Add ABI descriptions.

  31 Jul 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  unmask multilib libv4l

  31 Jul 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  unmask multilib jpegs and libpng12

  31 Jul 2013; Pawel Hajdan jr <phajdan.jr@gentoo.org>
  eapi-5-files/package.use.stable.mask:
  Unmask system-ffmpeg USE flag for www-client/chromium now that there is a
  stable ffmpeg to satisfy it.

  31 Jul 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  remove llvm multilib mask

  31 Jul 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Temporarily mask new libjpeg-turbo revision and libpng12 revision with
  initial conversion to the new multilib format.

  31 Jul 2013; Jeroen Roovers <jer@gentoo.org> package.mask:
  Mask net-analyzer/nmap-6.40 as it needs masked >=dev-lang/lua-5.2.

  30 Jul 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  unmask multilib ready udis86, libpng and libffi

  30 Jul 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Pure-multilib emul-linux-x86-xlibs has been removed, drop the mask as well.

  30 Jul 2013; Matt Turner <mattst88@gentoo.org> releases/make.defaults:
  Drop gpm from default release USE flags, bug 449364.

  30 Jul 2013; Matt Turner <mattst88@gentoo.org> default/linux/packages.build:
  Drop sys-apps/texinfo from packages.build, bug 471192.
  default/linux/packages.build

  29 Jul 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  remove useless mask on portaudio since its not in tree

  29 Jul 2013; Matt Turner <mattst88@gentoo.org> +desc/abi_mips.desc:
  Add abi_mips.desc.

  29 Jul 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  remove mask on multilib libsamplerate, libsndfile and twolame

  29 Jul 2013; Sergey Popov <pinkbyte@gentoo.org> -desc/misdn_cards.desc:
  Drop MISDN_CARDS, wrt bug #471796

  28 Jul 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  unmask multilib wavpack

  28 Jul 2013; Mike Gilbert <floppym@gentoo.org> package.mask:
  Mask new grub snapshot for testing.

  28 Jul 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  remove mask for multilib bzip2 and zlib so that I can start fixing packages
  depending on them

  28 Jul 2013; Justin Lecher <jlec@gentoo.org> package.mask:
  Second alpha for testing

  28 Jul 2013; Justin Lecher <jlec@gentoo.org> package.mask:
  First alpha for testing

  27 Jul 2013; Matt Turner <mattst88@gentoo.org> default/linux/packages.build:
  Add app-arch/xz-utils to stage1.

  26 Jul 2013; Tim Harder <radhermit@gentoo.org> package.mask:
  Mask =sys-devel/bison-3* for testing.

  26 Jul 2013; Marien Zwart <marienz@gentoo.org> package.mask:
  Mask sys-kernel/gentoo-sources-3.10.3 for unapplied patch (installs 3.10.2)
  (#478200).

  25 Jul 2013; Pacho Ramos <pacho@gentoo.org> arch/alpha/package.use.mask,
  arch/sparc/package.use.mask, arch/x86/package.use.mask:
  Mask use flag due missing keywords, bug #478104

  25 Jul 2013; Jeroen Roovers <jer@gentoo.org> arch/amd64/package.use.mask:
  Remove $ at end of comment lines.

  25 Jul 2013; Pacho Ramos <pacho@gentoo.org> arch/amd64-fbsd/package.use.mask:
  Mask gnome-base/gvfs gnome-online-accounts mtp USEs due missing keywords

  25 Jul 2013; Pacho Ramos <pacho@gentoo.org> arch/alpha/package.use.mask,
  arch/sparc/package.use.mask:
  Mask cups USE for g-c-c 3.8 due missing keywords #444688

  25 Jul 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Unmask Gnome 3.8

  24 Jul 2013; Julian Ospald <hasufell@gentoo.org> package.mask:
  add bug tracker no. to masking reason of net-libs/libotr

  23 Jul 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Remove entry for sys-apps/module-init-tools because it's no longer in tree.

  23 Jul 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Mask the new media-libs/glu multilib revbump.

  23 Jul 2013; Tim Harder <radhermit@gentoo.org> package.mask:
  Unmask =sys-fs/s3ql-2*.

  22 Jul 2013; Alexis Ballier <aballier@gentoo.org> updates/3Q-2013:
  move dev-ml/zero to core_kernel where it has been merged

  22 Jul 2013; Michael Weber <xmw@gentoo.org> package.mask:
  Mask new binary rpi kernel image, adjust other rpi masks, fix mask timestamp

  21 Jul 2013; Julian Ospald <hasufell@gentoo.org> package.mask:
  rather mask all sci-geosciences/googleearth versions

  21 Jul 2013; Julian Ospald <hasufell@gentoo.org> package.mask:
  mask broken googleearth versions

  21 Jul 2013; Pacho Ramos <pacho@gentoo.org> use.desc:
  Add connman to global
  (http://gentoo.2317880.n4.nabble.com/Make-connman-a-global-USE-flag-td46400.h
  tml)

  21 Jul 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Mask multilib LLVM and clang meta-package requiring it for testing.

  21 Jul 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Mask packages for removal

  21 Jul 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Clean obsolete entries

  21 Jul 2013; Hans de Graaff <graaff@gentoo.org> package.mask:
  Mask ruby18-only packages in dev-ruby for removal.

  21 Jul 2013; Julian Ospald <hasufell@gentoo.org> package.mask:
  remove mask entry, because bug is fixed

  20 Jul 2013; Julian Ospald <hasufell@gentoo.org> package.mask:
  mask profile-sync-daemon

  20 Jul 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Raise the multilib copy of libpng from 1.6.2-r1 to 1.6.3-r1.

  20 Jul 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  unmask ffmpeg 1.2

  20 Jul 2013; Pacho Ramos <pacho@gentoo.org> arch/alpha/package.use.mask,
  arch/arm/package.use.mask, arch/ia64/package.use.mask,
  arch/powerpc/package.use.mask, arch/sparc/package.use.mask,
  arch/x86/package.use.mask:
  Mask due keywords pending, bug #476710

  20 Jul 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  d-feet is now fixed

  19 Jul 2013; Patrick Lauer <patrick@gentoo.org> package.mask:
  Drop qt 4.8.5 mask

  18 Jul 2013; Jeroen Roovers <jer@gentoo.org> package.mask:
  Remove =x11-misc/xlockmore-5.42 mask.

  18 Jul 2013; Mike Gilbert <floppym@gentoo.org> package.mask:
  Update chromium dev channel mask for M30.

  17 Jul 2013; Michael Weber <xmw@gentoo.org> package.mask:
  Mask Raspberry Pi upstream next versions.

  17 Jul 2013; Justin Lecher <jlec@gentoo.org> package.mask:
  Mask sci-biology/allpaths to force conversion to sci-biology/allpathslg

  16 Jul 2013; Julian Ospald <hasufell@gentoo.org>
  hardened/linux/amd64/no-multilib/package.mask:
  mask games-action/intrusion2 for hardened multilib

  16 Jul 2013; Julian Ospald <hasufell@gentoo.org>
  hardened/linux/amd64/no-multilib/package.mask:
  mask games-action/awesomenauts for hardened multilib

  16 Jul 2013; Mikle Kolyada <zlogene@gentoo.org> package.mask:
  Mask dev-perl/Date-ISO for removal.

  16 Jul 2013; Julian Ospald <hasufell@gentoo.org>
  hardened/linux/amd64/no-multilib/package.mask:
  mask games-rpg/dear-esther for hardened multilib

  16 Jul 2013; Julian Ospald <hasufell@gentoo.org>
  hardened/linux/amd64/no-multilib/package.mask:
  mask games-misc/little-inferno for hardened multilib

  16 Jul 2013; Julian Ospald <hasufell@gentoo.org> license_groups:
  add Gameplay-Group-EULA to EULA license group

  16 Jul 2013; Fabio Erculiani <lxnay@gentoo.org> thirdpartymirrors:
  update sabayon mirrors

  16 Jul 2013; Hans de Graaff <graaff@gentoo.org> package.mask:
  Mask dev-ruby/fssm for removal.

  16 Jul 2013; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Remove obsolete gdm-2.3* mask, these are gone from the tree

  15 Jul 2013; Julian Ospald <hasufell@gentoo.org> package.mask:
  mask libffi due to multilib conversion

  15 Jul 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite media-sound/alsa-headers as part of the process of moving the
  headers to the sys-kernel/linux-headers package wrt #468712

  14 Jul 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  media-sound/line6usb is no more because it was abadoned and broken, remove
  entry

  13 Jul 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Update Gnome 3.8 mask

  12 Jul 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Add multilib udis86 to the p.mask.

  12 Jul 2013; Ian Delaney <idella4@gentoo.org> package.mask:
  dev-python/elixir purged, see Bug #472496

  12 Jul 2013; Sergei Trofimovich <slyfox@gentoo.org> package.mask:
  Mask live ebuild for 'app-misc/mc'.

  12 Jul 2013; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Remove obsolete mask on dev-util/lafilefixer

  11 Jul 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Remove mask on xf86-input-citron which has been dropped.

  11 Jul 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  mask pwlib/openh323 for removal, bug #290062 and #290063.

  11 Jul 2013; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Adjust masks on xchat-related stuff

  11 Jul 2013; Pacho Ramos <pacho@gentoo.org>
  targets/desktop/gnome/make.defaults:
  Enable introspection for gnome profile as discussed with the team via mail

  11 Jul 2013; Jeroen Roovers <jer@gentoo.org> package.mask:
  Remove mtr-0.83 mask.

  10 Jul 2013; Justin Lecher <jlec@gentoo.org> package.mask:
  Drop obsolete entries

  10 Jul 2013; Lars Wendler <polynomial-c@gentoo.org> package.mask:
  Added mask for sys-libs/db-6.0*

  09 Jul 2013; Hans de Graaff <graaff@gentoo.org> base/package.use.force:
  Make sure ruby20-only virtual get the right USE flags. Thanks to Arfrever for
  noticing.

  09 Jul 2013; Michael Weber <xmw@gentoo.org> package.mask:
  Remove dev-scheme/chicken mask

  09 Jul 2013; Davide Pesavento <pesa@gentoo.org> package.mask:
  Mask Qt 4.8.5

  09 Jul 2013; Hanno Boeck <hanno@gentoo.org> package.mask:
  Mask deprecated openvas-packages.

  09 Jul 2013; <creffett@gentoo.org> package.mask:
  Mask tg-widgets-scriptaculous and tg-widgets-lightbox for lastrite, bug
  284890.

  09 Jul 2013; Michael Weber <xmw@gentoo.org> package.mask:
  Masked <net-ftp/proftpd-1.3.4c for security bug 450746, CVE-2012-6095

  08 Jul 2013; Michael Weber <xmw@gentoo.org> package.mask:
  Masked <sys-kernel/openvz-sources-2.6.32.76.8 for security bug 469956,
  CVE-2013-2094

  08 Jul 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Drop boost-1.53 mask, bug #474876.

  08 Jul 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Update syslinux mask for new prerelease.

  08 Jul 2013; Michael Weber <xmw@gentoo.org> package.mask:
  Fix typo/invalid token

  08 Jul 2013; Michael Weber <xmw@gentoo.org> package.mask:
  Mask dev/scheme/chicken-4.8.0.3-r1 for testing/approval, bugs 467966 469392
  462458

  08 Jun 2013; Tom Wijsman <TomWij@gentoo.org> package.mask:
  Remove mask on dev-java/pat, USE=doc works after a trivial fix.

  08 Jun 2013: Vicente Olivert Riera <vincent@gentoo.org>
  package.mask: Fails to install. Maintainer suggested treeclean.
  Masked for removal in 30 days, bug #440670.

  07 Jun 2013; Rick Farina <zerochaos@gentoo.org>
  package.mask: removing gnuradio-3.7 and gr-osmosdr-0.1.0/gr-iqbal
  masks now that upstream has a working release

  07 Jun 2013; Rick Farina <zerochaos@gentoo.org>
  package.mask: adding gr-iqbal-0.37.0 and gr-osmosdr-0.1.0, they don't
  work together due to upstream issues

  07 Jun 2013; Rick Farina <zerochaos@gentoo.org>
  package.mask: masking gnuradio-3.7 because basically nothing works
  with it

  06 Jul 2013; Ulrich Müller <ulm@gentoo.org> +updates/3Q-2013:
  Move app-emacs/gentoo-syntax to app-emacs/ebuild-mode.
  Move app-xemacs/gentoo-syntax to app-xemacs/ebuild-mode.

  04 Jul 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Unmask telepathy-logger-0.8 as requested by Johu on IRC (thanks also to
  Gilles for testing it doesn't break on gnome-shell/empathy 3.6)

  03 Jul 2013; Anthony G. Basile <blueness@gentoo.org> package.mask:
  Remove mask on cgminer, bug #442254

  03 Jul 2013; Christoph Junghans <ottxor@gentoo.org> package.mask:
  drop obsolete media-sound/google-musicmanager mask

  03 Jul 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Clean gtkmm mask as broken version was removed

  03 Jul 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Mask syslinux prerelease.

  01 Jul 2013; Davide Pesavento <pesa@gentoo.org> package.mask:
  Mask new net-libs/qmf releases.

  30 Jun 2013; Anthony G. Basile <blueness@gentoo.org> package.mask:
  Mask net-misc/cgminer for removal, bug #442254

  30 Jun 2013; Tom Wijsman <TomWij@gentoo.org> package.mask:
  Sun JDK and JRE contain critical vulnerabilities and receive no further
  updates; masking to make users aware of this, users that still need this
  package and have no alternative can unmask at their own risk. See bug #473830.

  30 Jun 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Update Gnome 3.8 mask

  30 Jun 2013; Joerg Bornkessel <hd_brummy@gentoo.org> package.mask:
  media-plugins/vdr-music-0.9.9 temp masked for testing, wrt bug 474888

  30 Jun 2013; Hans de Graaff <graaff@gentoo.org> thirdpartymirrors:
  Add new official download location for ruby gems.

  30 Jun 2013; Hans de Graaff <graaff@gentoo.org> thirdpartymirrors:
  Remove two mirrors that no longer carry ruby distributions.

  29 Jun 2013; Ulrich Müller <ulm@gentoo.org> license_groups:
  Remove unused licenses.

  28 Jun 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  Add some comments as of why the remaining multilib media libs are still
  masked

  27 Jun 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  unmask multilib libmikmod

  27 Jun 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  mask dev-texlive/*-2013

  27 Jun 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  mask latest bibtexu for tl 2013

  27 Jun 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  move luatex mask to the texlive 2013 mask

  27 Jun 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  start to mask texlive 2013 packages

  26 Jun 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  unmask multilib version of audiofile, alsa-lib, flac and
  webrtc-audio-processing. leave flac 1.3 masked for now

  26 Jun 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  mask new libva/intel-driver

  26 Jun 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  unmask libmodplug, libogg, libvorbis and gsm multilib ebuilds.

  26 Jun 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  unmask multilib xvid

  26 Jun 2013; Luca Barbato <lu_zero@gentoo.org> package.mask:
  Unmask packages depending on libav-9

  26 Jun 2013; Joerg Bornkessel <hd_brummy@gentoo.org> package.mask:
  removed pmask for media-plugins/vdr-vdrcd, removal

  26 Jun 2013; Luca Barbato <lu_zero@gentoo.org> package.mask:
  Unmask virtual/ffmpeg-9

  26 Jun 2013; Julian Ospald <hasufell@gentoo.org> package.mask:
  mask >=games-emulation/sdlmame-0.149 and >=games-emulation/sdlmess-0.149

  26 Jun 2013; Aaron W. Swenson <titanofold@gentoo.org> package.mask:
  Add PostGIS beta package mask.

  26 Jun 2013; Patrick Lauer <patrick@gentoo.org> package.mask:
  Reverting revert of lame and libvpx unmasking

  26 Jun 2013; Patrick Lauer <patrick@gentoo.org> package.mask:
  Masking multilib versions of lame and libvpx that conflict with
  app-emulation/emul-linux-x86-medialibs

  25 Jun 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  unmask multilib lame

  25 Jun 2013; Michael Weber <xmw@gentoo.org> package.mask:
  broken hotot was removed

  25 Jun 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Mask new ptlib/opal for breakage, tracked in bug #474742

  25 Jun 2013; Sergey Popov <pinkbyte@gentoo.org> desc/linguas.desc:
  Add tg_TJ locale description

  25 Jun 2013; Tim Harder <radhermit@gentoo.org> package.mask:
  Unmask =media-libs/libraw-0.15*.

  25 Jun 2013; Michael Weber <xmw@gentoo.org> package.mask:
  Remove mask for oyranos-0.9.4

  23 Jun 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Mask libpng with multilib support next to sys-libs/zlib wrt #474356, #457134

  23 Jun 2013; Joerg Bornkessel <hd_brummy@gentoo.org> package.mask:
  mask for removal ~2013/07/23, depends on wrt bug 474480 155253 414177

  23 Jun 2013; Hans de Graaff <graaff@gentoo.org> desc/ruby_targets.desc:
  Add ruby20 RUBY_TARGETS USE_EXPAND description.

  23 Jun 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Mask packages currently included in emul-linux-x86-baselibs that are
  incorporating native multilib support (as requested by mgorny via IRC for a
  bit more testing)

  22 Jun 2013; Luca Barbato <lu_zero@gentoo.org> package.mask:
  Unleash libav-9 to the tree

  22 Jun 2013; Ian Delaney <idella4@gentoo.org> package.mask:
  remove ets package list from package.mask, 42 days passed"

  21 Jun 2013; Joerg Bornkessel <hd_brummy@gentoo.org> package.mask:
  remove pmaks for media-plugins/vdr-director removal, removed from tree

  19 Jun 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  mask multilib lame

  19 Jun 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Update mesa mask for opencl.

  19 Jun 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  mask multilib media-libs/xvid

  19 Jun 2013; Sébastien Fabbro <bicatali@gentoo.org> package.mask:
  Masked >=sci-mathematics/glpk-4.49

  18 Jun 2013; Alexis Ballier <aballier@gentoo.org>
  -releases/freebsd-8.0/ChangeLog, -releases/freebsd-8.0/package.mask,
  -releases/freebsd-8.0/package.use.mask, -releases/freebsd-8.0/packages,
  -releases/freebsd-8.0/parent:
  remove freebsd-8.0 profiles

  18 Jun 2013; Alexis Ballier <aballier@gentoo.org>
  -releases/freebsd-7.2/ChangeLog, -releases/freebsd-7.2/make.defaults,
  -releases/freebsd-7.2/package.mask, -releases/freebsd-7.2/package.use.mask,
  -releases/freebsd-7.2/packages, -releases/freebsd-7.2/parent:
  remove freebsd-7.2 profiles

  18 Jun 2013; Bernard Cafarelli <voyageur@gentoo.org> package.mask:
  Remove mask on llvm release candidates

  18 Jun 2013; Alexis Ballier <aballier@gentoo.org> profiles.desc:
  remove x86-fbsd 9.0 profile

  18 Jun 2013; Anthony G. Basile <blueness@gentoo.org>
  arch/amd64/package.use.mask, arch/arm/package.use.mask,
  arch/mips/package.use.mask, arch/powerpc/package.use.mask,
  arch/x86/package.use.mask, base/package.use.mask:
  Fix use masking for net-libs/cyassl[aes-ni], bug #470220

  18 Jun 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Suggest some alternatives to net-im/qutecom.

  18 Jun 2013; Michael Weber <xmw@gentoo.org> package.mask:
  fixed multilib dep

  18 Jun 2013; Patrick Lauer <patrick@gentoo.org> package.mask:
  Masking libsvgtiny version with unsatisfiable multilib deps

  17 Jun 2013; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Mask sys-fs/archfs for removal

  17 Jun 2013; Tomáš Chvátal <scarabeus@gentoo.org> package.mask:
  bump libav version in mask.

  17 Jun 2013; Patrick Lauer <patrick@gentoo.org> package.mask:
  Remove unneeded evolution-{exchange,groupwise} mask

  16 Jun 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Unmask networkmanager related stuff as demanded by johu on IRC

  16 Jun 2013; Pacho Ramos <pacho@gentoo.org> use.desc:
  Add vala to global USE flags:
  http://www.gossamer-threads.com/lists/gentoo/dev/273251

  16 Jun 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  rox-clib is still needed

  16 Jun 2013; Patrick Lauer <patrick@gentoo.org> package.mask:
  Reverting rox-clib mask that breaks deps for most of rox-base and rox-extra

  16 Jun 2013; Anthony G. Basile <blueness@gentoo.org> base/make.defaults,
  base/package.mask, base/use.mask, desc/elibc.desc:
  Add ELIBC=musl and mask it as it can break systems

  15 Jun 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Mask some packages for removal

  15 Jun 2013; Anthony G. Basile <blueness@gentoo.org> desc/linguas.desc:
  Add country specific locales for Afrikaans, Latvian and Thai

  15 Jun 2013; Tim Harder <radhermit@gentoo.org> package.mask:
  Masked =sys-fs/s3ql-2* for testing.

  14 Jun 2013; Anthony G. Basile <blueness@gentoo.org>
  -hardened/linux/uclibc/arm/armv4/make.defaults,
  -hardened/linux/uclibc/arm/armv4/parent,
  -hardened/linux/uclibc/arm/armv4t/make.defaults,
  -hardened/linux/uclibc/arm/armv4t/parent,
  -hardened/linux/uclibc/arm/armv5te/make.defaults,
  -hardened/linux/uclibc/arm/armv5te/parent,
  hardened/linux/uclibc/arm/armv6j/make.defaults,
  hardened/linux/uclibc/arm/armv7a/make.defaults:
  hardened/linux/uclibc/arm: drop support <arm6j, default to hardfloat

  14 Jun 2013; Michael Weber <xmw@gentoo.org> package.mask:
  unmask net-misc/hotot-0.9.8.14

  13 Jun 2013; Michael Weber <xmw@gentoo.org> package.mask:
  drop mask from media-libs/openjpeg:2 (bug 440086)

  12 Jun 2013; Michael Weber <xmw@gentoo.org> package.mask:
  Twitter API 1.0 was turned off, rendering this versions useless.

  12 Jun 2013; Johannes Huber <johu@gentoo.org> package.mask:
  Drop mask for kde-misc/ktouchpadenabler. Package removed from tree.

  12 Jun 2013; Aaron W. Swenson <titanofold@gentoo.org> package.mask:
  Add PostgreSQL beta/rc mask.

  12 Jun 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Update Gnome 3.8 mask

  11 Jun 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Update mask for openocd

  11 Jun 2013; Kacper Kowalik <xarthisius@gentoo.org> package.mask:
  Drop mask on =x11-libs/i3lock-2.5

  11 Jun 2013; Kacper Kowalik <xarthisius@gentoo.org> package.mask:
  Mask =x11-misc/i3lock-2.5 until x11-libs/libxkbcommon is bumped

  11 Jun 2013; Ulrich Müller <ulm@gentoo.org> base/use.mask, use.desc:
  Remove unused win32codecs global USE flag, bug 468406.

  10 Jun 2013; Bernard Cafarelli <voyageur@gentoo.org> package.mask:
  Mask release candidates for sys-devel/llvm-3.3 and friends

  09 Jun 2013; Ulrich Müller <ulm@gentoo.org> package.mask:
  Remove mask for media-libs/amd64codecs, media-libs/realcodecs, and
  media-libs/win32codecs. Packages have been removed.

  08 Jun 2013; Sebastian Pipping <sping@gentoo.org> package.mask:
  Unmask >=media-libs/freeverb3-3.0.0

  08 Jun 2013; Sergey Popov <pinkbyte@gentoo.org>
  eapi-5-files/package.use.stable.mask:
  Fix leechcraft metapackage name

  08 Jun 2013; Patrick Lauer <patrick@gentoo.org> package.mask:
  Remove desktopcouch mask

  07 Jun 2013; Sébastien Fabbro <bicatali@gentoo.org> package.mask:
  Removal of sci-visualization/udav

  07 Jun 2013; Sébastien Fabbro <bicatali@gentoo.org> package.mask:
  Removed masking of >=sci-visualization/fityk-1.1

  07 Jun 2013; Michael Weber <xmw@gentoo.org> package.mask:
  Drop mask to enable testing forward to security stabilization bug 472536

  06 Jun 2013; Denis Dupeyron <calchan@gentoo.org> package.mask:
  Unmask kicad as all of it was de-keyworded.

  06 Jun 2013; Ulrich Müller <ulm@gentoo.org> package.mask:
  Remove mask for dev-lisp/emacs-cl, package removed from tree.

  06 Jun 2013; Justin Lecher <jlec@gentoo.org> package.mask:
  Drop unnecessary coot mask

  06 Jun 2013; Michael Weber <xmw@gentoo.org> package.mask:
  Masked for testing due non-maint commit (bug 440086)

  06 Jun 2013; Ian Delaney <idella4@gentoo.org> package.mask:
  Mask dev-python/elixir for removal

  06 Jun 2013; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Mask dev-util/lafilefixer, wrt bug #289899

  06 Jun 2013; Alexandre Rostovtsev <tetromino@gentoo.org>
  targets/desktop/gnome/package.use:
  Enable USE=icu for harfbuzz for gnome profile, it's needed for webkit-gtk-2.

  05 Jun 2013; Joerg Bornkessel <hd_brummy@gentoo.org> package.mask:
  unmask media-video/vdr-2.0.2-r1

  04 Jun 2013; Joerg Bornkessel <hd_brummy@gentoo.org> package.mask:
  media-video/vdr-2.0.2-r1 temp pmasked

  04 Jun 2013; Ulrich Müller <ulm@gentoo.org> package.mask:
  Remove mask for media-fonts/adi-dsp-fonts, package removed from tree.

  03 Jun 2013; Jeroen Roovers <jer@gentoo.org> desc/linguas.desc,
  desc/xtables_addons.desc:
  Fix whitespace.

  03 Jun 2013; Jeroen Roovers <jer@gentoo.org> desc/foo2zjs_devices.desc:
  Fix whitespace.

  02 Jun 2013; Sebastian Pipping <sping@gentoo.org> package.mask:
  Mask upcoming media-libs/freeverb3-3.0.0

  02 Jun 2013; Justin Lecher <jlec@gentoo.org> package.mask:
  Drop obsolete masks

  02 Jun 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Update Gnome 3.8 mask

  02 Jun 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask qelectrotech live ebuild

  01 Jun 2013; Mike Gilbert <floppym@gentoo.org> package.mask:
  Remove dev-python/django-registration-0.8-r2 mask.

  01 Jun 2013; Michael Palimaka <kensington@gentoo.org> use.desc:
  Add new global USE flag qt5.

  01 Jun 2013; Jeroen Roovers <jer@gentoo.org> desc/linguas.desc:
  Add Haitian locale.

  01 Jun 2013; Ian Delaney <idella4@gentoo.org> package.mask:
  mask django-registration-0.8-r2

  01 Jun 2013; Jeroen Roovers <jer@gentoo.org> package.mask:
  Remove www-plugins/diamondx.

  01 Jun 2013; Anthony G. Basile <blueness@gentoo.org>
  hardened/linux/uclibc/amd64/use.mask:
  Unmask xorg's synaptics, wacom, qxl on hardened/linux/uclibc/amd64

  31 May 2013; Sergei Trofimovich <slyfox@gentoo.org>
  desc/qemu_softmmu_targets.desc, desc/qemu_user_targets.desc:
  Added new qemu targets: moxie, mipsn32, mipsn32el.

  31 May 2013; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Mask freeipmi 1.3 beta.

  30 May 2013; Anthony G. Basile <blueness@gentoo.org> profiles.desc:
  Add hardened/linux/amd64/x32 to profiles.desc

  30 May 2013; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add quake1-textures license to MISC-FREE-DOCS group, bug 470980.

  30 May 2013; Ulrich Müller <ulm@gentoo.org> package.mask:
  Remove mask for www-apache/mod_loopback and www-apache/mod_watch. Packages
  have been removed.

  30 May 2013; Jeroen Roovers <jer@gentoo.org> desc/linguas.desc:
  Fix LINGUAS description for sr_RS@cyrillic by Jouni Kosonen (bug #471742).

  30 May 2013; Michał Górny <mgorny@gentoo.org> -desc/alsa_pcm_plugins.desc:
  Drop stale ALSA_PCM_PLUGINS from USE_EXPAND. Bug #471792.

  30 May 2013; Tim Harder <radhermit@gentoo.org> updates/2Q-2013:
  Move dev-util/jedi to dev-python/jedi.

  29 May 2013; Hans de Graaff <graaff@gentoo.org> base/make.defaults:
  Change default order of RUBY_TARGETS so that ruby19 will be the default on
  new installs, bug 425138.

  29 May 2013; Jeroen Roovers <jer@gentoo.org> package.mask:
  Mask =net-analyzer/tcpreplay-3.5*.

  29 May 2013; Michael Weber <xmw@gentoo.org> desc/linguas.desc:
  Add linguas_si_LK as Sinhala locale

  29 May 2013; Patrick Lauer <patrick@gentoo.org>
  arch/amd64/no-multilib/package.mask, package.mask:
  Add coot to clipper mask as it is a dependency

  28 May 2013; Justin Lecher <jlec@gentoo.org> package.mask:
  Mask >=sci-libs/clipper-2.2 for new for new version schema

  28 May 2013; Anthony G. Basile <blueness@gentoo.org>
  hardened/linux/uclibc/x86/use.mask:
  Unmask video_cards_geode on hardened/linux/uclibc/x86, bug #458354

  28 May 2013; Anthony G. Basile <blueness@gentoo.org>
  hardened/linux/uclibc/make.defaults, hardened/linux/uclibc/use.mask:
  Unmask jit and orc, but turn them off by default on hardened/linux/uclibc,
  bug #469776

  28 May 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  desc/video_cards.desc:
  Restore mistakenly dropped i965 in VIDEO_CARDS.

  28 May 2013; Anthony G. Basile <blueness@gentoo.org> base/make.defaults,
  desc/monkeyd_plugins.desc:
  Add MONKEYD_PLUGINS USE_EXPAND; ack by Chainsaw

  28 May 2013; Rafael G. Martins <rafaelmartins@gentoo.org> package.mask:
  Update luajit mask

  27 May 2013; Alexandre Rostovtsev <tetromino@gentoo.org>
  targets/desktop/gnome/package.use:
  Enable ibus[dconf] in gnome profile for gnome-shell.

  27 May 2013; Mike Gilbert <floppym@gentoo.org> package.mask:
  Mask dev-python/imaging-2.0.0 for testing.

  27 May 2013; Maxim Koltsov <maksbotan@gentoo.org> package.mask:
  Mask new media-libs/ffmpegsource snapshot due to ffmpeg-9

  27 May 2013; Ulrich Müller <ulm@gentoo.org> package.mask:
  Remove mask for sys-apps/kuroevtd, app-admin/addpatches, app-text/duconv, and
  media-sound/timidity-shompatches. Packages have been removed.

  26 May 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  desc/video_cards.desc:
  Add ilo to VIDEO_CARDS

  26 May 2013; Joerg Bornkessel <hd_brummy@gentoo.org> package.mask:
  media-plugins/vdr-vdrcd pmasked for removal ~ 26 Jun 2013

  26 May 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Update gnome 3.8 mask

  25 May 2013; Tom Wijsman <TomWij@gentoo.org> package.mask:
  Remove very old media-sound/teamspeak-server-bin mask I didn't notice
  when taking maintainership of this package, there is no reason for
  TeamSpeak 3 to still be masked; the only relevant masking reason I could
  find was a security bug for TeamSpeak 2 which does not affect TeamSpeak 3.

  25 May 2013; Justin Lecher <jlec@gentoo.org> package.mask:
  Masked sys-fs/aufs2

  25 May 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask dev-embedded/openocd-{0.7.0,9999}

  25 May 2013; Ben de Groot <yngwin@gentoo.org> package.mask:
  Remove freetype:1 mask, as relevant ebuilds have been tree-cleaned

  24 May 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Drop the hardmask as mono-3 is not yet considered as 'stable' by upstream
  simply because of its MacOSX support (it's considered stable for Linux and
  the rest)

  24 May 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Unmask openocd-0.6.1

  24 May 2013; Alexis Ballier <aballier@gentoo.org> desc/fftools.desc:
  describe ffhash in fftools use exapnd

  24 May 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  update ffmpeg 1.1 mask reason with more details

  23 May 2013; Pawel Hajdan jr <phajdan.jr@gentoo.org> package.mask:
  Roll chromium dev channel masks for chromium-29.x.

  23 May 2013; Julian Ospald <hasufell@gentoo.org> package.mask:
  unmask media-gfx/blender-2.66 now that dev-lang/python:3.3 is unmasked

  23 May 2013; Tiziano Müller <dev-zero@gentoo.org> base/make.defaults,
  desc/nginx_modules_http.desc:
  Fix description for nginx_modules_http_degradation and add description for
  nginx_modules_http_dav_ext.

  22 May 2013; Hans de Graaff <graaff@gentoo.org> updates/2Q-2013:
  Slotmove versions of dev-ruby/mocha into their new slots.

  22 May 2013; Tim Harder <radhermit@gentoo.org> package.mask:
  Mask testing releases of quvi, libquvi, and libquvi-scripts.

  21 May 2013; Johannes Huber <johu@gentoo.org> package.mask:
  Drop mask for net-im/net-im/ktp-contact-applet, net-im/ktp-presence-applet.
  Packages removed from tree.

  21 May 2013; Patrick Lauer <patrick@gentoo.org> package.mask:
  Removing useless mongodb mask

  21 May 2013; Patrick Lauer <patrick@gentoo.org> package.mask:
  Masking g-ctan for broken dependencies #470712

  20 May 2013; Joerg Bornkessel <hd_brummy@gentoo.org> package.mask:
  media-plugins/vdr-director masked for removal, bug 424277

  20 May 2013; Tomáš Chvátal <scarabeus@gentoo.org> package.mask:
  Update p.mask entry for libav.

  20 May 2013; Ole Markus With <olemarkus@gentoo.org> package.mask:
  Masking the rest of the ezc packages for removal

  19 May 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Masking x11-themes/pekwm-themes-hewphoria due to licensing issues. Bug
  #452418

  18 May 2013; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Remove mask of akonadi-google, since it is still needed for kdepim-4.4

  16 May 2013; Magnus Granberg <zorry@gentoo.org> hardened/ChangLog:
  Add new ChangLog for hardened profile

  16 May 2013; Maxim Koltsov <maksbotan@gentoo.org> package.mask:
  Mask =media-video/mplayer2-2.0_p20130428.ebuild as it needs ffmpeg-9

  16 May 2013; Patrick Lauer <patrick@gentoo.org> package.mask:
  Mask broken dev-db/desktopcouch

  15 May 2013; Michael Weber <xmw@gentoo.org> package.mask:
  remove sci-electronics/xcircuit-3.8 package mask

  14 May 2013; Tiziano Müller <dev-zero@gentoo.org>
  desc/nginx_modules_http.desc:
  Add USE expand description for naxsi in nginx.

  14 May 2013; Ian Delaney <idella4@gentoo.org> package.mask:
  Replaced dev-python/ets packages with revised list for masking

  14 May 2013; Ryan Hill <dirtyepic@gentoo.org> package.mask:
  Removed dev-util/dialogblocks dev-util/helpblocks.

  13 May 2013; Johannes Huber <johu@gentoo.org> package.mask:
  Mask kde-misc/ktouchpadenabler for removal.

  13 May 2013; Ulrich Müller <ulm@gentoo.org> arch/amd64-fbsd/use.mask,
  arch/x86-fbsd/use.mask, arch/x86/package.use.mask, arch/x86/use.mask,
  package.mask, prefix/darwin/macos/10.4/x86/use.mask,
  prefix/darwin/macos/10.5/x64/use.mask, prefix/darwin/macos/10.5/x86/use.mask,
  prefix/darwin/macos/10.6/x64/use.mask, prefix/darwin/macos/10.6/x86/use.mask,
  prefix/darwin/macos/10.7/x64/use.mask, prefix/darwin/macos/10.7/x86/use.mask,
  prefix/darwin/macos/10.8/x64/use.mask, prefix/darwin/macos/10.8/x86/use.mask,
  uclibc/x86/use.mask:
  Mask media-libs/{amd64,real,win32}codecs for removal, bugs 468406 and 468370.

  13 May 2013; Tomáš Chvátal <scarabeus@gentoo.org> updates/2Q-2013:
  Move wpd2odt to writerperfect

  13 May 2013; Tiziano Müller <dev-zero@gentoo.org>
  desc/nginx_modules_http.desc:
  Add use flag descriptions for
  nginx_modules_http_{gunzip,metrics,upstream_check} (bug #469534).

  13 May 2013; Alexandre Rostovtsev <tetromino@gentoo.org> desc/linguas.desc:
  Add sr_RS@cyrillic and sr_RS@latin locales; used by app-emulation/wine.

  13 May 2013; Ian Delaney <idella4@gentoo.org> package.mask:
  unfix envisagecore mask

  13 May 2013; Patrick Lauer <patrick@gentoo.org> package.mask:
  Fix envisagecore mask

  13 May 2013; Patrick Lauer <patrick@gentoo.org> package.mask:
  Adding app-text/tex-guy to freetype-1 mask

  12 May 2013; Johannes Huber <johu@gentoo.org> updates/2Q-2013:
  Move libkfbapi from cat kde-misc to net-libs.

  12 May 2013; Ian Delaney <idella4@gentoo.org> package.mask:
  Mask dev-python/blockcanvas, dev-python/etsdevtools,
  dev-python/envisagecore for removal

  12 May 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Update Gnome 3.8 entry

  12 May 2013; Samuli Suominen <ssuominen@gentoo.org> license_groups:
  Remove clp from MISC-FREE group since the license was in fact MIT.

  12 May 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask dev-python/gdl-python for removal

  12 May 2013; Samuli Suominen <ssuominen@gentoo.org> license_groups:
  Include clp license for media-gfx/gifsicle in MISC-FREE group.

  12 May 2013; Patrick Lauer <patrick@gentoo.org> package.mask:
  Add vflib to freetype-1 mask

  12 May 2013; Patrick Lauer <patrick@gentoo.org> package.mask:
  Add yablex to blender mask, fix typo

  12 May 2013; Patrick Lauer <patrick@gentoo.org> package.mask:
  Add reverse deps of xchat to the mask

  09 May 2013; Johannes Huber <johu@gentoo.org> package.mask:
  Mask kde-misc/akonadi-google for removal.

  09 May 2013; Eray Aslan <eras@gentoo.org> package.mask:
  Remove mask for dovecot-2.2_rc - no longer in the tree

  09 May 2013; Tiziano Müller <dev-zero@gentoo.org> package.mask:
  Remove p.mask for dev-libs/dv* since removed.

  09 May 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  mask multilib gsm, bug #469108

  08 May 2013; Johannes Huber <johu@gentoo.org> package.mask:
  Remove mask on kde-base/printer-applet, kde-base/system-config-printer-kde.
  Packages have been removed.

  08 May 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  mask libdvbpsi 1.1

  07 May 2013; Sven Vermeulen <swift@gentoo.org> package.mask:
  Remove mask for python-selinux, is now removed from the tree

  07 May 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Mask the next batch of multilib conversions.

  06 May 2013; Mike Gilbert <floppym@gentoo.org> package.mask:
  Unmask dev-python/pypy-2.0_beta2.

  06 May 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Mask media-sound/line6usb wrt #468712#c4

  06 May 2013; Ulrich Müller <ulm@gentoo.org> package.mask:
  Mask dev-lisp/emacs-cl for removal, bug 466444.

  06 May 2013; Ulrich Müller <ulm@gentoo.org> package.mask:
  Mask media-fonts/adi-dsp-fonts for removal, bug 452372.

  05 May 2013; Tom Wijsman <TomWij@gentoo.org> package.mask:
  Masking media-video/handbrake until =media-video/ffmpeg-1.2 is unmasked.

  05 May 2013; Mike Gilbert <floppym@gentoo.org> package.mask:
  Mask pypy-2.0_beta2.

  05 May 2013; Tom Wijsman <TomWij@gentoo.org> package.mask:
  Dropped www-servers/meteor mask, package has been removed.

  05 May 2013; Justin Lecher <jlec@gentoo.org> package.mask:
  Drop obsolete mask entries

  05 May 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Update Gnome 3.8 mask

  05 May 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Mask multilib libsndfile before committing.

  04 May 2013; Jeroen Roovers <jer@gentoo.org> hardened/linux/package.use.mask:
  Mask USE=profile for net-analyzer/wireshark (bug #468404).

  04 May 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Update libv4l mask from 0.8.9-r1 to 0.9.5-r1.

  04 May 2013; Michał Górny <mgorny@gentoo.org>
  default/linux/package.use.mask:
  Remove USE=systemd from package.use.mask since the flag is (un)masked
  globally now.

  04 May 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Update Gnome 3.8 mask

  04 May 2013; Patrick Lauer <patrick@gentoo.org> package.mask:
  Mask gnome-extra/evolution-groupwise as it has unsatisfiable dependencies

  03 May 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Mask multilib alsa-lib.

  03 May 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Mask multilib webrtc-audio-processing.

  03 May 2013; Jeroen Roovers <jer@gentoo.org> package.mask:
  Remove x11-drivers/nvidia-drivers-319 mask.

  03 May 2013; Tim Harder <radhermit@gentoo.org> updates/2Q-2013:
  Upstream renamed sys-process/crtools to sys-process/criu.

  02 May 2013; Tom Wijsman <TomWij@gentoo.org> package.mask:
  Removed package mask on net-proxy/swiftiply, see bug #198500.

  02 May 2013; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Correct leechcraft masks

  02 May 2013; Jeroen Roovers <jer@gentoo.org> package.mask:
  Mask www-plugins/diamondx for removal.

  02 May 2013; Jeroen Roovers <jer@gentoo.org> package.mask:
  Remove development mask on net-analyzer/wireshark.

  02 May 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Mask multilib audiofile before committing.

  02 May 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Update Gnome 3.8 mask

  02 May 2013; Ian Delaney <idella4@gentoo.org> package.mask:
  unmask celery-3.0.19

  01 May 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Mask new multilib libvorbis & flac.

  01 May 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Mask (temporarily) new libogg with autotools-multilib.eclass inherit.

  01 May 2013; Ulrich Müller <ulm@gentoo.org> package.mask:
  Mask www-apache/mod_watch and www-apache/mod_loopback for removal, bugs
  464934 and 464938.

  01 May 2013; Kacper Kowalik <xarthisius@gentoo.org> package.mask:
  x11-themes/pidgin-smileys removal due to licensing issue wrt #452420

  01 May 2013; Andrey Grozin <grozin@gentoo.org> package.mask:
  Unmasking new ebuilds for maxima, fricas, and related common-lisp stuff

  01 May 2013; Andrey Grozin <grozin@gentoo.org> arch/amd64/package.use.mask,
  arch/amd64/use.mask, arch/powerpc/use.mask, arch/sparc/use.mask,
  arch/x86/package.use.mask, arch/x86/use.mask, base/package.use.mask,
  base/use.mask:
  Manage use masks gcl, cmucl, clozurecl (for maxima and fricas) centrally and
  consistently

  01 May 2013; Sebastian Pipping <sping@gentoo.org> base/package.use.mask:
  Unmask ~media-libs/gegl-0.2.0[introspection] (bug #416587)

  30 Apr 2013; Sebastian Pipping <sping@gentoo.org> base/package.use.mask:
  Unmask ~media-libs/babl-0.1.8[introspection] (bug #413663)

  29 Apr 2013; Sebastian Pipping <sping@gentoo.org> base/package.use.mask:
  Unmask ~media-libs/babl-0.1.10[introspection] (bug #413663)

  29 Apr 2013; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add Mail-Sendmail license to MISC-FREE group, bug 446164. Add GameFront
  license to EULA group, bug 467512.

  29 Apr 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Unmask freetype, fontconfig & revdeps as a result of co-maintenance agreement
  between the fonts team and multilib team.

  29 Apr 2013; Ian Delaney <idella4@gentoo.org> package.mask:
  Mask of =dev-python/celery-3.0.19.

  29 Apr 2013; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Remove unneeded mask on mplayer2 live ebuild

  28 Apr 2013; Mike Gilbert <floppym@gentoo.org> package.mask:
  Unmask python bumps.

  28 Apr 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Masking pcmanfm-qt releases for testing

  28 Apr 2013; Ulrich Müller <ulm@gentoo.org> package.mask:
  Mask media-sound/timidity-shompatches for removal, bug 441640.

  28 Apr 2013; Ulrich Müller <ulm@gentoo.org> package.mask:
  Mask media-sound/timidity-shompatches for removal, bug 441640.

  28 Apr 2013; Mike Gilbert <floppym@gentoo.org> desc/grub_platforms.desc:
  Add 'efi'.

  27 Apr 2013; Ulrich Müller <ulm@gentoo.org> package.mask:
  Mask app-text/duconv for removal, bug 444576.

  27 Apr 2013; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add Rain-Slick license to EULA group, bug 465958.

  27 Apr 2013; Jeroen Roovers <jer@gentoo.org> package.mask:
  Update wireshark mask to cover 1.10.

  27 Apr 2013; Jeroen Roovers <jer@gentoo.org> license_groups:
  Add NVIDIA-r1 to BINARY-REDISTRIBUTABLE.

  27 Apr 2013; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add CYANA license to EULA group, bug 465692.

  27 Apr 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Update Gnome 3.8 mask

  27 Apr 2013; Tomáš Chvátal <scarabeus@gentoo.org> base/make.defaults,
  desc/calligra_features.desc:
  Add author to calligra descs.

  27 Apr 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Update Gnome 3.8 mask

  27 Apr 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Remove some now unrequired entries for libpng and udev.

  26 Apr 2013; Ben de Groot <yngwin@gentoo.org> package.mask:
  Mask media-libs/freetype:1 (bug 412499)

  25 Apr 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Update Gnome 3.8 mask

  25 Apr 2013; Ulrich Müller <ulm@gentoo.org> package.mask:
  Mask app-admin/addpatches for removal.

  25 Apr 2013; Benedikt Böhm <hollow@gentoo.org> package.mask:
  remove nginx from p.mask

  25 Apr 2013; Ulrich Müller <ulm@gentoo.org> package.mask:
  Unmask x11-libs/motif-2.3.4-r1 again.

  24 Apr 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Update Gnome 3.8 mask

  24 Apr 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Update Gnome 3.8 mask

  24 Apr 2013; Ulrich Müller <ulm@gentoo.org> package.mask:
  Mask sys-apps/kuroevtd for removal, bug 441930.

  24 Apr 2013; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add baudline license to EULA group, bug 445942.

  23 Apr 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  postpone media-tv/tvtime removal as there is some activity on #424289

  23 Apr 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  app-text/gonzui gone

  23 Apr 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  net-misc/gwibber gone

  23 Apr 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Update Gnome 3.8 mask

  23 Apr 2013; Luca Barbato <lu_zero@gentoo.org> package.mask:
  Update mask for libav-9.5

  23 Apr 2013; Samuli Suominen <ssuominen@gentoo.org> desc/alsa_cards.desc:
  New alsa_cards_ca0132 description for the alsa-firmware-1.0.27 release.

  22 Apr 2013; Bernard Cafarelli <voyageur@gentoo.org> package.mask:
  Removing mask on x11-misc/google-gadgets after last rites

  21 Apr 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  sys-kernel/linuxwacom-module removed

  21 Apr 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Mask packages that depend on multilib fontconfig, bug #466456

  21 Apr 2013; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add MTA-0.5 and Primate-Plunge to EULA license group, bugs 465852 and 465850.

  20 Apr 2013; Johannes Huber <johu@gentoo.org> package.mask:
  Masked net-im/ktp-contact-applet, net-im/ktp-presence-applet for removal.

  20 Apr 2013; Andrey Grozin <grozin@gentoo.org> package.mask:
  New stuff ported from the lisp overlay and computer algebra systems
  which depend on it: masked for testing

  19 Apr 2013; Samuli Suominen <ssuominen@gentoo.org> default/linux/use.mask:
  Unmask USE="kmod" for Linux only.

  19 Apr 2013; Ben de Groot <yngwin@gentoo.org> package.mask:
  media-libs/fontconfig non-maintainer ebuild with experimental multilib features
  masked for further testing

  19 Apr 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Change mask message for ~sys-fs/udev-171 so it won't be removed before bug
  466424 is solved somehow.

  18 Apr 2013; Michael Weber <xmw@gentoo.org> package.mask:
  app-arch/advancecomp-1.17 masked due test failures

  18 Apr 2013; Tim Harder <radhermit@gentoo.org> package.mask:
  Remove mask on =app-emulation/vagrant-1.1*.

  18 Apr 2013; Tim Harder <radhermit@gentoo.org> package.mask:
  Remove mask on =mail-client/roundcube-0.9*.

  17 Apr 2013; Michał Górny <mgorny@gentoo.org> targets/desktop/package.use:
  USE=keymap has been added to sys-apps/systemd.

  17 Apr 2013; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add shmux and Dina licenses to BINARY-REDISTRIBUTABLE group, bugs 464870
  and 465102. Add canfep and Snd to MISC-FREE group, bugs 445310 and 465112.
  Add SJ-Labs license to EULA group, bug 465196.

  16 Apr 2013; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add sun-concurrent-util and sun-jlfgr licenses to BINARY-REDISTRIBUTABLE
  group, bugs 463998 and 464000.

  16 Apr 2013; Ian Stakenvicius <axs@gentoo.org> license_groups:
  Put FAH-EULA-2009 into the EULA group

  16 Apr 2013; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Mask live ebuild of mplayer2

  16 Apr 2013; Samuli Suominen <ssuominen@gentoo.org> updates/2Q-2013:
  Move alsa-firmware from media-sound category to sys-firmware category.

  16 Apr 2013; Christoph Junghans <ottxor@gentoo.org> package.mask:
  masked media-sound/google-musicmanager

  16 Apr 2013; Mike Gilbert <floppym@gentoo.org> package.mask:
  Mask the google-chrome:unstable slot so that I don't have to update it every
  6 weeks.

  16 Apr 2013; Mike Gilbert <floppym@gentoo.org> package.mask:
  Add chrome-binary-plugins to the google-chrome dev channel mask.

  15 Apr 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Release new ImageMagick >= 6.8 to ~arch now that FindImageMagick.cmake from
  dev-util/cmake is fixed.

  14 Apr 2013; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add GBuffy and totd licenses to MISC-FREE group, bugs 464770 and 465142.

  14 Apr 2013; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Remove obsolete mask on sys-kernel/openvz-sources

  14 Apr 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Mask new media-gfx/imagemagick temporarily for testing.

  14 Apr 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Mask broken libpng release to force upgrade.

  13 Apr 2013; Christoph Mende <angelos@gentoo.org>
  targets/desktop/gnome/package.use:
  Change gst-plugins-base:1.0 to >=gst-plugins-base-1.0 for EAPI0 compatibility

  13 Apr 2013; Michael Weber <xmw@gentoo.org> package.mask:
  Does not work with rdeps, mask for testing (bug #447246)

  13 Apr 2013; Alexandre Rostovtsev <tetromino@gentoo.org>
  targets/desktop/gnome/package.use:
  Enable USE=theora for gst-plugins-base:1.0 on gnome, needed for default
  gnome3 apps such as cheese.

  12 Apr 2013; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Remove obsolete mask on febootstrap

  12 Apr 2013; Thomas Kahle <tomka@gentoo.org> license_groups:
  Add the new GIMPS license to EULA group

  11 Apr 2013; Pawel Hajdan jr <phajdan.jr@gentoo.org>
  eapi-5-files/package.use.stable.mask, base/package.use.mask:
  Only mask USE=system-ffmpeg for stable www-client/chromium.

  11 Apr 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Mask gtkmm-2.24.3 due bug #464994

  11 Apr 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Update gnome 3.8 mask

  11 Apr 2013; <leio@gentoo.org> package.mask:
  Remove mask on gdk-pixbuf-2.28 as it should work fine with earlier gtk+ and
  to slightly coincide with libpng-1.6 release to ~arch a couple days ago to
  save on rebuilds for some

  11 Apr 2013; Jeroen Roovers <jer@gentoo.org> package.mask:
  Expand unstable x11-drivers/nvidia-drivers mask message.

  10 Apr 2013; Jeroen Roovers <jer@gentoo.org> package.mask:
  Mask beta Nvidia driver 319.

  11 Apr 2013; Magnus Granberg <zorry@gentoo.org>
  hardened/linux/amd64/package.mask, hardened/linux/x86/package.mask:
  Mask media-video/nvidia-settings

  09 Apr 2013; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add LambdaMOO license to MISC-FREE group, bug 465280.

  09 Apr 2013; Gilles Dartiguelongue <eva@gentoo.org> updates/2Q-2013:
  Add slotmove for net-libs/libgrss.

  09 Apr 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite sys-kernel/mkinitcpio since it's been abandoned.

  09 Apr 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Drop lastrite entry for sys-fs/device-mapper which has been removed from
  gentoo-x86 wrt #461382

  09 Apr 2013; Christoph Mende <angelos@gentoo.org> package.mask:
  Mask mail-client/postler for removal

  09 Apr 2013; Justin Lecher <jlec@gentoo.org> package.mask:
  Mask sci-chemistry/talos+-1.2009.1013.14, #465144

  09 Apr 2013; Patrick Lauer <patrick@gentoo.org> package.mask:
  Fix libcaca mask to include toilet

  09 Apr 2013; Patrick Lauer <patrick@gentoo.org> package.mask:
  Masking nodejs-0.11 to get 0.10 tested more

  08 Apr 2013; Ole Markus With <olemarkus@gentoo.org> package.mask:
  PEAR-PEAR_PackageFileManager_Cli removed from tree

  07 Apr 2013; Mike Gilbert <floppym@gentoo.org> package.mask:
  Mask new python versions.

  07 Apr 2013; Michael Palimaka <kensington@gentoo.org> package.mask:
  Remove obsolete mask for sys-auth/polkit-kde.

  07 Apr 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Update gnome-3.8 mask

  06 Apr 2013; Ryan Hill <dirtyepic@gentoo.org> package.mask:
  Mask dev-util/dialogblocks, dev-util/helpblocks for removal.

  06 Apr 2013; Sven Vermeulen <swift@gentoo.org> base/package.mask,
  features/selinux/package.mask, package.mask:
  Mask python-selinux as it is unused and unmaintained

  05 Apr 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Mask prerelease mesa snapshot.

  05 Apr 2013; Tom Wijsman <TomWij@gentoo.org> package.mask:
  Masked www-servers/meteor for removal in 30 days, different installation
  approach and bundled binaries are unsustainable.

  05 Apr 2013; Lars Wendler <polynomial-c@gentoo.org> package.mask:
  Modified mask message.

  05 Apr 2013; Ben de Groot <yngwin@gentoo.org> package.mask:
  media-libs/freetype non-maintainer ebuild with experimental multilib features
  masked for further testing

  05 Apr 2013; Jeroen Roovers <jer@gentoo.org> package.mask:
  Unmask www-client/opera-12.15.

  04 Apr 2013; Mike Gilbert <floppym@gentoo.org> package.mask:
  Update google-chrome mask for 28.x.

  04 Apr 2013; Pawel Hajdan jr <phajdan.jr@gentoo.org> package.mask:
  Roll chromium dev channel masks for chromium-28.x.

  04 Apr 2013; Ryan Hill <dirtyepic@gentoo.org> package.mask:
  Mask GCC 4.8.

  02 Apr 2013; Pacho Ramos <pacho@gentoo.org> default/linux/package.use.mask:
  Mask cdr USE flag for rhythmbox-2.97 as it needs brasero-3.4

  02 Apr 2013; Lars Wendler <polynomial-c@gentoo.org> package.mask:
  Masked net-irc/xchat for removal.

  02 Apr 2013; Samuli Suominen <ssuominen@gentoo.org>
  targets/desktop/package.use:
  Fix USE="gdu" vs. USE="udisks" conflict with current stable gnome-base/gvfs.

  02 Apr 2013; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Mask =media-libs/ffmpegsource-2.17.4_pre753 due to bug #464078

  01 Apr 2013; Michael Palimaka <kensington@gentoo.org> +updates/2Q-2013:
  Move kde-misc/print-manager to kde-base/print-manager.

  01 Apr 2013; Michael Palimaka <kensington@gentoo.org> package.mask:
  Last rites for kde-base/printer-applet and
  kde-base/system-config-printer-kde.

  01 Apr 2013; Gilles Dartiguelongue <eva@gentoo.org>
  arch/alpha/package.use.mask, arch/arm/package.use.mask,
  arch/ia64/package.use.mask:
  Mask ivorbis USE flag on media-libs/gst-plugins-base, bug #453200.

  01 Apr 2013; Gilles Dartiguelongue <eva@gentoo.org>
  arch/alpha/package.use.mask:
  Clean up package.mask, lots of keywording has been done.

  01 Apr 2013; Pacho Ramos <pacho@gentoo.org>
  eapi-5-files/package.use.stable.mask:
  Mask gedit USE flag for next stable devhelp-3.6

  31 Mar 2013; Tom Wijsman <TomWij@gentoo.org> package.mask:
  Removal of mask on dev-ruby/cgi_multipart_eof_fix, immediate
  removal was requested by flameeyes and hwoarang.

  31 Mar 2013; Tom Wijsman <TomWij@gentoo.org> package.mask:
  Masked net-proxy/swiftiply and dev-ruby/cgi_multipart_eof_fix,
  the latter will be removed in 30 days thus the former needs a fix.

  31 Mar 2013; Gilles Dartiguelongue <eva@gentoo.org> package.mask:
  Drop mask from rygel and cie, it is fine without Gnome 3.8.

  30 Mar 2013; Robin Johnson <robbat2@gentoo.org> desc/nginx_modules_http.desc:
  Add SPDY for nginx.

  30 Mar 2013; Ulrich Müller <ulm@gentoo.org> package.mask:
  Remove mask for app-emacs/yow, package removed.

  30 Mar 2013; Gilles Dartiguelongue <eva@gentoo.org> package.mask:
  Drop some more packages from Gnome 3.8 mask, they are safe.

  30 Mar 2013; Gilles Dartiguelongue <eva@gentoo.org> package.mask:
  Split DLNA stack mask out of Gnome 3.8 mask, they are most likely not
  blocking each other.

  30 Mar 2013; Gilles Dartiguelongue <eva@gentoo.org> updates/1Q-2013:
  Move old gupnp-dlna to slot 1.0.

  30 Mar 2013; Gilles Dartiguelongue <eva@gentoo.org> package.mask:
  Drop libgdata and vala from Gnome 3.8 mask, they are fine for ~arch.

  30 Mar 2013; Gilles Dartiguelongue <eva@gentoo.org> package.mask:
  Remove gtk-vnc from Gnome 3.8 mask, it has no relation to the release.

  29 Mar 2013; Aaron W. Swenson <titanofold@gentoo.org> package.mask:
  Update removal time of dev-db/postgresql-{base,docs,server}:8.3 in
  preparation of a serious security fix.

  29 Mar 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Update gnome 3.8 mask entry

  29 Mar 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Unmask new sys-apps/systemd releases since they do not introduce new
  regressions and improve the current situation.

  29 Mar 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Update gnome 3.8 mask entry

  29 Mar 2013; Pacho Ramos <pacho@gentoo.org>
  targets/desktop/gnome/make.defaults:
  Enable libsecret USE flag as it's the gnome-keyring replacement and will
  start to be used a lot.

  29 Mar 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Update gnome 3.8 mask entry

  29 Mar 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Forward-mask sys-apps/systemd-200.

  28 Mar 2013; Mike Gilbert <floppym@gentoo.org> package.mask:
  Unmask sqlite.

  28 Mar 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Fix mask entry

  28 Mar 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Add Gnome 3.8 mask

  27 Mar 2013; Dion Moult <moult@gentoo.org> package.mask:
  Remove games-strategy/x2 and games-strategy/x2-demo mask as package removed.

  27 Mar 2013; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Remove obsolete mask on dev-util/ciabot-svn

  27 Mar 2013; Dion Moult <moult@gentoo.org> package.mask:
  Remove dev-rubyrails:3.0 and associated package masks as package removed.

  27 Mar 2013; Dion Moult <moult@gentoo.org> package.mask:
  Remove media-gfx/picasa mask as package removed.

  27 Mar 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  eapi-5-files/use.stable.mask:
  Add wayland to use.stable.mask

  27 Mar 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Mask new sys-apps/systemd before it is committed.

  26 Mar 2013; Ole Markus With <olemarkus@gentoo.org> updates/1Q-2013:
  Renaming zendoptimizerplus to zendopcache

  26 Mar 2013; Sébastien Fabbro <bicatali@gentoo.org> package.mask:
  Masked sci-visualization/udav for removal

  25 Mar 2013; Anthony G. Basile <blueness@gentoo.org>
  hardened/linux/uclibc/mips/package.mask:
  Relax maskings on hardened/linux/uclibc/mips

  25 Mar 2013; Anthony G. Basile <blueness@gentoo.org>
  -hardened/linux/uclibc/package.use:
  Relax iconv mask on git for hardened/linux/uclibc profiles

  25 Mar 2013; Michał Górny <mgorny@gentoo.org>
  targets/desktop/package.use:
  Request the same set on flags on sys-apps/systemd as required by
  virtual/udev.

  25 Mar 2013; Jeroen Roovers <jer@gentoo.org> package.mask:
  Mask =x11-misc/xlockmore-5.42 (bug #463180).

  25 Mar 2013; Luca Barbato <lu_zero@gentoo.org> package.mask:
  Update mask for libav-9.4

  25 Mar 2013; Anthony G. Basile <blueness@gentoo.org> hardened/linux/packages:
  Add sys-apps/elfix to @system for all hardened profiles

  24 Mar 2013; Dion Moult <moult@gentoo.org> package.mask:
  Remove dev-python/pysqlite mask as package removed

  24 Mar 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Don't threaten MSN clients for removal yet

  24 Mar 2013; Dion Moult <moult@gentoo.org> package.mask:
  Remove www-client/xxxterm mask as package has been removed

  24 Mar 2013; Dion Moult <moult@gentoo.org> package.mask:
  Remove bug #367423 dev-lang/ruby-enterprise masks as package has been removed
  and bug marked as WONTFIX

  24 Mar 2013; Dion Moult <moult@gentoo.org> package.mask:
  Remove dev-lang/ruby-enterprise and associated virtuals mask as packages have
  been removed

  24 Mar 2013; Dion Moult <moult@gentoo.org> package.mask:
  Remove app-misc/secure-delete mask as package has been removed

  24 Mar 2013; Dion Moult <moult@gentoo.org> package.mask:
  Remove dev-python/pysqlite-2 mask as package has been removed

  24 Mar 2013; Richard Freeman <rich0@gentoo.org> package.mask:
  Taking over cuneiform maintainership.

  24 Mar 2013; Anthony G. Basile <blueness@gentoo.org>
  +hardened/linux/13.0/amd64/deprecated,
  +hardened/linux/13.0/amd64/no-multilib/deprecated,
  +hardened/linux/13.0/amd64/no-multilib/selinux/deprecated,
  +hardened/linux/13.0/amd64/selinux/deprecated,
  +hardened/linux/13.0/amd64/x32/deprecated,
  +hardened/linux/13.0/x86/deprecated,
  +hardened/linux/13.0/x86/selinux/deprecated, hardened/linux/parent:
  Switch hardened profiles to inherit from 13.0

  23 Mar 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask app-text/gonzui for removal

  23 Mar 2013; Rick Farina <zerochaos@gentoo.org> package.mask:
  Removing iwl{3945,4965}-ucode mask as packages have been removed

  23 Mar 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Add amsn* to the MSN-only packages that going away

  23 Mar 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Masking net-im/kmess for removal

  23 Mar 2013; Tom Wijsman <TomWij@gentoo.org> package.mask:
  Removed gentoo-sources mask since the old ebuilds have been deleted.

  23 Mar 2013; Tomáš Chvátal <scarabeus@gentoo.org>
  +desc/office_implementation.desc, base/make.defaults:
  Add office implementation for next version of office-ext eclass. So the
  extensions are not installed automagically based on whats found on the
  system.

  23 Mar 2013; Pawel Hajdan jr <phajdan.jr@gentoo.org> base/package.use.mask:
  Unmask pulseaudio flag for chromium-27.x

  22 Mar 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Add alternatives for media-tv/tvtime

  22 Mar 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask media-tv/tvtime for removal

  22 Mar 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask app-text/cuneiform for removal

  22 Mar 2013; Andreas K. Huettel <dilfridge@gentoo.org>
  targets/desktop/kde/package.use:
  Enable app-arch/unzip natspec useflag by default in kde profile as per kde
  team decision, bug 457934

  22 Mar 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  dev-python/papyon and net-voip/telepathy-butterfly removal. Bug #362611

  22 Mar 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  app-misc/ccal removal. Fixes bug #350559

  22 Mar 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  sys-apps/i2c removal. Fixes bug #450594

  22 Mar 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  net-misc/wxdfast is gone. Fixes #457832

  22 Mar 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask net-misc/gwibber for removal. Bug #388913

  22 Mar 2013; Ole Markus With <olemarkus@gentoo.org>
  eapi-5-files/use.stable.mask:
  Adding PHP_TARGETS='php5-5' to use.stable.mask

  22 Mar 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Remove mask entry for mkxf86config, and old version of livecd-tools. Former
  is no longer required with modern X.org and udev and latter only has latest
  in tree left.

  22 Mar 2013; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Removing mask on app-text/linuxdoc-tools

  21 Mar 2013; Zac Medico <zmedico@gentoo.org> desc/python_targets.desc:
  Add python_targets_python3_4 description (it's not available in the main tree
  yet, but may be useful for ebuilds that want to support it anyway).

  21 Mar 2013; Julian Ospald <hasufell@gentoo.org>
  hardened/linux/amd64/no-multilib/package.mask:
  mask games-rpg/bastion for hardened-multilib

  21 Mar 2013; Julian Ospald <hasufell@gentoo.org>
  hardened/linux/amd64/no-multilib/package.mask:
  mask games-rpg/dungeon-defenders for hardened-multilib

  21 Mar 2013; Julian Ospald <hasufell@gentoo.org>
  hardened/linux/amd64/no-multilib/package.mask:
  mask games-kids/crayon-physics for hardened-multilib

  21 Mar 2013; Julian Ospald <hasufell@gentoo.org>
  hardened/linux/amd64/no-multilib/package.mask:
  mask games-arcade/dynamitejack for hardened-multilib

  21 Mar 2013; Julian Ospald <hasufell@gentoo.org>
  hardened/linux/amd64/no-multilib/package.mask:
  mask games-action/solar2 for hardened-multilib

  21 Mar 2013; Julian Ospald <hasufell@gentoo.org>
  hardened/linux/amd64/no-multilib/package.mask:
  mask games-action/beathazardultra for hardened-multilib

  21 Mar 2013; Julian Ospald <hasufell@gentoo.org>
  hardened/linux/amd64/no-multilib/package.mask:
  mask games-action/swordandsworcery for hardened-multilib

  21 Mar 2013; Julian Ospald <hasufell@gentoo.org> license_groups:
  add CAPYBARA-EULA to EULAs

  21 Mar 2013; Jeroen Roovers <jer@gentoo.org> package.mask:
  Mask =www-client/opera-12.15*.

  21 Mar 2013; Ulrich Müller <ulm@gentoo.org> use.desc:
  Describe inotify global USE flag.

  21 Mar 2013; Ole Markus With <olemarkus@gentoo.org> package.mask:
  Removing mask of php 5.5

  21 Mar 2013; Tiziano Müller <dev-zero@gentoo.org> package.mask:
  Last rites for dev-libs/dv{acm4,net,ssl,thread,util}, bug #462590

  21 Mar 2013; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Mask new app-text/linuxdoc-tools, wrt bug #442482

  20 Mar 2013; Bernard Cafarelli <voyageur@gentoo.org> package.mask:
  Last rites for x11-misc/google-gadgets, bug #462472

  19 Mar 2013; Mike Gilbert <floppym@gentoo.org> package.mask:
  Mask new version of sqlite.

  19 Mar 2013; Mike Gilbert <floppym@gentoo.org> updates/1Q-2013:
  Slotmove for www-plugins/chrome-binary-plugins.

  18 Mar 2013; Ulrich Müller <ulm@gentoo.org>
  hardened/linux/uclibc/amd64/package.mask:
  Mask some packages that rely on multilib.

  18 Mar 2013; Sergey Popov <pinkbyte@gentoo.org> license_groups:
  Add PIZZA-WARE license to MISC-FREE group

  18 Mar 2013; Tim Harder <radhermit@gentoo.org> package.mask:
  Mask =app-emulation/vagrant-1.1* for testing.

  18 Mar 2013; Anthony G. Basile <blueness@gentoo.org>
  hardened/linux/package.use.force:
  Force USE=xattr on sys-apps/portage for hardened for XATTR_PAX marking

  16 Mar 2013; Ryan Hill <dirtyepic@gentoo.org> package.mask:
  Unmask wxGTK/wxpython:2.9 (bug #446998).

  16 Mar 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Mask new revision of libv4l with ABI_X86="32" support temporarily while
  waiting for new emul-linux-x86-medialibs release.

  16 Mar 2013; Aaron W. Swenson <titanofold@gentoo.org> package.mask:
  Mask dev-db/postgresql-{docs,base,server}:8.3 for removal 2013-05-16. (EOL)

  16 Mar 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Removed ivtv, at76c503a and bunch of firmware packages from tree.

  16 Mar 2013; Tom Wijsman <TomWij@gentoo.org> package.mask:
  Unmasked >=media-video/avidemux-2.6.2 which works properly and secure.

  16 Mar 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Temporarily mask new libmikmod with abi_x86_32 support pending on new
  emul-linux-x86-soundlibs.

  15 Mar 2013; Michael Palimaka <kensington@gentoo.org>
  targets/desktop/kde/package.use:
  Add default USE flags so that 'emerge kde-meta' just works.

  13 Mar 2013; Tom Wijsman <TomWij@gentoo.org> package.mask:
  Masking vulnerable versions of Meteor.

  13 Mar 2013; Julian Ospald <hasufell@gentoo.org> license_groups:
  add ArxFatalis-EULA-JoWooD and ArxFatalis-EULA-GOG to EULA license group

  13 Mar 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask new app-emulation/emul-linux-x86-xlibs-20130224-r1 because it breaks
  updates. Bug

  13 Mar 2013; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Remove obsolete mask on x11-misc/xdaf

  13 Mar 2013; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Mask old sys-kernel/openvz-sources

  12 Mar 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Unmask new freetype-2 and its multilib rdeps due to libdir move being
  reverted.

  10 Mar 2013; Tom Wijsman <TomWij@gentoo.org> package.mask:
  Masked broken media-video/avidemux again, needs a revise for it to become
  maintainable; I will look into splitting the package. See bug #461496 C #5.

  11 Mar 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  arch/mips/use.mask, arch/powerpc/package.use.mask, desc/input_devices.desc:
  Erase input_devices_citron from memory.

  11 Mar 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Mask xf86-input-citron for removal.

  11 Mar 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite sys-fs/device-mapper

  10 Mar 2013; Tom Wijsman <TomWij@gentoo.org> package.mask:
  Unmask >=media-video/avidemux-2.6, has been revised and is now maintained.

  09 Mar 2013; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Unmask poppler-0.22

  09 Mar 2013; Julian Ospald <hasufell@gentoo.org> package.mask:
  update masking reason for blender-2.64a and blender-2.66

  09 Mar 2013; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Remove obsolete games-puzzle/kmagnet pmask

  09 Mar 2013; Maxim Koltsov <maksbotan@gentoo.org> updates/1Q-2013:
  Fix typo in leechcraft-meta package name, bug #460966.

  08 Mar 2013; Tom Wijsman <TomWij@gentoo.org> package.mask:
  Masked 3.0.17-r2 and 3.5.7-r1 (stable kernels), due to no support they are
  to be removed in 14 days.

  08 Mar 2013; Maxim Koltsov <maksbotan@gentoo.org>
  eapi-5-files/package.use.stable.mask, updates/1Q-2013:
  Move LeechCraft to new category

  08 Mar 2013; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Remove mask for net-misc/libteam

  08 Mar 2013; Maxim Koltsov <maksbotan@gentoo.org> categories:
  Add app-leechcraft category

  08 Mar 2013; Davide Pesavento <pesa@gentoo.org> package.mask:
  Remove obsolete p.mask entry.

  08 Mar 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Remove masks for prerelease xorg packages.

  07 Mar 2013; Tim Harder <radhermit@gentoo.org>
  desc/python_single_target.desc, desc/python_targets.desc:
  Add jython2_7 for PYTHON_TARGETS.

  07 Mar 2013; Pawel Hajdan jr <phajdan.jr@gentoo.org> base/package.use.mask:
  Mask www-client/chromium system-sqlite USE flag.

  07 Mar 2013; Tim Harder <radhermit@gentoo.org> package.mask:
  Mask =dev-java/jython-2.7* for testing.

  07 Mar 2013; Ulrich Müller <ulm@gentoo.org> package.mask:
  Update mask for emacs-vcs live ebuilds.

  07 Mar 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Mask old copies of sys-fs/lvm2 incompatible with stable udev.

  07 Mar 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite ~sys-fs/udev-171 and sys-apps/module-init-tools.

  06 Mar 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  arch/arm/use.mask, base/use.mask:
  Restrict freedreno flag to arm.

  06 Mar 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  desc/video_cards.desc:
  Add freedreno to VIDEO_CARDS.

  06 Mar 2013; Anthony G. Basile <blueness@gentoo.org>
  hardened/linux/mips/mipsel/multilib/n32/parent,
  hardened/linux/mips/mipsel/multilib/n64/parent,
  hardened/linux/mips/mipsel/n32/parent, hardened/linux/mips/mipsel/n64/parent,
  hardened/linux/mips/multilib/n32/parent,
  hardened/linux/mips/multilib/n64/parent, hardened/linux/mips/n32/parent,
  hardened/linux/mips/n64/parent:
  Switch hardened/linux/mips profiles to 13.0

  06 Mar 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Drop h323plus mask, bug #460458.

  06 Mar 2013; Anthony G. Basile <blueness@gentoo.org>
  default/linux/mips/10.0/mipsel/multilib/n32/deprecated,
  default/linux/mips/10.0/mipsel/multilib/n64/deprecated:
  Fix deprecation message for default/linux/mips/10.0/mipsel/multilib/n{32,64}

  05 Mar 2013; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Mask sys-auth/polkit-kde for removal

  05 Mar 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Mask libcaca _beta18 because it won't compile unless it's already installed.

  05 Mar 2013; Ole Markus With <olemarkus@gentoo.org> package.mask:
  Masking dev-php/PEAR-PEAR_PackageFileManager_Cli

  04 Mar 2013; Robin H. Johnson <robbat2@gentoo.org> package.mask:
  Update MySQL pmask.

  04 Mar 2013; Michael Pagano <mpagano@gentoo.org> package.mask:
  Unmask portpeek

  04 Mar 2013; Justin Lecher <jlec@gentoo.org> license_groups:
  Add ECL-2.0 to GPL-COMPATIBLE and OSI-APPROVED license groups

  03 Mar 2013; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add URT license to MISC-FREE group, bug 455970.

  03 Mar 2013; Tim Harder <radhermit@gentoo.org> package.mask:
  Remove mask on dev-python/github2 since it's been dropped.

  03 Mar 2013; Ryan Hill <dirtyepic@gentoo.org> package.mask:
  Unmask GCC 4.7

  03 Mar 2013; Davide Pesavento <pesa@gentoo.org> package.mask:
  p.mask media-gfx/yafaray

  02 Mar 2013; Luca Barbato <lu_zero@gentoo.org> package.mask:
  Update mask for libav-9.3

  02 Mar 2013; Davide Pesavento <pesa@gentoo.org> package.mask:
  Unmask dev-qt/*

  02 Mar 2013; Davide Pesavento <pesa@gentoo.org> arch/alpha/package.use.mask,
  arch/alpha/use.mask, arch/amd64-fbsd/todo/package.use.mask,
  arch/amd64/package.use.mask, arch/arm/package.use.mask,
  arch/hppa/package.use.mask, arch/ia64/package.use.mask, arch/ia64/use.mask,
  arch/powerpc/package.use.force, arch/powerpc/package.use.mask,
  arch/sparc/package.use.mask, arch/sparc/use.mask, arch/x86/package.use.mask,
  base/package.use.force, base/package.use.mask, default/bsd/package.use.mask,
  default/linux/hppa/package.use.mask, package.mask:
  Qt category move.

  02 Mar 2013; Justin Lecher <jlec@gentoo.org> arch/x86/package.use.mask,
  package.mask:
  Drop mask from dev-tcltk/tcllib

  02 Mar 2013; Ben de Groot <yngwin@gentoo.org> package.mask:
  Temp mask for dev-qt/*

  28 Feb 2013; Justin Lecher <jlec@gentoo.org> package.mask:
  Clean package.mask

  27 Feb 2013; Michał Górny <mgorny@gentoo.org> desc/abi_x86.desc:
  Describe x32 ABI flag.

  26 Feb 2013; Ulrich Müller <ulm@gentoo.org> package.mask:
  app-emacs/yow masked for removal.

  26 Feb 2013; Mike Gilbert <floppym@gentoo.org> package.mask:
  Update the google-chrome mask.

  26 Feb 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Mask the multilib freetype for testing due to header location change.

  26 Feb 2013; Pawel Hajdan jr <phajdan.jr@gentoo.org> package.mask:
  Roll dev-lang/v8, www-client/chromium p.mask entries for M27.

  26 Feb 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Unmask freetype after fixing the demo build bug.

  26 Feb 2013; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Mask devmanual live ebuild.

  26 Feb 2013; Eray Aslan <eras@gentoo.org> package.mask:
  Remove mask for net-mail/dovecot-2.2_beta* - no longer in the tree

  26 Feb 2013; Eray Aslan <eras@gentoo.org> package.mask:
  Mask net-mail/dovecot-2.2_rc* releases

  26 Feb 2013; Eray Aslan <eras@gentoo.org> package.mask:
  Remove mask for mail-filter/opendkim-2.8.0_beta* - no longer in the tree

  26 Feb 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Temporarily mask new fontconfig & freetype because of USE=utils being broken.

  25 Feb 2013; Luca Barbato <lu_zero@gentoo.org> package.mask:
  Update mask for libav-9.2

  24 Feb 2013; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add ACE license to MISC-FREE group, bug 455530.

  24 Feb 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask dev-util/ciabot-svn for removal. Bug #445644

  23 Feb 2013; Mike Gilbert <floppym@gentoo.org> package.mask:
  Mask dev-python/pysqlite:0 for removal.

  23 Feb 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  unmask ffmpeg-1.0

  23 Feb 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  Unmask gst-{ffmpeg,libav} now that they do not need anymore a masked
  ffmpeg/libav

  22 Feb 2013; Dion Moult <moult@gentoo.org> package.mask:
  Remove www-apps/online-bookmarks mask as removed from tree. See #449820.

  22 Feb 2013; Dion Moult <moult@gentoo.org> package.mask:
  Mask net-misc/wxdfast (bug 457832)

  22 Feb 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Mask net-libs/h323plus-1.25.0

  22 Feb 2013; Jeroen Roovers <jer@gentoo.org> package.mask:
  Mask =net-analyzer/mtr-0.83 (bug #456788).

  22 Feb 2013; Jeroen Roovers <jer@gentoo.org> package.mask:
  Mask development versions of net-analyzer/wireshark.

  22 Feb 2013; Eray Aslan <eras@gentoo.org> package.mask:
  Mask =net-mail/dovecot-2.2_beta*

  22 Feb 2013; Dion Moult <moult@gentoo.org> package.mask:
  Remove dev-libs/libole2 mask as removed from tree.

  22 Feb 2013; Dion Moult <moult@gentoo.org> package.mask:
  Remove app-admin/webalizer-xtended mask as removed from tree

  22 Feb 2013; Dion Moult <moult@gentoo.org> package.mask:
  Remove dev-haskell/wash mask as removed from tree.

  21 Feb 2013; Ulrich Müller <ulm@gentoo.org> license_groups:
  Remove Scintilla license (duplicate of HPND) from MISC-FREE group.

  21 Feb 2013; Samuli Suominen <ssuominen@gentoo.org> license_groups:
  Replace pngquant with rwpng license in the MISC-FREE group.

  21 Feb 2013; Justin Lecher <jlec@gentoo.org> package.mask:
  Temporary mask, because compatibility with recent tcl is not proven

  20 Feb 2013; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  www-apache/mod_vhs is gone from tree, remove mask

  20 Feb 2013; Anthony G. Basile <blueness@gentoo.org>
  hardened/linux/uclibc/mips/package.mask:
  Unmask recent versions of util-linux and sysvinit on
  hardened/linux/uclibc/mips

  20 Feb 2013; Samuli Suominen <ssuominen@gentoo.org> license_groups:
  Put pngquant license to MISC-FREE group.

  20 Feb 2013; Julian Ospald <hasufell@gentoo.org> license_groups:
  add TeamViewer license to @EULA

  20 Feb 2013; Maxim Koltsov <maksbotan@gentoo.org> package.mask:
  Unmask sssd-1.9.4-r1

  18 Feb 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  updates/1Q-2013:
  Move ati-drivers-12.6_beta_pre897 to legacy slot

  18 Feb 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Remove ati-drivers-12.4 mask as the package has been dropped.

  18 Feb 2013; Eray Aslan <eras@gentoo.org> package.mask:
  Mask mail-filter/opendkim-2.8.0_beta versions for testing.

  17 Feb 2013; Jeroen Roovers <jer@gentoo.org> package.mask:
  Add bug reference for media-gfx/blender mask explanation.

  17 Feb 2013; Julian Ospald <hasufell@gentoo.org> package.mask:
  remove obsolete games-roguelike/tomenet-100310 p.mask (removed)

  17 Feb 2013; Davide Pesavento <pesa@gentoo.org> package.mask:
  Mask qt-creator beta for testing.

  16 Feb 2013; Julian Ospald <hasufell@gentoo.org> package.mask:
  remove net-misc/gtk-youtube-viewer from p.mask (removed)

  16 Feb 2013; Markos Chandras <hwoarang@gentoo.org> package.mask:
  Mask new qx11grab because it does not build with libav-0.8

  15 Feb 2013; Rick Farina <zerochaos@gentoo.org> package.mask:
  mask sys-firmware/iwl{3945,4965}-firmware packages have been merged into the sys-kernel/linux-firmware
  package and have no maintainer. No real point in keeping two copies of the firmware in the tree
  removal on 18 March 2013

  15 Feb 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  mask ffmpeg-1.1 for a different reason as >=0.11; for now this double masks
  it but it will remain masked once the >=0.11 mask is removed

  15 Feb 2013; Alexis Ballier <aballier@gentoo.org> base/package.use.mask:
  Mask media-sound/audacity[ffmpeg], it needs to be fixed upstream to cope with
  new releases of FFmpeg/libav. bug #417869

  14 Feb 2013; Samuli Suominen <ssuominen@gentoo.org> updates/1Q-2013:
  Move rt61-firmware from net-wireless/ to sys-firmware/ category.

  14 Feb 2013; Hans de Graaff <graaff@gentoo.org> package.mask:
  Add ree18-only virtuals to the ruby-enterprise mask.

  13 Feb 2013; Samuli Suominen <ssuominen@gentoo.org> updates/1Q-2013:
  Move atmel-firmware, b43-firmware and b43legacy-firmware from net-wireless/
  to sys-firmware/ category.

  13 Feb 2013; Jeroen Roovers <jer@gentoo.org> license_groups:
  Add AdobeFlash-11.x license.

  13 Feb 2013; Eray Aslan <eras@gentoo.org> package.mask:
  Mask mail-mta/postfix-2.11 and unmask mail-mta/postfix-2.10

  12 Feb 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Unmask bluez-firwmare now that license has been fixed wrt #456948 by Daniel
  Westermann-Clark

  12 Feb 2013; Samuli Suominen <ssuominen@gentoo.org> updates/1Q-2013:
  Move bluez-firmware from net-wireless/ to sys-firmware/ category.

  12 Feb 2013; Tim Harder <radhermit@gentoo.org> updates/1Q-2013:
  Rename app-vim/bufferexplorer to app-vim/bufexplorer to follow upstream.

  12 Feb 2013; Tim Harder <radhermit@gentoo.org> updates/1Q-2013:
  Rename app-vim/threesome to app-vim/splice following upstream.

  12 Feb 2013; Hans de Graaff <graaff@gentoo.org> package.mask:
  Use proper email address in entry.

  11 Feb 2013; Julian Ospald <hasufell@gentoo.org> package.mask:
  unmask sci-visualization/paraview, I bumped it

  11 Feb 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Mask cx18-firmware since the files from it are part of the linux-firmware
  package.

  11 Feb 2013; Hans de Graaff <graaff@gentoo.org> package.mask:
  Mask Rails 3.0 and its dependencies due to lack of upstream security support.

  11 Feb 2013; Ole Markus With <olemarkus@gentoo.org> package.mask:
  Removing mask of ezc-*. Packages gone from the tree

  11 Feb 2013; Samuli Suominen <ssuominen@gentoo.org> updates/1Q-2013:
  Move ipw2100-, ipw2200-, zd1201-, zd1211-firmware(s) from net-wireless
  category to sys-firmware category.

  11 Feb 2013; Ben de Groot <yngwin@gentoo.org> arch/sparc/package.use.mask:
  Remove redundant cairo[qt4] use mask (now masked for all versions in
  base/p.use.mask)

  11 Feb 2013; Ben de Groot <yngwin@gentoo.org> base/package.use.mask:
  Adjust cairo[qt4] usemask to cover all versions, since it still leads to
  build errors (bug #454066)

  11 Feb 2013; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Add media-plugins/gst-plugins-ffmpeg-0.10.13_p201211 prereleases to libav
  package.mask (bug #423717).

  10 Feb 2013; Matt Turner <mattst88@gentoo.org> package.mask:
  package.mask net-wireless/at76c503a for removal.

  10 Feb 2013; Rick Farina <zerochaos@gentoo.org> package.mask:
  amend notes for rtl8192su-firmware to note that the new firmware is
  already in linux-firmware

  10 Feb 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Mask net-wireless/rtl8192su-firmware again as it's obsolete with latest
  driver from upstream site which is now using rtl8172fw.bin.

  10 Feb 2013; Rick Farina <zerochaos@gentoo.org> package.mask:
  removing mask on firmware which was inappropriately masked and
  not part of linux-firmware already

  10 Feb 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite media-tv/ivtv because it's only for Linux 2.6.25 and oldest udev in
  tree needs at least 2.6.32.60.

  10 Feb 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite media-tv/ivtv-firmware wrt #369497 and #446644

  10 Feb 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Unmask both zd1201 and zd1211 firmware pkgs as they are not in linux-firmware
  pkg wrt #456638

  10 Feb 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Mask net-wireless/bluez-firmware because of missing or unclear licensing.

  10 Feb 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Mask net-wireless/i2400m-fw because it's part of linux-firmware pkg.

  10 Feb 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Move prism54-firmware to it's own mask because of missing license. Unmask
  ipw2100 and ipw2200 firmware pkgs as they are not included in the
  linux-firmware pkg.

  10 Feb 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Mask packages for cleaning

  10 Feb 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Cleanup old mask entries

  10 Feb 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Mask most of separate net-wireless/ firmware pkgs in favour of linux-firmware
  package.

  09 Feb 2013; Andreas K. Huettel <dilfridge@gentoo.org> profiles.desc:
  m68k: remove 10.0 profiles from profiles.desc

  09 Feb 2013; Andreas K. Huettel <dilfridge@gentoo.org> profiles.desc:
  ia64: remove 10.0 profiles from profiles.desc

  09 Feb 2013; Andreas K. Huettel <dilfridge@gentoo.org>
  +default/linux/ia64/10.0/deprecated, profiles.desc:
  Mark ia64 13.0 profiles stable

  09 Feb 2013; Anthony G. Basile <blueness@gentoo.org>
  +hardened/linux/13.0/amd64/make.defaults,
  +hardened/linux/13.0/amd64/no-multilib/make.defaults,
  +hardened/linux/13.0/amd64/no-multilib/package.mask,
  +hardened/linux/13.0/amd64/no-multilib/package.use.mask,
  +hardened/linux/13.0/amd64/no-multilib/parent,
  +hardened/linux/13.0/amd64/no-multilib/selinux/parent,
  +hardened/linux/13.0/amd64/no-multilib/use.mask,
  +hardened/linux/13.0/amd64/package.mask,
  +hardened/linux/13.0/amd64/package.use,
  +hardened/linux/13.0/amd64/package.use.mask,
  +hardened/linux/13.0/amd64/parent, +hardened/linux/13.0/amd64/selinux/parent,
  +hardened/linux/13.0/amd64/use.mask,
  +hardened/linux/13.0/amd64/x32/make.defaults,
  +hardened/linux/13.0/amd64/x32/parent, +hardened/linux/13.0/make.defaults,
  +hardened/linux/13.0/package.mask, +hardened/linux/13.0/package.use.force,
  +hardened/linux/13.0/package.use.mask, +hardened/linux/13.0/packages,
  +hardened/linux/13.0/parent, +hardened/linux/13.0/use.mask,
  +hardened/linux/13.0/x86/make.defaults,
  +hardened/linux/13.0/x86/package.mask,
  +hardened/linux/13.0/x86/package.use.mask, +hardened/linux/13.0/x86/parent,
  +hardened/linux/13.0/x86/selinux/parent, +hardened/linux/13.0/x86/use.mask:
  Add hardened/linux/13.0 for amd64 and x86 for testing

  09 Feb 2013; Andreas K. Huettel <dilfridge@gentoo.org> profiles.desc:
  x86: remove 10.0 profiles from profiles.desc

  09 Feb 2013; Andreas K. Huettel <dilfridge@gentoo.org> profiles.desc:
  s390, sh, sparc: remove 10.0 profiles from profiles.desc

  09 Feb 2013; Andreas K. Huettel <dilfridge@gentoo.org> profiles.desc:
  powerpc: remove 10.0 profiles from profiles.desc

  09 Feb 2013; Andreas K. Huettel <dilfridge@gentoo.org> profiles.desc:
  mips: remove 10.0 profiles from profiles.desc

  09 Feb 2013; Andreas K. Huettel <dilfridge@gentoo.org> profiles.desc:
  hppa: remove 10.0 profiles from profiles.desc

  09 Feb 2013; Andreas K. Huettel <dilfridge@gentoo.org> profiles.desc:
  arm: remove 10.0 profiles from profiles.desc

  09 Feb 2013; Andreas K. Huettel <dilfridge@gentoo.org> profiles.desc:
  amd64: remove 10.0 profiles from profiles.desc

  09 Feb 2013; Andreas K. Huettel <dilfridge@gentoo.org> profiles.desc:
  alpha: remove 10.0 profiles from profiles.desc

  08 Feb 2013; Andreas K. Huettel <dilfridge@gentoo.org> profiles.desc:
  All 13.0 profiles stable as in 10.0, except ia64

  08 Feb 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  No more coldplug, hotplug or hotplug-base.

  08 Feb 2013; Jeroen Roovers <jer@gentoo.org> license_groups:
  Fix typo.

  08 Feb 2013; Ryan Hill <dirtyepic@gentoo.org> package.mask:
  Mask dev-libs/openssl-1.0.1d (bug #456108).

  07 Feb 2013; Ulrich Müller <ulm@gentoo.org> license_groups:
  Remove unused long names for Creative Commons licenses.

  07 Feb 2013; Andreas K. Huettel <dilfridge@gentoo.org> profiles.desc:
  13.0 profile stable on hppa

  07 Feb 2013; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add shorter names for Creative Commons licenses.

  07 Feb 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  unmask karlyriceditor 1.4, its fine now with older ffmpeg

  07 Feb 2013; Matt Turner <mattst88@gentoo.org>
  hardened/linux/uclibc/amd64/use.mask, hardened/linux/uclibc/x86/use.mask:
  Drop sse5 USE flag.

  06 Feb 2013; Davide Pesavento <pesa@gentoo.org> package.mask:
  Mask >=media-sound/karlyriceditor-1.4

  06 Feb 2013; Mike Gilbert <floppym@gentoo.org> package.mask:
  Remove docutils mask.

  05 Feb 2013; Mike Gilbert <floppym@gentoo.org> package.mask:
  Mask dev-python/docutils-0.10.

  05 Feb 2013; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add buddy, ipx-utils, minpack, shrimp, and tm-align licenses to MISC-FREE
  group, bugs 451570, 455566, 455568, 455570, 455572, and 455574.

  05 Feb 2013; Jeroen Roovers <jer@gentoo.org> package.mask:
  Unmask www-client/opera-12.14.

  05 Feb 2013; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Mask blender pointing out that we need to rewrite the ebuild and get a new
  patchset.

  04 Feb 2013; Jeroen Roovers <jer@gentoo.org> package.mask:
  Mask www-client/opera-12.14.

  03 Feb 2013; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Add media-plugins/gst-plugins-libav-1.1 prereleases to libav package.mask
  (bug #423717).

  03 Feb 2013; Rick Farina <zerochaos@gentoo.org> license_groups:
  When the hashcat license was added I didn't know to add it to
  license_groups, fixing that oversight.

  03 Feb 2013; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Fix category for mono-tools mask

  02 Feb 2013; Andreas K. Huettel <dilfridge@gentoo.org> package.mask:
  Remove xboing mask.

  02 Feb 2013; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add mapm-4.9.5, qmail-nelson, Time-modules, and xbatt licenses to
  MISC-FREE group, bugs 452594, 453166, 453004, and 452966.

  02 Feb 2013; Tupone Alfredo <tupone@gentoo.org>
  hardened/linux/uclibc/amd64/package.mask:
  Masked games-strategy/dominions2-demo.

  02 Feb 2013; Kacper Kowalik <xarthisius@gentoo.org> updates/1Q-2013:
  Rename sys-cluster/gsh to sys-cluster/polysh following upstream's change

  02 Feb 2013; Anthony G. Basile <blueness@gentoo.org>
  +hardened/linux/amd64/desktop/deprecated,
  +hardened/linux/amd64/developer/deprecated,
  +hardened/linux/amd64/server/deprecated,
  +hardened/linux/ia64/desktop/deprecated,
  +hardened/linux/ia64/developer/deprecated,
  +hardened/linux/ia64/server/deprecated,
  +hardened/linux/powerpc/ppc32/desktop/deprecated,
  +hardened/linux/powerpc/ppc32/developer/deprecated,
  +hardened/linux/powerpc/ppc32/server/deprecated,
  +hardened/linux/powerpc/ppc64/32bit-userland/desktop/deprecated,
  +hardened/linux/powerpc/ppc64/32bit-userland/developer/deprecated,
  +hardened/linux/powerpc/ppc64/32bit-userland/server/deprecated,
  +hardened/linux/powerpc/ppc64/64bit-userland/desktop/deprecated,
  +hardened/linux/powerpc/ppc64/64bit-userland/developer/deprecated,
  +hardened/linux/powerpc/ppc64/64bit-userland/server/deprecated,
  +hardened/linux/powerpc/ppc64/desktop/deprecated,
  +hardened/linux/powerpc/ppc64/developer/deprecated,
  +hardened/linux/powerpc/ppc64/server/deprecated,
  +hardened/linux/x86/desktop/deprecated,
  +hardened/linux/x86/developer/deprecated,
  +hardened/linux/x86/minimal/deprecated,
  +hardened/linux/x86/server/deprecated:
  Mark all hardened desktop/developer/server profiles as deprecated

  01 Feb 2013; Michał Górny <mgorny@gentoo.org> +desc/abi_x86.desc:
  Describe ABI_X86 flags for multilib.

  01 Feb 2013; Paul Varner <fuzzyray@gentoo.org> package.mask:
  Remove package.mask entry for app-portage/epm

  01 Feb 2013; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Remove obsolete masks on games-roguelike/noegnud-* packages

  01 Feb 2013; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Remove obsolete mask on www-apache/mod_cplusplus

  31 Jan 2013; Justin Lecher <jlec@gentoo.org> package.mask:
  Remove atlas masking after removal

  31 Jan 2013; Rafael G. Martins <rafaelmartins@gentoo.org> package.mask:
  Mask www-client/xxxterm (bug #417555).

  30 Jan 2013; Jeroen Roovers <jer@gentoo.org> package.mask:
  Unmask www-client/opera-12.13 (bug #454654).

  29 Jan 2013; Michał Górny <mgorny@gentoo.org>
  desc/python_single_target.desc, desc/python_targets.desc:
  Remove descriptions for pypy1_8 flags (removed).

  29 Jan 2013; Nirbheek Chauhan <nirbheek@gentoo.org> updates/1Q-2013:
  pkgmove media-fonts/freefont-ttf to media-fonts/freefont

  29 Jan 2013; Justin Lecher <jlec@gentoo.org> updates/1Q-2013:
  SLOT move dev-python/pmw to pyABI slots

  28 Jan 2013; Jeroen Roovers <jer@gentoo.org> package.mask:
  Mask bitchx 1.2 (bug #425634).

  28 Jan 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite x11-misc/mkxf86config wrt #220121

  28 Jan 2013; Alexandre Rostovtsev <tetromino@gentoo.org> package.mask:
  Mask networkmanager and modemmanager betas.

  28 Jan 2013; Alexandre Rostovtsev <tetromino@gentoo.org> updates/1Q-2013:
  Rename app-cdr/cdemud to app-cdr/cdemu-daemon to follow upstream package and
  executable name.

  28 Jan 2013; Richard Freeman <rich0@gentoo.org> package.mask:
  Unmask mythtv 0.26

  27 Jan 2013; Alexis Ballier <aballier@gentoo.org> desc/fftools.desc:
  Add descriptions for ffescape and fourcc2pixfmt

  27 Jan 2013; Mike Frysinger <vapier@gentoo.org> use.desc:
  Document USE=filecaps.

  27 Jan 2013; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add TermReadKey, nap, and photopc licenses to MISC-FREE group, bugs 450932,
  452014, and 453496.

  27 Jan 2013; Tim Harder <radhermit@gentoo.org> package.mask:
  Mask dev-python/github2 for removal.

  27 Jan 2013; Anthony G. Basile <blueness@gentoo.org>
  hardened/linux/uclibc/mips/package.mask:
  Unmask eudev on hardened/linux/uclibc/mips

  26 Jan 2013; Luca Barbato <lu_zero@gentoo.org> package.mask:
  Remove qemu-user mask, current version provided and the userspace wrappers
  aren't a security issue by themselves from start

  25 Jan 2013; Diego E. Pettenò <flameeyes@gentoo.org> package.mask:
  Mask boost 1.53 betas.

  25 Jan 2013; Julian Ospald <hasufell@gentoo.org> package.mask:
  mask net-misc/gtk-youtube-viewer for removal wrt bug #453580

  24 Jan 2013; Jeroen Roovers <jer@gentoo.org> package.mask:
  Unmask =dev-libs/libnl-3.2.20 (bug #453736).

  24 Jan 2013; Jeroen Roovers <jer@gentoo.org> package.mask:
  Mask broken dev-libs/libnl (bug #453736).

  23 Jan 2013; Richard Freeman <rich0@gentoo.org> package.mask:
  Fix mythweb package name.

  23 Jan 2013; Richard Freeman <rich0@gentoo.org> package.mask:
  Fix date on mythplugins, and mask mythweb for testing.

  23 Jan 2013; Richard Freeman <rich0@gentoo.org> package.mask:
  Add mythplugins mask until mythweb is ready.

  22 Jan 2013; Ralph Sennhauser <sera@gentoo.org> package.mask:
  Mask >=dev-java/gcj-jdk-4.7.0 while coresponding gcc is still masked

  21 Jan 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Lastrite coldplug, hotplug, hotplug-base and 2.4 kernel module ezusb2131 wrt
  #145809

  21 Jan 2013; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add CFS, keynote, and xvt licenses to MISC-FREE group, bugs 453290, 453292,
  and 452964.

  21 Jan 2013; Andreas K. Huettel <dilfridge@gentoo.org>
  default/linux/make.defaults:
  Re-add USE=dri to default/linux after discussion

  20 Jan 2013; Hans de Graaff <graaff@gentoo.org> arch/amd64/use.mask,
  arch/x86/use.mask, package.mask:
  Mask dev-lang/ruby-enterprise and its use flag.

  20 Jan 2013; Andreas K. Huettel <dilfridge@gentoo.org>
  default/linux/make.defaults:
  Remove setting pppd useflag; it is only used in one place and now defaults to
  on there

  20 Jan 2013; Andreas K. Huettel <dilfridge@gentoo.org>
  releases/make.defaults:
  Remove useflag cups from releases profile settings

  20 Jan 2013; Andreas K. Huettel <dilfridge@gentoo.org>
  targets/desktop/make.defaults:
  Add useflag cups to desktop target settings

  20 Jan 2013; Andreas K. Huettel <dilfridge@gentoo.org>
  default/linux/make.defaults:
  Remove useflag dri from default linux profile settings

  20 Jan 2013; Andreas K. Huettel <dilfridge@gentoo.org>
  targets/desktop/make.defaults:
  Add useflag dri to desktop target settings

  19 Jan 2013; Samuli Suominen <ssuominen@gentoo.org>
  uclibc/arm/2.4/package.mask, uclibc/arm/armeb/2.4/package.mask,
  uclibc/ppc/2.4/package.mask, uclibc/ppc/hardened/2.4/package.mask,
  uclibc/sh/2.4/package.mask, uclibc/x86/2.4/package.mask,
  uclibc/x86/2005.1/2.4/package.mask, uclibc/x86/hardened/2.4/package.mask:
  Remove entries for virtual/pcmcia.

  19 Jan 2013; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add flexmock, tablelist, Flashpix, and netcat licenses to MISC-FREE group,
  bugs 452928, 452924, 450210, and 452342.

  19 Jan 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Unmask new systemd after fixing the ebuild.

  18 Jan 2013; Andreas K. Huettel <dilfridge@gentoo.org> profiles.desc:
  Add new 13.0 profiles, for now all set to dev

  18 Jan 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Mask new sys-apps/systemd because of boot issues.

  18 Jan 2013; Michael Pagano <mpagano@gentoo.org> package.mask:
  Mask portpeek for testing

  18 Jan 2013; Kacper Kowalik <xarthisius@gentoo.org> package.mask:
  Restrict mask on sci-astronomy/sextractor so that people can install
  version from science overlay

  18 Jan 2013; Mike Gilbert <floppym@gentoo.org> package.mask:
  Mask dev-python/chardet-2.1.1.

  17 Jan 2013; Pacho Ramos <pacho@gentoo.org> package.mask:
  Mask packages for cleaning

  17 Jan 2013; Jeroen Roovers <jer@gentoo.org> package.mask:
  Mask =www-client/opera-12.13*.

  17 Jan 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Mask pysqlite:2 for removal.

  17 Jan 2013; Justin Lecher <jlec@gentoo.org> updates/1Q-2013:
  dev-util/nvidia-cuda-npp is now included in dev-util/nvidia-cuda-toolkit

  16 Jan 2013; Tomáš Chvátal <scarabeus@gentoo.org> package.mask:
  Mask virtual for new libav/ffmpeg.

  16 Jan 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Release new libcdio and libcdio-paranoia into ~arch since everything major
  has been fixed.

  16 Jan 2013; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add Clear-BSD license to GPL-COMPATIBLE, bug 416205. Add ngrep license to
  MISC-FREE, bug 452012.

  16 Jan 2013; Sergey Popov <pinkbyte@gentoo.org> updates/4Q-2012,
  +updates/1Q-2013:
  Move latest entry to proper updates/ file

  16 Jan 2013; Sergey Popov <pinkbyte@gentoo.org> updates/4Q-2012:
  Move from media-gfx/opencolorio to media-libs/opencolorio

  16 Jan 2013; Maciej Mrozowski <reavertm@gentoo.org> package.mask:
  mask poppler-0.22 due to API change

  15 Jan 2013; Alexis Ballier <aballier@gentoo.org> package.mask:
  mask latest luatex as it breaks with current texlive

  15 Jan 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Remove dev-python/sphinx mask after replacing the broken rev with a new one.

  15 Jan 2013; Michał Górny <mgorny@gentoo.org> package.mask:
  Mask migrated dev-python/sphinx due to grammar generation issues.

  15 Jan 2013; Samuli Suominen <ssuominen@gentoo.org> package.mask:
  Mask new libcdio temporarily for porting.

  15 Jan 2013; Pawel Hajdan jr <phajdan.jr@gentoo.org> package.mask:
  Roll chromium masks (M26).

  14 Jan 2013; Andreas K. Huettel <dilfridge@gentoo.org> +releases/13.0/eapi,
  +releases/13.0/make.defaults, +releases/13.0/package.mask,
  +releases/13.0/parent:
  Add 13.0 release directory referring to eapi-5-files

  14 Jan 2013; Mike Gilbert <floppym@gentoo.org> package.mask:
  Update google-chrome mask; it is not affected by the masked dependencies.

  14 Jan 2013; Mike Gilbert <floppym@gentoo.org> package.mask:
  Revert last change due to bad dependencies.

  14 Jan 2013; Mike Gilbert <floppym@gentoo.org> package.mask:
  Update chromium masks for chromium-25 beta release.

  13 Jan 2013; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add Old-MIT license to MISC-FREE group.

  13 Jan 2013; Pawel Hajdan jr <phajdan.jr@gentoo.org> package.mask:
  Unmask dev-libs/icu-50.1.1, should be OK for ~arch.

  13 Jan 2013; Pacho Ramos <pacho@gentoo.org>
  targets/desktop/gnome/package.use:
  Set required USE flags as default for merging gnome-base/gnome directly, bug
  #450690 by Richard Wiedenhöft

  13 Jan 2013; Tim Harder <radhermit@gentoo.org> package.mask:
  Mask =mail-client/roundcube-0.9* for testing.

  12 Jan 2013; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add XC license to MISC-FREE group, bug 448274.
  Add mm license to MISC-FREE group.

  12 Jan 2013; Magnus Granberg <zorry@gentoo.org> hardened/linux/use.mask:
  Unmask orc

  12 Jan 2013; Sergey Popov <pinkbyte@gentoo.org> package.mask:
  Mask dev-libs/libole2 for removal

  12 Jan 2013; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add libodialog and pngcrush to MISC-FREE group, bugs 449796 and 450310.
  Add alternate and pngnq to MISC-FREE group.

  12 Jan 2013; Hanno Boeck <hanno@gentoo.org> license_groups:
  Add licenses LIBGLOSS and NEWLIB to MISC-FREE (they had issues that have been
  resolved upstream now).

  11 Jan 2013; Sergei Trofimovich <slyfox@gentoo.org> package.mask:
  removed dev-haskell/time mask, as it's gone from tree now

  10 Jan 2013; Davide Pesavento <pesa@gentoo.org> package.mask:
  Remove obsolete net-news/quiterss mask.

  09 Jan 2013; Jeroen Roovers <jer@gentoo.org> package.mask:
  Mask >net-nntp/tin-2.1 (unstable upstream).

  09 Jan 2013; Jeroen Roovers <jer@gentoo.org> package.mask:
  Mask kgcc64-4.7 too.

  09 Jan 2013; Tomáš Chvátal <scarabeus@gentoo.org> package.mask:
  Mask libav-9.1

  08 Jan 2013; Torsten Veller <tove@gentoo.org> package.mask:
  Mask dev-perl/Class-MOP for removal (#350612)

  08 Jan 2013; Jeroen Roovers <jer@gentoo.org> package.mask:
  Remove dev-libs/libnl-3.2.17 mask (bug #450504) now that it is gone.

  08 Jan 2013; Andrey Grozin <grozin@gentoo.org> package.mask:
  Masking >=dev-lisp/gentoo-init-1.0, >=dev-lisp/asdf-2.26, >=dev-lisp/sbcl-1.1.2

  07 Jan 2013; Michał Górny <mgorny@gentoo.org> thirdpartymirrors:
  Fix github mirror to use the regular URI.

  07 Jan 2013; Mike Frysinger <vapier@gentoo.org> profiles.desc:
  Mark s390 profiles stable.

  06 Jan 2013; Justin Bronder <jsbronder@gentoo.org> package.mask:
  Remove net-nntp/sabnzbd mask, fix already released and updated in tree.

  06 Jan 2013; Justin Bronder <jsbronder@gentoo.org> package.mask:
  Masking net-nntp/sabnzbd-0.7.8 pending next release

  06 Jan 2013; Maxim Koltsov <maksbotan@gentoo.org> package.mask:
  Move sssd mask to top of the file, change mask text

  06 Jan 2013; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add mpich2 license to MISC-FREE, bug 449344.

  06 Jan 2013; Jeroen Roovers <jer@gentoo.org> package.mask:
  Mask =dev-libs/libnl-3.2.17 (bug #450504).

  05 Jan 2013; Sergei Trofimovich <slyfox@gentoo.org> package.mask:
  masked cvsps-3 for testing

  05 Jan 2013; Andreas K. Huettel <dilfridge@gentoo.org> thirdpartymirrors:
  Remove ftp.caliu.cat from kde mirrors since it times out

  05 Jan 2013; Hanno Boeck <hanno@gentoo.org> license_groups:
  Add DES license to MSIC-FREE.

  04 Jan 2013; Raúl Porcel <armin76@gentoo.org>
  -default/linux/arm/10.0/package.use.mask:
  Remove p.use.mask from wrong place

  04 Jan 2013; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add gd to MISC-FREE license group, bug 450244.
  Add xboing to MISC-FREE license group, bug 448274.

  04 Jan 2013; Dirkjan Ochtman <djc@gentoo.org> package.mask:
  Revert mod_python mask (bug 343663).

  04 Jan 2013; Eray Aslan <eras@gentoo.org> package.mask:
  Remove mask for mail-client/pine as it is no longer in the tree

  04 Jan 2013; Ole Markus With <olemarkus@gentoo.org> package.mask:
  Masking ezc-* for removal

  04 Jan 2013; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
  package.mask:
  Mask some prerelease x11 packages

  03 Jan 2013; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add new license group MISC-FREE-DOCS for free documentation and other
  non-software. Move font licenses from MISC-FREE to it.
  Add x2x to MISC-FREE, bug 449944; add Unicode_Fonts_for_Ancient_Scripts to
  MISC-FREE-DOCS license group, bug 449152. Remove as-is from MISC-FREE; most
  free packages using it were moved to more specific licenses, bug 436214.

  03 Jan 2013; Raúl Porcel <armin76@gentoo.org>
  +default/linux/s390/10.0/s390x/parent, profiles.desc:
  Add s390x server-less profile

  02 Jan 2013; Anthony G. Basile <blueness@gentoo.org> profiles.desc:
  Add hardened/linux/arm/armv7a to profiles.desc list

  02 Jan 2013; Ulrich Müller <ulm@gentoo.org> license_groups:
  Add Openwall to MISC-FREE license group, bug 449832.

  02 Jan 2013; Mike Gilbert <floppym@gentoo.org> package.mask:
  Mention USE_PYTHON and PYTHON_TARGETS in the pypy-1.8 mask.

  02 Jan 2013; Mike Gilbert <floppym@gentoo.org> package.mask:
  Mask pypy-1.8 for removal.

  01 Jan 2013; Ulrich Müller <ulm@gentoo.org> license_groups:
  Remove jaxen and saxpath (JDOM duplicates) from MISC-FREE license group.

  01 Jan 2013; Sergei Trofimovich <slyfox@gentoo.org> package.mask:
  masked dev-haskell/wash for removal

  01 Jan 2013; Andreas K. Huettel <dilfridge@gentoo.org> +ChangeLog-2012:
  Split ChangeLog.

  For previous entries, please see ChangeLog-2012.


