diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e0f0e205..3769a7423 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,47 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +### [0.33.0] - 2024-10-16 +#### ✨ Highlights + +This is the first release with the new `pixi global` implementation. It's a full reimplementation of `pixi global` where it now uses a manifest file just like `pixi` projects. This way you can declare your environments and save them to a VCS. + +It also brings features like, adding dependencies to a global environment, and exposing multiple binaries from the same environment that are not part of the main installed packages. + +Test it out with: +```shell +# Normal feature +pixi global install ipython + +# New features +pixi global install \ + --environment science \ # Defined the environment name + --expose scipython=ipython \ # Expose binaries under custom names + ipython scipy # Define multiple dependencies for one environment +``` + +This should result in a manifest in `$HOME/.pixi/manifests/pixi-global.toml`: +```toml +version = 1 + +[envs.ipython] +channels = ["conda-forge"] +dependencies = { ipython = "*" } +exposed = { ipython = "ipython", ipython3 = "ipython3" } + +[envs.science] +channels = ["conda-forge"] +dependencies = { ipython = "*", scipy = "*" } +exposed = { scipython = "ipython" } +``` + +#### 📖 Documentation +Checkout the updated documentation on this new feature: +- Main documentation on this tag: https://pixi.sh/v0.33.0/ +- Global CLI documentation: https://pixi.sh/v0.33.0/reference/cli/#global +- The implementation documentation: https://pixi.sh/v0.33.0/features/global_tools/ +- The initial design proposal: https://pixi.sh/v0.33.0/design_proposals/pixi_global_manifest/ + ### [0.32.2] - 2024-10-16 #### ✨ Highlights diff --git a/CITATION.cff b/CITATION.cff index 7862f346c..fb028c2ab 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -24,8 +24,8 @@ authors: name-particle: de family-names: Jager email: tdejager89@gmail.com -repository-code: 'https://github.com/prefix-dev/pixi/releases/tag/v0.32.2' -url: 'https://pixi.sh/v0.32.2' +repository-code: 'https://github.com/prefix-dev/pixi/releases/tag/v0.33.0' +url: 'https://pixi.sh/v0.33.0' abstract: >- A cross-platform, language agnostic, package/project management tool for development in virtual environments. diff --git a/Cargo.lock b/Cargo.lock index 871089aad..6e0da0c28 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3324,7 +3324,7 @@ dependencies = [ [[package]] name = "pixi" -version = "0.32.2" +version = "0.33.0" dependencies = [ "ahash 0.8.11", "assert_matches", diff --git a/Cargo.toml b/Cargo.toml index 8fc333620..32667f249 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -143,7 +143,7 @@ license.workspace = true name = "pixi" readme.workspace = true repository.workspace = true -version = "0.32.2" +version = "0.33.0" [features] default = ["rustls-tls"] diff --git a/crates/pixi_consts/src/consts.rs b/crates/pixi_consts/src/consts.rs index 78608db9f..227bc5062 100644 --- a/crates/pixi_consts/src/consts.rs +++ b/crates/pixi_consts/src/consts.rs @@ -12,7 +12,7 @@ pub const PYPROJECT_MANIFEST: &str = "pyproject.toml"; pub const PROJECT_LOCK_FILE: &str = "pixi.lock"; pub const CONFIG_FILE: &str = "config.toml"; pub const PIXI_DIR: &str = ".pixi"; -pub const PIXI_VERSION: &str = "0.32.2"; +pub const PIXI_VERSION: &str = "0.33.0"; pub const PREFIX_FILE_NAME: &str = "pixi_env_prefix"; pub const ENVIRONMENTS_DIR: &str = "envs"; pub const SOLVE_GROUP_ENVIRONMENTS_DIR: &str = "solve-group-envs"; diff --git a/docs/advanced/github_actions.md b/docs/advanced/github_actions.md index aac75372e..021ecf410 100644 --- a/docs/advanced/github_actions.md +++ b/docs/advanced/github_actions.md @@ -15,7 +15,7 @@ We created [prefix-dev/setup-pixi](https://github.com/prefix-dev/setup-pixi) to ```yaml - uses: prefix-dev/setup-pixi@v0.8.0 with: - pixi-version: v0.32.2 + pixi-version: v0.33.0 cache: true auth-host: prefix.dev auth-token: ${{ secrets.PREFIX_DEV_TOKEN }} diff --git a/docs/advanced/production_deployment.md b/docs/advanced/production_deployment.md index 54a0571f6..56ec15ba5 100644 --- a/docs/advanced/production_deployment.md +++ b/docs/advanced/production_deployment.md @@ -33,7 +33,7 @@ It also makes use of `pixi shell-hook` to not rely on pixi being installed in th For more examples, take a look at [pavelzw/pixi-docker-example](https://github.com/pavelzw/pixi-docker-example). ```Dockerfile -FROM ghcr.io/prefix-dev/pixi:0.32.2 AS build +FROM ghcr.io/prefix-dev/pixi:0.33.0 AS build # copy source code, pixi.toml and pixi.lock to the container WORKDIR /app diff --git a/docs/ide_integration/devcontainer.md b/docs/ide_integration/devcontainer.md index c730fa529..f7d1511fd 100644 --- a/docs/ide_integration/devcontainer.md +++ b/docs/ide_integration/devcontainer.md @@ -11,7 +11,7 @@ Then, create the following two files in the `.devcontainer` directory: ```dockerfile title=".devcontainer/Dockerfile" FROM mcr.microsoft.com/devcontainers/base:jammy -ARG PIXI_VERSION=v0.32.2 +ARG PIXI_VERSION=v0.33.0 RUN curl -L -o /usr/local/bin/pixi -fsSL --compressed "https://github.com/prefix-dev/pixi/releases/download/${PIXI_VERSION}/pixi-$(uname -m)-unknown-linux-musl" \ && chmod +x /usr/local/bin/pixi \ diff --git a/install/install.ps1 b/install/install.ps1 index 9a7a176de..775ea929d 100644 --- a/install/install.ps1 +++ b/install/install.ps1 @@ -18,7 +18,7 @@ .LINK https://github.com/prefix-dev/pixi .NOTES - Version: v0.32.2 + Version: v0.33.0 #> param ( [string] $PixiVersion = 'latest', diff --git a/install/install.sh b/install/install.sh index 725f3f267..34192d0b5 100644 --- a/install/install.sh +++ b/install/install.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -euo pipefail -# Version: v0.32.2 +# Version: v0.33.0 __wrap__() { diff --git a/schema/schema.json b/schema/schema.json index d52b9fda6..dedf0676b 100644 --- a/schema/schema.json +++ b/schema/schema.json @@ -1,6 +1,6 @@ { "$schema": "http://json-schema.org/draft-07/schema#", - "$id": "https://pixi.sh/v0.32.2/schema/manifest/schema.json", + "$id": "https://pixi.sh/v0.33.0/schema/manifest/schema.json", "title": "`pixi.toml` manifest file", "description": "The configuration for a [`pixi`](https://pixi.sh) project.", "type": "object", @@ -13,7 +13,7 @@ "title": "Schema", "description": "The schema identifier for the project's configuration", "type": "string", - "default": "https://pixi.sh/v0.32.2/schema/manifest/schema.json", + "default": "https://pixi.sh/v0.33.0/schema/manifest/schema.json", "format": "uri-reference" }, "activation": { diff --git a/src/cli/mod.rs b/src/cli/mod.rs index 2168d8744..1cf92eb86 100644 --- a/src/cli/mod.rs +++ b/src/cli/mod.rs @@ -41,7 +41,7 @@ pub mod upload; #[command( version, about = " -Pixi [version 0.32.2] - Developer Workflow and Environment Management for Multi-Platform, Language-Agnostic Projects. +Pixi [version 0.33.0] - Developer Workflow and Environment Management for Multi-Platform, Language-Agnostic Projects. Pixi is a versatile developer workflow tool designed to streamline the management of your project's dependencies, tasks, and environments. Built on top of the Conda ecosystem, Pixi offers seamless integration with the PyPI ecosystem. diff --git a/tbump.toml b/tbump.toml index 5fae481fc..7208f0f56 100644 --- a/tbump.toml +++ b/tbump.toml @@ -1,7 +1,7 @@ github_url = "https://github.com/prefix-dev/pixi" [version] -current = "0.32.2" +current = "0.33.0" # Example of a semver regexp. # Make sure this matches current_version before @@ -19,7 +19,7 @@ regex = ''' [git] # The current version will get updated when tbump is run -message_template = "Bump version: 0.32.2 → {new_version}" +message_template = "Bump version: 0.33.0 → {new_version}" tag_template = "v{new_version}" # For each file to patch, add a [[file]] config diff --git a/tests/integration/common.py b/tests/integration/common.py index 413493667..cc0efd7d4 100644 --- a/tests/integration/common.py +++ b/tests/integration/common.py @@ -3,7 +3,7 @@ import subprocess import os -PIXI_VERSION = "0.32.2" +PIXI_VERSION = "0.33.0" class ExitCode(IntEnum):