# Upgrading to GROWI v7.1.x

GROWI v7.1 adds GROWI AI functionality, allowing GROWI to be used as a Retrieval-Augmented Generation (RAG) tool.

# Table of Contents

# [New Feature] GROWI AI (Beta)

In GROWI v7.1.x, the GROWI AI has been newly added with the aim of improving the efficiency of information collection and management in the knowledge base. The GROWI AI is a general term for a group of functions that utilize generative AI, such as the knowledge assistant that has been added this time and the vector search that will be implemented in the future.

The first of the GROWI AI features, Knowledge Assistant, is a function that generates answers based on information in GROWI in response to questions from users in chat format. This allows users to obtain the information they need quickly and efficiently.

Currently, the GROWI AI works with the OpenAI API, and the model used is fixed to gpt-4o. Future updates are planned to include integration with Azure OpenAI Service, model selection functionality, and even integration with LLMs other than OpenAI. Advanced functions such as vector search are also planned to be added in the future.

For more information, please see label.

# For Admin

# [Deprecated] End of Support for MongoDB 4.4 and 5.0

In GROWI v7.1.x, support for the database MongoDB versions 4.4 and 5.0 has ended. Systems using these versions should upgrade to MongoDB 6.0 or higher.

# [Specification Change] Changing the default value of ACL settings when using AWS S3

# Background

In the GROWI system up to v7.0.x, when uploading a file to AWS S3 (PutObject operation), ACL: 'public-read' is set for the object. This was inherited from the Crowi implementation, which was the fork of the system, and was maintained for a long time for backward compatibility, but will be changed from v7.1.x onwards for security reasons.

Reference for background

# Changes

Version Behavior when uploading a file (PutObject operation)
v7.0.x or earlier Request to add object ACL setting ACL: 'public-read'
v7.1.x or later Request not to set object ACL

# Impact on viewing attachments

You may be unable to access attachments uploaded from very old GROWI systems. Specifically, these are attachments that meet the following criteria:

  • Attachments uploaded when using a system prior to v3.3.0
    • URLs such as the following written in Markdown
    • https://${AWS bucket name}.s3.amazonaws.com/attachment/5d091f611fe336003eec5bfd/foobar.jpg
  • Change the bucket settings as follows according to the official docs: Security best practices for Amazon S3 (opens new window)
    • Disable ACLs for S3 bucket
    • Block Public Access to S3 bucket
  • If the environment variable S3_OBJECT_ACL=public-read is set for GROWI, change the value to private or delete the setting
  • Set the environment variable S3_OBJECT_ACL=public-read for GROWI

# [Specification Change Due to Deprecation] パッケージマネージャー・タスクランナーの変更

TIP

Previously, yarn (v1) was used as the package manager and the task runner, but starting with GROWI v7.1, pnpm has been adopted.

# For developer

# Update development environment

Previously, yarn (v1) was used as the package manager, but starting with GROWI v7.1, pnpm has been adopted.

# Check before upgrading

  • Check your GROWI uses MongoDB 4.4 or 5.0
  • Check your GROWI specifies AWS S3 as the file upload method
    • Consider measures for attachments that may become inaccessible
      • Check the current S3 bucket settings
      • Delete or set a new value for the environment variable S3_OBJECT_ACL
    • Inform GROWI users about the change.
  • Check if you are using the official Docker image
    • Check if the yarn command is used during build and startup