RevisionHistory.txt 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. Revision History:
  2. -----------------
  3. 1.0.0 - Initial release.
  4. 1.0.1 - Support for multiple connections to the iSCSI server (one connection per session).
  5. Disabled unnecessary disk read operations when logging is turned off.
  6. 1.0.2 - Write operation to disk is now performed only when the complete SCSI command data has been received.
  7. Support for iSCSI command queue.
  8. 1.0.6 - Fixed protocol related bugs.
  9. Properly handle implicit logout.
  10. Improved logging.
  11. 1.0.7 - Added support for the 'Request Sense' command.
  12. 1.0.8 - Nagle's algorithm has been disabled.
  13. Unsupported SCSI CDBs are now properly rejected.
  14. 1.0.9 - Minor bugfix.
  15. 1.1.0 - Minor bugfix.
  16. 1.1.1 - Read requests outside LBA range are now returning the proper SCSI status.
  17. 1.1.2 - Improved support for multiple connections to the iSCSI server.
  18. 1.1.3 - Bugfix: CRC error was reported on all I/O errors.
  19. 1.1.4 - Increased receive buffer size to 128KB.
  20. Added timestamp to log.
  21. 1.1.5 - The log file is now written directly to disk, without passing through the file system cache.
  22. 1.1.7 - Bugfix: The NOP-Out response did not have the 'Initiator Task Tag' field set.
  23. 1.1.8 - Added support for the Reserve6, Release6 SCSI commands.
  24. Added support for the Control mode page (0x0A) PageCode for the ModeSense6 SCSI command.
  25. 1.1.9 - Added support for the Read6, Write6 SCSI commands.
  26. Added support for the Block Limits (0xB0), Block Device Characteristics (0xB1) VPD pages.
  27. Unsupported SCSI commands are now properly reported to the initiator.
  28. 1.2.0 - Minor improvements.
  29. 1.2.1 - Minor improvements.
  30. 1.2.2 - Protocol related bugfixes and improvements.
  31. Added iSCSI Client implementation.
  32. 1.2.3 - Bugfix: login requests starting from stage 1 are now properly handled.
  33. Bugfix: Unsupported SCSI commands are now properly handled.
  34. 1.2.4 - Improved separation between the iSCSI and SCSI layers.
  35. 1.2.5 - Improved compliance with the iSCSI and SCSI protocols.
  36. 1.2.6 - Minor improvements.
  37. 1.2.7 - The iSCSI Client did not report the correct disk capacity.
  38. 1.2.8 - Reject improper commands during the login phase.
  39. 1.2.9 - Reject improper commands before login is complete.
  40. 1.3.0 - Bugfix: Invalid ReadCapacity16 command response was returend.
  41. Bugfix: Incorrect ResidualCount value was returned.
  42. 1.3.1 - Bugfix: iSCSI Client did not report the correct capacity when >4GB.
  43. Improved iSCSI Client performance.
  44. 1.3.2 - Minor improvements.
  45. 1.3.3 - Bugfix: The iSCSI server now return the TargetPortalGroupTag key with the first Login response.
  46. Bugfix: Login request during full feature phase is now properly rejected.
  47. Bugfix: Any PDU other than Login request is now properly rejected during the login phase once the login phase has started.
  48. Minor code cleanup and improvements.
  49. 1.3.4 - Bugfix: SCSI commands will now be executed in the correct order.
  50. 1.3.5 - Bugfix: iSCSI server did not increment StatSN for LoginResponsePDU / TextResponsePDU / RejectPDU.
  51. The iSCSI server will now terminate a connection only after all running SCSI commands sent using that connection have been completed.
  52. Minor Code cleanup.
  53. 1.3.6 - API Improvements: You can now subscribe to receive iSCSIServer and/or VirtualSCSITarget log entries.
  54. API Improvements: You can now provide your own implementation of SCSITarget to the iSCSI server.
  55. API Improvements: You can now set identification information for each LUN.
  56. API Improvements: Added authorization API to ISCSITarget.
  57. Improved connection management logic.
  58. 1.3.7 - Bugfix: Read/Write log entries now properly include the LUN.
  59. Bugfix: SCSI Data-In PDUs were sent without ExpCmdSN / MaxCmdSN being set.
  60. Each connection now use a dedicaded thread for send operations.
  61. SCSITarget now implements a queue for async command execution and use a dedicated thread.
  62. 1.3.8 - Improvements in VHD creation mechanism.
  63. Bugfix: incorrect server behavior when a single R2T was answered with a sequence of Data-Out PDUs.
  64. Bugfix: iSCSI server incorrectly assumed unnegotiated connection parameters.
  65. API Improvements: More control over the iSCSI server TCP listening port, including IPv6 support.
  66. 1.3.9 - TSIH / Target Transfer Tag are now allocated in a thread-safe way.
  67. Improved logging.
  68. API: Ability to add iSCSI targets while the server is running.
  69. Support for login requests with the Continue bit set to 1.
  70. 1.4.0 - Added support for MaxOutstandingR2T > 1.
  71. Added support for InitialR2T = False.
  72. Improved session management logic.
  73. Ability to remove (unused) iSCSI targets while the server is running.
  74. Improved login logic.
  75. Added dead peer detection mechanism.
  76. API: Listener endpoint should now be passed to the Start method.
  77. API: Added OnSessionTermination event to ISCSITarget
  78. API: Added ResetTarget method to disconnect any connected initators.
  79. 1.4.1 - Bugfix: iSCSI Server did not start (when calling Start) after a SocketException.
  80. Write performance has been improved by avoiding unnecessary memory copy operation when reading iSCSI PDU.
  81. API: Added ISCSITarget.OnTextRequest event to handle vendor specific text requests.
  82. API: Added SCSITarget.OnUnitSerialNumberInquiry event.
  83. API: Added SCSITargetInterface to improve extensibility.
  84. 1.4.2 - Write performance has been improved (due to improved connection buffer implementation).
  85. Trace logging is now disabled in Release build.
  86. 1.4.3 - Bugfix: Wrong sender parameter was dispatched to ISCSITarget inquiry event handlers.
  87. 1.4.4 - ISCSITarget: Event notification related bugfixes.
  88. 1.4.5 - Minor logging improvement.
  89. Added additional SCSI opcodes.
  90. Added PeripheralDeviceType enum.
  91. Added ModeParameterHeader10 / LongLBAModeParameterBlockDescriptor.
  92. 1.4.6 - LUNStructure: minor updates.
  93. Added SPTI implementation (Credit to Alex Bowden for leading the effort).
  94. Bugfix: Advertise ErrorRecoveryLevel in discovery session login response.
  95. 1.4.7 - Bugfix: StatSN was not advanced after NOP-In response.
  96. 1.4.8 - Bugfix: Incorrect processing of SCSIDataOutPDU in some cases.
  97. Minor logging and documentation improvements.
  98. 1.4.9 - Corrected handling of unsolicited Data Out PDU when InitialR2T=No.
  99. 1.5.0 - Corrected logging typo.