Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

v0.9.8 - 2025-05-23

Added

  • Implemented timeline-based history rollback to enable reverting cell states during reruns.

  • Added token counting utilities and refactored related handlers to improve token management.

Changed

  • Replaced history_manager with conversation_manager throughout the codebase to unify management components.

Fixed

  • Fixed the %gdocs cell rerun behavior to remove the previously added document and replace it with the new cell content, resolving issue #31.

v0.9.7 - 2025-05-20

Added

  • Implemented token counting utilities and refactored related handlers to improve token management.

  • Added base directory configuration support for working files, including updates to the related documentation.

Changed

  • Replaced history_manager with conversation_manager across the codebase to unify conversation handling.

  • Removed obsolete GitLab magic command tests as part of test suite cleanup.

Added

  • Added integration tests for GitLab magic command functionality to ensure robust feature coverage.

v0.9.6 - 2025-05-19

Added

  • Added support for base directory configuration for working files, enhancing flexibility in file management. Updated related documentation to reflect this new feature.

  • Added integration tests for GitLab magic command functionality to improve test coverage and reliability.

Changed

  • Removed obsolete GitLab magic command tests as part of test suite refactoring to maintain codebase relevance and cleanliness.

v0.9.5 - 2025-05-13

Changed

  • Improved the documentation build process by updating the Makefile.

  • Cleaned up the documentation index by removing unused integrations and magic commands.

v0.9.4 - 2025-05-13

v0.9.2 - 2025-05-13

v0.9.1 - 2025-05-11

Fixed

  • Improved changelog generation by handling cases where the current tag does not exist and ensuring the version is updated before generating the changelog.

v0.9.0 - 2025-05-11

Changed

  • Refactored the release script to improve the version bumping process and automate changelog generation.

v0.8.3 - 2025-05-11

Added

  • Implemented dynamic loading for integrations and magic commands to enhance plugin discovery.

  • Added image processing capabilities through new IPython magic commands, including the %img magic command, along with related utilities and improved documentation.

Changed

  • Refactored history management to utilize the ConversationManager for better structure and maintainability.

  • Reorganized and improved the testing framework for CellMage, enhancing test coverage and organization.

  • Enhanced overall functionality and performance through various code improvements.

  • Added a table of contents to the utilities documentation for easier navigation.

Fixed

  • Corrected sed commands in the release script to ensure consistent version incrementing.

Removed

  • Removed references to the deprecated history_manager module from the API documentation.

  • Eliminated obsolete integration tests and added black as a development dependency for code formatting.

v0.8.2 - 2025-05-08

Added

  • Added a comprehensive magic command cheatsheet for CellMage to improve user accessibility and reference.

  • Enhanced Google Docs integration by introducing timeout and parallel fetch settings, along with token counting features in history and status displays.

  • Updated API documentation and improved Sphinx configuration by incorporating the autosummary extension for better documentation generation.

Changed

  • Refactored the ambient mode and magic command architecture to improve code structure and maintainability.

  • Refactored documentation and removed obsolete test files to streamline the codebase and documentation quality.

v0.8.1 - 2025-05-08

Added

  • Enhanced Google Docs integration by adding search and content retrieval features, improving the ability to interact with and extract information from Google Docs.

v0.8.0 - 2025-05-08

Added

  • Added integration with Google Docs to enable fetching and processing of document content.

v0.7.0 - 2025-05-08

Added

  • Introduced WebContent integration to enable fetching and processing of website content, enhancing data retrieval capabilities.

v0.6.0 - 2025-05-07

Added

  • Added comprehensive tutorials covering Jira integration, a quickstart guide, streaming responses, token usage, snippets, and custom personas to enhance user onboarding and feature understanding.

Changed

  • Changed code block language specifiers from python to ipython in documentation and tutorials for improved clarity.

  • Enhanced Sphinx compatibility by explicitly defining __annotations__ in the Settings class.

Fixed

  • Fixed missing help description for the --param argument in the llm magic command.

  • Updated Sphinx build options and suppressed additional warnings to improve documentation build quality.

  • Added missing newline in the docstring for the llm_magic function.

  • Improved code block processing in Markdown files to increase accuracy and correctly handle multiple iterations.

v0.5.15 - 2025-05-07

Fixed

  • Corrected the code block syntax in the documentation from Python to plain text to improve clarity.

v0.5.14 - 2025-05-07

Added

  • Enhanced the documentation by introducing magical themes and improving the overall structure across multiple files.

v0.5.13 - 2025-05-07

Changed

  • Improved model handling in the changelog generation script to enhance release management.

Fixed

  • Commented out the formats section in the ReadTheDocs configuration to resolve PDF and EPUB build failures.

v0.5.12 - 2025-05-07

Added

  • Re-enabled PDF and EPUB formats in the ReadTheDocs configuration, including support for LaTeX emojis.

v0.5.11 - 2025-05-07

Fixed

  • Commented out the formats section in the ReadTheDocs configuration to resolve PDF and EPUB build failures.

v0.5.10 - 2025-05-07

Added

  • Added documentation dependencies for Sphinx and related tools to improve project documentation.

v0.5.9 - 2025-05-07

Added

  • Enhanced the changelog generation functionality to support multiple large language models (LLM). Updated the documentation to reflect these improvements.

v0.5.8 - 2025-05-07

Changed

  • Updated the default large language model (LLM) to gpt-4.1-mini to improve overall performance.

v0.5.7 - 2025-05-07

Added

  • Added build configuration for Ubuntu 22.04 and Python 3.9 in the Read the Docs YAML file to support updated documentation builds.

v0.5.6 - 2025-05-07

Added

  • Introduced LLM-powered changelog generation and added a corresponding target in the Makefile.

  • Added pre-commit configuration and updated dependencies to improve code quality checks.

  • Enhanced virtual environment setup by including optional dependencies and improving caching mechanisms.

Changed

  • Enhanced the release process by supporting minor and major version increments in both the Makefile and release script.

  • Updated the release script to automatically update the version if the tag already exists.

  • Updated model references to use gpt-4.1-nano and improved release scripts accordingly.

  • Updated Python version requirements to 3.9 across all configuration files.

  • Refactored version update logic in the release script to use separate sed commands for better clarity.

Fixed

  • Corrected pip install command syntax and updated requirements to ensure consistency.

  • Updated the installation and virtual environment setup commands to include all optional dependencies.

  • Cleaned up whitespace and formatting inconsistencies across multiple files.

v0.5.5 - 2025-05-06

Added

  • Implemented configuration handlers for the %llm_config magic command, enabling enhanced configuration management.

  • Introduced the LLM magic command as part of a refactored magic commands architecture.

Changed

  • Refactored the magic commands architecture to improve modularity and maintainability.

  • Improved logging and debug information across ChatManager, HistoryManager, and ConfigMagics for better traceability.

  • Enhanced history management and logging within ChatManager and HistoryManager.

  • Updated logging in GitHub, GitLab, and Jira magic commands to use logger.debug for more detailed debug output.

  • Added refactored_magic_architecture to the Development section in the documentation (index.md).

Removed

  • Added .data/conversations.db to .gitignore to exclude conversation database files from version control.

v0.5.4 - 2025-05-04

Changed

  • Updated dependencies to use the latest Confluent platform integration for improved compatibility and performance.

v0.5.3 - 2025-05-04

Changed

  • Updated the Confluence integration documentation by changing code blocks to use text format for improved clarity.

v0.5.2 - 2025-05-04

Changed

  • Updated the code blocks in the Confluence integration documentation to use the python-repl format for improved clarity.

v0.5.1 - 2025-05-03

Added

  • Added Confluence integration with new magic commands and updated the related documentation.

  • Introduced a placeholder for the LLM magic command in the GitHub integration.

Changed

  • Refactored IPython magic commands to use a base class for shared functionality, improving code maintainability.

  • Changed code block syntax from Python to text for GitHub and SQLite magic command examples to enhance readability.

  • Improved formatting of old_path assignment in GitHubUtils for better code clarity.

Fixed

  • Fixed formatting issues in log messages and print statements across multiple files to ensure consistent output.

v0.5.0 - 2025-05-03

Added

  • Introduced GitHub integration featuring a magic command and utility functions to enhance workflow automation.

  • Implemented SQLite-based storage for conversation history, including advanced features such as tagging, statistics tracking, and raw API response storage. Documentation and example usage have been updated to support seamless integration.

v0.4.7 - 2025-05-01

Added

  • Enhanced token tracking in Jira Magic by counting tokens in ticket content and including this information in message metadata.

Changed

  • Improved session management by refining session listing output and error handling. The session_id is now consistently stored as a string in metadata.

v0.4.6 - 2025-05-01

Changed

  • Refactored the message deduplication logic in ChatManager to improve readability and enhanced it to retain the last occurrence of duplicate messages for both non-system and system messages.

Fixed

  • Corrected the token display direction in IPythonContextProvider to accurately indicate input and output tokens.

v0.4.5 - 2025-05-01

Changed

  • Improved persona handling in ChatManager and IPython magic commands, including the addition of detailed logging for persona requests and system message management.

v0.4.4 - 2025-05-01

Changed

  • Refactored snippet directory handling in get_default_manager to exclusively use the llm_snippets directory instead of snippets.

  • Improved test readability in GitLab magic command tests by formatting environment variable patches.

v0.4.3 - 2025-05-01

Added

  • Added response content handling for status information in the IPython context provider and magic commands.

Changed

  • Refactored ChatManager and IPythonContextProvider to improve response handling.

  • Enhanced GitLab magic command tests with better mocking and improved structure.

  • Improved message deduplication in ChatManager to preserve system messages originating from different sources.

  • Updated the author description in the README.md to reflect beverage preference.

v0.4.2 - 2025-04-29

Added

  • Added support for custom headers in LLM requests and updated configuration settings.

Changed

  • Refactored token counting in ChatManager and HistoryManager to improve accuracy.

  • Enhanced persona and snippet output formatting in NotebookLLMMagics for better readability.

  • Refactored header preparation in DirectLLMAdapter and LangChainAdapter to streamline request handling.

  • Updated test fixtures, including renaming in test_jira_magic.py and improving IPython fixture reliability.

  • Changed code block syntax from python to ipython for the LLM prompt example in the Jira integration documentation.

v0.4.1 - 2025-04-29

Added

  • No new features were added in this release.

Changed

  • No changes to existing functionality were made in this release.

Fixed

  • No bug fixes were included in this release.

Removed

  • No features were removed in this release.

Security

  • No security fixes were included in this release.

Deprecated

  • No features were deprecated in this release.

v0.4.0 - 2025-04-29

Added

  • No new features were introduced in this release.

Changed

  • No changes to existing functionality were made in this release.

Fixed

  • No bug fixes were included in this release.

Removed

  • No features were removed in this release.

Security

  • No security fixes were applied in this release.

Deprecated

  • No features were deprecated in this release.

v0.3.1 - 2025-04-29

Changed

  • Updated the code block syntax from Python to IPython in the Jira integration documentation to improve clarity in the LLM prompt example.

v0.3.0 - 2025-04-29

Added

  • Added support for custom headers in LLM requests, allowing more flexible configuration settings.

Changed

  • Refactored header preparation in DirectLLMAdapter and LangChainAdapter to improve code clarity and maintainability.

  • Updated the IPython fixture to enhance reliability in tests.

v0.2.5 - 2025-04-29

Added

  • Introduced Jira integration featuring a magic command and utility functions to enhance task management capabilities.

Changed

  • Updated README and Jira integration documentation for improved clarity and more comprehensive usage examples.

  • Refactored the Makefile and Jira integration tests to improve consistency and readability.

  • Refined the epic link field assignment in JiraUtils and updated the documentation for the %%llm magic command.

  • Corrected the author name in README.md to Thiago MadPin.

v0.2.4 - 2025-04-29

Changed

  • Updated GitHub Actions workflow to include permissions for write access, improving automation capabilities.

v0.2.3 - 2025-04-29

Changed

  • Refactored IPython display imports to improve code structure and readability.

  • Simplified multi-line statements and enhanced logging messages across various modules for better maintainability.

  • Updated linting and formatting configurations to improve overall code quality.

Removed

  • Removed unused import of Javascript from the IPython display module.

v0.2.2 - 2025-04-29

Added

  • Added UUID support to the IPython context provider to enhance context tracking capabilities.

Changed

  • Improved display handling in the IPython context provider for better user experience.

  • Updated project metadata to ensure clarity and accuracy.

v0.2.1 - 2025-04-28

Changed

  • Refactored code to improve readability and consistency by simplifying multi-line statements and enhancing logging messages across various modules.

v0.2.0 - 2025-04-28

Changed

  • Updated the README.md to improve clarity and engagement by refining feature descriptions and installation instructions.

  • Simplified the get_default_manager function by removing the version variable and streamlining error messages.

Removed

  • Deleted obsolete persona and documentation files including code writer, coder, non-technical documentation specialist, and example persona.

  • Removed unused snippets related to EVO, example snippet, and personal details of Thiago.

  • Cleared out empty Jupyter notebooks for markdown and model mappings demos.

v0.1.3 - 2025-04-28

Added

  • Initial release of version v0.1.3.

v0.1.2 - 2025-04-28

Added

  • No new features were added in this release.

Changed

  • No changes to existing functionality were made in this release.

Fixed

  • No bug fixes were included in this release.

Removed

  • No features were removed in this release.

Security

  • No security fixes were applied in this release.

Deprecated

  • No features were deprecated in this release.

v0.1.1 - 2025-04-28

Added

  • Introduced message deduplication in ChatManager and improved snippet handling in IPython magic commands.

  • Added model mapping functionality and enhanced IPython magic commands.

  • Implemented autosaved conversations and enhanced the OpenAI chat models notebook.

  • Added new personas for code architect, code writer, and non-technical documentation specialist, along with example persona and snippet files.

  • Created a directory for LLM conversations and added test notebooks, argument definitions, and example snippets.

  • Enhanced IPython Magic and File Loader functionality.

  • Added new notebook examples demonstrating ambient mode handling and other features.

Changed

  • Refactored code across multiple modules to improve readability, maintainability, and formatting, including adjustments to line breaks and import statements.

  • Streamlined TYPE_CHECKING usage for conditional imports of requests and yaml.

  • Enhanced token usage tracking and reporting in ChatManager and DirectLLMAdapter.

  • Updated test cases in test_cellmage_core.py and verify_cellmage.py for consistency and clarity.

  • Upgraded cache action to version 4 to improve performance and compatibility.

  • Commented out type checking and mypy cache steps in the CI workflow.

Removed

  • Removed legacy test files for the cellmage library.

  • Deleted the model comparison tutorial notebook.

v0.1.0 - 2025-04-26

Added

  • Added a model comparison tutorial notebook for large language model (LLM) evaluation using CellMage.

  • Introduced initial integration files and an ambient mode testing notebook.

  • Added role specifications for software personas and documented Thiago’s profile.

  • Included new tutorial notebooks demonstrating CellMage magic functions.

  • Added example scripts and comprehensive tests for the CellMage library.

  • Created initial test and snippet files.

  • Added the CellMage notebook and updated project dependencies.

  • Updated the README.md to introduce CellMage and highlight its core features.

Changed

  • Refactored the Settings class to use Pydantic for improved configuration management and added logging settings.

  • Improved logging across the project for better traceability.

  • Enhanced the CellMage notebook with improved output messages and additional functionality.

  • Updated execution times and system messages in the CellMage notebook.

  • Enhanced persona loading and error handling in the FileLoader component.

  • Refactored LLM integration by removing the LiteLLMAdapter and replacing it with DirectLLMAdapter throughout the codebase; updated configuration handling and notebook examples accordingly.

  • Added compatibility for the save_dir setting in configuration.

  • Updated project references from ‘my-package’ to ‘cellmage’ in all files, including documentation, workflows, and scripts; adjusted installation instructions and versioning details accordingly.

  • Removed an unnecessary personalization script and updated changelog preparation and release scripts to reflect the new package name.

Removed

  • Removed the LiteLLMAdapter in favor of the DirectLLMAdapter implementation.

  • Removed an unnecessary personalization script as part of the project rename and cleanup.