Aaproc Release Notes
====================

Unreleased
----------

Version 0.13.0 (2026-06-17)
---------------------------

* Made finding container-file datasets not produce a nonfatal error if
  an external container file shows up on disk before the container file.
  This ordering is probably rare, but it could happen, so now it's handled
  correctly if it does.

* Removed the aap `-s` command-line flag, and changed the meaning of the aap
  `-v` command-line flag to not control whether a stack trace is printed.
  Now, a stack trace is printed for any unhandled exception.

Version 0.12.0 (2025-09-25)
---------------------------

* Changed repo2 fetch repository from <https://www.imca.aps.anl.gov/~jlmuir>,
  which is defunct, to <https://imca-cat.org/~jlmuir>.

* Removed the "Integration refinement failed" check because it was erroneously
  causing aap to terminate some autoPROC dataset processing jobs prematurely.
  If those jobs had been allowed to continue, they may have eventually
  succeeded in processing the dataset.  Such jobs are now allowed to continue.

Version 0.11.0 (2025-07-25)
---------------------------

* Added a "-o option" command-line flag to aap allowing configuration file
  options to be specified on the command line.

* Fixed the pending-datasets count.  Previously, it was always 0.

* If aap is interrupted while processing a dataset, or if an error occurs
  related to running the processing program as a child process, the processing
  directory for the dataset that was being processed is now deleted.
  Previously, if you stopped aap while datasets were being processed, you'd
  have to figure out which datasets were being processed and then delete their
  processing directories by hand before starting aap again.  Otherwise, aap
  would see those processing directories and conclude that those datasets had
  failed to process.  Now, you can stop aap, and it will delete the processing
  directories of any datasets it was in the middle of processing before it
  exits.

* Added the HideSiblingSymlinksWhenProcess configuration file option to
  control whether to hide sibling symbolic links in a dataset directory when
  processing.

* Fixed a bug where watched directories were being scheduled for registration
  at a future time after indexing, and as a result, if any directory change
  occurred after indexing but before registration completed, it could be
  missed (e.g., a new dataset file created in a watched directory could be
  missed).  Now, watched directories are registered, and registration is
  confirmed to be complete, before indexing.

* Increased minimum Java version from 7 to 8.

* Added support for container-file datasets (e.g., HDF5).  As part of this,
  added the OneImagePerFileDatasetPattern, ContainerFileDatasetPattern,
  and ContainerFileDatasetExternalPattern configuration file options; and
  deprecated the ImagePattern configuration file option, for which you should
  use OneImagePerFileDatasetPattern instead.

Version 0.10.0 (2022-06-02)
---------------------------

* Added the ProcessingDirectoryPath configuration file option to specify the
  processing directory pathname relative to the dataset directory.

* Deprecated the ProcessingDirectoryName configuration file option and made it
  an alias for ProcessingDirectoryPath.

Version 0.9.2 (2020-10-30)
--------------------------

* Upgraded the Protobuf library to 3.12.2.

* Added prerequisites to the INSTALL file.

Version 0.9.1 (2020-10-22)
--------------------------

* Changed the configuration parser to use the non-localized message of an
  IllegalArgumentException for consistency with the rest of the suite which
  uses only non-localized messages.

Version 0.9.0 (2017-10-11)
--------------------------

* Changed the source of processing results; the aimless.log file is no longer
  the source; now processing results are obtained from the autoPROC.xml file.

Version 0.8.0 (2017-05-10)
--------------------------

* Added support, via the PostProcessHook configuration file option, for
  executing an external hook command after processing a dataset.

Version 0.7.0 (2016-07-21)
--------------------------

* Added the FileSystemPollMetadata configuration file option to control
  whether file metadata is read from the file system when polling for changes.

* Removed "autoPROC_CreateGpxPictures=no" from the autoPROC process
  invocation.  If this option is desired, it can be added to the user's
  ~/.autoPROC file.

* Added the ExcludeDirectoryPattern configuration file option to specify
  directories to exclude from consideration when monitoring directory trees
  for datasets.

Version 0.6.0 (2016-01-29)
--------------------------

* Added "-xml" to the autoPROC process invocation.

Version 0.5.0 (2015-12-14)
--------------------------

* Changed the default diffraction center image regular expression pattern
  to "(?i)cell_z(x|y)_(fly_)?[0-9_]+\\.(cbf|img)", which matches fly-scan
  diffraction center images and simplifies the pattern.

Version 0.4.0 (2015-10-21)
--------------------------

* Added the NumThreadsPerProcessJob configuration file option to control the
  number of threads to use per dataset process job.

* Added "autoPROC_CreateGpxPictures=no" to the autoPROC process invocation.

Version 0.3.0 (2015-08-21)
--------------------------

* Added a dataset processing supervisor that will abort processing of a
  dataset when certain conditions are detected.  This is controlled by three
  new configuration file options: MaxProcessRunTime, ProcessSupervisorPeriod,
  and MaxRefinedDetDistDelta.

* Changed the logic for determining when to process a dataset to not process
  a dataset if the process log file is present or if there is a record of a
  previous process attempt that failed.

Version 0.2.0 (2015-03-06)
--------------------------

* Fixed a bug in the aap program related to how it reads configuration files
  where some configuration files could have been erroneously ignored.

* Added the PerTreeResults configuration file option that, when enabled,
  causes the aap program to write a results report file at the root of each
  directory tree specified on the command line.  This could be useful, for
  example, when processing datasets for multiple people or organizations at
  once, where datasets are located below a directory corresponding to each
  owning person or organization, and those directories can be specified on the
  command line.  In this case, a results report file would be written to each
  of the specified directories containing just the results for the datasets
  under that tree.

Version 0.1.1 (2014-09-10)
--------------------------

* Created a log file of the autoPROC process program's standard output stream
  output.  When invoked in a terminal, process creates a log file of what it
  wrote to its standard output stream.  But when invoked as a subprocess of
  the aap program, it does not create this log file.  Now aap creates this log
  file for process to achieve the same behavior.

Version 0.1.0 (2014-07-24)
--------------------------

* First public release.
