What's Changed
* Renamed to PQASession type by whitead in https://github.com/Future-House/paper-qa/pull/653
* Lock file maintenance by renovate in https://github.com/Future-House/paper-qa/pull/657
* Ability to zero-shot `gen_answer` by jamesbraza in https://github.com/Future-House/paper-qa/pull/658
* Lock file maintenance by renovate in https://github.com/Future-House/paper-qa/pull/659
* Moving to `uv` dependency groups by jamesbraza in https://github.com/Future-House/paper-qa/pull/660
* Lock file maintenance by renovate in https://github.com/Future-House/paper-qa/pull/664
* Convert citation to formatted_citation usage where necessary by mskarlin in https://github.com/Future-House/paper-qa/pull/666
* Catch edge case where externalIds field is None by mskarlin in https://github.com/Future-House/paper-qa/pull/668
* Made o1 temperature issue a warning, instead of valueerror by whitead in https://github.com/Future-House/paper-qa/pull/669
* Added train and eval splits' questions and DOIs by jamesbraza in https://github.com/Future-House/paper-qa/pull/662
* `fake` agent allowing timeouts or exceptions, by jamesbraza in https://github.com/Future-House/paper-qa/pull/672
* Optional `AnswerSetting.max_answer_attempts` to allow a new unsure branch by jamesbraza in https://github.com/Future-House/paper-qa/pull/673
* Made it so you do not die on invalid tool by whitead in https://github.com/Future-House/paper-qa/pull/670
* Allowing latest `pydantic-settings` and regenerated cassettes by jamesbraza in https://github.com/Future-House/paper-qa/pull/674
* Empty tool calls leading to `done` condition by jamesbraza in https://github.com/Future-House/paper-qa/pull/671
* Changed it to be debug for source quality by whitead in https://github.com/Future-House/paper-qa/pull/675
**Full Changelog**: https://github.com/Future-House/paper-qa/compare/v5.3.2...v5.4.0