## Version 0.4.8

This release includes several improvements and updates to the project, focusing on enhancing the development experience, adding new features, and improving documentation.

### New Features

- **Add Ollama-specific checks for CI pipeline**: Introduces a new GitHub Actions workflow for performing Ollama-specific checks on pull requests to the main branch. The workflow includes steps for checking out the repository, downloading Ollama, starting Ollama in the background, and pulling Microsoft's Phi3 model. (d229a22) (Eric Ma)
- **Integrate Ollama setup into pr-tests workflow**: Removed the Ollama-specific checks workflow and added Ollama setup steps to the `pr-tests.yaml` workflow to ensure Ollama models are tested on pull requests. Updated pre-commit hooks to their latest versions to improve code quality checks. Added a new test case for Ollama integration in `test_bot.py`. (07ab4ec) (Eric Ma)
- **Add Ollama-specific checks for CI pipeline**: Introduces a new GitHub Actions workflow `ollama-on-ci.yaml` for performing Ollama-specific checks on pull requests to the main branch. The workflow includes steps for checking out the repository, downloading Ollama, starting Ollama in the background, and pulling Microsoft's Phi3 model. Utilizes `ubuntu-latest` runner for executing the workflow steps. (d229a22) (Eric Ma)
- **Migrate dependency configuration to pixi.toml**: Moved project and dependency configuration from `pyproject.toml` to `pixi.toml` to centralize configuration and simplify project setup. This change organizes dependencies, project metadata, and tasks into a single `pixi.toml` file, improving readability and maintainability. (1316116) (Eric Ma)
- **Enable pixi to develop LlamaBot**: This commit enables pixi to develop LlamaBot by merging the necessary changes from the `pixi` branch. (9e4d9d3) (Eric Ma)
- **Add eefricker as a contributor for doc**: Adds Ethan Fricker as a contributor for documentation. (d415fe7) (allcontributors[bot])
- **Add ElliotSalisbury as a contributor for doc**: Adds Elliot Salisbury as a contributor for documentation. (70b30b0) (allcontributors[bot])
- **Add anujsinha3 as a contributor for doc**: Adds Anuj Sinha as a contributor for documentation. (7cd087d) (allcontributors[bot])
- **Add anujsinha3 as a contributor for code**: Adds Anuj Sinha as a contributor for code. (becd294) (allcontributors[bot])
- **Add reka as a contributor for doc and code**: Adds Reka as a contributor for documentation and code. (4314c1f) (allcontributors[bot])
- **Add Pixi environment and update Micromamba setup in CI workflow**: Added Pixi environment setup to the CI workflow for enhanced testing capabilities. Updated the Micromamba setup step to include a specific name, making the workflow more readable and maintainable. Expanded the `environment-type` matrix to include the new 'pixi' environment, alongside the existing 'miniconda' and 'bare' environments. Removed commented-out Miniconda setup code to clean up the workflow file and improve clarity. (320e82b) (Eric Ma)
- **Add mknotebooks to docs**: Added `mknotebooks` to the documentation dependencies in `pyproject.toml` for enhanced notebook integration. (68b67b6) (Eric Ma)
- **Expand project dependencies and add mknotebooks to docs**: Introduced a new `[tool.pixi.dependencies]` section with a comprehensive list of project dependencies, including `openai`, `panel`, `bokeh`, and others, to facilitate development and ensure compatibility. Specified version constraints for several dependencies such as `panel >=1.3.0`, `bokeh >=3.1.0`, `astor >=0.8.1`, `typer >=0.4.7`, `pydantic >=2.0`, and `numpy <2` to address specific issues and requirements. Added a temporary version constraint for `litellm <=1.35.38` to maintain JSON mode functionality, pending resolution of a reported issue. Locked `beartype` to version `0.15.0` to ensure stability. Expanded the `[tool.pixi.pypi-dependencies]` section with new entries such as `case-converter`, `rank-bm25`, and `tantivy` to enhance project capabilities. Included a new `docs` task in `[tool.pixi.tasks]` for local documentation serving with `mkdocs serve`. (bc1fd71) (Eric Ma)
- **Install Ollama tool in Docker environment**: Added commands to update apt-get and install curl. Installed Ollama using its official installation script. Prepared for future Ollama pull command inclusion by commenting it out for now. (ee755e3) (Eric Ma)
- **Schedule daily development container builds**: Add a cron job to the GitHub Actions workflow to trigger the build of the development container every day at 3.14 am. This ensures that the development environment is always up to date with the latest dependencies. (20e0796) (Eric Ma)
- **Update Docker image tag for consistency**: Change the Docker image tag from `llamabot/devcontainer:latest` to `ericmjl/llamabot-devcontainer:latest` to align with naming conventions across projects. (5bf95bd) (Eric Ma)
- **Add pixi configuration and update git settings**: Add `.gitattributes` for GitHub syntax highlighting of `pixi.lock` files, treating them as generated YAML files. Update `.gitignore` to exclude pixi environments and `*.egg-info` files. Introduce pixi configuration in `pyproject.toml` for dependency management and task execution, specifying conda channels, platforms, and environments for development, testing, and documentation. (41e3811) (Eric Ma)
- **Add GitHub action for building dev container**: Introduces a new GitHub action workflow to build a Docker image from the project's Dockerfile upon every push to the repository. This ensures that the development container is always up to date with the latest changes in the codebase. Utilizes `ubuntu-latest` runner for executing the build steps. Employs `actions/checkout@v2` for checking out the repository code before building the Docker image. (4450044) (Eric Ma)
- **Recommend increased Docker RAM for LLMs**: Added a recommendation for configuring Docker to use 12-14GB of RAM to support local LLMs effectively. (6c0a9cb) (Eric Ma)
- **Add guide for setting up a development container**: This commit introduces a new documentation file, `devcontainer.md`, under the `docs/developer` directory. The guide provides comprehensive instructions for setting up a development environment for LlamaBot using development containers. It includes prerequisites such as having `git` and Docker installed, and step-by-step instructions from forking LlamaBot to making a pull request. This addition aims to simplify the setup process for new contributors, especially those on Windows platforms, by leveraging the development container that comes pre-configured with Ollama. (412e8c3) (Eric Ma)

### Bug Fixes

- **Remove hardcoded environments from cache setup**: Removed the hardcoded environments 'default' and 'tests' from the cache setup in the GitHub Actions workflow for pull request tests. This change simplifies the configuration and relies on dynamic environment settings. (f16aaff) (Eric Ma)
- **Remove Ollama background service start**: Ollama service start in background removed to streamline PR tests setup. This is not necessary b/c the Ollama setup already handles starting the service. (67d0546) (Eric Ma)

### Deprecations

- None in this release.
