
2013-12-10 JFL Peripheral Solutions mihailm@jflinc.com

    * update twain.h
    * update version number to 2.3.0

2013-04-10 Eastman Kodak Company mlm@kodak.com

    * hook.cpp, fixed to work with Windows 8
    * update version number to 2.2.1

2012-03-14 JFL Peripheral Solutions peterp@jflinc.com

    * dsm.cpp, Remove static forward declarations of DSM_Mem?? functions causing compiler
      warning
    * replace twain.h with 2.2 version
    * update version number to 2.2

2010-11-17 JFL Peripheral Solutions mihailm@jflinc.com

    * dsm.cpp, Prevent Application from reentry to DS before returning from callback message 
      only if Application is 2.2 or higher version
    * dsm.cpp Prevent DS from receiving a triplet when it has not finished processing the 
      previous triplet only if Application is 2.1 or higher version

2010-03-12 JFL Peripheral Solutions jimw@jflinc.com

    * apps.cpp Allow application to connect to DSM if different handle used each time.


2010-02-26 JFL Peripheral Solutions jimw@jflinc.com

    * dsm.h, dsm.cpp, & apps.cpp Prevent Application from reentry to DS
      before returning from callback message.
    
    
2010-02-26 a.walling

    * dsm.cpp Get the HWND of the parent window, if any, and use it as the
      dialog's parent.
    

2010-01-22 JFL Peripheral Solutions jimw@jflinc.com

    * dsm.h, dsm.cpp, & log.cpp Update logging with more information
    
    
2010-01-11 JFL Peripheral Solutions jimw@jflinc.com

    * dsm.cpp Update logging with new 2.1 Capabilities and other missing defines
    
    
2009-12-31 JFL Peripheral Solutions jimw@jflinc.com

    * dsm.cpp Create a local copy of the AppID that is passed to DS for processing.
      Fix the problem that the reallocate to the list of Application may causes the
      pointer to the AppID passed to be corrupt before OpenDS finishes.  This only 
      happens when the DSM recieves multiple OpenDSM messages in the same process space.
      If this happens, messages sent from DS to App will get lost.
      

2009-11-04 JFL Peripheral Solutions jimw@jflinc.com

    * Update to Version 2.1 

    
2009-11-04 JFL Peripheral Solutions mihailm@jflinc.com

    * apps.cpp, dsm.h, & dsm.cpp Dynamically add applications loading the DSM


2009-11-03 JFL Peripheral Solutions jimw@jflinc.com

    * dsm.h & dsm.cpp Add TWAIN2.1 feature DAT_IDENTITY / MSG_SET 


2009-08-20 JFL Peripheral Solutions jimw@jflinc.com

    * hook.cpp Fix hooking code to work with Windows7
    * dsm.cpp, apps.cpp Fix issue of badly written application not closing DS
    and DSM before unloading the DSM. 


2009-07-07 Kodak mlmcl

    * hook.cpp explicitly hook the twain_32.dll file in the windows folder.


2009-06-11 JFL Peripheral Solutions jimw@jflinc.com

    * hook.cpp VirtualProtect would cause exception on some systems if DEP is enabled.
      TWAINDSM.dll must be compiled using atleast VS2008 with /NXCOMPAT:NO link flag


2009-06-09 JFL Peripheral Solutions jimw@jflinc.com

    * dsm.cpp Add Try | Catch around messages sent to either DS or App
    * apps.cpp Fix bug that would cause the DSM to Close down completely if 
      it received a OPENDSM & CLOSEDSM while processing the first OPENDSM.


2009-05-14 JFL Peripheral Solutions jimw@jflinc.com

    * apps.cpp dsm.cpp For backwards compatibility, prevent DS from receiving
      a triplet when it has not finished processing the previous triplet.
    * dsm.cpp Add more logging info
    * dsm.cpp Return RefCon, that App set in register callback, to App as
      pData in callback routine


2009-05-14 Kodak mlmcl

    * apps.cpp Fix bug when DSM is closed by App when DS are still opened.
    * CMakeList.txt limit global symbolics names to single process of binary.


2009-03-18 JFL Peripheral Solutions jimw@jflinc.com

    * dsm.cpp Allow DAT_IDENTITY messages that have a pDSId to go to the DS.
    * dsm.cpp Remove the undocumented, non-working, and unnecessary  
      DAT_IDENTITY / MSG_GET handled by the DSM
    * Increment version to 2.0.5


2009-03-11 JFL Peripheral Solutions jimw@jflinc.com

    * hook.cpp, apps.cpp, & dsm.h Only hook DS that we have opened
    * twain.h update to TWAIN 2.1


2009-02-27 JFL Peripheral Solutions jimw@jflinc.com

    * twain.h, dsm.cpp DAT_STATUS / MSG_CHECKSTATUS is Depreciated using 
      DAT_STATUS / MSG_GET instead.


2009-01-13 JFL Peripheral Solutions jimw@jflinc.com

    * twain.h Updated TW_INFO structure for 64bit
    * dsm.cpp store the location for the default DS for 64bit in a different 
      location than 32bit
    * apps.cpp allow for missing TWAIN_32 or TWAIN_64 directories when 
      scanning for available datasources
    * dsm.h, apps.cpp, hook.cpp  Fix bug to allow multiple 32-bit windows 
      applications to hook multiple datasources.


2008-09-15 JFL Peripheral Solutions jimw@jflinc.com

    * dsm.cpp, dsm.h, apps.cpp, hook.cpp  Fix bug to allow multiple 32-bit windows
      applications to hook multiple datasources.

    
2008-09-10 JFL Peripheral Solutions jimw@jflinc.com

    * dsm.cpp, dsm.h, apps.cpp  Don't close DSM if another application still has it open 
    * Add more error messages to the log file
    * increase version number


2008-07-16 Kodak mlmcl

    * hook.cpp Added the hook code for 32-bit windows systems...
      it allows us to capture requests for DSM_Entry meant for TWAIN_32.DLL, 
      and turn them into DSM_Entry for TWAINDSM.DLL...


2008-06-10 JFL Peripheral Solutions jimw@jflinc.com

    * dsm.cpp Handle DAT_STATUS if Destination is NULL
    * AppValidateIds now returns false if App ID is invalid.

    
2008-06-13 Kodak mlmcl

    * Removed the word "don't" from the #else clauses, because 4.2.3 goes in 
      there and yells about the lack of a matching single-quote.
    * log.cpp  Fixed a couple of valid compiler warnings from 4.2.3..


2008-05-29 Kodak mlmcl

    * dsm.cpp Turns out that we weren't sending DAT_STATUS to the driver in
      state 4 and higher.


2008-03-14 JFL Peripheral Solutions jimw@jflinc.com

    * Update version numbers for Windows releases to 2.0.1
    * Update project file to enable spaces in path names.


2008-03-13 Kodak mlmcl

    * dsm.cpp Fixed OpenDS to unload the .ds on fail


2008-03-04 JFL Peripheral Solutions jimw@jflinc.com

    * twain.h Fixed TW_UINTPTR, Depreciated some ICAP_PIXELTYPEs


2007-12-10 JFL Peripheral Solutions jimw@jflinc.com

    * TWAIN 2.0 Specification compliancy.
    * Windows Merge Module added.


2006-10-25 JFL Peripheral Solutions jimw@jflinc.com 

    * Added to SourceForge.

    
2004-09-13 JFL Peripheral Solutions fredh@jflinc.com
    * Initial Release.
    
