**Added:**
- A new state-of-the-art CCG parser, fully integrated with `lambeq`, which replaces depccg as the default parser of the toolkit. The new `Bobcat` parser has better performance, simplifies installation, and provides compatibility with Windows (which was not supported due to a depccg conflict). depccg is still supported as an alternative external dependency.
- A `training` package, providing a selection of trainers, models, and optimizers that greatly simplify supervised training for most of `lambeq`'s use cases, classical and quantum. The new package adds several new features to `lambeq`, such as the ability to save to and restore models from checkpoints.
- Furthermore, the `training` package uses `DisCoPy`'s tensor network capability to contract tensor diagrams efficiently. In particular, `DisCoPy` 0.4.1's new unitary and density matrix simulators in result in substantially faster training speeds compared to the previous version.
- A command-line interface, which provides most of `lambeq`'s functionality from the command line. For example, `lambeq` can now be used as a standard command-line pregroup parser.
- A web parser class that can send parsing queries to an online API, so that local installation of a parser is not strictly necessary anymore. The web parser is particularly helpful for testing purposes, interactive usage or when a local parser is unavailable, but should not be used for serious experiments.
- A new `lambeq.pregroups` package that provides methods for easy creation of pregroup diagrams, removal of cups, and printing of diagrams in text form (i.e. in a terminal).
- A new `TreeReader` class that exploits the biclosed structure of CCG grammatical derivations.
- Three new rewrite rules for relative pronouns and coordination.
- Tokenisation features have been added in all parsers and readers.
- Additional generator methods and minor improvements for the `CCGBankParser` class.
**Changed:**
- Improved and more detailed package structure.
- Most classes and functions can now be imported from `lambeq` directly, instead of having to import from the sub-packages.
- The `circuit` and `tensor` modules have been combined into an `lambeq.ansatz` package. (However, as mentioned above, the classes and functions they define can now be imported directly from `lambeq` and should continue to do so in future releases.)
- Improved documentation and additional tutorials.