The Cabal team is excited to announce the release of cabal-install 3.4. This is the third release of the 3.0 release series, bringing a support for the `Cabal-Version: 3.4` `.cabal` file format. This introduces a number of user-facing features including:

- Support for GHC 9.0
- Package sublibrary dependency syntax
- Allowing omission of the `default-language` declaration
- A mixins field allowing the user to specify a sublibrary
- [Many other features](https://cabal.readthedocs.io/en/latest/file-format-changelog.html#cabal-version-3-4)

In addition, the `cabal-install` frontend itself has gained a number of new features including:

- New `active-repositories` `cabal.project` fields allowing users to specify an order and various ways of combining package repositories
- Improvements to `cabal init`
- A rework of the `cabal v2-sdist` command. `cabal v1-sdist` is removed as of this version
- `source-repository-package` directories are no longer local
- A new `list-bin` command
- `cabal sandbox` is now removed in favor of default nix-style builds
- `cabal list` now accepts regular expressions
- More rich `index-state` syntax. `v2-freeze` saves `index-state`

I'd also like to thank the many contributors who offered patches, tickets, and other help in the preparation of this release. We appreciate all of your help!

For a full set of release notes, see https://github.com/haskell/cabal/blob/master/release-notes/cabal-install-3.4.0.0.md. If you have issues, we'd love to hear about there here: https://github.com/haskell/cabal/issues.

Happy hacking!

Emily