* make a clear split between CMake targets
* split versions between libmamba and mamba
* add libmambapy target for python bindings and make mamba depend on it
* rename CMake options to make them homogeneous, simplify CMake
* remove termcolor from thirdparties, use it as a dependency
* remove unnecessary version global vars and convert to functions
* update CI workflows
handle multiple locks acquired from the same process
improve logs
add tests
refactor use of LockFile
forbid locking twice same path from same PID
improve windows lockfile to match unix one
split Lock and LockFile
use byte 21 to set lock status
enable reading locked file on windows
ensure closing of file descriptor in Lock and LockFile destructors
add timeout implementation for unix
add testing lock cli for subprocess tests
add subprocess tests
add --lock-timeout to umamba
add clean lock files
add a clean lock files flag -l,--locks to umamba clean command
add cpp-filesystem pins to enforce correct version on dev mode
add an overload to generate an ed25519 key pair
add python bindings for content trust core api
add sign, PkgMgrRole and Key::to_json to bindings
add an overload with c++ api for signing
make V06RoleBaseExtension a public base of roles
add v06 constructors using json string
add tests
remove nl namespace alias leading to wrong python bindings
use configuration status after loading
add yaml to test env
remove -s option of pytest, stderr display makes output unreadable
add config tests (ultra_dry)
install, create, update, remove
fix update and remove target prefix checks
use ultra dry run in win pipelines
Configurable is a trait
Configuration is a collection of traits
declare reference to Context at construction
improve Configuration::dump method, use it for multiple purpose
add config describe umamba sub command
improve config list sub command
refactor cpp and python tests
add capability to define to link cli config with Configuration/Configurable
register cli options/flags on configurables
add capability to declare and get config from env var
merge configuration from rc files, cli or env vars
make rc-file and no-rc exclusive
rc-file has to be a valid file
add CLI command and subcommands for config
add shrink_user free function
add util to unindent literal strings
store sources of config values
add capability to print config and sources
activate override channels option
add method to load config in context
call this method in CLI callbacks
store valid sources
display if a source is invalid in config sources subcommand
add tests
add MAMBA_USE_YAML_CPP definition
use it to not include config related files when building with setup.py
add override_channels_enabled in context
get override_channels_enabled from config if available
add warning if override_channel is used when override_channels_enabled is false