The version number is hard-coded into src/ddpt.c (in a C string);
the rpm spec file: ddpt.spec ; the debian/changelog file;
and the configure.ac file (in the AC_INIT item).

Changelog for released ddpt-0.97 [20210421] [svn: r388]
  - ddpt: add cdl operand for command duration limits
  - ddpt: add oflag=nocreat and conv=nocreat that require
    OFILE to exist, it won't be created
  - ddpt: warn if disk has protection type 2 and cdbsz!=32
    has not been used (it is required according to SBC-4)
  - ddpt: cdbsz= operand can now take 2 comma-separated numbers
  - NVMe devices can now be accessed via iflag=pt or oflag=pt
    without those flags they will be accessed as block devices
  - now accept --progress or -p as shorter form of
    status=progress [borrowed from FreeBSD's dd]
  - fix progress reporting when OFILE is /dev/null
  - start using autoconf 2.70
  - point svn:externals to sg3_utils release 1.46 (rev 891)

Changelog for ddpt-0.96 [20200303] [svn: r375]
  - allow scatter gather lists for skip= and seek= where they can
    reasonably be implemented
  - add status=progress option, report every 2 minutes
    -add status=sgl option to print internal sgls
  - add --dry-run, --flexible and --quiet options
  - add iflag=00 and iflag=ff for fill bytes
  - add oflag=wstream for WRITE STREAM(16) on OFILE, STR_ID provided
    by list_id=LID operand
  - require job file to contain 'ddpt' argument as sanity check:`
    either 'ddpt=<version_number>' or 'ddpt=r<revision_number>'
  - add ddpt_sgl utility for list manipulations
  - add support for Receive copy status(lid4) command
  - add prefer_rcs flag and conversion for xcopy(odx)
  - add support for locally assigned UUIDs in VPD page 0x83 (spc5r08)
  - third party (extended) copy: add support for "point in time -
    copy on write" type RODs, spc5r20
  - add 'delta' throughput calculation (e.g. since previous report
    with status=progress)
  - add testing directory and scripts
    - prepare.sh to test ddpt
    - test_sgl.sh to test ddpt_sgl
  - add --verify option to change from doing WRITE(OFILE) to doing
    VERIFY(OFILE,BYTCHK=1)
  - add --prefetch option to add PRE-FETCH(OFILE,IMMED) command to
    the --verify seqeunce of commands
  - change oflag=verify to oflag=wverify to distinguish it from the
    new --verify option
  - improve device designator descriptor handling
  - resubmit IOs if EAGAIN, report count at completion if > 0
  - fix SCSI recovered errors stopping copy
  - align pass-through buffers to page boundaries
  - fix reading fifo (stdin) and writing to regular file
  - rework pr2serr() handling
  - use sg_pt::set_scsi_pt_packet_id() with ascending counter, helps
    debugging (mainly Linux)
  - improve xcopy(odx) error reporting
  - point svn:externals to rev 843 of sg3_utils (version 1.45)
  - convert many two valued 'int's to bool
  - upgrade automake to version 1.15 (U16.04)
    - cleanup configure.ac + Makefile.am
  - update BSD license from 3 to 2 clause aka FreeBSD
    license (without reference to FreeBSD project)
  - debian: bump compat file contents from 7 to 10

Changelog for ddpt-0.95 [20141226] [svn: r307]
  - add oflag=verify[,bytchk] to write using the SCSI
    WRITE AND VERIFY command
  - add job file that holds options; specified either
    freestanding on command line or after --job=
  - show percent completed
  - add DDPT_DEF_BS environment variable
  - add iflag=ff to source 0xff bytes
  - ddptctl: add --hex and --readonly options
  - add atomic flag for WRITE ATOMIC(16) command on OFILE
  - add warning when oflag=strunc copy interrupted
  - win32: ddpt --wscan fixes
  - point svn:externals to rev 620 of sg3_utils
  - upgrade automake to version 1.14.1

Changelog for ddpt-0.94 [20140407] [svn: r277]
  - xcopy: change default to send xcopy command to dst
    - add XCOPY_TO_SRC and XCOPY_TO_DST environment
      variables to guide where to send xcopy command
  - odx: add new offloaded copy technique, also known
    as "xcopy v2, lite", that exposes ROD Tokens
    - ddpt supports 4 odx variants: full copy, zero
      output blocks, read to tokens and write from
      tokens. Latter two facilitate network copies
    - add scatter-gather list capability to seek=,
      skip= to read from command line, file or stdin
  - ddptctl: add odx helper utility
    - can issue individual PT, WUT, RRTI, Report All
      Rod Tokens, and Copy Operation Abort commands
    - can decode T10 defined info in Rod Token
  - improve CL handling of short options (e.g. '-vv')
  - point svn:externals to rev 563 of sg3_utils
  - configure: add --disable-libsgutils option so
    build bypasses that library if present

Changelog for ddpt-0.93 [20131113] [svn: r242]
  - add xcopy support, new flags: xcopy, cat, dc;
    new options: id_usage=, list_id=, prio=
  - add intio=0|1 ; rework signal handling
  - allow tape device in non-pt mode
  - fix fifo read when bs is large
  - add delay=MS,W_MS for bandwidth limiting
  - add oflag=ignoreew,pad,nofm,nopad for tape
  - add iseek= option, synonym for skip=
  - add oseek= option, synonym for seek=
  - add protect=RDP,WRP option
  - add cdbsz=32 option for READ(32) and WRITE(32)
  - add rarc flag for scsi read cdbs
  - add block flag for pt (non blocking by default)
  - fix overflow on OFILE when input fifo
  - ./configure options:
    - change --enable-no-linux-bsg to --disable-linuxbsg
    - add --disable-scsistrings to reduce utility size
      with non-libsgutils build
  - reduce ddpt.c size by adding ddpt_pt.c
  - win32: fixes for cygwin version 1.7.17 headers
    - translate O_EXCL to no sharing
  - point svn:externals to rev 522 of sg3_utils
  - upgrade automake to version 1.13.3

Changelog for ddpt-0.92 [20110217] [svn: r157]
  - when pt used on block device and discrepancy between size
    of block device and read capacity size, require force flag
  - add coe support for input block devices and regular files
  - support conv=fdatasync, conv=fsync, oflag=fdatasync and
    oflag=fsync; called at end of copy
  - allow partial writes of trailing bytes when output is
    regular file or fifo (stdout), ignore if block or pt device
  - fix stdin, stdout and fifo handling problems
  - if iflag=sparse and of=/dev/null (or not given) warn but
    set oflag=sparse and continue
  - treat unrecovered errors as partial (as dd does)
  - win32: add '--wscan' option to scan for devices and volumes
    - select SPT direct pt interface
  - add estimate of remaining time in progress signal handler
  - accept but ignore cbs= option
  - error reporting clean up
  - add AM_MAINTAINER_MODE to configure.ac to lessen build issues

Changelog for ddpt-0.91 [20100920] [svn: r121]
  - rework copy loop.
  - extend bpt=BPT to bpt=BPR[,OBPC] spare+sparse granularity
    - change BPT default to vary from 8192 to 1 depending on IBS
  - add oflag=resume logic
  - change oflag=sparse to extend regular OFILE with a final
    block write, if required
    - add oflag=strunc to also do sparse writes but to extend
      regular OFILE with ftruncate, if required
  - change 'bs=' option to set IBS and OBS; 'ibs=' and 'obs='
    can coexist but not with 'bs='. [Closer to dd semantics]
  - conv=noerror,null,resume,sparing,sparse,sync now permitted
  - add oflag=trunc and conv=trunc (default: overwrite)
    - quietly ignored if resume, needed due to sequence
  - add oflag=trim for TRIM/UNMAP on pt OFILEs
  - add iflag=self or oflag=self for self-trim
  - add oflag=nowrite to bypass writes+truncates (does trims)
  - add iflag=errblk to write bad LBAs to file
    - if sense data deficient, write a LBA range to file
  - add iflag=norcap or oflag=norcap to bypass the SCSI READ
    CAPACITY command on pt devices
  - discrepancies between ibs or obs and READ CAPACITY supplied
    block lengths abort the copy. This can be overridden by
    iflag=force or oflag=force on pt devices
  - optical memory devices (pdt=7) added to cd/dvd readers (pdt=5)
    that don't need sense valid=1 to accept info field (when > 0)
  - rework short read logic for block and regular files
  - treat linux bsg devices as implicit pt devices

Changelog for ddpt-0.90 [20100508] [svn: r85]
  - copied from sg_dd utility in sg3_utils package
  - change name from sgdd to ddpt (package and utility name)
  - ibs and obs can differ when ((ibs * bpt) % obs) == 0)
  - change 'sg_io' flag to 'pt' (for pass-through)
  - change 'dsync' flag to 'sync'; 'ssync' flag for SCSI
    SYNCHRONIZE CACHE command; add 'nocache' flag
  - 'if=IFILE' must be given, to read from stdin use 'if=-'
  - 'of=OFILE' changed to default to /dev/null (was stdout)
  - if 'nocache' flag call posix_fadvise(SEQUENTIAL) on
    input fd and posix_fadvise(DONTNEED) during copy
  - add 'fua_nv' flag
  - when multiple unrecovered errors report lowest and
    highest LBA
  - call sg_set_binary_mode() on fds (for windows)
  - resubmit pass-through reads and writes if interrupted
  - drop Linux raw file support
  - drop READ LONG logic (coe=2 and coe=3)
  - add write sparing support (oflag=sparing)
  - add linux bsg support
  - sg_pt_win32: define WIN32_SPT_DIRECT via config.h
  - calculate COUNT for regular files when required
  - accept 'count=-1' to mean calculate COUNT
  - accept '-V' as synonym for '--version'
  - point svn:externals to rev 334 of sg3_utils
