New in 6.7 version:
  * Support for CMake (F. Ficarelli and D. Cesarini, CINECA, with help from
    Ye Luo, P. Delugas, S. Gsaenger)
  * In vc-relax with Hubbard corrections, the final SCF calculation is done by 
    reading atomic occupations from file produced during the vc-relax 
    (rather then recomputing them from scratch).
  * EPW: 
    (1) ZG package to generate special displacements for first-principles non-perturbative calculations 
    at finite temperatures [Marios Zacharias and Feliciano Giustino, Phys. Rev. Research 2, 013357, (2020)].
    (2) Plotting of Fermi surface.
    For the full list of new features, bug fixes, and changes leading to backward incompatibility issues, 
    please visit the Releases page of the EPW documentation site [https://docs.epw-code.org/doc/Releases.html].

Fixed in 6.7 version:
  * Some linkers yield "missing references to ddot_" in libbeef
  * FFT test in FFTXlib was not always compiling 
  * angle1, angle2, starting_magnetization incorrectly written to xml file
  * Bug in Hubbard forces and stress for bands parallelization (when nproc_pool>nbnd) 
  * Bug in DFT+U+V when starting_ns_eigenvalue is used (courtesy of M. Cococcioni)
  * Crash in the calculation of Z* with ultrasoft PP when the number of bands
    is larger than the number of occupied bands (thanks to Sasha Fonari)
  * Crash in matdyn.x when ibrav=0 (thanks to Sasha Fonari)
  * Some postprocessing cases not working properly with k-point parallelization
    and ultrasoft pseudopotentials (noticed by Kristjan Eimre)
  * Ensemble dynamics in CP was broken in v.6.6 (not in previous versions)

Incompatible changes in 6.7 version:
  * FoX  no longer used to read and write pseudopotential files
  * iotk no longer used to read and write any file
  * Developer manual moved to the Wiki

New in v.6.6:
  * vdW-DF3-opt1, vdW-DF3-opt2, and vdW-DF-C6 van der Waals functionals
    implemented (T. Thonhauser, supported by NSF Grant No. 1712425)
  * More FORD documentation
  * Stress for non-collinear case
  * QE can be compiled on Windows 10 using PGI v.19.10 Community Edition
    configure works, except FoX: use script install/build_fox_with_pgi.sh
  * ParO and PPCG iterative diagonalization algorithms
  * Fourier interpolation of phonon potential implemented in ph.x
    (Jae-Mo Lihm, Seoul Natl. Univ.)
  * Extension of the PW code to DFT+U+V [JPCM 22, 055602 (2010)];
    Extension of the HP code to compute also inter-site Hubbard V parameters;
    Extension of the XSpectra code to work on top of DFT+U+V [arXiv:2004.04142]
    (I. Timrov, N. Marzari, M. Cococcioni).
    Extension of Hubbard forces and stress to ortho-atomic orbitals
    (I. Timrov, F. Aquilante, L. Binci, N. Marzari)
  * Support for BEEF-vdW XC (by Johannes Voss) compilation link has been included; 
    e.g. BEEF_LIBS="-L$LIBBEEF/src -lbeef", where $LIBBEEF is the path 
    to the compiled libbeef folder. If "calculation='ensemble'", 
    BEEF-vdW nscf ensemble energies will be generated at the end of PWscf.
    (Gabriel S. Gusmão, Georgia Tech)
  * i-PI socket now supports on-the-fly change of flags for SCF, forces,
    stresses and variable cell calculations using binary-integer enconding.
    (Gabriel S. Gusmão, Georgia Tech)
  * Phonon-induced electron self-energy implemented in ph.x and
    a new post-processing program PHonon/postahc.x added.
    (Jae-Mo Lihm, Seoul Natl. Univ.)
  * Implementation of the Sternheimer algorithm in the turboEELS code
    (O. Motornyi, N. Vast, I. Timrov, O. Baseggio, S. Baroni, and A. Dal Corso,
    Phys. Rev. B  102, 035156 (2020).)
  * EPW:
    (1) Use of the band manifold determined by Wannierization step
        when evaluating electron-phonon vertex on coarse grids
    (2) Support for PAW
    For the full list of new features and changes leading to backward incompatibility issues,
    please visit the Releases page of the EPW documentation site 
    [https://docs.epw-code.org/doc/Releases.html].
  
Fixed in v.6.6:
  * PW: Restart from interrupted calculations  simplified. As a side effect,
    NEB restart now works again
  * Various LIBXC glitches, missing check on metaGGA+USPP/PAW not implemented
  * Fermi energy incorrectly written to xml file in 'bands' calculation
    (did not affect results, just Fermi energy position in band plotting)
    Also: Fermi energy always written to xml file, also for insulators
  * Phonon code in the non-collinear case with magnetization ("domag" case)
    now works properly - courtesy Andrea Urru and Andrea Dal Corso.
  * Incorrect forces, and slightly inconsistent atomic positions, were
    written to xml file for structural optimization and molecular dynamics
  * Some Bravais lattices with special axis orientations were not correctly
    written to xml file, leading to errors in some codes (e.g., thermo_pw)
    using that piece of information (fixed by Alberto Otero de la Roza)
  * PPACF wasn't working with the "lfock" option: wavefunctions were no longer
    read from file because read_file had been replaced by read_file_new
  * Wrong phonons could result in some cases from an incompatibility between
    the FFT grid and the symmetry (typically occurrence: actual symmetry higher
    than the symmetry of the Bravais lattice) - Noticed by Matteo Calandra.
  * Bug in PHonon+U for the symmetrization in the spin-polarized case when 
    the Hubbard channel is "s" (noticed by Jin-Jian Zhou)
 
Incompatible changes in v.6.6:
  * If no starting magnetization is set in a non-collinear or spin-orbit
    calculation, the magnetization is set to zero and remains zero.
    Previously, the magnetization was zero in practise (although numerical
    noise could lead to nonzero values) but was not forced to be zero.
  * Default value of parameter "diago_david_ndim" changed to 2:
    uses less RAM, execution time sometimes shorter, sometimes longer.
  * Grouping of inlc values into ranges for different developments.
    WARNING: inlc for rVV10 has been changed to inlc=26.
  * Conversion from 1D FFT real-space index to 3D positions moved into a
    small routine for all cases where such conversion is used
  * CP: atomic positions are now in array tau(1:3,1:nat), information on the
    type of atom is in array ityp(:). The logic is now the same as for all
    other codes and there is no need to re-order atoms or to put ultrasoft
    pseudopotentials first, non-conserving second.
  * Calls to LAXlib routines changed: module to be included replaced by file
    'laxlib.fh', descriptors replaced by integer values
  * Interpolation table for Q(G) is in a.u. and no longer in 2pi/a units
  * Part of pseudopotential-related code moved to new directory upflib/ and
    into library libupf.a. Directory upftools/ is obsolescent.

New in 6.5 branch:
  * For non-local functionals of the vdW-DF and rVV10 families the kernel is
    now calculated on-the-fly rather than read from file. Thus, the kernel
    files vdW_kernel_table and rVV10_kernel_table are no longer needed for
    calculations and the kernel generation programs generate_vdW_kernel_table.x
    and generate_rVV10_kernel_table.x have been removed. The on-the-fly vdW-DF
    kernel calculation does not take long, e.g. ~100 seconds on a single Intel
    Xeon 2.20GHz core and ~12 seconds on 8 cores (Intel 2018 compilers); the
    rVV10 kernel computes in seconds. Detailed information is available in the
    git log commit notes. This work was performed by T. Thonhauser and is
    supported by NSF Grant No. 1712425.
  * turbo_eels code of TDDFPT module now works with ultrasoft pseudopotentials
    and spin-orbit coupling together (Oleksandr Motornyi, Andrea Dal Corso,
    Nathalie Vast). lr_sm1_psi.f90 of LR_Modules is rewritten and simplified.
  * Stochastic-velocity rescaling as a new thermostat for constant-cell MD as
    implemented in dynamics_module (Leonid Kahle, Ngoc Linh Nguyen)

Known problems in 6.5 branch:
  * The phonon code in the non-collinear case with the "domag" option does 
    not work properly: there is a problem with time reversal symmmetry.
    Such calculation is currently disabled until a fix is found.

Problems fixed in 6.5 branch :
  * at2celldm wasn't properly converting vectors into celldm parameters
    in the ibrav=91 case (Tone)
  * PP: plot_num=1 wasn't working any longer as expected due to forgotten 
    local potential term (noticed by Manoar Hossain, NISER)
  * DOS calculation wasn't honoring "bz_sum='smearing'" if the nscf 
    calculation was performed with tetrahedra, contrary to what stated
    in the documentation (noticed by Mohammedreza Hosseini, Modares Univ.)
  * Time reversal symmetry in tetrahedron routine incorrectly detected
    after a restart in phonon (reported by T. Tadano)
  * pp.x with plot_num=11 in spin-polarized case was issuing a segmentation
    fault error (noticed by Mauricio Chagas da Silva)
  * pp.x with plot_num=17 in spin-polarized case was issuing a bogus 
    error (noticed by Shoaib Muhammad, Sungkyunkwan U.)
  * vc-relax with cell_dofree='z' wasn't working exactly as expected
    (noticed by Daniel Marchand, fixed by Lorenzo Paulatto)
  * Incorrect link to wannier90 package (thanks to Nikolas Garofil)
  * Bug in spin-polarized meta-GGA (noticed by Shoaib Muhammad, 
    Sungkyunkwan U.)
  * Unphysical fractional translations (tau/n with n/=2,3,4,6) were not 
    explicitly discarded, thus leading in unfortunate cases to strange
    values for FFT factors and grids. Also: if "nosym" is true, inversion
    symmetry flag (invsym) and info on FFT factors (fft_fact) must also
    be reset (problem spotted by Thomas Brumme, Leipzig)
  * PPACF wasn't working any longer in v.6.4 and 6.4.1 for nspin=2 and
    for hybrid functionals (fixed by Yang Jiao, Chalmers)
  * option "write_unkg" of pw2wannier90.f90 wasn't working as expected
  * Input parameters (for restarting DFPT+U calculations) read_dns_bare 
    and d2ns_type were missing in the PH input namelist, and moreover
    they were not broadcasted.
  * Option rescale-T and reduce-T now update the target temperature based on
    the previous target temperature, not based on instantaneous temperature
    as before.
  * cppp.x works again

Incompatible changes in 6.5 branch :
  * Major changes inside the exchange-correlation code; XC routines moved
    inside modules but no other changes are needed for calling routines
  * ibrav=-13 crystal axis converted to a more standard orientation.
    Atomic positions in crystal axis for the previous convention can
    be converted by applying the transformation (x,y,z) => (y,-x,z)
  * Initialization has been reorganized, so some initialization routines
    do not perform exactly the same operations as before - should have no
    consequences for codes calling "read_file" to start the calculation,
    but codes separately calling initialization routines may be affected
  * fractional translations "ftau" in FFT grid units no longer existing as
    global variables: replaced by "ft", in crystal axis, computed locally
    where needed (in real-space symmetrization only)

New in 6.4.1 branch :
  * A warning is issued if the lattice parameter seems to be a conversion
    factor instead of a true lattice parameter. Conversion should be achieved
    with the appropriate options, not with dirty tricks. In the future this
    will no longer be allowed
  * A warning is issued if ibrav=0 is used for systems having symmetry. If not
    properly done this may lead to strange problems with symmetry detection
    and symmetrization. Lattice information should be used if available.

Problems fixed in 6.4.1 branch :
  * Two bugs fixed in HP: 1) the code was not working correctly when fractional
    translations were present, 2) there was a bug in the case when either there
    is only one k point, or when k pools are used and some of the pools have
    only one k point.
  * Restart of ph.x with 2D boundary conditions has been fixed (see gitlab
    issue #102)
  * XML file correctly written if tetrahedra are used (see gitlab issue #103)

New in version 6.4:
  * Experimental version of SCDM localization with k-points, activated like for
    k=0 by specifying in &system namelist a value > 0 for "localization_thr".
  * It is now possible to limit the number of xml step elements printed out
    for relaxation or molecular dynamics simulation, by setting the environment
    variable MAX_XML_STEPS. Useful in case of very long trajectories to avoid 
    issues due to too large file size.  
  * EPW works with ultrasoft pseudopotentials (F. Giustino, S. Poncé, R. Margine)
  * New code hp.x to compute Hubbard parameters using density-functional
    perturbation theory (experimental stage) (I. Timrov, N. Marzari, and M. Cococcioni, 
    Phys. Rev. B 98, 085127 (2018); arXiv:1805.01805)
  * The PHonon code works with the Hubbard U correction (experimental stage)
    (A. Floris, S. de Gironcoli, E.K.U. Gross, and M. Cococcioni,
    Phys. Rev. B 84, 161102(R) (2011);
    A. Floris, I. Timrov, B. Himmetoglu, N. Marzari, S. de Gironcoli,
    and M. Cococcioni, in preparation)
  * XDM now works also for USPP and norm-conserving PP

Problems fixed in version 6.4 (+ = in qe-6.3-backports as well) :
  + Codes reading scf data recomputed celldm parameters also if ibrav=0
    This produced confusing output and had the potential to break some codes
  + index not correctly initialized in LSDA phonon with core corrections 
  + GTH pseudopotentials in analytical form wrongly computed in some cases
  + projwfc.x not working with new xml format in non-collinear/spinorbit case 
  + Starting with .EXIT file present ("dry run") crashed with new file format
  + Some space groups were missing
  + Random MPI crashes with DFT+U due to small discrepancies between values
    of Hubbard occupancies on different processors
  + Variable-cell optimization wasn't working with Tkatchenko-Scheffler vdW
  + Atomic occupancies for DFT+U were not correctly written by CP after 
    switch to new format, due to a mismatch in their definition
  + Phonons with option "nosym" wasn't working
  + Option "noinv" wasn't read from new xml file
  * Variable-cell optimization with hybrid functionals wasn't working due
    to missing re-initialization (it also crashed during the final scf step)
  + Printout of wall time was sometimes incorrect (courtesy Daniel Pinkal)
  + 'make install' and 'make -jN' cases fixed (maybe)
  + The restart option in turboEELS (turbo_eels.x) with ultrasoft
    pseudopotentials was not working.
  + bad format in upf%comment when writing the PP_INFO section of UPF v2 PPs

Incompatible changes in version 6.4 version:
  * Charge density in the LSDA case is stored as (up+down, up-down) and no longer 
    as (up,down). Output data format is unchanged to (up+down, up-down)
  * Non-symmorphic operations are always allowed and the FFT grid is made
    commensurate. Meaning and usage of input variable "use_all_frac" changed.
  * Old format (-D__OLDXML) deleted. Everything should work as before but some
    exotic options might have problems. The following utilities no longer work:
    - cppp.x (was reading old format only)
    - importexport.x (superseded by hdf5 for portable binaries)
    - bgw2pw.x (was writing old format only)
  * Several routines moved from PHonon/PH to LR_Modules
  * Module "wavefunctions_module" renamed "wavefunctions"
  * TDDFPT: the variables ecutfock, tqr, and real_space are no longer input 
    variables of turbo_lanczos.x and turbo_davidson.x. Instead, they are read 
    from the XML file produced by pw.x. The variable real_space_debug was removed.

Known problems in version 6.4:
  * Frequent "dexx is negative" errors with hybrid functionals
  * restart of ph.x when using 2D boundary conditions fails see issue#102 on gitLab 
  * the band_structure element is printed incompletely if tetrahedra are used for sums in the IBZ, see issue #103.  

New in 6.3 version:
  * New implementation, using  a more robust algorithm for the Wigner-Seitz 
    construction in EPW (Samuel Ponce and Carla Verdi) 
  * New application for optical spectra computation using optimized basis sets 
   (Paolo Umari, Nicola Marzari and Giovanni Prandini).  

  * Improved interface between TDDFPT and Environ using plugins( Oliviero Andreussi)  

  * Improved FFT threading (Ye Luo, Argonne)

  * EXX: ACE can be projected on arbitrary number of orbitals
    Slight change in SCF convergence with ACE (dexx) properly
    accounting for difference between 2*<new|V(old)|new> 
    and <new|V(old)|new> + <old|V(new)|old>  (see "fock3" term) 
    SCDM and localized exchange is now compatible with ecutfock
    Localized exchange can deal with virtual orbitals (empty bands)
    (Ivan Carnimeo)

  * Spin-polarized X3LYP (experimental)

  * EPW: Electronic transport (Boltzmann transport equation)
         Iterative Boltzmann transport equation (experimental)
         Improved way to compute Wigner-Seitz vectors 
         Cumulant treatement (model)
         Possible screening
         Support for exclude bands
         Calculation of velocity beyond the local approximation (experimental)

Problems fixed in 6.3 version:

  * Stress with hybrid functionals and Gamma point was grossly wrong
    (5ed148646)

  * EPW: Velocity in the dipole approximation was unstable because of 
    G-vector ordering. 

  * Real-space augmentation functions were crashing with -nt N option

  * Calculation of ELF wasn't always working due to a bad usage of FFT
    descriptors - noticed by Enrique Zanardi Maffiotte (commit a86fb75d)

  * Workaround for gfortran bug in FoX (commit 5b36b697) and for pgi+openmp
    bug (f43e72c9)

  * Reading of starting wavefunctions from file, including restart case,
    wasn't always working as expected. This might be at the origin of
    mysterious "davcio errors" (April 18, 2018)

  * Parameters for electric fields were not saved to the new XML file, thus
    breaking some forms of postprocessing (noticed by Thomas Brumme and 
    Giovanni Cantele, fixed April 18, 2018)

  * Bug in reading (with FoX) the augmentation part of pseudopotentials in
    upf v.2 format. The bug shows up only for PPs generated using David
    Vanderbilt's code, yielding a mysterious message "Error in scalartorealdp
    Too few elements found" (March 20, 2018)

  * LDA+U for spin-orbit (kind=1) was crashing for one k-point, trying to read
    data not previously saved (noticed by Christof Wolf, Feb 8, 2018)

  * ibrav =-13 wasn't documented and did not recognize the correct parameter
    cosBC (noticed by Jose' Conesa, Jan 26, 2018)

  * Yet another problem with the final scf step in a vc-relax calculation: if
    restarted from an interrupted calculation, the final step was trying to
    read the charge density with a different number of G-vectors (Jan 23, 2018)

  * CP with LDA+U: the choice of the LDA+U manifolds from atomic wavefunctions
    was sometimes not working properly due to a missing check (Jan 22, 2018)

  * pw2bgw.x fixed, courtesy G. Samsonidze (Jan.16, 2018)

  * Band parallelization was broken in one of the last commits
    just before v.6.2.1 (Dec.23, 2017)

  * TDDFPT in "lr_addus_dvpsi.f90" had a bug for systems with USPP
    and more than 2 atoms (Dec.22, 2017) (Oleksandr Motornyi, 
    Michele Raynaud, Iurii Timrov, Nathalie Vast, Andrea Dal Corso)

  * Phonons with images wasn't working in v.6.2.1 with old PP files
    containing "&" in the header section (Dec.20, 2017)

  * PWscf in "manypw" mode wasn't working due to a bad IF (Dec.12, 2017)

Known problems in 6.3 version:

  * CP does not compile if the old XML format is enabled (-D__OLDXML)
  * the 'make install' and 'make -j' commands do not work

Incompatible changes in 6.3  version:

  * EPW: Removal of q-point paralelization (not very used and generated large code 
    duplication) ==> removal of the parallel_k and parallel_q input variables. 

  * various subroutines computing gradients and similar quantities using FFTs
    have been harmonized and collected into Modules/gradutils.f90

  * subroutine "ggen" split into two subroutines: "ggen" takes care of
    G-vectors for the FFT grid only, "ggens" for the subgrid only

  * FFT interfaces fwfft, invfft now accept only 'Rho', 'Wave', 'tgWave'.
    Together with FFT descriptor, these options cover all cases.

  * Structure for 'custom' FFT (exx_fft) deleted from exact exchange code,
    FFT descriptor dfftt and a few variables used instead
    (a different exx_fft structure is still present in GWW)

  * FFT indices nl, nlm, nls, nlsm, moved from their previous location
    (gvect, gvecs) into FFT descriptors (dfft* structures)

  * Development moved to GitLab

New in 6.2.1 version:

  * Spin-polarized SCAN meta-GGA; spin-unpolarized stress for meta-GGA
    (Hsin-Yu Ho and Marcos Calegari Andrade)

  * Interface with Grimme's DFT-D3, as repackaged by Bálint Aradi
    (Miha Gunde and Layla Martins-Samos)
  
  * Phonons for two-dimensional systems (Thibault Sohier et al.)

Problems fixed in 6.2.1 version:

  * PWscf in "driver" mode with i-Pi wasn't working with k-points and
    wasn't honoring options for interpolation - fixed by Przemyslaw Juda
    (r14037)

  * Restart in phonon wasn't working with tetrahedra (r14029)
    and for USPP/PAW at q != 0 (r14034-14036)

  * QM-MM interface with LAMMPS was broken in v.6.2 (r14006-14008)

  * NASTY BUG IN META-GGA WITH LIBXC (tpss, tb09, scan): incorrect results -
    fixed by Hsin-Yu Ho and Marcos Calegari Andrade (r14000, 14004-5, 14027)

  * Electron-phonon with ibrav=0 not working due to a mismatch between
    what is written and what is read in "fildyn" (r13999)

  * Tetrahedra with "old" XML format working again (r13993)

  * Option "-in file" for fermi_proj.x and fermi_velocity.x was not working
    in serial execution; fermisurfer_example/ was missing (r13986). Also:
    Fermi velocity in vfermi.frmsf was 4*celldm(1) times bigger than in
    fermisurfer (reported by Victor Chang, fixed by Mitsuaki Kawamura, r14033)

  * Inconsistent "short name" for DFT was breaking Perdew-Wang pseudopotentials
    (r13975)

  * Yet another problem with last scf step in vc-relax, present since v.6.1: 
    if no atoms of a given kind were present, there was a division by zero
    and a NaN in starting magnetization (reported by Malte Sachs) (r13971)

  * FFT's for ARM libraries were broken (r13956,13959, courtesy Jason Wood)

Known problems in 6.2.1 version:

  * pw2bgw.x not working

  * QM-MM not yet working; COUPLE interface not aligned with new parallelism

  * New format for charge density no longer allows to perform a non-scf
    calculation with k-points starting from a scf calculation at Gamma

  * NEB with one k-point per pool requires "wf_collect=.false.", because
    update_neb is not updated for the new format

Incompatible changes in 6.2.1 version:

  * __OPENMP with two underscores (set by configure) replaced by _OPENMP
    with one underscore (automatically set by all OpenMP-aware compilers)

  * "Old" xml input file deleted

New in 6.2 version:

  * SCAN functional with libxc v.3; bands with meta-GGA can be computed
   (Davide Ceresoli)

  * EXX with localization (experimental)

  * Stress calculation is enabled in ESM
    “starting_charge” option added to SYSTEM namelist

  * Unscreened hybrid vdW-DF (JCP 146, 234106 (2017), contributed by 
    Per Hyldgaard and Jeff Neaton

Fixed in 6.2 version

  * DFPT with constrained magnetization for insulators wasn't working
    (r13915)

  * virtual.x was linking a duplicate obsolete "pseudo" module, leading to
    "unrecognized dft" error (fix provided by Stefano Dal Forno, r13910)

  * NEB + EXX works again (r13851)

  * Under some circumstances (k-points, reduced ecutfock, other unclear  
    reasons), EXX with reduced cutoff wasn't giving accurate results, 
    due to a mismatch between the ordering of G-vectors in the original 
    FFT grid and in the grid for ecutfock. Also fixed: incorrect indices
    of -G (used in Gamma-only case) when nr1 /= nr2 (r13833)

  * Variable-cell glitches: with EXX, G-vectors used in the FFT of 1/|r-r'|
    should be rescaled as well (courtesy Satomichi Nisihara) (r13817);
    with tetrahedra, deallocation must be done only at the end (r13932).

  * Bug in DFPT with tetrahedra and in "fermisurfer", plus some extensions
    to el-ph with tetrahedra (Mitsuaki Kawamura) (r13806).

  * EXX with k-points and pool parallelization was occasionally crashing
    due to questionable custom FFT grid initialization (r13728+r13835)

  * ESM energy and forces for 'bc2' case and nonzero esm_efield were not
    correct (r13727). Also: problem with restart in NEB with ESM fixed

  * __USE_3D_FFT was broken since v.6.0 (r13700, r13706)

  * Some constants in the definition of PBE functionals were truncated to 
    6 significant digits. While not a bug, this could lead to tiny differences
    with respect to previous results and other XC implementations (r13592)

  * Examples for magnetic anisotropy with force theorem were not properly
    updated (r13534)

  * Orthogonalization of Hubbard manifold in LDA+U with non-default values
    of U_projection_type was not properly done in v.6.0 and 6.1 (r13529)
    Thanks to Andrea Ferretti and Mike Atambo for fixing this.

  * Bug in parallel FFT when task groups are used and the number of XY planes 
    is not a multiple of the number of MPI tasks and of task groups (r13489)

  * Born effective charges with "Zeu" method were not correctly computed 
    when both GGA and core corrections were present (r13474 and r13481).
    Thanks to Vineet Kumar Pandey for reporting the problem.

  * reset_grid wasn't resetting grid properly if k1,k2,k3=0. Thanks to
    Giuliana Barbarino (r13462)

  * EXX in non-collinear/spin-orbit case wasn't correct (r13453)

  * Fixed a small bug in two subroutines only called by Environ (r13451)

  * Out-of-bounds error in hybrid functionals with LSDA, Gamma tricks and
    2 pools (r13448)

  * EPW: in v.6.1 there was a mismatch between symmetry operations in PW
    and in EPW. It affected results of v.6.1 only in the presence of
    fractional translations incommensurate with the FFT grid. (r13443)

  * FFTXlib: the case in which the smooth and dense grids have the same FFT
    dimensions along x and y but different along z was incorrectly treated,
    leading to strange error messages. (r13439 and r13445)

  * There was a small inconsistency in the vdW-DF kernel generating routine
    "generate_vdW_kernel_table.f90", not affecting in any significant way 
    the results. It is anyway recommended to re-generate the kernel file.
    Thanks to C.Y. Ren for noticing this. (r13438)

Incompatible changes in 6.2 version:

  * MAJOR restructuring of the distribution:
    - diagonalizers moved to KS_Solvers/
    - general utility modules moved to UtilXlib/
  * MAJOR restructuring of parallel FFTs, affecting ordering of real-space
    arrays
  * Restructuring of C routines, introduction of ISO_C_BINDING:
    - memstat moved to module wrappers
    - f_wall and f_tcpu, in module mytime, replace previous fortran wrappers 
      for cclock and scnds, respectively. The latter remain as C functions.
    - fft_defs.h and related configure and makedep stuff deleted
  * module pwcom no longer contains modules gvect, gvecs, references to
    some variables in modules constants, cell_base
  * The new XML format with schema is now the default. Use configure option
    "--disable-xml", or add -D__OLDXML to MANUAL_FLAGS in make.inc, to revert
    to the old xml format. IMPORTANT NOTICE: the new format is incompatibile 
    both with the "old" format and with the previous "new" one: files may be
    in different locations with different names and contain different data.
    IMPORTANT NOTICE 2: the "collected" format is now the default
    IMPORTANT NOTICE 3: the new format uses FoX instead of iotk
  * Hybrid functionals: ACE is now the default for scf calculations (it wasn't
    in 6.1 contrary to what previously stated in this file); it is disabled
    for TD-DFPT. See variable "use_ace".

New in 6.1 version:

  * Hybrid functionals: Band parallelization over pair of bands, contributed
    by Taylor Barnes et al, http://dx.doi.org/10.1016/j.cpc.2017.01.008
  * Hybrid functionals with PAW now work
  * Optimized tetrahedron method, contributed by Mitsuaki Kawamura, U. Tokyo
  * PostProcessing: pp.x can now plot many bands in a single run.
    Contributed by Leopold Talirz, U. York

Incompatible changes in 6.1 version:

  * Routine h_psiq deleted, replaced by h_psi
  * Many variables related to tetrahedron method moved around
  * Functions set_sym and find_sym no longer require FFT grid dimensions as 
    input arguments, no longer force consistency of symmetries with FFT grids

Fixed in 6.1 version

  * TDDFPT: the keyword ltammd was missing in the namelist lr_dav
  * PW: real instead of complex constants in two ZGEMM calls could lead
        to NaN's in DFT_U forces with some compilers (e.g. PGI) (r13289)
  * pwi2xsf utility, also used in XCrysDen: various fixes (r13197)
  * PP: incorrect results in "projwfc.x" with PAW projection due to a missing
        line (r13121); crash in pw_export.x" due to dumb error (r13189);
        incorrect Fermi energy used in calculation of magnetic anisotropy
        with force theorem (r13335)
  * PW: final scf step in variable-cell calculation could crash
        due to missing reset of FFT dimensions (r13116)
  * FD: dangerous "q==0" check in matdyn.f90 (r13109)
  * Misc errors in new schema-based xml I/O (r13110, r13113)
  * CPV: stress and potential in nonlocal vdw-DF case were not correctly
         computed (r13102, r13143)
  * PWGui: double-hyphen glitch with old tcllib for NEB (r13101)
  * GWW wasn't working at all (r13099, r13100, r13106)
  * PW with hybrid functionals: 
    - LSDA with Gamma tricks and 2 pools did not work (r13158)
    - ACE energy slightly off, leading to crash, for metals (r13095)
      and for USPP (r13111)
    - small error in gamma-only USPP hybrid calculations using G space
      could lead to crashes (r13142)
  * Some Wyckoff site labels were incorrect (r13083, r13124)
    Also: symmetry analysis improved (r13094)

New in 6.0 version:

  * Socket interface with i-PI universal force engine (ipi-code.org)
  * New I/O: XML data file according to the XML Schema, initial implementation
    of HDF5 binary files (experimental, activate with -D__XSD and -D__HDF5)
  * Non-collinear magnetism implemented in epsilon.x, code restructuring
    (Tae-Yun Kim, Andrea Ferretti, Cheol-Hwan Park)
  * Lin Lin's ACE (Adaptively Compressed Exchange) for hybrid functionals
    (experimental, activate with -D__EXX_ACE) (Ivan Carnimeo)
  * Improved real-space treatment of Q and beta functions with Fourier
    filtering (Stefano de Gironcoli)
  * Support for new, improved Goedecker-Hutter-Teter pseudopotentials
    generated by Santana Saha (Sebastiano Caravati)
  * EPW: Automatic documentation using Ford
  * EPW: Restart after epmatwp1 is written with arbitrary number of cores
  * EPW: Electron and Phonon bandstructure can now be computed using band_plot
         with etf_mem true or false.
  * EPW: The test-farm now checks 5 representative examples and the associated
         accuracy
  * Netlib LAPACK updated, easy to update going forward
  * Added support to modern ELPA (2016.05 and 2015.11)
  * Added emacs modes for editing QE input, in GUI/QE-modes (Tone Kokalj)

Fixed in 6.0 version:

  * TDDFPT, PWCOND, GWW: redirection to /dev/null broke Windows executable
    (commit 12357)
  * PDOS in the non-collinear case was broken by recent changes in indexing 
    (courtesy Mitsuaki Kawamura) (commit (12366)
  * Incorrect format (old version) of the dynamical matrix if ibrav=0 in PHCG
    (commit 12367,12369) and incorrect format if more than 99 atoms
    (commit 12393) (courtesy Shaofeng Wang)
  * disk_io='high' crashing in MD runs (courtesy David Strubbe)
    (commit 12388)
  * Fix for NEB+hybrid functionals (courtesy Davide Colleoni)
    (commit 12391)
  * Incorrect Wyckoff site labels for group #138, origin_choice=2
    (courtesy Marton Voros) (commit 12426)
  * PHonon: support for Goedecker-Hutter-Teter pseudopotentials was missing
    (courtesy of Sebastiano Caravati)
  * turboTDDFPT: Problem if empty states were also computed. 
  * NEB did not recognize its own input if white spaces were present at the
    right of NEB cards (commit 12816)
  * startingwfc='file' with wavefunctions in collected format could yield a 
    bogus "unit not open" error (commit 12913)
  * PW and CP: possible out-of-bound error in TS-vdW due to incorrect 
    allocation of array UtsvdW (commit 12917)
  * EPW: Correct Wannier localization with spinors
  * EPW: Correct Wannier localization with spinors
  * EPW: Electronic velocities in the local approximation now works correctly
    with skipped bands and spin-orbit coupling

Incompatible changes in 6.0 version:

  * Support for AIX removed
  * The hamiltonian h_psi no longer needs "npw" and "igk" to be initialized
    via module "wvfct", but it needs "current_k" to be set to the index of
    the current k-point
  * k-point dependent variables npw, igk, and (in LR codes) npwq, igkq, 
    become local and point to global variables "ngk" and "igk_k", via the
    k-point index "ik" or, in LR codes, via "ikks" and "ikkq" indices.
    The global variables are computed once, stored in memory, no I/O is done.
    Variable "iunigk" deleted (contained unit for I/O of indices).
  * "nbnd_occ" variable is now dynamically allocated
  * Duplicated and confusing "outdir" variable removed from "io_files"
  * Due to frequent problems with mailers, "make.sys" is renamed "make.inc"
  * "allocate_fft" no longer calls "data_structure" to compute dimensions
    of the various grids: it just allocates FFT arrays
  * QE-GPU plugin not compatible with 6.x (new version is WIP)
  * Configure options "--with-internal-lapack" & "--with-internal-blas" have
    been replaced by a single "--with-netlib". Netlib LAPACK is self-compiled 
    (and also Netlib BLAS which is packaged with it).

                               * * * * *

New in 5.4 version:

  * Calculation of the Magnetic anisotropy energy is implemented (in the limit 
    of small spin-orbit coupling) using the Force theorem (A. Smogunov)
  * Support for FFT with ARM Performance Library (-D__ARM_LIB) added (F. Spiga)
  * Non-blocking FFT communications (-D__NON_BLOCKING_SCATTER) (C. Cavazzoni)
  * Bethe-Salpeter equation added to GWL (P. Umari)
  * Support for QM-MM using MPI (C. Cavazzoni and M. Ippolito)
  * Phonons with vdw-DF (S. de Gironcoli and R. Sabatini) and with DFT-D2
    (P. Giannozzi and F. Masullo) 
  * Addition of EPW to compute electron-phonon properties using Wannier 
    interpolations (S. Poncé, E. R. Margine, C. Verdi, and F. Giustino).

Fixed in 5.4 version:

  * New configure wasn't working properly for some Macintosh due to a
    missing line (commit 11976) and on BG (commit 12333)
  * Possible conflict between FFTW in MKL and in Modules/fftw.c solved 
    (commit 11980)
  * Incorrect printout from bands.x for nspin=2 (commit 12064)
  * parallel make broken by missing dependency (commit 12076)
  * generate_vdW_kernel was crashing in parallel on more than 210 processors
    (210 = default number of different q_i and q_j pairs) (commit 12077)
  * Incorrect normalization in epsilon.f90 for nspin=2, some inaccuracy
    for 'mv' and 'mp' smearing (courtesy of Tae Yun Kim and Cheol-Hwan Park,
    Seoul National University) (commit 12082)
  * Incorrect sum over pools in epsilon.f90 for nspin=2 (courtesy of Mariella
    Ippolito, CINECA) (commit 12218)
  * Hybrid functionals with USPP and k-point parallelization now work 
    (commit 12242)
  * Raman with no symmetry wasn't working properly due to bad logic of
    routines symmatrix3 and symtensor3 (courtesy of Marc Blanchard and
    Michele Lazzeri, IMPMC) (commit 12334)

Incompatible changes in 5.4 version:

  * Directories PW/tests/ and CPV/tests/ deleted, superseded by "testcode"
    tests in test-suite/
  * k+G indices "igk" no longer written to and read from file (PW only, 
    will be extended to all codes)
  * Matrix inversion routines merged into "invmat" in module matrix_inversion
  * Module "gvecw", in Modules/gvecw.f90, includes previous CP module "gvecw"
    and several PW variables taken out from module "wvfct":
    qcutz, ecfixed, q2sigm, ecutwfc
    New variable gcutw=ecutwfc/tpiba2 used also in PW every time "gk_sort"
    is called - gcutw is initialized at startup or when data files are read
  * Common modules for linear-response codes moved to new directory LR_Modules/
  * Routines for subspace diagonalization moved to LAXlib/
  * flib/ directory deleted, routines in flib/ moved to Modules/

                               * * * * *

New in 5.3.0 version:

  * projwfc.x: PDOS with PAW projectors and all-electron basis functions
  * X3LYP hybrid functional (using VWN_1_RPA)
  * B3LYP hybrid functional (using VWN) and B3LYP-V1R (using VWN_1_RPA)
  * New modular configure

Fixed in 5.3.0 version:

  * projwfc.x: When pw.x was run on a different number of processors and
    twfcollect was not true, projwfc.x was silently giving wrong results.
    Thanks to Hande Toffoli for reporting.
  * Usage of "~" in pseudo_dir is sometimes acceptable by fortran but not 
    by C. If so, a message is printed instead of weird characters in MD5.
  * PHonon: Gamma-specific code segfaulting with GGA
  * NaN's in stress with nonlocal functionals when the physical dimensions of
    FFT arrays is larger than the true ones and arrays are padded with zeros
  * pw.x: "task-group" parallelization wasn't working properly when the number
    of bands was smaller than the number of task groups. Affects v.5.2.1.
  * TDDFPT: lrpa (Random Phase Approximation) keyword was not present in 
    the namelist for turbo_lanczos.x code. The turboEELS code was not 
    working correctly with just one k point; for metals there were wrong
    weights leading to small errors near the Fermi level; the code was not
    working correctly with ultrasoft PP's. 
  * pw.x: stress with TS-vdw wasn't correct - courtesy of Thomas Markovich
  * The local correlation energy of B3LYP hybrid functional wasn't the "true" 
    one for B3LYP. This caused discrepancies up to of a few tenths of eV 
    in Kohn-Sham energies with respect to the "true" B3LYP. VWN is used
    to define the LDA correlation. B3LYP-V1R (B3LYP using VWN_1_RPA instead) 
    has also been added.
  * Constrained dynamics in pw.x wasn't completely correct

Incompatible changes in 5.3.0 version:

  * Standard F2003 calls to: get_environment_variable, get_command_argument, 
    command_argument_count, flush, are used everywhere instead of wrappers.
    Some old compilers may no longer work and must be considered unsupported.
  * Old Fermi Surface plotting tools kvecs_FS.f, bands_FS.f90, in PW/tools/,
    replaced by new code PP/src/fermisurface.f90
  * Reshuffling of FFT-related modules: 
    "gather_*"  and "scatter_*" routines moved from module fft_base 
                                                 to module scatter_mod
  * All FFT-related code moved to FFTxlib/
  * Linear algebra parallelization made independent of its parent communicator
    by introducing variable ortho_parent_comm, addressing the whole group.
    In PW ortho_comm is now a sub-communicator of intra_pool_comm and nolonger
    of intra_bgrp_comm.

                               * * * * *

New in 5.2.1 version:

  * svdW-DF, a proper spin version of vdW-DF (PRL 115, 136402 (2015);
    courtesy of Timo Thonhauser)
  * XSpectra: various improvements, extension to L_23 edges
  * ESM: various improvements, constant-bias (PRL 109, 266101 (2012))
    calculations for both pw.x and neb.x (courtesy of Minoru Otani)

Incompatible changes in 5.2.1 version:

  * "pot" parallelization level, no longer used, removed   
  * Obsolete calls to SCSL and SUNPERF library FFTs removed

Fixed in 5.2.1 version:

  * PW: incorrect calculation of maximum number of plane waves could lead 
    to error exit with hybrid functionals and ultrasoft pseudopotentials
  * PW: cell_dofree = '2Dshape' wasn't working as expected
  * PW: a few do loops included more FFT planes than physical ones in real
    space, leading to inaccuracies in real-space augmentation charge and xdm,
    only if the number of processors nproc_bgrp was not a divisor of nr3
  * XSpectra: v.5.1.2 and 5.2.0 contained a bug in parallelization that could
    lead to incorrect results     
  * TDDFPT: mismatch between actual and expected format of save file
  * Various fixes for compilation on NAG compiler

                               * * * * *

Incompatible changes in 5.2.0 version:

  * various "gather" and "scatter" routines removes and replaced by two
    interface routines gather_grid, scatter_grid, valid for all FFT grids
    and for both real and complex arrays; realspace_grid_init_custom and
    realspace_grids_init merged into realspace_grid_init, for each grid
  * __STD_F95 preprocessing option removed: all compilers that do not allow
    allocatable arrays in derived types are no longer supported

New in 5.2.0 version:

  * Goedecker-Hutter-Teter pseudopotentials directy supported in analytical
    form (courtesy of Sebastiano Caravati)
  * PW: Hybrid functionals with reduced cutoff for Vx\psi should now work
        also with k-points and for stress calculation
  * PW: real-space treatment of augmentation charges in USPP and PAW can 
        be used in (fixed-cell) structural relaxation as well
  * PW: speedup of USPP with full G-space treatment of augmentation charges
  * PW: Hybrid functionals for USPP now working
  * PW: Improved ESM, works also for NEB and with postprocessing codes;
    constant-bias potential (constant-mu) calculations (PRL109, 266101, 2012)
    implemented (courtesy of Minoru Otani)
  * TDDFPT contains now the turboEELS code for the calculation of the
    Electron Energy Loss and Inelastic X-ray Scattering Spectra

Fixed in 5.2.0 version:

  * PP: projwfc.x wasn't working any longer for non-collinear case without
    spin-orbit in 5.1.x versions
  * PW: ordering of beta functions incorrect in USPP + hybrid functionals.
  * PW: floating-point error could occur in rVV10 functional

                               * * * * *

New in 5.1.2 version:

  * PW: Hybrid functionals for USPP and PAW still have problems, disabled
  * code "molecularpdos.x" computing PDOS on selected molecular orbitals
    separately computed (courtesy of Guido Fratesi)
  * TDDFPT: a few more options, improved documentation, compatibility
    with "Environ" plugin
  * Added spin-polarized b86r exchange (courtesy of Ikutaro Hamada)

Incompatible changes in 5.1.2 version:

  * XSpectra: variable ef_r, used to eliminate the occupied states
              from the spectrum, replaced by new variable xe0  
  * PHonon: input variable iverbosity => verbosity
  * The (undocumented) *.evp file of CP uses a slightly different format
    (equally undocumented) since v.5.1.1. In order to use original format,
    compile with __OLD_FORMAT preprocessing variable on.

Fixed in 5.1.2 version:

  * Option wf_collect wasn't working with LSDA and one k-point per pool
  * Restarting from interrupted calculations could be spoiled by options
    "startingwfc" and "startingpot": warning added
  * Bug in space-group generator in the monoclinic case.
  * atomic: a small bug was preventing the generation of non-PAW 
    pseudopotentials with GIPAW reconstruction data
  * Changes made in rev.10251 had broken pw.x -pw2casino when just
    one k-point per processor was present. Also: pp converter from upf 
    to casino produced invalid pp for Z>=10 due to insufficient format
  * Symmetry printout could lead to error exit in same cases
  * Restarting from incomplete calculation could lead in some cases
    to mysterious crashes due to usage of unitialized communicator
  * PH: option only_init + US or PAW was not working.
  * Minor printout bug: the printed number of symmetries with fractional
    translations was sometimes incorrect in the non-collinear magnetic case.

                               * * * * * 

Incompatible changes in 5.1.1 version:

  * Regularization of DFT names for nonlocal functionals:
      "vdw-df3"                   replaced by "vdw-df-obk8"
      "vdw-df4" and "optb86b-vdw" replaced by "vdw-df-ob86"
      "rev-vdw-df2"               replaced by "vdw-df2-b86r"
    Explanation: We have tried to unify the naming convention of the vdW-DF 
    family of functionals built on "Dion et al., PRL 92, 246401 (2004)." 
    Within this family, numbering should be used for different non-local
    pieces of the functionals, such as vdW-DF2. If functionals only change the
    (semi)local contribution, the choice of (semi)local functional should be 
    attached at the end of the name, such as vdW-DF-C09 or vdW-DF-cx.

New in 5.1.1 version:

  * CP: Hybrid functionals with Wannier functions
  * Added possibility to provide structure via space-group number and
    Wyckoff positions (experimental)
  * Added vdW-DF-cx, Berland and Hyldgaard, PRB 89, 035412 (2014)
    (courtesy of Timo Thonhauser)
  * PW: TB09 meta-GGA functional (requires libxc)
  * PW: the code can capture "signals". typically sent by batch queues
    when allowed time is close to expire, and terminate gracefully.
    Experimental, to be enabled at compile time (see the user guide)
  * TDDFPT: Implemented a restart option in turbo_Davidson

Fixed in 5.1.1 version:

  * PWscf: variable-cell glitches at last scf step 
  * PWscf & PHonon: added several checks for unimplemented features
  * PWscf: energy related to external forces wasn't correct
  * CP: Wannier functions dynamics with nspin=2 wasn't working
  * PWscf: restart in variable-cell case wasn't working in v.5.1
  * pot_extrapolation='none' was crashing with a bogus error message
  * PHonon: the recently introduced fix to the G=0 component of the 
    deformation potential at q=0 was not working properly
  * Kernel table for rVV10 nonlocal functional was not written to file,
    breaking restart and postprocessing (no problem for scf)
  * Strange compilation bug on some IBM machines
  * Minor bug plus OpenMP bug in ESM implementation
  * Small bug leading to crashes when restarting some type of constrained
    magnetization calculations (courtesy of Florian Thoele, ETHZ)

                               * * * * *

New in 5.1 version:

  * "Cold restart" for Car-Parrinello dynamics
  * Calling QE from external codes made easier: see new subdirectory COUPLE
  * PW: Hybrid functionals for USPP and PAW (experimental)
  * PW: partial support to the use of k-point labels in the Brillouin zone
  * PW: Langevin dynamics with Smart Monte Carlo
  * CP and PW: Tkatchenko-Scheffler vdW correction (experimental)
  * GWW replaced by GWL (using Lanczos chains)
  * turboTDDFT: pseudo_Hermitian Lanczos algorithm and 
    Davidson-like diagonalization added
  * PWCOND with DFT+U
  * New functionals: gau-pbe, PW86 (unrevised), B86B, XDM (exchange-hole 
    dipole moment) model of dispersions, vdW-DF-obk8, vdW-DF-ob86 (Klimes
    et al), rVV10, vdW-DF2-b86r
  * PHonon: Calculation of phonon dispersions using the finite displacements 
    supercell approach. See subdirectory FD/ in PHonon.
  * dynmat.x can calculate phonon contribution to dielectric tensor
  * turboTDDFT now supports hybrid functionals (only with norm-conserving
    pseudopotentials)
  * "image" parallelization re-introduced in pw.x: see code "manypw.x"

Incompatible changes in 5.1 version:

  * Initialization of MPI modified in order to simplify usage of QE routines
    from external codes. It is now possible to run an instance of QE into a
    mpi communicator passed by the external routine. Changes affect a few MPI
    initialization routines (e.g. mp_start) and some MPI related modules;
    the communicator must be explicitly specified when calling mp_* interfaces
    to low-level MPI libraries.
  * Input variable "london" should be replaced by " vdw_corr='Grimme-D2' "
  * Routine "electrons" doesn't deal any longer with non-scf cases;
    use routine "non_scf" instead. For hybrid functionals, the loops over
    the charge density and over the exchange potential have been separated.
  * Restart mechanism of pw.x changed a lot. It works ONLY if you stop
    the code cleanly with the prefix.EXIT file, or by setting "max_seconds";
    disk_io='high' no longer needed (use it ONLY if tight with memory)
    Restarting from hard crashes is no longer supported.
  * Major restructuring of DFT+U and related modules in PW: related variables
    moved to module ldaU, "swfcatom" moved to module "basis"
  * Definition of "nwordwfc" in PP/ follows the same logic as in PW/
  * Calls to "find_equiv_sites" and "writemodes" changed (fixed dimension
    "nax" removed)
  * Call to "open_buffer" changed: unit must be a valid fortran unit > 0;
    max number of records is no longer specified; a new flag explicitly
    specifies if writing to RAM buffer is required. Functionalities of 
    Modules/buffers.f90 have been considerably modified and extended.

Fixed in 5.1 version:

  * PWscf: bug in finite electric field in non-collinear case
  * PHonon: G=0 component of the deformation potential at q=0 was incorrect
    (the contribution from the average coulomb potential, i.e. the integral 
    of the Coulomb contribution on the unit cell, was missing). For more 
    details, see M. Calandra et al. Phys. Rev. B 82 165111 , section III B.
  * PWscf: spin-polarized HSE for PAW was incorrectly implemented
  * PHonon: Gamma-specific code wasn't properly restarting in parallel
  * PHonon: epsil + paw was not working with k-point parallelization.
  * PHonon: problem with the symmetry analysis in D_6h. The problem appeared
    in special cases after the symmetry reshuffling made by the phonon code.
  * PWscf: starting with uniform charge worked only for non-spin-polarized
    calculations. Not a big deal unless one used HGH or other pseudopotentials
    without atomic charge information
  * PWscf: Forces with finite electric field (lelfield=.true.) and US PP
    were incorrect in parallel execution
  * D3: bug when the crystal has symmetry but the small group of the 
    q-point has no symmetry.
  * Bogus "file not found" error in pp.x when extracting quantities not
    requiring wave functions if these were "collected" - v.5.0.2 only
  * Some quantities calculated in real space (including the charge itself
    when tqr=.true.) were not always accurately computed in parallel
    execution if the number of planes wasn't the same for all processors
  * Bogus symmetry error in NEB due to missing re-initialization
    of fractional translations

                               * * * * *

Fixed in 5.0.3 version:

  * PW, PP, PHonon: files for DFT+U produced by previous versions
    could no longer be read
  * PHonon: restart with convt=.true. was not working with PAW
  * PHonon: in matdyn.x, displacement patterns were no longer correct
    if eigenvectors of the dynamical matrix were also written to file
  * PHonon: compatibility with files produced by previous releases
    was broken if pools were used
  * VERY NASTY PHonon bug: symmetry Sq=-q+G introduced in v.5.0.2
    could lead to bad phonons in some cases and has been disabled 
  * PHonon: effective charges eu + PAW were not accurate with pools;
    effective charges eu + US PP + spin-orbit nonmagnetic were not
    working in parallel.
  * Bug fix for NC pseudos with GIPAW info, for upf version 2 only:
    Pseudo local potential was incorrectly written and read. 
  * divide_class: wrong check for T_h
  * PP: incorrect check yielding bogus error in bands.f90 (v.5.0.2 only)
  * CP wasn't working properly with USPP having distinct Q functions 
    for each value of l, due to the never ending l/l+1 problem

                               * * * * *

New in 5.0.2 version:

  * DFT+U with on-site occupations from pseudopotential projectors;
    DFT+U+J (both experimental)
  * Calculation of orbital magnetization (experimental)

Fixed in 5.0.2 version:

  * the random-number generator wasn't checking for incorrect seeding;
    under some unlikely circumstances this might lead to strange errors
  * k-point parallelization in v.5.0 and 5.0.1 was affected by a subtle 
    problem: the distribution of plane waves was not always the same on 
    all pools of processors. While results were still correct, strange
    problems (e.g. lockups) could result. Also: there are more and more
    machines that are not able to produce the same results starting from
    the same data on different processors. Charge-density mixing is now
    performed on one pool, broadcast to all others, to prevent trouble.
  * upftools: fhi2upf converter of v.5 introduced a small error in some cases
  * Small error in the calculation of rPW86 functional, due to a mismatch
    between its previous definition (Slater exchange contained in GGA) and
    the check on the rho=>0, grad rho=>0 limits. Note that a similar problem
    might also affect hcth, olyp, m06l functionals. 
    The new PBEQ2D functional (introduced in 5.0.1) was also not correct.
  * NEB calculation can get stuck if the code tries to read &ions namelist
    in the PWscf-related input section
  * NEB: spurious blank character appearing in lines longer than 80 characters
    with Intel compiler (same problem that was previously fixed in PWscf)
  * PH: bug in symmetrization in some special cases (supercells of graphene)
  * PH: bug in restart when the code stops during self consistency
  * PH: ph.x with images wasn't working any longer 
  * PH: electron_phonon='simple' wasn't working together with ldisp=.true.
  * PH: images with a single q point were not collecting properly the files.
  * PH: grid splitting of irrep + single q point + wf_collect=.true. 
    was not working

                               * * * * *

New in 5.0.1 version:

  * vdW-DF functional and DFT-D extended to CP (experimental)
  * PWscf: Non-Collinear/spin-orbit Berry Phases (experimental)
  * New functionals: SOGGA, M06L (courtesy of Yves Ferro), 
                      PBEQ2D (courtesy of Letizia Chiodo)

Incompatible changes in 5.0.1 version:

  * Variable "amconv" removed from constants.f90, use "amu_ry" instead
  * ld1.x no longer generates pseudopotentials into UPF v.1

Fixed in 5.0.1 version:

  * Funny frequencies from matdyn.x if masses were read from file
  * Stress calculation in parallel execution was wrong in the
    Gamma-only case when ScaLAPACK was present (v.5.0 only) 
  * Misc compilation problems with old compilers 

                               * * * * *

New in 5.0 version:

  * More ways of calculating electron-phonon coefficients.
  * Full DFT+U scheme (with J and additional parameters) implemented.
    Should work also for fully-relativistic calculations.
  * band parallelization for Green function sum in EXX (memory replication).

Incompatible changes in 5.0 version:

  * Postprocessing codes dos.x, bands.x, projwfc.x, now use
    namelist &dos, &bands, &projwfc respectively, instead of &inputpp
  * Directory reorganization: whole packages into subdirectories,
    almost nothing is in the same directory where it used to be. 
  * atomic masses in the code are in amu unless otherwise stated
  * Options 'cubic'/'hexagonal' to CELL_PARAMETERS removed: it is no 
    longer useful, the code will anyway find the correct sym.ops.
  * Options 'bohr'/'angstrom'/'alat' to CELL_PARAMETERS implemented
  * -DEXX no longer required for exact exchange or hybrid functionals
  * PHonon: input variable 'elph' replaced by 'electron_phonon'

Fixed in 5.0 version:

  * Missing checks for unimplemented cases with electric fields
  * CP with electric fields wasn't working any longer in parallel
    due to an unallocated variable
  * VERY NASTY bug: exchange-correlation keyword 'PW91' was incorrectly 
    interpreted (PZ LDA instead of PW) in all 4.3.x versions
  * A few glitches when the standard input is copied to file
  * PW: LDA+U crash in the final step of a vc-relax run, due to a
    premature deallocation of a variable
  * PW: constraint 'atomic direction' on non-collinear magnetization
    wasn't working properly
  * PW: tetrahedra were not working with magnetic symmetries, 
    and not yet working in the non-collinear case as well.
  * Velocity rescaling in variable-cell MD wasn't really working
  * Workaround for frequent crashes in PAW with vc-relax
  * In some cases spin-polarized HSE was yielding NaN's
  * Two instances of an array not always allocated passed as variable to
    routine (init_start_k and dynmatrix.f90) - harmless but not nice
  * disk_io='low' or 'none' wasn't working if a wavefunction file from a
    previous run was found
  * CP + OpenMP without MPI wasn't working with ultrasoft pseudopotentials
  * Bug in CASINO to UPF converter
  * Bug in k-point generation in the non-collinear case
  * ESM with spin polarization fixed
  * Weird problem with irreps in PHonon
  * Bug in turbo_lanczos.x . Restarts of polarizations other than ipol=1 
    or ipol=4 were not working properly due to buggy test_restart routine.

                               * * * * *

New in 4.3.2 version:

  * A few crystal lattices can be specified using the traditional
    crystallography parameter (labelled with negative ibrav values)
  * A few extensions to PP format converters, conversion to UPF v.2
  * C09 GGA Exchange functional, courtesy of Ikutaro Hamada

Fixed in 4.3.2 version:

  * Bugfix for pw2casino: total energies should now agree with pwscf total
    energies for any number of nodes/k-points, also for hybrid functionals. 
    Note: bwfn files produced before and after this patch will differ!
  * Funny results in the last step of variable-cell optimization,
    due to bad symmetrization in presence of fractional translations
  * OpenMP crash with PAW
  * Removed lines in iotk that confused some preprocessors
  * More glitches with new xc functionals, compatibility with 
    previous cases: HF, OEP, PZ
  * Variable-cell optimization at fixed volume broke hexagonal symmetry
  * NEB: possible problem in parallel execution (if command-line arguments
    are not available to all processors) avoided by broadcasting arguments
  * PWGui documentation updated to reflect cvs to svn switch
  * Some formats increased to fit printout of large cells
  * PW: the cell volume omega must be positive definite even when the 
    lattice vectors form a left-handed set
  * PW: a bad initialization (of becsum) in the paw spin/orbit case 
    made the convergence more difficult
  * PW: couldn't read any longer data files written by previous versions
  * PHonon: problem with the D_4h group when the matrices of the group 
    are not in the same order as in the routine cubicsym
  * Yet another LDA+CPU+U fix: forces were wrong in spin-polarized case 
  * PW was not stopping anymore when two inconsistent dft were given
  * atomic: default for non-local correlation is set to "   " AND upf%dft 
    is trimmed before being written by write_upf_v2.f90. Therefore older 
    versions of pw will still work if no vdW is present
  * inlc label for vdw-df is set as VDW1, consistently with the comment and 
    needed to avoid matching conflict with VDW2

                               * * * * *

New in 4.3.1 version:

  * New, improved version of GIPAW (available as a separate package)
  * Effective Screening Medium (Otani and Sugino PRB 73 115407 (2006).
  * CP: faster implementation of LDA+U

Fixed in 4.3.1 version:

  * atomic: behavior of which_augfun='PSQ' made consistent with documentation
  * CP: LDA+U buggy; PLUMED wasn't working
  * Misc compilation and configure problems: line exceeding 132 characters, 
    syntax not accepted by some compilers, pathscale+mpif90 not recognized, 
    etc.
  * PW: nasty out-of-bound bug leading to mysterious crashes or 
    incorrect results in some variable-cell calculations. Also in
    variable-cell: last scf step could crash due to insufficient
    FFT grid if the final cell was larger than the initial one
  * PW: minor bug in damped dynamics (hessian matrix incorrectly reset)
  * PW: bug in LDA+U forces for the Gamma-only case
  * Electron-Phonon code wasn't working any longer in serial execution
  * PH with input variable "fildrho" and D3 were not working due to 
    inconsistencies in the calls to io_pattern
  * PWCOND: fixed bug when the write/read option is used for the case 
    of different leads. 
  * NEB + nonlocal exchange (DF-vdW) or hybrid functionals wasn't working
  * NEB: incorrect parsing of intermediate images fixed
  * HSE numerical problems in function expint
  * XSPECTRA wasn't working any longer due to missing updates to
    read_file_xspectra.f90
  * epsilon.f90: the term 1 must be added to diagonal components only! 

                               * * * * *

New in 4.3 version:

  * CP only, experimental: parallelization over Kohn-Sham states
  * Dispersion interactions (van der Waals) with nonlocal functional
  * Additions to projwfc: k-resolved DOS, LDOS integrated in selected
    real-space regions
  * Constant-volume variable-cell optimization
  * Non-colinear and spin-orbit PAW
  * Penalty functional technique in DFT+U calculations (CP only)

Incompatible changes in 4.3 version:

  * pw.x no longer performs NEB calculations. NEB is now computed
    by a separate code, NEB/neb.x . NEB-specific variables are no longer
    read by pw.x; they are read by neb.x after all pw.x variables
  * NEB for cp.x no longer available
  * iq1,iq2,iq3 removed from input in ph.x; use start_q, last_q instead
  * Several global variables having the same meaning and different names
    in CP and in all the other codes (PW) have been given a common name.
    Calls to fft also harmonized to the CP interface fwfft/invfft:
	Old (CP)	New (PW)	Old (PW)	New (CP)
	nnr/nnrx	nrxx		nrx[123]	nr[123]x
	nnrs/nnrsx	nrxxs		nrx[123]s	nr[123]sx
	ngml		ngl		ig[123]		mill (replaces mill_l)
	ngmt		ngm_g
	ngs 		ngms		cft3/cft3s	fwfft/invfft
	ngst 		ngms_g
	g  		gg
	gx		g
	gcuts 		gcutms
	ecutp 		ecutrho
	ecutw 		ecutwfc
	gzero/ng0	gstart
 	np, nm		nl, nlm
 	nps, nms	nls, nlsm

Fixed in 4.3 version:

  * CP: Input external pressure is in KBar and not in GPa like it was
    formerly in CP. Input value for variable "press" in cell namelist
    should be given in KBar as stated in the documentation!
  * CP: incorrect stress calculated in the spin-polarized case 
  * CP: memory leak in LDA+U calculations
  * CPPP: spurious line in all versions since 4.2 was causing an error
  * PW: LSDA + Gamma tricks + task groups = not working.
        Also: pw.x -ntg 1 was activating task groups (harmless)
  * PW: corrected an old bug for Berry's phase finite electric field 
        calculations with non-orthorhombic simulation cells. Also fixed 
        an old but minor bug on averaging of Berry phases between strings
  * PW: problem with symmetrization in the non-collinear case
  * PW: tetrahedra+non-collinear case fixed (courtesy of Yurii Timrov)
  * option -D__USE_3D_FFT wasn't working any longer in v.4.2.x
  * PP: calculation of ILDOS with USPP wasn't working in v.4.2.x
  * PH: elph=.true. and trans=.false. was not working any longer. 
  * PH: electron-phonon data file for q2r.x was not properly written in
        some cases (-q not in the star of q). Also: questionable syntax
        for formats in lambda.f90 was not accepted by gfortran
  * D3: k-point parallelization fixed again

                               * * * * *

Fixed in version 4.2.1:

  * CP: problem in electronic forces with OpenMP parallelization
  * real-space Q functions (tqr=.true.) not working in non-collinear case
  * XC potential in CP was not initialized when condition (rho > 10^(-30)) 
    was not satisfied; this is usually harmless but potentially dangerous
  * CP could not read data written from PW in spin-polarized cases
  * In at least some cases, cpmd2upf.x was yielding incorrect PPs
  * support for MKL incomplete (only in packaged version, not in cvs)
  * glitch in pw2wannier if / missing at the end of outdir
  * linking error when compiling qexml
  * misc problems in plotband.f90
  * the new G-space symmetrization was not working properly 
    for the magnetization in the non-collinear case
  * CP: incorrect results in parallel execution if the card K_POINTS
    was present in input and contained a point different from Gamma
  * D3: Fermi energy shift was only symmetrized on the sub-set of the
    symmetry operations that leave q unchanged.
  * plot_io.f90: for large celldm(1), there was no space between ibrav 
    and celldm. Courtesy of E. Li.
  * A problem in projwfc in the spin-orbit case introduced in version 4.1.3.
    Courtesy of R. Mazzarello.  

                               * * * * *

New in version 4.2:

  * Removal of duplicated and unused routines
  * Major reorganization of the distribution itself:
    external packages no longer in the repository
  * New package GWW for GW calculations with Wannier functions
  * Grid parallelization for the phonon code, code cleanup
  * Better OpenMP+MPI parallelization
  * Real-space PP non-local projectors (experimental)
  * Martyna-Tuckerman algorithm for isolated systems
  * Better q=>0 limit for Exact-Exchange calculations
  * HSE functional
  * Bug fixes and output cleanup for cp.x autopilot
  * Parallel symmetrization in G-space

Fixed in version 4.2:

  * A few occurrences of uninitialized variables and of incorrect INTENT
  * The value of DFT set in input (instead of DFT read from PP files) was
    ignored by all codes using the data file (phonon, postprocessing, etc)
  * PW: glitches in restart (now it works also with exact exchange)
  * D3: real-space contribution to the Ewald term was incorrect, since the
    initial release. Since such term is usually very small, the error was 
    also very small. Also: preconditioning was not properly implemented,
    causing unnecessary slow convergence

Incompatible changes in version 4.2:

  * changed defaults:
    startingwfc='atomic+random' in pw.x (instead of 'atomic')
  * calculations 'fpmd', 'fpmd-neb' removed from CP: use 'cp' or 'neb'
    instead
  * calculation 'metadyn' and related variables removed from PW and CP:
    use the "plumed" plugin for QE to perform metadynamics calculations
  * nelec, nelup, neldw, multiplicity variables removed from input:
    use tot_charge and tot_magnetization instead
  * calculation of empty Kohn-Sham states, and related variables, removed
    from cp.x: use option disk_io='high' in cp.x to save the charge density,
    read the charge density so produced with pw.x, specifying option
    "calculation='nscf'" or "calculation='bands'"
  * "xc_type" input variable in cp.x replaced by "input_dft" (as in pw.x)
  * ortho_para variable removed from input (CP); diagonalization='cg-serial',
    'david-serial', 'david-para', 'david-distpara', removed as well
    Use command-line option "-ndiag N" or "-northo N" to select how
    many processors to use for linar-algebra (orthonormalization or
    subspace diagonalization) parallelization. Note that the default value
    for ndiag/northo has changed as well: 1 if ScaLAPACK is not compiled,
    Nproc/2 if Scalapack is compiled
  * "stm_wfc_matching" removed from pp.x

                               * * * * *

Fixed in version 4.1.3:

  * CP: electric enthalpy wasn't working properly with spin polarization
  * PWCOND: Bug fix in automatic generation of 2D k-points
  * bug in PAW negatively affected convergence (but not the results) 
  * possible out-of-bound errors in divide_class and divide_class_so
  * non initialized variables in PAW charge density plotting

                                * * * * *

Fixed in version 4.1.2:

  * fixed nonstandard C construct in memstat.c that picky compilers didn't like
  * PBEsol keyword wasn't properly recognized
  * call to invsym with overlapping input and output matrix could 
    result in bogus error message
  * cp.x: update of dt with autopilot wasn't working
  * for some magnetic point groups, having rotation+time reversal
    symmetries, the k-point reduction was not correctly done
  * wavefunctions for extrapolation written to wfcdir and not to outdir
  * Some constraints were not working in solids, due to an incorrect
    estimate of the maximum possible distance between two atoms
  * Parallel execution of D3 wasn't working in at least some cases
    (e.g. with k-point parallelization) since a long time
  * restart of phonon code with PAW wasn't working

                                * * * * *

Fixed in version 4.1.1:

  * newly added DFT-D wasn't working properly with k-point parallelization
  * Gamma-only phonon code wasn't working any longer if pseudopotentials
    with nonlinear core correction were used
  * Check of lspinorb flag consistency between left/right lead and
    scattering region in pwcond.x was not working properly; wrong
    print-out of E-Ef when Nchannels=0 also fixed.
  * Check on convergence of variable-cell damped dynamics was not
    working as expected in the presence of constraints
  * Velocity rescaling in CP was not working, and it was performed
    also if not required when ion velocities were set to 'random'
  * ESPRESSO_TMPDIR is caught by gipaw.x as well
  * Phonon calculation could not be performed with only local PPs
  * Small error in the definition of the saw-tooth potential for slab
    calculations with E-field: the "physical" dimensions of the R-space
    grid are nr1,nr2,nr3 NOT nrx1,nrx2,nrx3
  * Misc compilation problem for: gfortran v.4.1 (casino2upf),
    pathscale 3.2 (mp_base),  xlf 12.1 (buggy compilation of iotk)
  * Possible memory leak in PW/update_pot.f90
  * Spin-polarized calculations in CP had a bug since v.4.1  when using
    parallel distributed diagonalization ("ortho" group)
  * FFT glitches: Nec SX routines were not properly called,
    OpenMP was not compatible with all FFTs
  * augmentation charges in real space (tqr=.true.) and k-point
    parallelization (pools) was not working due to bogus check
  * fhi2upf.x : fixed segmentation fault in some cases with ifort
  * OLYP XC functional was incorrectly flagged as Meta-GGA 
    (courtesy of Latevi Max Lawson Daku)
  * Minor corrections and extensions to the documentation

                                * * * * *

New in version 4.1:

  * New exchange-correlation functionals: 
    PBEsol and WC (courtesy of Willam Parker, Ohio State U.)
    LDA with finite-size corrections (Kwee, Zhang, Krakauer,
    courtesy of Ester Sola and Dario Alfe)
  * Dispersion calculation with DFT-D (Grimme)
  * mixed openMP-MPI parallelization (very experimental)
 
Fixed in version 4.1:

  * the sum of all nuclear forces is no longer forced to zero in 
    Car-Parrinello dynamics. Forcing them to zero was not completely
    correct -- only the sum of nuclear plus "electronic" forces should 
    be exactly zero -- and was causing loss of ergodicity in some cases. 
  * symmetry analysis for spin-orbit case: a few signs in the character 
    tables of C_3 and S_6 have been changed so that they agree with the
    Koster-Dimmock-Wheeler-Statz tables.
  * a problem in the plotting routine plotband.f90 could yield wrong
    band plots even when the symmetry classification was correct.  
  * serious bug in plotting code pp.x: all plots requiring Fourier space
    interpolation, i.e.: 1d, 2d, user-supplied 3d grid, spherical average,
    were yielding incorrect results if performed on data produced by pw.x
    (and cp.x) using Gamma-only option. Workaround introduced, but it works
    (around) only if the desired data is first saved to file, then plotted.
  * stop_run was not properly deleting files in the case of path calculations 
  * Coulomb pseudopotentials in UPF v.2 format were not working 
    (courtesy of Andrea Ferretti)
  * electron-phonon calculation on a uniform grid of q-points + 
    Delta Vscf and dynamical matrices read from file should be fine now:
    the Delta Vscf saved to file are no longer overwritten at each q-point.
    Also: the xml file written by pw.x is no longer overwritten by ph.x.
  * nasty problem with C routines receiving fortran strings as arguments.
    The way it was done may lead to stack corruption and all kinds of
    unexpected and mysterious problems under some circumstances.
    Now fortran strings are converted to integer arrays, that can be
    safely passed to C, and converted back in Modules/wrappers.f90
  * USPP generated with ld1.x may have been incorrectly written to
    UPF format v.2 in all 4.0.x versions . The error may have been
    small enough to go unnoticed but may be not negligible. All USPP
    in UPF format tagged as version 2.0.0 should be regenerated.

                                * * * * *

Fixed in version 4.0.5:

  * option calwf=1 (CP with Wannier functions) was not working
  * more problems in symmetry analysis in special cases for C_4h and
    D_2h symmetry
  * various small memory leaks or double allocations in special cases
  * problem with effective charges d Force / d E in the non-collinear+NLCC case
  * calculation of ionic dipole, used for calculations with sawtooth 
    potential, used wrong reference point assuming the field parallel
    to z axis (while it can be parallel to any reciprocal basis vector). 
    All relax calculation in non-orthorhombic cells, and all calculations
    with option tefield and edir/=3, were completely wrong. Non-relax 
    calculation in the same cathegory were correct, apart from a constant, 
    but system-dependent, addictive factor in total energy.
  * generation of supercells in matdyn was not working (since a long time)
  * PWCOND: two more small bug fixed (in CVS since june)

                                * * * * *

Fixed in version 4.0.4:

  * Structural optimization with external sawtooth potential was not
    working correctly (electric field disappeared after first run).
    All versions after october 2005 affected.
  *  problem in FFTW v.3 driver in parallel execution (Davide)
  *  option maxirr disabled
  *  memory leak in pw_readfile in parallel
  *  the phonon code was not working when wf_collect=.true. and
     either ldisp=.true. or lnscf=.true. 
  *  incorrect make.sys produced by configure on some IBM machines
  *  rigid.f90: the fix introduced in v. 4.0.1 to improve convergence
     wasn't really correct 

                                * * * * *

Fixed in version 4.0.3:

  * CP: array qv allocated in newd wasn't deallocated in all cases,
    leading to either a crash or a memory leak (Ralph)
  * Task groups bug fix: array tg_rho was not cleared at every k point cycle. 
    This was causing problems with some combinations of "-npool" and "-ntg".
  * PWCOND: a bug with some array bounds fixed (A. Smogunov) 
  * Problem with the generation of the atomic wavefunctions in the
    projwfc code when a scalar relativistic PP is used with lspinorb=.true.
  * Bug fix in symmetry analysis for the case S_6 (reported by Marino 
    Vetuschi Zuccolini) and also in: S_4, T_h, C_3h, C_4h, C_6h. 

                                * * * * *

Fixed in version 4.0.2:

  * Nuclear masses not correctly displayed for variable-cell calculations
  * Probably all results for EFG (electric field gradients) were wrong,
    due to an incorrect multiplication of "r" with "alat" inside a loop
    (should have been outside: routine PW/ewald_dipole.f90)
  * Calculation with fixed magnetization and nspin=2 (using 2 fermi
    levels) was not working in v. 4.0.1
  * non linear core correction was not detected in FPMD run
  * effective charges + US PP + spin-orbit not correct in noncubic cases.
  * symm_type was not properly set by pw_restart (used in various 
    post-processing including phonons) when using free lattice 
    (ibrav=0) and symm_type=hexagonal.
  * CP: conjugate gradient had a bug in some cases of parallel 
    execution. Also: default max number of iterations was not
    what was promised in the documentation (100)
  * phonon: alpha_pv depended on the number of  unoccupied bands
    in insulators (harmless).
  * fpmd was using wrong forces propagate cell variables in
    variable-cell calculations. Also: interpolation tables
    were a little bit too small for variable cell simulation
    (not really a bug but it could be annoying)
  * Minor glitch in configure for pathscale compiler. Note that 
    in the machine that has been tested, compilation of iotk 
    fails for mysterious reasons if CPP = pathcc -E, while it
    works with CPP = /lib/cpp -P --traditional

                                * * * * *

Fixed in version 4.0.1:

  * Some scripts used in tests/ and in examples were not
    posix-compliant and could fail in some cases
  * In cg calculations with cp, the case of no spin multiplicity
    (i.e. nspin=1) with odd number of bands was yielding an error
    "c second dimension too small"
  * rigid.f90: sum over G-space in long-range term, used in q2r.x 
    and matdyn.x, wasn't really converged for sufficiently large cells
  * too many automatic arrays in "set_asr" called in matdyn.f90,
    causing a mysterious crash for systems larger than a few atoms
  * incorrect call to "sgama" in matdyn.f90 could lead to failures
    with strange messages when calculating phonon DOS
  * c_mkdir is explicitly defined as integer*4 in order to prevent
    problems in 64-bit machines with default 64-bit integers
  * PP/chdens.f90: incorrect orthogonality test for axis
  * GIPAW: 10^3 factor missing in conversion
  * GIPAW: paw_recon[]%paw_betar[] was not initialised and caused NaN's
    with IBM compilers. Courtesy of Christos Gougoussis (IMPMC, Paris).
  * Minor glitches in PWGui
  * cppp.x was not working in v.4.0
  * Workaround for bluegene weirdness extended to complex hamiltonians
  * PP/projwfc.f90: Problems with file names in systems > 1000 atoms
  * Workaround for ATLAS bug causing random crashes
  * Minor bug in helpdoc: adding syntaxFlush to linecard
  * Incorrect dimensions in PW/local.f90 (courtesy of Zhiping)

                                * * * * *

Fixed in version 4.0:

  * Unpredictable results when the output from a spin-polarized CP
    calculation was used for post-processing. This was due to an
    incorrect treatment of the case where the number of up and down
    states are not the same. There was also an inconsistency in the 
    treatment of the number of up and down electrons, that can be in
    principle real, unlike the number of states that is integer
  * In MD calculations with PWscf, there was the possibility of an
    out-of-bound error, with unpredictable consequences, including 
    in at least one case hanging of parallel jobs
  * Due to a bad dimensioning of variable hubbard_l, DFT+U results could 
    be wrong if atomic type N with U term has N > L=maximum hubbard L
  * a few symmetries were confusing the symmetry finder
  * serious bugs in Berry's phase calculation. It affected only the US 
    case and only some terms, so the error was small but not negligible. 
    There were three different bugs, one introduced when the spherical
    harmonics were modified in the rest of the code, two that I think
    have been there from the beginning.
  * various glitches with wf_collect option in the non-collinear case
  * mix_rho was not working properly for lsda with data saved to file
    and double grid

                                 * * * * *

Fixed in version 3.2.1-3.2.3:

  * CP in parallel execution had a serious bug if the third dimension
    of FFT arrays (nr3x/nr3sx) was not the same as FFT order (nr3/nr3s)
  * restart of pw.x in parallel could go bananas under some not-so-unusual
    circumstances, due to bad setting of a variable
  * various phonon glitches: pools and lsda, pools and dispersions,
    option lnscf, were not working
  * incorrect exchange-correlation contribution to the electro-optical 
    coefficient
  * check for stop condition was unsafe with pools and could hang pw.x
  * fixed occupations in parallel: array not allocated on all processors
  * Yet another problem of poor accuracy of routines calculating spherical 
    bessel functions - harmless except in some cases of pseudopotential 
    generation 
  * DOS EOF characters present in some files could cause trouble
    during installation
  * restart in phonon calculations was not always properly working
  * possible divide-by-zero error in dV_xc/dz (spin polarized case)
  * gamma_gamma symmetry was not working for open-shell molecules
  * T_h group not correctly identified in postprocessing
  * missing initialization of rho could lead to serious trouble
    if the physical and true dimensions of FFT grid did not coincide
  * Ewald real-space term could have been incorrectly calculated 
    if an atom was far away from the unit cell
  * Some variables were used before they were initialized - this could
    lead to crashes or unpredictable behaviour on some machines
  * lattice parameters a,b,c,cosab,cosac,cosbc were not properly 
    copied to the celldm in the case of triclinic lattice

                                 * * * * *

Fixed in version 3.2:

  * In same cases the energy under an external sawtooth potential
    simulating an electric field was not correct
  * Case ibrav=13 fixed for good this time!!!
  * Bug in PH/clinear.f90 for cells having nr1 /= nr2 may have
    affected new electron-phonon algorithm
  * Poor accuracy of routines calculating spherical bessel functions
    for high l and small q - harmless except in very special cases
  * LDA+U with variable-cell dynamics/relaxation was wrong due to
    missing rescaling of the integrals of atomic wavefunctions.
    This bug has been present since at least 3.0 
  * Parallel subspace diagonalization could occasionally fail;
    replaced by a new algorithm that is much more stable 
  * Restart problems in parallel run for two cases:
    1) with pools, 2) with local filesystems

                                 * * * * *

Fixed in version 3.1.1:

  * Methfessel-Paxton broadening was hardcoded in the calculation of
    the electron-phonon coefficients (ngauss1=1 in PH/elphon.f90).
    There is no good reason to use this instead of simple gaussian
    (ngauss1=0), which, moreover, guarantees positive definite results.

                                 * * * * *

Fixed in version 3.1:

  * various problems in stress calculation, both in PW and in CP
  * in phonon dispersion calculation, the threshold for diagonalization
    was not always what was expected to be. Minor numerical differences 
    could result.
  * the new algorithm for electron-phonon calculation removes a serious
    bug in the old algorithm, present in v.2.1 to 3 included: when 
    electron-phonon coefficients were calculated together with the 
    dynamical matrix, the symmetrization of coeffcients was incorrect.
    Results from separate calculations were correct.

                                 * * * * *

Fixed in version 3.0:

  * latgen.f90 : case ibrav=13 bad
  * kpoints.f : case ibrav=5 bad

                                 * * * * *

Fixed in version 2.1.5:

  * bad forces and stresses with LDA+U in spin-unpolarised case
  * bad printout of Lowdin charges in projwfc
  * FPMD had a problem with some types of UPF PPs

                                 * * * * *
 
Fixed in version 2.1.4:

  * Incorrect initial guess for occupancies in LDA+U (init_ns)
  * bogus error in postprocessing with local pseudopotentials only
  * several errors in third-order energy derivatives (D3/)
  * checks on several unimplemented cases were missing

                                 * * * * *

Fixed in version 2.1.3:
 
  * case ibrav=0 in CP was not properly working
  * forces in CP with core corrections were wrong
    (reported by Giacomo Saielli)
  * damped variable-cell dynamics in PWscf was not working properly
  * lambda.x could yield NaN's on negative frequencies
  * option "write_save" was not working in parallel
  * diagonalization of (0,0) matrix in init_paw_1
  * out-of-bound error in readnewvan.f90 fixed
  * FPMD: bug with UPF PP when betas are not ordered as l=0,1,2,...
  * Possible out-of-bound error with US PP in some cases
  * Martins-Troullier norm-conserving PP generation had a small
    error when rcloc > rcut(l)
  * the default for relativistic vs nonrelativistic calculation
    in the atomic code was the opposite of what was intended
  * electron-phonon calculation was not working properly if called
    after a restart
  * Parallel execution on local filesystems (i.e. not visible to all
    processors) could hang due to a bad check in charge extrapolation
  * When imposing hermiticity in matdyn.x and dynmat.x codes in pwtools
    routine dyndiag was actually computing the complex conjugate of
    the dynamical matrix. Eigenvectors were therefore wrong, while
    eigenvalues were fine. (thanks to Nicolas Mounet)

                                 * * * * *

Fixed in version 2.1.2:

  * The phonon code was yielding incorrect results when 4-dimensional 
    irreps were present (i.e. A point in graphite) and ultrasoft PP used
    (reported by Nicolas Mounet)
  * in some cases ld1 was writing a bad UPF file
  * in some cases the charge density was not conserved during
    the charge mixing
  * various problems with potential extrapolation in neb and smd
  * variable-cell dynamics and optimization was not working in parallel
  * Berry phase calculation in parallel should have been disabled
  * bug in readfile_config when restarting without a "*.save" file
  * crash in pw2casino due to bad call to v_of_rho

                                 * * * * *

Fixed in version 2.1.1:

  * memory leak in Raman code
  * disproportionate memory requirement in phonon code with USPP
  * dangerous calls to read_restart_tetra and write_restart_tetra
    when restarting with no allocated tetrahedra
  * vc-relax was not working
  * projwfc failed with lda+U 
  * incorrect automatic generation of k-points in the non colinear case:
    inversion symmetry is not always present because of the presence of  
    a magnetic field in the Hamiltonian
  * electron-phonon calculation was not working if called directly
    after a phonon calculation
  * PWCOND + FFTW + parallel execution = not good
  * cell minimization with steepest descent was not working (CP/FPMD)
  * various Alpha, IBM, SGI, SUN, PGI compilation problems

                                 * * * * *

Fixed in version 2.1:

  * various T3E compilation problems
  * cpmd2upf was yielding incorrect DFT if converting BLYP PPs
  * some variables not properly written and read in restart file
  * The value of gamma_only was not correctly set when restarting or
    reading from file with option __NEW_PUNCH enabled
  * Incorrect calculation of eloc in pw2casino
  * Two serious bugs in the local-TF screening :
    possible occurrence of division by zero (present since v1.2),
    wrong mixing of spin polarized systems
  * cpmd2upf failed with some files due to bad check
  * Intel compiler v.8: wavefunction files four times bigger than needed
  * compilation problems on some version of SGI compiler
  * non-collinear code was not working with insulators and nbnd > nelec/2
  * multiple writes to file in parallel execution when calculating
    electron-phonon coefficients
  * various bugs in LBFGS
  * NEB + LDA+U = crash
  * compilation problems with __NEW_PUNCH
  * planar average crashed if used with a cubic system
  * Gamma-only phonon code not working for Raman calculations
    in some cases
  * yet another bug in phonon and k-point parallelization when
    reading namelist (phq_readin)
  * options startingwfc and startingpot were ignored if restarting
    from a previous calculation
  * pw2casino interface didn't work properly in spin-polarized case
    and didn't use variable "outdir"
  * minor bug in pwtools/pwo2xsf.sh 
  * serious bug in the path interpolator
  * phonon, post_processing, various other auxiliary codes were
    not working with k-point parallelization (pools) due to 
    double call to init_pool

                                 * * * * *

Fixed in version 2.0:
  
  * wrong results when running Berry-phase calculation in parallel execution:
    it was not implemented but no warning was issued
  * variable-cell code was subject to overflow and floating-point errors
  * phonon + nosym=.true. was not properly done
  * out-of-bound error in Berry Phase calculation
  * out-of-bound errors in phonon if 4-dimensional irreps were present
    (also d3.x was not working properly in this case)
  * Berry-phase calculation had problems in low-symmetry cases
  * phonon with k-point parallelization (pools) was yielding wrong
    results in some cases (since v. 1.2 included)
  * upftools/cpmd2upf.f90: wrong conversion due to Rydberg-Hartree mess
  * PW/input.f90: lattice parameter a converted to wrong units if input
    is given as a,b,c,cos(ab),cos(ac),cos(bc) instead of celldm(:)
  * Wrong coordinates written if atomic_positions='crystal'
    (thanks to Francois Willaime)

                                 * * * * *

Fixed in version 1.3.0:

  * PH/elphon.f90 : el-ph calculation in the US case was not correctly
    working in v.1.2.0 (it was not implemented in previous versions).
    An US term in the calculation of deltaV * psi_v was missing.
    Fixed by M. Wierzbowska and SdG
  * various problems caused by too short file names fixed:
    file and directory names up to 80 characters are allowed
    (thanks to Serguei Patchkovskii and others) 
  * LAPACK routines DSYTRF and DYSTRI require some character arguments
    (like 'U', 'L'). While most LAPACK implementations accept both
    lowercase and uppercase arguments, the standard is uppercase only.
    Various anomalies in self-consistency were caused by lowercase
    arguments.
  * Incorrect Make.pc_abs fixed
  * PGI compiler v.3.3-2 on Linux: PP/chdens.x coredump fixed
  * various T3E glitches in v.1.2.0 fixed
  * PP/work_functions.f90 : STM maps did not work in version 1.2.0
    (undefined variable lscf was used, call to sum_band no longer needed)
  * PP/projwave.f90: symmetrization of projected dos was incorrectly 
    performed using d1,d2,or d3 instead of their transponse.
    (affects all previous versions)
  * PW/new_ns.f90: symmetrization of occupation matrix ns needed for LDA+U
    calculations used incorrectly d2 matrices instead of their transponse. 
    Thanks to Lixin He for finding out the problem and the solution.
    (affects all previous versions)
  
                                 * * * * *

Fixed in version 1.2.0 (f90):
  
  * dynmat.f90: out-of-bound error fixed
  * pplib/chdens.F90, pplib/projwave.F90 : compilation problems
    for alpha (found by Giovanni Cantele)
  * postprocessing routines: problems with unallocate pointers
    passed to subroutine plot_io fixed (found by various people)
  * postprocessing with ibrav=0 was not working properly
  * rather serious bug in cinitcgg (used by conjugate-gradient
    diagonalization) could produce mysterious crashes. The bug 
    appeared in version 1.1.1.
  * pplib/dos.f90 was not plotting the expected energy window
  * pplib/chdens.F90, pplib/average.F90 : wrong call to setv
    could cause an out-of-bound error

                                 * * * * *

Fixed in version 1.1.2 (f90):

  * a check on the number of arguments to command line in parallel
    execution was added - Intel compiler crashes if attempting to
    read a nonexistent argument
  * tmp_dir was incorrectly truncated to 35 characters in
    parallel execution
  * variable "kfac" was not deallocated in stres_knl. A crash in 
    variable-cell MD could result.
  * an inconsistent check between the calling program (gen_us_dj)
    and the routine calculating j_l(r) (sph_bes) could result in 
    error stop when calculating stress or dielectric properties
  * errors at file close in pw.x and phonon.x in some cases
  * tetrahedra work for parallel execution 
    (ltetra is now distributed in bcast_input)
  * fixed some problems in automatic dependencies (Giovanni Cantele)

                                 * * * * *

Fixed in version 1.1.1 (f90) and 1.0.3 (f77):

  * LSDA calculations need either gaussian broadening or tetrahedra
    but no input check was performed 
  * restarting from a run interrupted at the end of self-consistency
    yielded wrong forces
  * projwave.F (projection over atomic functions) was not working
    with atoms having semicore states (found by Seungwu Han)
  * stm.F : option stm_wfc_matching was not working properly 
    if symmetry was present (no symmetrization was performed)
  * dynmat.x : displacement patterns in "molden" format were
    incorrectly divided by the square root of atomic masses
  * d3: misc. problems in parallel execution fixed

                                 * * * * *

Fixed in version 1.1.0 (f90) and 1.0.2 (f77): 

  * an inconsistency in the indexing of pseudopotential arrays could
    yield bad dielectric tensors and effective charges if atoms where
    not listed as first all atoms of type 1, then all atoms of type 2,
    and so on (found by Nathalie Vast)
  * phonon with ibrav=0 was not working (info on symm_type was lost:
    found by Michele Lazzeri)
  * the generation of the two random matrices needed in the calculation
    of third order derivatives was incorrect because the random seed
    was not reset. This produced crazy results for q<>0 calculations.
  * the check on existence of tmp_dir did not work properly on 
    Compaq (formerly Dec) alphas (thanks to Guido Roma and Alberto
    Debernardi).
  * a system containing local pseudopotentials only (i.e. H)
    produced a segmentation fault error
  * getenv was incorrectly called on PC's using Absoft compiler:
    the default pseudopotential directory was incorrect
  * out-of-bound bug in pplib/dosg.f fixed. It could have caused
    mysterious crashes or weird results in DOS calculations using
    gaussian broadening.  Thanks to Gun-Do Lee for fixing the bug.
  * a missing initialization to zero in gen_us_dy.F could have
    yielded a wrong stress in some cases
  * phonons in an insulator did not work if more bands (nbnd) 
    were specified than filled valence band only
  * electron-phonon calculation was incorrect if nonlocal PPs
    were used (that is, almost always)
  * Real space term in third order derivative of ewald energy
    was missing (not exactly a bug, but introduced a small error
    that could be not negligible in some cases)
  * bad call in dynmat.f corrected 
  * compilation problems for PC clusters fixed (thanks to Nicola Marzari)

                                 * * * * *

Fixed in version 1.0.1:

  * recovering from a previous run in pw.x did not work on PC's
  * recovering from a previous run in pw.x did not work for stress
    calculation
  * poolrecover did not compile on some machines (thanks to Eric Wu)
  * PC with absoft compiler (and maybe other cases as well):
    bad type conversions for REAL and CMPLX resulted in poor
    convergence in some test cases. DCMPLX, DREAL used instead.
  * Asymptotic high- and low-density formulae used in PW91 and PBE
    unpolarized functionals gave a small but not negligible error,
    leading to bad convergence of structural optimization
