What's Changed
- Speed up angle wrap functions and improve API by @paulf81 in #505
- Move docs to Jupyter Book and expand content by @rafmudaf in #514
- Update documentation references list by @paulf81 in #519
- Remove requirement to use codecov token to upload reports by @RHammond2 in #532
- FLORIS Tools API improvements by @rafmudaf in #512
- Configure isort and apply rules by @rafmudaf in #535
- Add weights to AEP wind rose by @paulf81 in #541
- Add parallel computing interface for farm simulation and yaw optimization by @Bartdoekemeijer in #555
- Update layout visualization routines to v3 API by @paulf81 in #496
- Add Ruff linting and autoformatting by @rafmudaf in #562
- Enable and fix pre-commit formatting hooks by @rafmudaf in #567
- Support heterogeneous wind speed definition via FlorisInterface.reinitialize by @pjireland in #453
- Infrastructure improvements by @rafmudaf in #569
- Add virtual turbine plotting method by @paulf81 in #418
- Add linear wind condition upsampling method to WindRose by @Bartdoekemeijer in #544
- Bug fix: Scipy layout optimization boundary constraints are violated by @bayc in #576
- Improve the documentation navigation menu and organization by @RHammond2 in #570
- Feature: External Turbine Library by @RHammond2 in #568
- Use 3x3 turbine grid in regression tests by @rafmudaf in #599
- Add helpful info to GitHub Issue and PR templates by @rafmudaf in #597
- Bug fix: initialize TI array with correct dimensions by @bayc in #584
- FLORIS v3.3 by @rafmudaf in #586
Full Changelog: v3.2.2...v3.3