Skip to the content

Changelog

What shipped. And when.

Every change a developer would notice, newest first, each with the page that explains it.

November 2026

  1. 3 Nov
    A session opens where the last one stopped

    The briefing now leads with the status of the work and the next steps in the order they were said, then what happened last time. In the minute after a session ends, before Geniffy has read it, the next one opens on the last words as they were said. A bug stays an open item, never a rule that applies.

    APIPluginsRead more
  2. 3 Nov
    Dates read the way people mean them

    "12 March" said in October is next March, "next month" said on 31 January is February, and "tomorrow" said late in the evening in Los Angeles is the next day there. Every date is worked out by code on the person's own clock: send timezone with a save, or set a user's zone once with PUT /v1/timezone. A promise says its day and whether it is overdue.

    APIRead more
  3. 3 Nov
    The graph shows who is who

    Each person, company, project and place now appears as what it is, linked by what memories say about them, such as who works where. A change moves a link instead of adding one, and two records that may be the same person are asked about, never merged on a name alone.

    APIRead more
  4. 2 Nov
    When something ends, memory stops serving it

    A later word that says access was removed, a plan was cancelled or a rule no longer applies now ends the old memory, rule, promise or line of where things stand, and keeps it as history; a rumour or an end still to come changes nothing. GET /v1/changes says what changed since a briefing's cursor.

    APIRead more
  5. 1 Nov
    A saved text comes back word for word

    GET /v1/sources/{id}/text returns what a source said, page by page: a saved prompt, rule or document itself, not the facts learned from it. Over MCP, fetch with a source id returns it too. Secrets stay masked and a forgotten person stays redacted.

    APIMCPRead more
  6. 1 Nov
    Every save counts what it holds

    A save counts the tokens it holds, so a ten-word note is about 15. The minimum of 100 tokens a save is gone, on every plan.

    APIRead more

October 2026

  1. 18 Oct
    More learning on every plan, and every read still free

    Free learns 500K tokens a month (about 500 conversations) with 100 written answers, Pro 5M with 2,500, and Max 25M with 12,500. Scale, for a company running agents in production, learns 100M with 50,000 answers, invoiced monthly. Past a plan, extra learning is now $5 per million tokens and $5 per 1,000 answers. Search and briefings stay unlimited on every plan.

    APIRead more
  2. 17 Oct
    A moved date replaces the old one

    When a later conversation changes a plan, a date, a promise or a decision (the launch moved from the 10th to the 17th, a payment from Friday to Monday), the new one serves and the old one is kept as history. The one said later wins; two sources that disagree without either saying it changed are kept as a clash.

    APIRead more
  3. 17 Oct
    Search reaches lessons, stories and promises

    POST /v1/search returns the lessons, episodes and open promises that bear on the query beside the memories, matched by meaning and by the words themselves. search_full() in Python and searchFull() in TypeScript, from 0.5.0.

    APISDKsRead more
  4. 17 Oct
    Memory for Pipecat voice agents

    pip install "geniffy[pipecat]" and put GeniffyMemory in front of the LLM: before each reply it gives the model the caller's briefing, and it saves the call as it goes. The Vapi, Retell, Bolna, LiveKit and Twilio guides now read the briefing, which comes back in a fraction of a second.

    IntegrationsSDKsRead more
  5. 9 Oct
    Plans count what is learned; reading is free

    Every plan now counts two things: the tokens Geniffy learns from what is saved, and the answers it writes. Saving, briefings and search are free on every plan. Past a plan, saves are kept and searchable and learned next month, or at once with extra learning; usage() and the X-Geniffy-Usage headers report tokens.

    APISDKsRead more
  6. 9 Oct
    LangChain, LlamaIndex, OpenAI Agents and the AI SDK open with the briefing

    langchain-geniffy, llama-index-memory-geniffy, openai-agents-geniffy and geniffy-ai-sdk 0.2.0 give the model the user's briefing before each call, and save each run, tool calls and results included, into one memory for the whole conversation. Each run sends only what is new.

    IntegrationsRead more
  7. 9 Oct
    Sessions saved as they go, and this month's use

    An agent saves each turn as it happens: session(id).save(messages) sends only what is new, into one memory for the whole session however long it gets, and the API takes a session on POST /v1/memories. usage() says what this month comes to, and a used-up month is its own error, UsageLimitError.

    APISDKsRead more
  8. 9 Oct
    A briefing for every session

    Send whole sessions, tool calls and results included, from any framework, and Geniffy keeps where each project stands, what happened, the lessons learned and the promises made. briefing() reads it all back in one call, for the start of a session or a turn; now(), episodes(), lessons() and intentions() read each part. The plugins and the MCP server open every session with it.

    APISDKsMCPPluginsRead more
  9. 6 Oct
    Labels

    Tag what you add with your own name/value pairs, such as the channel or the account, then keep context, ask, search, the memory list and a brief to them, or forget everything that carries them in one call. Every name must match, and a list of values is any one of them.

    APISDKsRead more
  10. 6 Oct
    Your users' data sources, kept in memory

    Tested syncs for Gmail, Google Calendar, Google Drive, Notion, OneDrive, GitHub, Linear, Confluence, Amazon S3, Zendesk and any website: each learns only what changed, deletes what is gone, and forgets everything from a source when the user disconnects it. For any other source, the pattern is on one page, in Python and TypeScript.

    IntegrationsSDKsRead more
  11. 6 Oct
    A copy for each user

    GET /v1/export, or export() in the SDKs, on one of your users: every memory held for them, current or not, with its status and the sentence it came from, and every source. The call for a user who asks what you hold about them.

    APISDKsRead more
  12. 6 Oct
    PowerPoint, Excel and text files

    Add a .pptx (each slide's text, tables and speaker notes), an .xlsx (each sheet's rows) or a text file (.txt, .md, .csv, .tsv, .html), as well as PDF and Word. A file that can't be read is still refused with the reason, never guessed at.

    APIRead more
  13. 6 Oct
    Claude's memory tool, kept in Geniffy

    GeniffyMemoryTool in Python and geniffyMemoryHandlers in TypeScript keep the notes Claude's memory tool writes in each user's memory: every file comes back exactly as Claude wrote it, and what it says is recalled by context() and ask() like anything else. Underneath is a new files API, /v1/files, for any text an agent keeps under a path and needs back exactly.

    IntegrationsAPISDKsRead more
  14. 6 Oct
    Haystack

    A Haystack component that puts what is known about the user in front of the model in a pipeline, or a recall tool for a Haystack agent that reads the user from the agent's state, so the model never chooses whose memory it reads.

    IntegrationsRead more
  15. 6 Oct
    Google Calendar: each user's meetings, in their memory

    Who each user is meeting, when and about what, with their own Google sign-in. After the first run Google's sync token says what changed: a moved meeting keeps only its new time, and a cancelled one is deleted from memory.

    IntegrationsRead more
  16. 6 Oct
    Confluence: your team's pages, kept in memory

    A Confluence space in a memory of its own, so an assistant answers from your own runbooks and decisions and names the page. After the first run only the pages changed since are read, and a page moved to the trash is deleted from memory.

    IntegrationsRead more
  17. 6 Oct
    Linear: a team's issues, and why

    A Linear team's issues in a memory of their own, each with its state, its description and every person's comment. After the first run only the issues updated since are read; archived work stays as history, and an issue moved to the trash is deleted from memory.

    IntegrationsRead more
  18. 6 Oct
    Zendesk: each customer's support history, in their memory

    Every ticket goes into its requester's own memory with each public reply, who wrote it and when; internal notes stay out, so your assistant never repeats to a customer what agents wrote for each other. Zendesk's incremental export means each run reads only the tickets that changed, deleted ones included.

    IntegrationsRead more
  19. 6 Oct
    Amazon S3: the documents in a bucket, kept in memory

    A company's policies, contracts or handbooks, from a prefix of an S3 bucket into a space: a file whose ETag hasn't changed isn't downloaded again, a changed one teaches only what changed, and a file that is gone is deleted with what it taught. Each prefix carries its own label, so one never deletes another's.

    IntegrationsRead more
  20. 6 Oct
    GitHub: what a repository decided, and why

    A repository's issues and pull requests in a memory of their own, each with every person's comment and whether it shipped (open, closed or merged). After the first run only what was updated is fetched, and comments from bots stay out, so a coding assistant or a support bot knows why the code is the way it is.

    IntegrationsRead more
  21. 6 Oct
    A website, kept in memory from its sitemap

    Your help centre, prices or opening hours in a space of their own: the sync follows the sitemap, fetches each page itself (so pages behind a sign-in work too), reads again only what changed, and deletes what the sitemap no longer lists. Your assistant recalls from the site beside each user's own memory.

    IntegrationsRead more
  22. 6 Oct
    OneDrive and SharePoint, kept in memory

    A sync for each user's OneDrive, with their own Microsoft sign-in, through Microsoft Graph's delta query: the first run lists everything, each run after it only what changed. Word, PowerPoint, Excel, PDF and text files, each under its own id; a file that is gone takes what it taught with it, and disconnecting forgets everything from OneDrive. A SharePoint library is one line away.

    IntegrationsRead more
  23. 6 Oct
    Gmail: the conversations each user takes part in

    A sync for each user's email, with their own Google sign-in: each thread they wrote in is one source, each message in its own words without the quoted copies, so newsletters stay out and a new reply teaches only what it adds. A thread binned or deleted goes from memory, and disconnecting forgets everything from Gmail.

    IntegrationsRead more
  24. 6 Oct
    Google Drive, kept in each user's memory

    A sync for each user's Drive, with their own Google sign-in: Docs, Slides and Sheets, and their PDF, Word, PowerPoint, Excel and text files. After the first run, Drive's own list of changes says what to fetch, a file that is gone takes what it taught with it, and disconnecting forgets everything from Drive.

    IntegrationsRead more
  25. 6 Oct
    Notion, kept in each user's memory

    A sync for each user's Notion, with their own sign-in to your integration: each page under its own id and the label channel:notion, so a changed page teaches only what changed, a page that is gone takes what it taught with it, and disconnecting forgets everything from Notion.

    IntegrationsRead more
  26. 6 Oct
    Twilio: SMS and WhatsApp

    An assistant people text, over SMS or WhatsApp through Twilio, that knows each of them: one memory per number across both, every request checked against Twilio's signature, and the reply sent back in the same request.

    IntegrationsRead more
  27. 6 Oct
    Slack apps

    A Slack app that knows each person who mentions it or writes to it directly, with what is known in front of Claude before each reply in the thread. Every request is checked against your signing secret, and a retried event is answered once.

    IntegrationsRead more
  28. 6 Oct
    Telegram bots

    A Telegram bot that knows each person who writes to it, in private or in a group: what is known goes in front of Claude before each reply, and every update is checked against your secret token.

    IntegrationsRead more
  29. 6 Oct
    WhatsApp assistants

    An assistant on the WhatsApp Business Cloud API that knows each person who messages it: what is known goes in front of Claude before each reply, every webhook is checked against Meta's signature, and a message Meta sends twice is answered once.

    IntegrationsRead more
  30. 6 Oct
    OpenAI Agents SDK in TypeScript

    The OpenAI Agents SDK guide now has TypeScript beside Python: what is known in the agent's instructions through its run context, or a recall tool that reads the user from the context, so the model never chooses whose memory it reads.

    IntegrationsRead more
  31. 6 Oct
    Bolna voice agents

    From your own server: what matters about the caller goes into the agent's prompt before a call starts, on calls in and out, and each call is saved when it ends, once, however many times Bolna sends it.

    IntegrationsRead more
  32. 6 Oct
    Retell voice agents

    From your own server: what matters about the caller goes into the agent's prompt when a call comes in, a recall function looks things up mid-call, and the call is saved when it ends. Every request is checked against Retell's signature.

    IntegrationsRead more
  33. 6 Oct
    AutoGen

    Geniffy as an AutoGen memory, through AutoGen's own Memory interface: what is known goes in the model context before each reply, rebuilt each turn so a long chat never piles it up.

    IntegrationsRead more
  34. 6 Oct
    Strands Agents

    One hook provider gives a Strands agent a memory of each user: what is known goes in its system prompt before each request, and the exchange is saved after it. Any model provider, Amazon Bedrock included.

    IntegrationsRead more
  35. 6 Oct
    Vapi phone assistants

    From your own server URL: what matters about the caller goes into the assistant's prompt when a call starts, a recall tool looks things up mid-call, and the call is saved when it ends.

    IntegrationsRead more
  36. 6 Oct
    LiveKit voice agents

    A guide for LiveKit Agents: before every reply, what is known about the caller goes in front of the LLM, and each exchange is saved once the agent has answered. Tested in LiveKit's own text mode.

    IntegrationsRead more
  37. 6 Oct
    Your own profile sections

    Group your users' profiles your way: add a section with keywords or topics for every user, or for one, and what is known about each person is sorted into it.

    APISDKsRead more
  38. 6 Oct
    Geniffy for the OpenAI Agents SDK

    openai-agents-geniffy: a run config that tells any agent what is known about the user before each model call, remember() to save the exchange, and recall and remember as function tools.

    IntegrationsSDKsRead more
  39. 6 Oct
    Keys for one user

    Make a key limited to one of your users, safe to hand to their own app or device: it reaches their memory and nothing else. List and revoke them per user, and erasing the user stops them.

    APISDKsRead more
  40. 6 Oct
    Update a record by your own id

    Add with external_id, and sending the same record again updates it instead of adding it twice: only what changed is learned, and what was removed is taken back. Find or delete it by the same id.

    APISDKsRead more
  41. 6 Oct
    A blank space is refused

    A space that is named but blank, in the X-Geniffy-Space header, a body or a query, now gets bad_space instead of reaching your own memory, and both SDKs refuse it before sending. A user whose id didn't arrive can't end up in your memory. Leave the space out for your own.

    APISDKsRead more
  42. 6 Oct
    Conversations from the past keep their date

    Pass said_at when you add a note or a conversation that happened earlier, and what it teaches is dated by when it was said, not when you sent it, and a newer conversation replaces what an older one said.

    APISDKsRead more
  43. 6 Oct
    Geniffy for LlamaIndex

    llama-index-memory-geniffy: a memory block that gives any LlamaIndex agent what is known about the user before it answers, with remember() to save the exchange and recall and remember as tools.

    IntegrationsSDKsRead more
  44. 6 Oct
    Plugins for Cursor, Codex and OpenCode

    The same memory as the Claude Code plugin: each session starts with what you said before about you and the project, and each turn is saved as you go, with keys and code left on your computer.

    PluginsRead more
  45. 6 Oct
    One command for every app

    npx geniffy-cli setup finds Claude Code, Cursor, VS Code, Codex, OpenCode, Windsurf and Gemini CLI on your computer and adds Geniffy to each, after showing what it will change.

    MCPRead more
  46. 6 Oct
    Geniffy for LangChain

    langchain-geniffy: one piece of middleware gives any LangChain agent a memory of each user, with recall and remember tools and a retriever for chains.

    IntegrationsSDKsRead more
  47. 6 Oct
    Geniffy for the Vercel AI SDK

    geniffy-ai-sdk: wrap any AI SDK model with withGeniffy, and it is told what is known about the user before every reply and saves the exchange after. Or give it recall and remember as tools.

    IntegrationsSDKsRead more
  48. 6 Oct
    A skill and the docs, for coding agents

    npx skills add Geniffy/skills teaches your coding agent to build with Geniffy, and the docs are an MCP server it can search and read while it works.

    DocsMCPRead more
  49. 5 Oct
    Integration guides

    Memory for Anthropic, OpenAI and Gemini; LangChain, LangGraph, the OpenAI Agents SDK, Pydantic AI, LlamaIndex, CrewAI, Agno, Microsoft Agent Framework and Google ADK; the Vercel AI SDK and Mastra; Pipecat; and Zapier, n8n and Make. Every snippet is tested against the framework itself.

    IntegrationsRead more
  50. 5 Oct
    The docs, by what you came to do

    Five tabs, each with its own sidebar: Overview, Developer platform, Integrations, Plugins and MCP, and API reference. This changelog can be filtered by topic, and followed by RSS.

    DocsRead more
  51. 5 Oct
    Geniffy for Claude Code

    A plugin: each session starts with what you said before, and what you discuss is saved as you go, with keys and code left on your laptop.

    PluginsRead more
  52. 5 Oct
    In the official MCP Registry

    Listed as io.github.Geniffy/geniffy-mcp, so MCP apps and directories can find it.

    MCPRead more
  53. 5 Oct
    The SDKs are open source

    geniffy 0.1.1 on PyPI and npm, published from github.com/Geniffy with no stored token.

    SDKsRead more
  54. 5 Oct
    The MCP server is live

    Your memory in Claude, ChatGPT, Cursor, VS Code and Codex, behind sign-in, with nothing to install.

    MCPRead more
  55. 5 Oct
    Conversations go in as your framework holds them

    Anthropic content blocks, OpenAI parts and turns with no text, Gemini and Vercel AI SDK parts. Developer messages are skipped like system ones.

    APISDKsRead more
  56. 5 Oct
    context() leads with the fact the answer used

    And a note added without a title is cited as a note, not with its own words over again.

    APIRead more
  57. 5 Oct
    sources.wait() returns the moment learning ends

    One held call instead of asking every two seconds, in both SDKs.

    SDKsRead more
  58. 4 Oct
    Request ids

    Every call gets a request id and a 30-day record you can search in the Geniffy app.

    APIRead more