Skip to content

Releases: flox/flox

v1.0.5

14 May 14:15
v1.0.5
4b8a13c
Compare
Choose a tag to compare

Notable features and fixes

This release addresses several bugs and adds new improvements, including:

  • ✨ New flox envs command allows you to list all environments you have activated on your machine. For upgrading users: you'll need to activate each existing environment at least once after upgrading to show up on the flox envs list. (#1264)
  • flox activate has been improved to make way for, among other things, better support for additional shells! (#1299)
    • As before, the manifest [hook.on-activate] script is invoked using bash shell but it is now 1. invoked only with the first flox activate invocation and 2. invoked before the [profile] scripts. The [hook.on-activate] is now able to start daemons which export process/socket information. This is a small breaking change if you wrote a hook.on-activate after version 1.0.2 when it was first released.
    • Flox environments can be activated by invoking /path/to/environment/.flox/run/{sytem-type}/activate directly.
    • flox activate will default to using your $SHELL variable to detect the shell to be invoked in the "interactive" mode. You can set $FLOX_SHELL to override this behavior.
  • flox init can now detect Python projects with unconventional requirements.txt names following this pattern: requirements*.txt.(#1336)
  • Resolve an error with flox init -d where the final part of the path is a . or ... (#1425)
  • flox pull now has spinners and a message. (#1337) 🤓
  • flox show results are listed vertically. Deprecated unused --all option. (#1444)

Thank you to our community contributions this release

  • crsche - feat(PyProject::detect): detect unconventional requirements.txt. (#1336)

Download Links

v1.0.4

02 May 12:49
Compare
Choose a tag to compare

Notable features and fixes

Environments

  • Paths with spaces are now supported in general. (#1277)
  • Flox will now notify the user on stdout if a new version is available. (#1310)
    • Check for a new flox version on https://downloads.flox.dev, and if one is available, print a notification to the user.
    • Only print this notification once every 24 hours.
  • Activate can now allow activation without prompt (#1144)
    • Adds a new config option shell_prompt with the possible values show-all, hide-all and hide-default.
    • flox activate respects this config and will disable the prompt modifications if the value is hide-all.
    • With hide-default it filters out all default environments, entirely disabling the prompt if all active envs were filtered.

Go envs

  • Now detect Go Projects during initialization. Thanks to Óscar Carrasco for the contribution. (#1227)

Pull/Push Improvements

  • flox pull --force now accepts owner/name as a parameter. Previously, force didn't allow for other parameters. (#1300)

Packaging

Thank you to our community contributions this release

Download Links

v1.0.3

09 Apr 15:36
v1.0.3
c50d787
Compare
Choose a tag to compare

This release addresses several bugs and adds new improvements, including:

  • Search output now shows bold search term hits in flox search.
  • Fixed a bug that could cause Flox to hang.
  • flox pull --force will now overwrite any existing .flox
  • Omit the "Version:" prefix when printing version.

We especially want to thank all our github.com/flox/flox contributors and
slack community members for all your valuable feedback!

Download Links

v1.0.2

28 Mar 12:55
v1.0.2
947bd4c
Compare
Choose a tag to compare

This release addresses several bugs and adds new improvements, including:

  • Flox handles expired FloxHub tokens more gracefully and prompts you to login again.
  • We've improved how shell hooks work in Flox--giving you more precise control and making hooks work more consistently across platforms: There is now a [profile] section of the manifest.toml that is sourced directly into your shell and enables the use of shell aliases (among other things!). The profile.common script is sourced into every shell (good for writing scripts that work in every target environment) as well as shell specific profiles (profile.zsh and profile.bash) for handling shell-specific behavior. In addition, there is a new hook.on-activate script that runs in a non-interactive Bash sub-shell after sourcing the profile scripts. This allows you to run a script in a consistent environment where you don't have to worry about shell compatibility. Read more in man manifest.toml or our documentation. Existing hook.script from 1.0.1 and prior will continue to work but we recommend updating them to profile.common at your earliest convenience.
  • flox init now detects Python requirements and suggests an initial environment with installed software and a profile.common script. This will happen when using a requirements.txt in your project directory or a pyproject.toml with poetry.
  • Error messages improved: Added the pull --force suggestion to diverging branch error and improved the flox activate error when there is no environment.
  • Made several long messages from Flox shorter, making them easier to read. Along the same lines, as an homage to the punch card (and default terminal window sizes), --help commands wrap to 80 characters.
  • Removed a not-yet-functional --file option hint from the default manifest template and also removed unimplemented commands.
  • We began to implement additional anonymous tracing telemetry to better support Flox without having to rely on our users manually opening issues. You can always opt out of any telemetry by setting disable_metrics in your flox config (but we hope you keep it on so we can make Flox better!).

We especially want to thank all our github.com/flox/flox contributors and slack community members for all your valuable feedback!

Download Links

v1.0.1

13 Mar 14:54
1e64261
Compare
Choose a tag to compare

This release fixes SSL issues on MacOS when running remote commands such as e.g. flox pull, flox push or flox activate -r.

Download Links

v1.0.0

12 Mar 17:21
v1.0.0
8e5a1c7
Compare
Choose a tag to compare

This release addresses several bugs and adds new improvements, including:

  • flox init will detect existing project package managers and suggest packages and shell hook configuration. This works for some Python (pip, poetry) and Node (npm, yarn, nvm) projects.
  • You can now set FLOX_SHELL to control the sub-shell Flox launches when using flox activate.
  • The Flox Catalog now contains nodePackages from Nixpkgs for searching and installation.
  • You can now search and install unfree packages in Flox. Flox will print a warning when installing a package that does not have open licensing.
  • Improved performance with better use of cache on subsequent environment activations.
  • In situations where there are multiple environments active, Flox will ignore the default environment and not prompt for 'which environment' when a user is elsewhere on their machine. This makes it easier to use the default environment in your RC files. You can still update your default environment by running commands using the explicit --dir and --remote options or by being in the directory containing your default environment.
  • Improved error message when an environment is not found during install and uninstall.
  • This release is compatible with https://auth.flox.dev and 0.9.0 users must upgrade to it to continue to flox auth login from the CLI.

We especially want to thank all our github.com/flox/flox contributors and discourse community members for all your valuable feedback!

Download Links

v0.9.0

15 Feb 15:15
b6e4ccf
Compare
Choose a tag to compare

Release 0.9.0 (2024-02-15)

This release contains breaking changes in the Flox CLI and FloxHub service. You are responsible for recreating environments created in 0.3.6 and prior versions. If you rely on a command that has been removed, we recommend that you wait to upgrade until support is added. We'd love to hear from you on our discourse forum if you have questions.

  • Combined 'project environments' and 'managed environments' into a single 'environments' concept.
  • Flox now stores environment definition in a .flox folder in the current working directory by default.
  • Flox environments support multiple architectures without having to create multiple environments.
  • The --environment or -e option for managed environments on many commands has been replaced with -r or --remote for FloxHub managed environments and --dir or -d to refer to local directory path environments.
  • Environments are now declared in a manifest.toml file located inside the .flox folder. flox edit will allow edits and validate changes made.
  • The FloxHub service and its associated commands are now available to anyone with a valid GitHub account. These commands will direct you to sign up: flox push, flox pull, flox auth login.
  • Several deprecated subcommands were removed. Notably the build and publish commands are no longer available in Flox CLI. We have plans to return the build and publish features to Flox in the future. Consult the --help or man flox for a full list of supported commands.
  • The Flox catalog that powers search and install is now tied to the NixPkgs 23.11 stable branch. We have short term plans to expand the library of software in the Flox Catalog. Currently update and upgrade will advance metadata index and software versions along the stable 23.11 branch.

We especially want to thank all our github.com/flox/flox contributors and
discourse community members for all your valuable feedback!

Download Links

release: v0.3.6

26 Oct 20:06
2f44b10
Compare
Choose a tag to compare

Release 0.3.6 (2023-10-26)

This release addresses several changes, bugs and improvements, including:

  • Updated flox CLI prompts to remove mention of GitHub.
  • Updated flox CLI so new environments will now
    • use newer nixpkgs for inline packages, and
    • emit fewer warnings regarding unrelated inputs.
  • Created flox show (currently feature-flagged) and its manpage; flox search will now include a hint to
    use flox show for detailed information for a package(s).
  • Worked on lots of changes to the flox CLI as we aim for our general availability (1.0) release. As we move
    move forward we are more aggressively making changes to our CLI including:
    • those using the flox/prerelease to get upgrades may stop finding upgrades auto install. This is because we are
      changing core architecture. Please fall back to the installer on our documentation page.
    • we are deprecating the following from the CLI. We need to do this to unblock some dependencies and we also are
      taking a more holistic design pass based on existing usage. We fully plan on bringing these features
      back–incorporating feedback. If you depend on them please stop upgrading flox for now and stay on
      version 0.3.6 or older.
      • build
      • subscribe
      • unsubscribe
      • channels
      • print-dev-env
      • shell
      • bundle
      • flake
      • eval
      • develop
      • publish
      • init-package
      • bash-passthru
      • run
      • list
      • nix
      • import
      • export
      • envs
      • gh
      • git
  • Removed the flag --long from flox search.

We especially want to thank all our github.com/flox/flox contributors and discourse community members for all your valuable feedback!

v0.3.5

12 Oct 20:17
be63296
Compare
Choose a tag to compare
release v0.3.5 (#299)

v0.3.4

28 Sep 15:03
61bb093
Compare
Choose a tag to compare
release v0.3.4 (#269)