User-facing highlights ⭐
* Allow to specify mutate operation in RankProfile by Fed0rah in https://github.com/vespa-engine/pyvespa/pull/775
* Integrate `vespacli` into `pyvespa` by thomasht86 in https://github.com/vespa-engine/pyvespa/pull/757
* Expose visit api by olaughter in https://github.com/vespa-engine/pyvespa/pull/776
* Allow other update types than `assign` by thomasht86 in https://github.com/vespa-engine/pyvespa/pull/738
* Adding notebook to demonstrate crossencoder reranking by thomasht86 in https://github.com/vespa-engine/pyvespa/pull/742
A special thanks to olaughter and Fed0rah for useful enhancements! 🙌
What's Changed
* Add `ruff` precommit linting and formatting by thomasht86 in https://github.com/vespa-engine/pyvespa/pull/731
* Update docstring with warning and example by thomasht86 in https://github.com/vespa-engine/pyvespa/pull/733
* expose timeout-configuration variables as parameters by thomasht86 in https://github.com/vespa-engine/pyvespa/pull/735
* Adding feeding performance notebook by thomasht86 in https://github.com/vespa-engine/pyvespa/pull/732
* Allow other update types than `assign` by thomasht86 in https://github.com/vespa-engine/pyvespa/pull/738
* Misc bug fixes by kkraune in https://github.com/vespa-engine/pyvespa/pull/740
* simplify, strip macros in all files by kkraune in https://github.com/vespa-engine/pyvespa/pull/741
* 734 document v1 paths should be urlencoded by thomasht86 in https://github.com/vespa-engine/pyvespa/pull/743
* Make integration test for production deployments by tmaregge in https://github.com/vespa-engine/pyvespa/pull/745
* Adding notebook to demonstrate crossencoder reranking by thomasht86 in https://github.com/vespa-engine/pyvespa/pull/742
* Add instructions for deploying to prod in quick start guide by tmaregge in https://github.com/vespa-engine/pyvespa/pull/693
* Shorten ID to avoid test crashing by tmaregge in https://github.com/vespa-engine/pyvespa/pull/747
* Add notebook to demonstrate use of `Snowflake/snowflake-arctic-embed-s` by thomasht86 in https://github.com/vespa-engine/pyvespa/pull/744
* Add data plane auth token to integration test by tmaregge in https://github.com/vespa-engine/pyvespa/pull/751
* Notebook fixes: Add log-guard and consistent model reference by thomasht86 in https://github.com/vespa-engine/pyvespa/pull/749
* Replace old logo by thomasht86 in https://github.com/vespa-engine/pyvespa/pull/753
* Refactor env variable by thomasht86 in https://github.com/vespa-engine/pyvespa/pull/752
* Publish recent notebooks by thomasht86 in https://github.com/vespa-engine/pyvespa/pull/755
* Jonmv/retry 429 and 503 when feeding by jonmv in https://github.com/vespa-engine/pyvespa/pull/756
* Integrate `vespacli` into `pyvespa` by thomasht86 in https://github.com/vespa-engine/pyvespa/pull/757
* Add validation override for cert removal by tmaregge in https://github.com/vespa-engine/pyvespa/pull/761
* Update notebooks to use prepend syntax by thomasht86 in https://github.com/vespa-engine/pyvespa/pull/763
* Temporarily skip integration test for prod deployment by thomasht86 in https://github.com/vespa-engine/pyvespa/pull/764
* Remove prod deployment in `getting_started_pyvespa_cloud` by thomasht86 in https://github.com/vespa-engine/pyvespa/pull/765
* add timeouts by thomasht86 in https://github.com/vespa-engine/pyvespa/pull/766
* Update vespacli workflows by thomasht86 in https://github.com/vespa-engine/pyvespa/pull/767
* Fix commit path workflow by thomasht86 in https://github.com/vespa-engine/pyvespa/pull/771
* Prepare for autodist by thomasht86 in https://github.com/vespa-engine/pyvespa/pull/769
* Use jitter and max 10s backoff for async docv1 client by jonmv in https://github.com/vespa-engine/pyvespa/pull/772
* Fix failing test: add timeouts by thomasht86 in https://github.com/vespa-engine/pyvespa/pull/773
* Bump nokogiri from 1.16.2 to 1.16.5 by dependabot in https://github.com/vespa-engine/pyvespa/pull/774
* Allow to specify mutate operation in RankProfile by Fed0rah in https://github.com/vespa-engine/pyvespa/pull/775
* Expose visit api by olaughter in https://github.com/vespa-engine/pyvespa/pull/776
* Change notebooks to use `vespacli` python package by thomasht86 in https://github.com/vespa-engine/pyvespa/pull/780
* Bugfix: Remove param from async function by thomasht86 in https://github.com/vespa-engine/pyvespa/pull/781
* Fix test (kernel died) by thomasht86 in https://github.com/vespa-engine/pyvespa/pull/782
* Fix test: Update langchain imports by thomasht86 in https://github.com/vespa-engine/pyvespa/pull/784
* Debug CI: Add mem tracking and run in subshell by thomasht86 in https://github.com/vespa-engine/pyvespa/pull/785
* Bump requests from 2.26.0 to 2.32.2 in /vespacli by dependabot in https://github.com/vespa-engine/pyvespa/pull/783
* Doc fixes and visit example by thomasht86 in https://github.com/vespa-engine/pyvespa/pull/786
* Update Vespa CLI version to 8.346.21 by github-actions in https://github.com/vespa-engine/pyvespa/pull/788
* CI - VespaCLI: Fix autodist by thomasht86 in https://github.com/vespa-engine/pyvespa/pull/789
* CI: pyvespa release pipeline by thomasht86 in https://github.com/vespa-engine/pyvespa/pull/790
New Contributors
* thomasht86 made their first contribution in https://github.com/vespa-engine/pyvespa/pull/731
* jonmv made their first contribution in https://github.com/vespa-engine/pyvespa/pull/756
* Fed0rah made their first contribution in https://github.com/vespa-engine/pyvespa/pull/775
* olaughter made their first contribution in https://github.com/vespa-engine/pyvespa/pull/776
* github-actions made their first contribution in https://github.com/vespa-engine/pyvespa/pull/788
**Full Changelog**: https://github.com/vespa-engine/pyvespa/compare/v0.40.0...v0.41.0