-------------------- AmigaOS 3.5/3.9 project -------------------------

CMD 44.1 (15.7.1999)

- Bumped to V44.

- Changed the interface, it now uses ReadArgs() and
  requires AmigaOS 2.04.

- Removed the copyright text.

CMD 44.2 (6.9.1999)

- Switched over to use buffered file I/O. This will
  improve output speed.

-------------------- AmigaOS 3.1.4.(1) project -----------------------

CMD 45.1 (4.11.2017)

- Recompiled with optimized settings and without
  any assembler stubs.

CMD 45.2 (5.11.2017)

- This program was a freakshow of race conditions.
  Essentially, it could run out of resources, waited
  unnecessary in BeginIO, forgot to patch AbortIO()...
  This version is basically a complete rewrite
  that includes proper buffering.

- Forwards now NSDCMD_QUERY to identify device types
  correctly even when forwarding.

- Buffers now data in the BeginIO() vector avoiding a
  task switch for some broken devices, and blocks
  the IO if the buffer runs out.
  
CMD 45.3 (5.11.2017)

- A bit of cleanup, removed unnecessary code.

CMD 45.4 (6.11.2017)

- Large IORequests are no longer kept in the internal
  buffers, but are buffered up themselves. This avoids
  unnecessary copying of large data amounts.
  
CMD 45.5 (7.6.2018)

- CMD opens now a file requester if no redirection file
  is given.

CMD 45.6 (12.6.2018)

- Fixing a enforcer hit in case the list of ready
  requests for queueing runs empty.

- The user can now specify a concrete device name
  with the DEVICE tool type or the DEVICE command
  line argument.

- In case no device name is given, CMD takes now
  the device name from the preferences.
  
CMD 45.7 (14.7.2018)

- With the previous construction of CMD, an IORequest
  send later could "overtake" an IORequest send earlier,
  i.e. transmitted back to the caller ahead of time.
  Unfortunately, the printer.device does not like this
  at all, it requires strict serialization of requests.
  Hence, replaced the current algorithm of the device by
  a simpler one that queues all requests in serial order
  instead of copying the data out of the buffers for
  smaller requests.

-------------------- AmigaOS 3.2 project -----------------------------

CMD 45.8 (22.8.2019)

- If a print job was terminated due to canceling the
  requester, CMD did not wait for all IORequests to
  come in, but forcefully tried to terminate itself,
  hence blocking completely as the printer.device
  attempted to submit one last request. Fixed.

- CMD could overrun buffers allocated by Icon or
  the shell because it extended the file count to
  the buffer provided by both instead of using its
  own buffer.

- CMD cleared the target file when called from the
  shell, thus ignored the FILE option there.
