version-2.6.2
16/07/2022

NEW FEATURES
   - Geniac CLI
      *  Conda env with apptainer 1.1.4

BUGFIX
   - singularity profile:
      * checkSymlink: avoid infinite loop in some limit conditions

version-2.6.1
12/07/2022

BUGFIX
   - singularity profile:
      * checkSamplePlan: conditions added to consider files with either 2, 3 or 4 columns

version-2.6.0
11/19/2022

NEW FEATURES
   -almalinux:8.7 set as default for the containers
   - singularity profile:
      * checkBindinds function takes into account the binding of possible symlink inside a path. It also binds the directory defined in 'params.outDir' if it is defined in the nextflow.config file.

BUGFIX
   - Geniac CLI:
      * 'geniac init' will throw an error if it is launched from the working directory to be created

version-2.5.0
08/04/2022

NEW FEATURES
   - Add support to apptainer
   - Upgrade tool versions for the geniac conda env
   - Check during the cmake configuration that mininal version for each software is met
   - Geniac CLI:
      * geniac lint adds an error message if conda recipe is not correctly formatted
      * geniac lint will ignore config file that are not explicitly declared in geniac.ini
      * when installing with sudo privilege, check that singularity and nextflow versions are the same as the one detected in the user environment during cmake configuration
      * avoid 'sudo' command with 'geniac install' if launched by the root user

BUGFIX
   - Geniac CLI:
      * Fix geniac lint error when comment in the middle of a line
      * geniac lint will throw an error if the withLabel process selector is single-line formatted in the process.config file
      * allow '.' in softName in the pip section of a conda recipe

DOCUMENTATION
   - Minimal conda version (4.12.0) required

version-2.4.1
06/10/2022

NEW FEATURES
   - Geniac CLI:
      * allow both patterns ('condaChannelName::softName=version=buildString' and 'softName=version=buildString') in conda yml recipe file

version-2.4.0
06/08/2022

NEW FEATURES
   - conda 4.12.0 and almalinux:8.6 set as default for the containers
   - Geniac CLI:
      * check that conda recipe with a yml file contains an env name
      * check that conda recipe with a yml file have a unique env name
      * check that all dependencies with conda follow the pattern 'condaChannelName::softName=version=buildString'
      * check that pip dependencies with conda follow the pattern 'softName==version'

DOCUMENTATION
   - Guidelines to write conda recipe with a yml file

version-2.3.0
05/20/2022

NEW FEATURES
   - New cmake option:
      * ap_singularity_build_options: allow to pass specific options when building singularity images.
   - Geniac CLI:
      * singularityfakeroot mode added to "geniac install"
   - default runOption expected to "" in geniac.config
   - New profile available: podman

BUGFIX
   - Delete files generated by geniac when "geniac init" uses a path

DOCUMENTATION
   - Describe how to build singularity images with fakeroot option
   - Admin: explain how to build the doc

version-2.2.0
04/27/2022

NEW FEATURES
   - generate container recipes with renv and R tool
   - conda 4.11.0 and almalinux:8.5 set as default for the containers
   - Geniac CLI:
      * "clean", "configs" and "recipes" commands have been added
      * allow labels defined in params.geniac.tools in conf/geniac.config to use the content from other tools defined in params.geniac.tools
      * allow labels in params.geniac.containers.yum or params.geniac.containers.git scopes for all kind of labels (and not only for labels defined in params.geniac.tools)
      * check that the container recipes generated by geniac are not in the repo
      * allow custom scope in params.geniac.tools (which is required for a tool with R and renv)
      * geniac folder with the same version of geniac CLI is now included in the python package
      * add "sudo chown" after sudo operation to restore permission to the user
      * "geniac lint" now checks that a conda recipe must have its label in conf/geniac.config

DOCUMENTATION
   - New section with the Geniac CLI commands
   - Explain how to add a process with R and renv to manage package dependencies

BUGFIX:
   - Geniac CLI:
      * change regex to check that a module fromSource is in the ExternalProject_Add directive

version-2.1.0
03/24/2022

NEW FEATURES
   - Geniac CLI:
      * geniac folder with the same version of geniac CLI is downloaded in src dir to ensure that the pipeline will be installed using the same geniac version
      * config files generated by geniac are deleted at init if they are present in the src dir

DOCUMENTATION
   - option containers.specificBinds

version-2.0.1
03/18/2022

DOCUMENTATION
   - Update the config file examples generated by geniac

BUGFIX
   - Geniac CLI: allow the usage of --ap_singularity_image_path

version-2.0.0
02/10/2022

NEW FEATURES
   - Tools from source: 
      * they are installed in ${projectDir}/bin/fromSource in order to allow their usage inside the containers
      * the sh script which allowed the installation inside the container is not needed anymore
      * allow multi-stage building when building docker containers
   - Tools with custom install:
      * their dependencies files needed to build the containers have to be located in recipes/dependencies/label_name (to allow the -resume option)
   - New cmake options:
      * ap_linux_distro and ap_conda_release to bootstrap on containers available on 4geniac docker hub repositories (https://hub.docker.com/u/4geniac)
      * ap_mount_dir to bind folders inside containers
   - singularity profile:
      * 'autoMounts = false' when nextflow launches singularity profile
      * checkBindinds function added in singularity.config to avoid any interaction with HOME of the host for better reproducibility
      * image extension is now '.sif' instead of '.simg'
   - singularity/docker profile:
      * the conda environment is activated inside images
   - Geniac CLI:
      * options, init, install, test commands have been added
      * available on PyPI (https://pypi.org/project/geniac)
   - Use the nextflow '-resume' options when building the configuration files en containers
   - Add params.yum to use 'dnf' instead of yum to install packages in the linux distros
   - New custom target 'build_config_files'
   - Minimal versions for nextflow (21.10.6) and singularity (3.8.5)
   - environment.yml includes all dependencies required by geniac and geniac CLI

BUGFIX
   - Copy files in /usr/local/bin in the singularity image when the tool is built from source code
   - Fix extra quotes in the beforeScript directive added in the conda.config and multiconda.config files
   - Some environment variables from the deffile were not correctly exported inside the image

DOCUMENTATION
   - How to write singularity and docker recipes to activate conda environment
   - New Miscellaneous section
   - Binary or executable script: new use cases added as onlyLinux can not always be used
   - Updates with new functionalities and modifications from version-2.0.0

version-1.1.0
08/09/2021

NEW FEATURES
   - Add retry errorStrategy in the nextflow.config
   - New cmake option ap_docker_registry to bootstrap on custom registry when building the containers
   - baseDir replaced by projectDir
   - New method to detect is the source directory is a git repository

BUGFIX
   - Geniac linter supports empty recipes folder

DOCUMENTATION
   - Update the documentation and fix typos
   - Reference to the article added
   - Custom install section: add missing information where to save the custom recipes
   - Install from source code section: add missing link to modules/CMakeLists.txt template

version-1.0.0
05/31/2021

NEW FEATURES
   - Harmonization of docker.nf / singularity.nf files
   - Add missing indentation in singularity definition files

DOCUMENTATION
   - Update the documentation and fix typos

version-0.2.3
05/21/2021

BUGFIX
   - In the dependencies section of the file environment.yml generated by geniac, pip has been added

DOCUMENTATION
   - Update the documentation and fix typos
   - Example with the use of the cluster profile in useCases.bash

version-0.2.2
05/20/2021

NEW FEATURES
   - Geniac linter allows params.geniac.tools, params.geniac.containers.yum
     and params.geniac.containers.git as optional

version-0.2.1
05/19/2021

NEW FEATURES
   - Option ap_check_config_file_from_source
   - Geniac linter support multiline comments in nf files

DOCUMENTATION
  - Examples to generate the containers recipes

version-0.2.0
03/30/2021

NEW FEATURES
   - Geniac command line interface (linter)

version-0.1.2
03/26/2021

DOCUMENTATION
  - Update documentation with geniac-demo-dsl2

version-0.1.1
11/25/2020

DOCUMENTATION
  - Update documentation with new labels for resource tuning

version-0.1.0
11/06/2020

NEW FEATURES
  - generation of the conda recipe environment.yml
  - checkProfile* function added for path, multipath and singularity profiles
  - reorganisation of the config files with geniac.config added

BUGFIX
  - add condition when empty modules folder is empty
  - symlink to singularity path can be created

version-0.0.2

NEW FEATURES
  - utils folder has been renamed geniac

version-0.0.1

NEW FEATURES
  - set of utilities to build the containers and deploy the pipeline
