
Release notes
*************


Version 2.1.0
=============

Release: 2015-11-10

* Fix slow verbose mode

* Fix empty debug output file

* Fix broken command line "--include-path" option

* Allow recursive "<include-path>" and "<selection>" handling
  (additional include-pathes can now be included by using the
  "<include>" tag)

* Allow multiple "<selection>" and "<include-path>" areas

* New "transpose="true"" attribute possible in "<table>"

* Allow recursive parameter name creation in "<do>" or "<sub>" (e.g.
  "${param${num}}")

* Extend iteration feature

  * "iteration=#number" can be used in the "<step>" tag, the work
    package will be executed #number times

  * New "reduce" attribute in analyser, possible values: "true" or
    "false" (default: "true")

    * "true": use a single result line to combine all iterations

    * "false": each iteration will get its separate result line

* Fix pattern_cnt bug

* New pattern suffix: "_std" (standard deviation)

* "reduce" option in "<pattern>" not needed anymore (all possible
  reduce options are now calculated automatically)

* Fix jube-autorun and add progress check interval

* Added "--force" command line option to skip *JUBE* version check

* Added optional "out_mode" attribute in "<iofile>". It can be "a"
  or "w" to allow appending or overwriting an existing "out"-file
  (default: "w").

* New version numbering model to divide between feature and bugfix
  releases


Version 2.0.7
=============

Release: 2015-09-17

* *JUBE* will ignore folders in the benchmark directory which does
  not contain a "configuration.xml"

* New pattern reduce example *Statistic pattern values*

* New internal directory handling to allow more flexible feature
  addition

* New internal result structure

* Fix derived pattern bug when scanning multiple result files

* *JUBE* version number will now be stored inside the
  "configuration.xml"

* *JUBE* version number will be checked when loading an existing
  benchmark run

* New *JUBE* variable: "$jube_wp_relpath" (contains relative
  workpackage path)

* Add Verbose-Mode "-v" / "--verbose"

  * Enable verbose console output "jube -v run ..."

  * Show stdout during execution: "-vv"

  * Show log and stdout during execution: "-vvv"

* Change version mode to "-V" / "--version"

* "jube_parse.log" will now be created next to the
  "<input_config>.xml" file

* New syslog result type (thanks to Andy Georges for contribution),
  see *syslog_tag*

* New environment variable "JUBE_GROUP_NAME": By setting and
  exporting "JUBE_GROUP_NAME" to an available UNIX group, *JUBE* will
  create benchmark directory structures which can be accessed by the
  given group.

* Benchmark results can now be created also by user without write-
  access to the benchmark directory

* Parametersets are now available within each dependent step. There
  is no need to reuse them anymore.


Version 2.0.6
=============

Release: 2015-06-16

* users can now change the *JUBE* standard Shell ("/bin/sh") by
  using the new environment variable "JUBE_EXEC_SHELL", see
  *Configuration*

* fixes a bug if a Shell filename completion results to a single
  file name (inside the "<copy>"-tag)

* fixes stderr reading bug if "work_dir" was changed in a specific
  "<do>"

* changes include path order, new order: commandline ("--include-
  path ..."), config file ("<include-path>"), Shell var
  ("JUBE_INCLUDE_PATH"), "."

* fixes some unicode issues

* units in the result dataset will now be shown correctly if a file
  specific patternset is used


Version 2.0.5
=============

Release: 2015-04-09

* "argparse" is now marked as a dependency in "setup.py". It will be
  automatically loaded when using *setuptools*.

* tags will now also be used when including external sets by using
  "<use from="...">"

* change default platform output filenames: using *job.out* and
  *job.err* instead of *stdout* and *stderr* for default job output

* new internal workflow generation alogrithm

* parameter can now be used in step "<use>", e.g.
  "<use>set_$number</use>"

  * external sets had to be given by name to allow later
    substitution: "<use from="file:set1:set2">set$nr</use>"

  * also multiple files can be mixed: "<use
    from="file:set1,file2:set2">set$nr</use>"

  * new example *Parameter dependencies*

* allow "use"-attribute in file-tag to select file specific
  patternsets "<file use="patternset">"

* Shell and parameter substitution now allowed in analyse files
  selection "<file>*.log</file>"

* default "stdout" and "stderr" file will now stay in the default
  directory when changing the work_dir inside a "<do>"

* start of public available *JUBE* configuration files repository:
  https://github.com/FZJ-JSC/jube-configs


Version 2.0.4
=============

Release: 2015-02-23

* fix bug when using *JUBE* in a *Python3.x* environment

* time information (start, last modified) will now be stored in a
  seperate file and are not extracted out of file and directory
  metadata

* "jube run" now allows the "--id/-i" command line option to set a
  specific benchmark id

* "jube result" now automatically combines multiple benchmark runs
  within the same benchmark directory. *JUBE* automatically add the
  benchmark id to the result output (except only a specific benchmark
  was requested)

  * new command line option: "--num/-n" allow to set a maximum
    number of visible benchmarks in result

  * new command line option: "--revert/-r" revert benchmark id order

* new attribute for "<column>": "null_value="..."" to set a NULL
  representation for the output table (default: """")

* new command: "jube update" checks weather the newest *JUBE*
  version is installed

* new "id" options: "--id last" to get the last benchmark and "--id
  all" to get all benchmarks


Version 2.0.3
=============

Release: 2015-01-29

* missing files given in a fileset will now raise an error message

* "jube info <benchmark-dir> --id <id> --step <step_name>" now also
  shows the current parametrization

* "jube info <benchmark-dir> --id <id> --step <step_name> -p" only
  shows the current parametrization using a csv table format

* add new (optional) attribute "max_async="..."" to "<step>":
  Maximum number of parallel workpackages of the correspondig step
  will run at the same time (default: 0, means no limitation)

* switch "<analyzer>" to "<analyser>" (also "<analyzer>" will be
  available) to avoid mixing of "s" and "z" versions

* fix bug when using "," inside of a "<pattern>"

* *JUBE* now return a none zero error code if it sends an error
  message

* update platform files to allow easier environment handling:
  "<parameter ... export="true">" will be automatically used inside of
  the corresponding jobscript

* update platform jobscript templates to keep error code of running
  program

* fix bug when adding ";" at the end of a "<do>"

* last five lines of stderr message will now be copied to user error
  message (if shell return code <> 0)

* fix *Python2.6* compatibility bug in converter module

* fix bug when using an evaluable parameter inside of another
  parameter


Version 2.0.2
=============

Release: 2014-12-09

* fix a bug when using "init-with" to initialize a "<copy>"-tag

* use "cp -p" behaviour to copy files

* fix error message when using an empty "<do>"

* added error return code, if there was an error message


Version 2.0.1
=============

Release: 2014-11-25

* "--debug" option should work now

* fixes problem when including an external "<prepare>"

* update *Python 2.6* compatibility

* all "<do>" within a single "<step>" now shares the same
  environment (including all exported variables)

* a "<step>" can export its environment to a dependent "<step>" by
  using the new "export="true"" attribute (see new environment
  handling example)

* update analyse behaviour when scanning multiple files (new
  "analyse" run needed for existing benchmarks)

* in and out substitution files (given by "<iofile>") can now be the
  same

* "<sub>" now also supports multiline expressions inside the tag
  instead of the "dest"-attribute: "<sub source="..."></sub>"


Version 2.0.0
=============

Release: 2014-11-14

* complete new **Python** kernel

* new input file format

* please see new documentation to get further information


Older JUBE Version
==================

* please see our website www.fz-juelich.de/jsc/jube to get further
  information concerning *JUBE* 1.
