Changes
=======

16.11.08 (2016-11-08)
---------------------

This release was heavily supported by @zware who fixed some of the issues
I overlooked in the last releases and a few enhancements.

* All data objects now have a repr() that includes all values. (@zware)

* All database objects now have a lookup method that takes a value and
  returns the first data object that has an attribute that matches the value.
  Note that searching is halted when the first match is found. (@zware)

* Clean up historical countries: the deleted flag is gone and there is no
  database that holds both historical and present countries any longer.
  The record formats are too different to keep this facade up reasonably well.

* Fix parent lookup for subdivisions.

* Update README to correctly show the updated field names.

* Update pins for the packages we depend on.

* Reduce Python test coverage to Python 2.7 and 3.5 -- I can't sustain
  running a bazillion Python versions all the time forever.

* Fix Python 3 compatibility (@zware)



16.10.23rc3 (2016-10-23)
------------------------

- Incorporate some typos and suggested README improvements from @Pander in #13375.


16.10.23rc2 (2016-10-23)
------------------------

- Adapt README to the new attributes.


16.10.23rc1 (2016-10-23)
------------------------

This is a major change. The upstream packages have been revamped from the
former XML databases to use JSON. They adapted their schemata a bit and thus
made some of the structures in pycountry superfluous (yay!). Memory usage went
down when all databases are loaded (32.7 MiB down from 83.6 MiB) and
performance has gone up (not measured scientifically, but it's noticable when
loading the DBs in an interactive session).

To mark this major change, I'm also switch from the existing (not useful)
SemVer-based version numbers to CalVer-based numbers using YY.MM.DD.micro as
the pattern.

To avoid adding more complexity I have removed code that really only was
necessary because of the complexity of using the XML databases.

Here's what you need to know:

- I updated to iso-codes 3.70 which is a lot fresher than the
  last release.

- Attribute names have changed. There is no longer a mapping
  going on between the sources and the object attributes. Take
  a look at the JSON files (or inspect the objects) to see
  which fields are supported.

  You can also inspect the automatically build indexes (db.indices) to see all
  keys in a database. Not every object supports every attribute - this depends
  on the quality of the data from pkg-isocodes.

  Attribute names are more coherent now, too. Note that "alpha2", "alpha4",
  etc. are now using an underscore as that's the pattern in the upstream
  packages. So it's "alpha_2" now.

- HistoricCountries no longer includes countries that still
  exist. I removed the computed fields that were meant to
  make it easy to filter.
