NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #3100 most downloaded on PyPI
The programming language for agentic software.
Last release today
23 Sep 2026
Ships on a steady schedule
a new release about every 9 days
Nearly every release is documented
notes for 59 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
2 years old
264 releases · first in 2024
One column per month.
Models Refactor: A complete overhaul of our models implementation to improve on performance and to have better feature parity across models.
AwsBedrock.Gemini . This will allow for easier integration of Gemini features in future.exponential_backoff is set to True. <docs>GoogleSearch to GoogleSearchTools for consistency.Gemini implementation directly on the Vertex API has been replaced by the Google SDK implementation of Gemini.Gemini implementation via the OpenAI client has been replaced by the Google SDK implementation of Gemini.OllamaHermes has been removed as the implementation of Ollama was improved.Full Changelog: https://github.com/agno-agi/agno/compare/v1.0.8...v1.1.0
Perplexity Model: We now support [Perplexity](https://www.perplexity.ai/) as a model provider.
name_exists function for LanceDbrun_messages.messages for every run in storageFull Changelog: https://github.com/agno-agi/agno/compare/v1.0.6...v1.0.8
Google Maps Toolkit: Added a rich toolkit for Google Maps that includes business discovery, directions, navigation, geocode locations, nearby places,
Full Changelog: https://github.com/agno-agi/agno/compare/v1.0.5...v1.0.6
Gmail Tools: Add tools for Gmail, including mail search, sending mails, etc.
find_similar to ExaToolsawait agent.aprint_response() and await agent.arun().Full Changelog: https://github.com/agno-agi/agno/compare/v1.0.4...v1.0.5
Fixed a bug with Claude not working with tools that have no params
Full Changelog: https://github.com/agno-agi/agno/compare/v1.0.3...v1.0.4
Add reasoning param by @ashpreetbedi in https://github.com/agno-agi/agno/pull/1964
Full Changelog: https://github.com/agno-agi/agno/compare/v1.0.2...v1.0.3
Model Client Caching: Made all models cache the client instantiation, improving Agno agent instantiation time
TwitterTools to XTools and updated capabilities to be compatible with Twitter API v2.slots=true from the agent dataclass decorator which was not compatible with Python <3.10Full Changelog: https://github.com/agno-agi/agno/compare/v1.0.1...v1.0.2
Enabled caching for Mistral models.
Full Changelog: https://github.com/agno-agi/agno/compare/v1.0.0...v1.0.1
This is a major refactor to be coupled with the launch of Agno.
This is a major refactor to be coupled with the launch of Agno.
phi.model.x → agno.models.x
phi.knowledge_base.x → agno.knowledge.x (applies to all knowledge bases)
phi.document.reader.xxx → agno.document.reader.xxx_reader (applies to all document readers)
All Agno toolkits are now suffixed with Tools. E.g. DuckDuckGo → DuckDuckGoTools
Multi-modal interface updates:
agent.run(images=[]) and agent.print_response(images=[]) is now of type Image
class Image(BaseModel):
url: Optional[str] = None # Remote location for image
filepath: Optional[Union[Path, str]] = None # Absolute local location for image
content: Optional[Any] = None # Actual image bytes content
detail: Optional[str] = None # low, medium, high or auto (per OpenAI spec https://platform.openai.com/docs/guides/vision?lang=node#low-or-high-fidelity-image-understanding)
id: Optional[str] = None
agent.run(audio=[]) and agent.print_response(audio=[]) is now of type Audio
class Audio(BaseModel):
filepath: Optional[Union[Path, str]] = None # Absolute local location for audio
content: Optional[Any] = None # Actual audio bytes content
format: Optional[str] = None
agent.run(video=[]) and agent.print_response(video=[]) is now of type Video
class Video(BaseModel):
filepath: Optional[Union[Path, str]] = None # Absolute local location for video
content: Optional[Any] = None # Actual video bytes content
RunResponse.images is now a list of type ImageArtifact
class ImageArtifact(Media):
id: str
url: str # Remote location for file
alt_text: Optional[str] = None
RunResponse.audio is now a list of type AudioArtifact
class AudioArtifact(Media):
id: str
url: Optional[str] = None # Remote location for file
base64_audio: Optional[str] = None # Base64-encoded audio data
length: Optional[str] = None
mime_type: Optional[str] = None
RunResponse.videos is now a list of type VideoArtifact
class VideoArtifact(Media):
id: str
url: str # Remote location for file
eta: Optional[str] = None
length: Optional[str] = None
RunResponse.response_audio is now of type AudioOutput
class AudioOutput(BaseModel):
id: str
content: str # Base64 encoded
expires_at: int
transcript: str
Models:
Hermes → OllamaHermesAzureOpenAIChat → AzureOpenAICohereChat → CohereDeepSeekChat → DeepSeekGeminiOpenAIChat → GeminiOpenAIHuggingFaceChat → HuggingFaceEmbedders now all take id instead of model as a parameter. For example
db_url = "postgresql+psycopg://ai:ai@localhost:5532/ai"
knowledge_base = PDFUrlKnowledgeBase(
urls=["https://phi-public.s3.amazonaws.com/recipes/ThaiRecipes.pdf"],
vector_db=PgVector(
table_name="recipes",
db_url=db_url,
embedder=OllamaEmbedder(id="llama3.2", dimensions=3072),
),
)
knowledge_base.load(recreate=True)
Agent Storage class
PgAgentStorage → PostgresAgentStorageSqlAgentStorage → SqliteAgentStorageMongoAgentStorage → MongoDbAgentStorageS2AgentStorage → SingleStoreAgentStorageWorkflow Storage class
SqlWorkflowStorage → SqliteWorkflowStoragePgWorkflowStorage → PostgresWorkflowStorageMongoWorkflowStorage → MongoDbWorkflowStorageKnowledge Base
phi.knowledge.pdf.PDFUrlKnowledgeBase → agno.knowledge.pdf_url.PDFUrlKnowledgeBasephi.knowledge.csv.CSVUrlKnowledgeBase → agno.knowledge.csv_url.CSVUrlKnowledgeBaseReaders
phi.document.reader.arxiv → agno.document.reader.arxiv_readerphi.document.reader.docx → agno.document.reader.docx_readerphi.document.reader.json → agno.document.reader.json_readerphi.document.reader.pdf → agno.document.reader.pdf_readerphi.document.reader.s3.pdf → agno.document.reader.s3.pdf_readerphi.document.reader.s3.text → agno.document.reader.s3.text_readerphi.document.reader.text → agno.document.reader.text_readerphi.document.reader.website → agno.document.reader.website_readerAssistantllmPhiTools toolPythonAgent and DuckDbAgent (this will be brought back in future with more specific agents)similarity_threshold param with threshold paramNothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →