v0.1:  2006-04-28
First release.

v0.1a: 2006-05-16
Add 'Value' commands:
	readvalueblock
	writevalueblock
	MIFAREvb (set variables from value block)

v0.1b: 2006-05-29
Make readblock non MIFARE specific
Add readMIFAREblock command
Add reset() call to all test programs (to switch off constant read)
Add readlfx program to support ACG LFX reader

v0.1c: 2006-05-30
Add LFXTags hash (125 kHz tag types)
Add lfxtype.py (command line tag identifier)

v0.d: 2006-06-01
Add access control block user data byte to MIFARE structure
Add LFX tag type detection to cardselect.py 

v0.e: 2006-09-29
Add ICAO 9303 structures for Machine Readable Passports
New test program: mrpkey.py for ICAO 9303
Move reader config to RFIDIOtconfig.py
Add EM4x05 ID decode

v0.f: 2006-10-24
Emergency release - 0.e lost in webserver disk crash
Contains work in progress!!!
Rename EM4x05 decode to more generic FDX-B
Add EM4x02 'Unique' ID decode/encode
Add passport file reads and image display

v0.g: 2006-10-27
Tidy up!
Update all version numbers

v.0.h:
Add Hitag2 reading (readlfx)
Add fdx-b cloning to Q5 / Hitag2 (fdxbnum)
Add q5unfuck (does what it say on the tin!)
mrpkey - display all data in GUI
fdxbnum - add ability to write raw 16 digit HEX (to clone non-compliant tags)

v0.i: 2006-12-10
Fix login error for sector 0

v0.j:
Fix iso_7816_fail to allow non-passports to fail properly
Add support for Frosch Hitag reader/writer
Start to rationalise routines to always return True or False
fdxbnum - add Frosch support for Hitag2
fdxbnum - wait for blank tag in WRITE mode

v0.k:
was release j - forgot to update version number!

v0.m:
add facility to set Q5 native ID in 'q5reset.py'
fix 'EM4x02' ID mode in 'unique.py' (was reversed)
allow forcing of tag type in 'readlfx.py'
add 'readtag.py' - read data blocks with no login
add 'copytag.py' - copy data blocks to matching blank
add 'isotype.py' - determine HF tag types
add CHECK for Machine Readable Document  in 'mrpkey.py'
fix bruteforce for non complete document numbers in 'mrpkey.py'
fix bruteforce length of field in 'mrpkey.py'
add offsets for usa & netherlands to 'mrpkey.py'
add global overrides for line/speed etc. in RFIDIOtconfig.py

v0.n:
add CLONE mode to 'unique.py'
make 'mrpkey.py' more intelligent about reading passport contents:
  read all data groups
  extract image from CBEFF block in EF.DG2
  extract public key certificate from EF.SOD (requires openssl installation)
  add asn.1 field length encoding rules
add 'sod.py' tool for brute force finding of certificates in EF_SOD.BIN (requires openssl installation)

