## Version 0.17.6

This release includes several enhancements and bug fixes that improve the functionality and user experience of our software tools, particularly focusing on bot configurations, tutorial structures, and span handling in observability.

### New Features

- Enhanced `extract_tool_calls` to support JSON content wrapped in a `{'tools': [...]}` dictionary and both 'arguments' and 'parameters' keys for tool call arguments. (c5896df) (Eric Ma)
- Added `list_uploaded_files` tool to the coordinator bot for better file management and workflow guidance. (5de98d1) (Eric Ma)
- Introduced new fields and detailed markdown explanations for structured data handling in PyData Boston 2025 tutorials. (2672123, 465804b) (Eric Ma)
- Added exercises and HTML rendering capabilities for `InvoiceData` and `ReceiptData` schemas in Marimo notebooks. (561c871) (Eric Ma)
- Implemented HTML configuration displays for `SimpleBot` and `StructuredBot` with enhanced `repr_html` methods. (55f986d) (Eric Ma)
- Major refactor and pedagogical improvements to the PyData Boston 2025 tutorial structure for a better learning experience. (4f6a2c7) (Eric Ma)
- Simplified span handling across bot classes to improve traceability and observability. (3f1fa72, 42dea7a) (Eric Ma)
- Automatically named spans using the variable name of the bot instance to enhance traceability in logging. (10eebf3) (Eric Ma)

### Bug Fixes

- Updated display spans tests to match `SpanList` behavior ensuring accurate test results. (c6ca4f2) (Eric Ma)
- Fixed incorrect class name recording in spans for `StructuredBot` by using `type()` to correctly identify Pydantic models. (5bb9967, 355666a) (Eric Ma)
- Addressed span nesting issues to ensure proper parent-child relationships in span hierarchies. (11e8e10) (Eric Ma)

### Deprecations

- No deprecations were introduced in this version.
