## Version 0.9.17

This release includes several enhancements and updates to the llamabot web application, focusing on improving the functionality of experiment tracking, prompt management, and web routing. Additionally, there are updates to the testing framework and documentation to support these changes.

### New Features

- Introduced a new top-level API module for routers in the llamabot project, simplifying the integration and scalability of new routing functionalities. (2420e9) (Eric Ma)
- Added a new Runs model to efficiently record and manage experiment runs, integrating it with the existing database and endpoint structures for better data handling. (28fc7b) (Eric Ma)
- Enhanced the web application by adding an experiments module, which includes endpoints for managing machine learning experiment runs and integrating experiment data into the main index page for improved navigation. (c5e810) (Eric Ma)
- Improved the display of prompt functions in the web interface by showing version counts next to each function, enhancing user experience and information accessibility. (bd7bba) (Eric Ma)
- Enhanced the prompt functions endpoint to utilize templates, improving the maintainability and scalability of the web application's UI components. (c86b7d) (Eric Ma)

### Bug Fixes

- Fixed an issue in the test suite to ensure the prompt hash is correctly recognized as a string, enhancing the reliability of prompt tracking tests. (da09ff) (Eric Ma)
- Addressed a cleanup issue in the Experiment class to prevent dangling references after session cleanup, ensuring cleaner and safer memory management. (ba430a) (Eric Ma)

### Refactorings

- Refactored the llamabot's database columns and query methods to standardize data handling and improve compatibility with various database operations. (c16c32) (Eric Ma)
- Overhauled the web application structure and routing, extracting database operations into a separate module and organizing endpoints more logically. (8f642b) (Eric Ma)
- Removed the dependency on prompt ID in prompt handling, simplifying the method requirements and enhancing the flexibility of prompt management. (e1e418) (Eric Ma)

### Documentation Updates

- Updated the documentation to reflect new development setup instructions and dependency information, ensuring users and developers have the latest guidance for setting up their development environment. (d776e3) (Eric Ma)

### Dependency Updates

- Updated package version constraints and added python-multipart to dependencies to ensure compatibility and extend functionality. (b80b48) (Eric Ma)

This version marks a significant improvement in the llamabot's functionality and user interface, making it more robust, user-friendly, and easier to maintain.
