# Changelog Here are listed all the meaningfull changes done on **`buildenv`**. ```{note} Only interface and important behavior changes are listed here. The fully detailed changelog is also available on [Github](https://github.com/dynod/buildenv/releases) ``` ## Release 2.0 ### Environment creation refactoring **buildenv** now relies on [environment backends](backends). ### New features - [project templates](templates) handling - new **install**, **list**, **lock** and **unlock** sub-commands for [buildenv command](cli) ### Breaking changes from buildenv 1.X Here are the updates which may break something since **buildenv** 1.X releases #### Removed buildenv init '--new' option The **--new** option has been removed from the {ref}`buildenv init` command. The project/environment setup has been moved to a new {ref}`buildenv install` command. #### No more python loading script The **`buildenv-loader.py`** script is now deprecated and can be safely removed from any project upgraded to **buildenv** 2.0 or higher. The loading logic is now simply delegated to [environment backend](backends) through the shell script(s). #### No more buildenv.cfg file Related to previous change, **buildenv** doesn't read its configuration from **`buildenv.cfg`** file anymore. Since it now relies on [environment backend](backends), it naturally and simply uses each backend-related configuration system instead of providing its own one. Any **`buildenv.cfg`** file can be safely removed from any project upgraded to **buildenv** 2.0 or higher. #### Extensions API redesign The extension API has be redesigned from zero. Any existing **buildenv** 1.X extension will be ignored by **buildenv** 2.0 or higher, and should be rewritten to plug on the new API (see {py:class}`buildenv.extension.BuildEnvExtension`) and **`buildenv_extension`** entrypoint (instead of **`buildenv_init`** legacy one). #### No more shared venv with pip backend The parent **venv** searching logic was part of the **`buildenv-loader.py`** script. Since the new design delegates this part to the used backend, the availability of this feature depends on the backend itself (supported by **`uv`** backend, but not by **`pip`** one).