# Upgrading to GROWI v8.0.x

GROWI v8.0 is a major update that redesigns GROWI AI around an agent-driven architecture and introduces GROWI Vault. It also changes some default values as part of optimizing the server's memory usage.

# Table of Contents

# [Deprecated] Legacy GROWI AI features and settings

As part of redesigning GROWI AI around an agent-driven architecture, some of the legacy AI features have been removed. Their roles are taken over by the new agent-driven GROWI AI (see "[New Feature] Agent-driven GROWI AI" below).

WARNING

The legacy AI integration settings have been removed and the configuration method has been overhauled. If you use the AI integration features, they will not work as-is after the upgrade and reconfiguration is required. For the configuration steps, see Setting up and managing AI integration.

# For Users

# [New Feature] GROWI Vault

GROWI Vault is a read-only Git interface that lets you retrieve the pages you are allowed to view as a Git repository. When you clone it with your Git client, you get the pages within your permissions as a tree of Markdown files. For usage, see GROWI Vault.

To use GROWI Vault, you need to deploy and enable a dedicated container. For the setup steps, see Setting up GROWI Vault.

WARNING

The setup involves configuring a secret for internal communication. Keep this secret confidential and manage it securely.

# [New Feature] Agent-driven GROWI AI

GROWI AI has been redesigned into an agent-driven system that searches and reasons on its own to meet your goal, actively exploring pages within the wiki as it answers.

In addition, in the AI chat input field you can now type @ followed by text to search for pages and pass a selected page to the AI as context. For usage, see AI chat.

With agent-driven GROWI AI, you can choose the LLM provider from OpenAI / Anthropic / Google / Azure OpenAI. For configuration, see Setting up and managing AI integration.

# For Administrators

# [Action Required] MongoDB replica set is now required

Because GROWI Vault uses MongoDB change streams, v8.0 requires MongoDB to run as a replica set. Change streams are only available on a replica set.

If you run a single-node standalone configuration (such as the default of growi-docker-compose (opens new window)), you need to migrate to a replica set. A single-node replica set is acceptable. For how to migrate, refer to the updates in growi-docker-compose (opens new window).

# [Action Required] Reduced default MongoDB connection pool size

To optimize the server's memory usage, the default upper limit of the MongoDB connection pool has been reduced. Most environments need no additional action.

The required pool size depends on the concurrency of database operations being processed at the same time. The more active users, total pages, and access frequency you have, the higher the concurrency tends to be. As a rough guide, once you exceed several hundred active users (roughly 500), the default may be insufficient. In that case, raise the connection pool limit with an environment variable. For the environment variable to set, see the Environment variables page.

# [Specification Change] Fixed OpenTelemetry instrumentation set

To reduce memory usage, OpenTelemetry instrumentation has been fixed to the minimal set that GROWI actually uses. Standard usage needs no additional action.

If you previously switched the scope of auto-instrumentation with an environment variable, that variable has been removed. If you need to customize instrumentation, note that the configuration method has changed.

# Things to Check Before Upgrading

  • Are you running MongoDB as a replica set? (If standalone, migration is required.)
  • Do you use the AI integration features? (If so, reconfiguration with the new method is required after the upgrade.)
  • Are you a large-scale environment with many active users? (If so, consider raising the MongoDB connection pool limit.)