**What's new:**
- A new interface for interacting with design workflows (502). Design workflows can now be created and inspected through the `DesignWorkflowCollection`, and executions are contained in a `DesignExecutionCollection`. Design workflow executions have a `.candidates` [method](https://github.com/CitrineInformatics/citrine-python/blob/master/src/citrine/resources/workflow_executions.py#L82), which returns structured `DesignCandidate` objects instead of a JSON blob. Design candidates are paginated for easy access. The old method of retrieving design candidates, `.results`, still functions and is now paginated as well.
- Added unique name support for datasets (512). A dataset can optionally be given a globally unique name, which makes retrieving that dataset faster.
**Improvements:**
- Added exact range bounds to csv columns (503). This information is filled in automatically by the server when processing a CSV file.
- Reorg and fix of documentation, especially documentation on how to get started with citrine-python (510, 507, 508, 506).
**Fixes:**
- Fix type hint for categorical constraint (515). This allows categorical constraints to be used in design workflows.
**Deprecated**
- Descriptors without units have been deprecated (411). Please include units when defining all RealDescriptors. If the value is dimensionless, use an empty string as the units.
- The unused `threshold` parameter has been removed from ChemicalFormulaDescriptor (411).