==================================================================
Version 0.17:
==================================================================
Two missing EXIF tags were added to this version.  You will have
to either delete and then re-create the d70reader.conf file, in
order for these tags to be displayed, or you can edit the file,
and add the following two entries:

WhiteBalance=yes
Sharpening=yes

If you do edit the file, be sure to use a text editor, like 
'notepad', not an application like Microsoft Word.
==================================================================
Version 0.18:
==================================================================
New option -js
Adobe XMP SDK being used
Modified option -c to use place holders for missing tags
==================================================================
Version 0.19:
==================================================================
New option -web
Changed some output formatting.

Two missing EXIF tags were added to this version.  You will have
to either delete and then re-create the d70reader.conf file, in
order for these tags to be displayed, or you can edit the file,
and add the following two entries:

ImageWidth=yes
ImageLength=yes

If you do edit the file, be sure to use a text editor, like 
'notepad', not an application like Microsoft Word.
==================================================================
Version 0.20:
==================================================================
Corrected a problem with the -web option.  The JPG images taken
directly from the camera were not being rotated properly.

Added the 'images' directory to the distribution.  This contains
the 'blank.jpg' image file.  It is needed for the -web option.
Check out the README file in that directory.
==================================================================
Version 0.21:
==================================================================
Added the -rm option to allow complete removal of the
EXIF data from a JPG image.  Fixed a problem with the
-web option, where vertical images were not always
displayed properly.  Handle a situation where the image
file does not contain the orientation tag 0x112.
Fixed a problem where the -j option would fail with
certain Nikon Capture created files.  When using the
-j option, the EXIF data is now correctly formatted
into the proper buckets, instead of having it all at
the lowest level.  This means that other applications
will now correctly read it.  The original -j logic
from version 0.20 is kept as -jold.  There are still
some image processing software created images, that
can not be handled correctly with the newer -j option.
The -jold option does work with some of these images.

The files created with the -rm option, have the string
"NOEXIF_" prepended to their name.  The original file
is not touched.
==================================================================
Version 0.22:
==================================================================
There has been a total rewrite of the program.  The old
ANSI C code was turning into spaghetti.  This version uses
C++, which makes it easier to maintain.

The -j option, for extraction of the thumbnail image that
each NEF file contains, has been rewritten.  The -jold
option is no longer required, and has been removed.

The -cf option has been added.  This option allows you to
use an alternate configuration file, or files.  You can now
customize what tags you want displayed, by the task you are
working on.

One large change, is the number of potential EXIF tags that
can be displayed.  The program has gone from an average of
25 tags, to a possible 140 tags.  Most NEF files directly
from the camera (D70) have about 120 tags.  Most JPG files have
less than that.  To provide a transition path for users with
an existing d70reader.conf file, that file is not touched when
the new program is run.  Instead, a new default configuration
file is created.  It is named d70reader2.conf.  This will 
allow you to compare the two files, and then customize the 
new one, based on the old one.

When using the -web option, the web site pages that are
generated, now make the display of the EXIF data optional.
By default, you will not see the EXIF data for the image,
but you can toggle it on.

There is now a new configuration file for the -web option.
This will control the contents of the text, that is displayed
on each screen of the generated web site.  The file is called
d70readerweb.conf.  The user can modify the text in this file
before generating the web pages, and see the text/labels
change accordingly.  This new file is created automatically,
in the same directory as the d70reader2.conf file.

For background colors, and fonts, the user can modify the
gallery.css file, that is at the root level of each generated
web site.

Added the "LensDataVersion", "FocusDistance", and  "LensID"
tags.  The FocusDistance tag will show the lens focus
distance in centimeters, inches, and feet, for D lenses.
The LensID tag will show a more descriptive label for the
lens.  All of these currently work, for just the D70 camera.
The D2X, D2Hs, and D50 encrypt this data, and I have not
coded the decription method yet.
==================================================================
Version 0.23:
==================================================================
Added the -od option, to allow the user to input a
destination directory, for file output.  Coded the decryption 
method to allow support for the LensID and FocusDistance for the 
D2X, D50, and D2Hs.  Added the -re option.  This option will copy 
NEF/Raw EXIF data to a target JPG file.  This means that a JPG file
that has been post-processed by an image software package, that 
normally drops the EXIF data, can have that data restored. Fixed 
a bug, where the HTML gallery index label was not using the 
d70readerweb.conf file for its display values.
==================================================================
Version 0.24:
==================================================================
Added the -fd option.  This will allow you to fix the internal
dates within the image file.  This is helpful, if the user never 
set the camera date and time, shot dozens of images, and now wants 
to correct the problem.

This option makes use of another configuration file called
d70readerdate.conf, that is automatically created in the same 
directory as the d70reader2.conf file.  This file can be edited 
with a text editor, to change the image dates, to whatever you 
need them to be.  Be sure to follow the format of the image dates 
displayed in this file.  If you don't, it will cause strange dates
to display.

When you run this program with this option, the target file(s) you 
select, are recreated in the .\fixdate directory, and then the 
internal dates are modified.  The original file is never modified 
in any way.
==================================================================
Version 0.25:
==================================================================
Added option -njf.  This will create a JPEG FINE image file from
a NEF image file.  Also added -cwb (use camera whitebalance), 
-awb (use auto whitebalance), -crgb (use camera RGB), -noclip 
(don't clip colors), -br:n.n (set image brightness), -red:n.n 
(set red multiplier), and -blue:n.n (set blue multiplier).  The
last seven options are only used with the -njf option.

Fixed a problem with the -re option, where a temporary file was
not being properly renamed, for vertical images.

==================================================================
Version 0.26:
==================================================================
Added support for the Nikon D50.  Added support for the       
Mac OS X 10.4 operating system. Added NikonCaptureOffsets     
tag.  Added ExposureDifference tag.  Updated the version of   
DCRAW to use, to fully support the D2X.  Fixed a problem with 
the -re option, where not passing all parameters would cause  
the program to crash.  Fixed a problem where Nikon Capture    
4.3 modified files would cause the D70Reader program to       
crash.  Added additional Start Of Frame markers to the logic  
used to determine a JPG images size.  The previous version    
only checked on the standard one.  Some image programs write  
the image using higher numbered SOF markers.  Found a problem 
with some images that did not properly handle the offset to   
the next marker.  Changed the code to allow for this problem. 
Renamed the ColorBalance1 tag to ColorBalance12, to reflect   
its tag number.  Renamed the ColorBalanceD70 to               
ColorBalance151, using the tag number, and making the name    
generic, so that it could be used with non-D70 cameras.       
Added the SenserPixelSize tag.  Fixed the Adobe XMP code,     
where some improperly created images, would cause the         
D70Reader to crash, because the XMP data was trash.           

Note:  If you use the -njf option with the D50, it is best to
specify the -awb sub-option, since DCRAW does not currently
support the D50.  Using the -cwb option will give strange output
as a result.  This will change once DCRAW supports the D50, and
the required changes have been merged with the D70Reader program.

==================================================================
Version 0.27:
==================================================================
Increased display length of hex dumped tags to a max of 40
bytes, instead of 20 bytes.  Upgraded to the latest version
of DCRAW, that fully supports the D50.  Corrected LensID
display for the D100.  Renamed the second occurance of the
CFAPattern tag to CFAPatternEXIF.  Added the AFAperture,
FocusPosition, MinFocalLength, MaxFocalLength,
MaxApertureAtMinFocal, MaxApertureAtMaxFocal, MCUVersion,
and EffectiveMaxAperture tags.  These are derived from the
LensDataBytes hex values.

Note:  To see the new tags, if you currently use the D70Reader
program, you should delete the 'd70reader2.conf' file, and
have the program re-create it.  Or, you could add the new tags
to your existing control file.
==================================================================
Version 0.28:
==================================================================
Changed the DCRAW code to version 7.60.  This version has     
a new demosaicing algorithm called Adaptive homogeneity-      
directed.  This replaces the old Variable Number of Gradients 
Method.  The older algorithm produces clearly visible color   
artifacts.  Also added the -black option to control the black 
point of the image.                                           

==================================================================
Version 0.29:
==================================================================
Added support for 94 more EXIF tags.  To support additional   
EXIF tags, added suffix to tag names to allow for uniqueness. 
Added logic to handle GPS tags (I was not able to test this). 

Modified -web option to support new tag name structure.  Also 
modified -web option to dynamically look up tag names.  
For -web option, JPG image files were not being properly rotated, 
even though NEF files were.  Fixed flag that impacted -js and 
-web options.  

Fixed a bug with the -c, -js, and -web options when using a subset  
of all possible tags.  

All files created by the program go into sub-directories under    
the 'd70reader' directory (fix_date, jpeg_fine, no_exif,      
restore_exif, thumbnail, and web).  

Added option -s to sort the standard output.  
Added EXIF data type indicator to the standard output.  

The program now handles some non-Nikkor lenses.     

Default configuration file renamed to 'd70reader29.conf'.     

Fixed a bug with the -re option that resulted in failure of   
this option (don't know how long this has been there!).       

Added check to handle invalid internal EXIF directory structures.       

Reduced amount of verbose data displayed with the -v option.  

Fixed bug with the -j, -re, and -njf options where the JPG    
file created, was invalid, if the source NEF file was a Nikon 
Capture modified file.  

Finally, added support for the D200.   

==================================================================
Version 0.30:
==================================================================
Added -coc (Circle of Confusion) option.  Added DOF (Depth
of Field) tags:

NearFocusLimitDOF_Type0
FarFocusLimitDOF_Type0
HyperfocalDistance_Type0
TotalDOF_Type0
CircleOfConfusion_Type0

You should delete or rename the d70reader29.conf file before
you run this program.  Otherwise, you will not see these new
tags.  The program will create a new d70reader29.conf file if
one does not exist.

Not all image files contain enough information to populate
these new tags.  You will not see them if that is the case.
One data element that is required, is the focus distance.  Not
all lenses return this information.

==================================================================
Version 0.31:
==================================================================
Added GPS map link to -web option.  Added -fdwo option.  This
option allows an image timestamp to be modified by an offset
of minutes.  A negative value can be entered to subtract
time.

==================================================================
Version 0.32:
==================================================================
Fixed a problem created in version 0.31, with the -web option.
The previous changes made it necessary to include the GPS tags 
in the data, even if you had no need for them.  The effect    
was a JavaScript error in the generated HTML page.            

==================================================================
Version 0.33:
==================================================================
Added the -ren option to rename the image file, based on shutter
count tag, and user supplied prefix.

==================================================================
Version 0.34:
==================================================================
Added support for the Nikon D40, and D80.  Updated the logic  
to use the new XMP library.  Fixed -ren bug.  Added           
ProgramShift, CropHiSpeed, ColorSpace, AutoBracketRelease,    
and HighISONoiseReduction tags.  Added additional lenses to   
the lens database.                                            
==================================================================
Version 0.35:
==================================================================
Changed MeteringMode descriptive text.  Improved AFPoint     
reporting.  Added additional FlashMode items.  Added         
processing for MultiExposure and AFInfo2 tags.  Added support
for D60, D300, D700, and D3 cameras.  Updated web site       
address.  Added logic for new tags.  Added support for new   
lenses.                                                      


