> For the complete documentation index, see [llms.txt](https://boost.filecoin.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://boost.filecoin.io/tutorials/how-to-upgrade-from-v2.0.0-to-v2.1.0.md).

# How to upgrade from v2.0.0 to v2.1.0

This is a step by step guide to upgrade from Boost v2.0.0 to Boost v2.1.0

Boost v2.1.0 supports [connecting multiple miners to a single LID instance](https://boost.filecoin.io/tutorials/how-to-migrate-boost-v1-to-boost-v2#connecting-multiple-boost-instances-to-a-single-lid). This would enable the SP to serve retrievals from all the connected miners via a single `boostd`, `booster-bitswap` or `booster-http` instance. To enable this feature, we need to update our existing LID tables to add minerID to the piece metadata.

1. Pull the new stable release v2.1.0 or RC candidate v2.1.0-rcx
2. Rebuild the binaries with the new version
3. Stop `booster-http`, `booster-bitswap`, `boostd` and `boostd-data` in that order
4. Start `boostd-data` service first. If you are using systemd service files to manage the process, then please start it manually without using the systemd files.

{% hint style="warning" %}
The Postgres \<CONNECT\_STRING> will need to be updated to not use SSL mode. Otherwise, you might see error connecting to the DB. The updated connect string should like below

\
`postgresql://<username>:<password>@<yugabytedb>:5433?sslmode=disable`
{% endhint %}

{% hint style="info" %}
The PGX driver from Yugabyte supports cluster aware Postgres connection out of the box. If you are deploying a multi-node YugabyteDB cluster, then please update your connect-string to use a cluster aware connection.

With Cluster Mode: "postgresql://postgres:postgres\@127.0.0.1:5433?load\_balance=true"<br>

With Cluster Mode + No SSL: "postgresql://postgres:postgres\@127.0.0.1:5433?sslmode=disable\&load\_balance=true"
{% endhint %}

5. Once `boostd-data` service starts, it will throw the below error and quit the process

{% code overflow="wrap" %}

```
The database needs to be migrated. Run `boostd-data run yugabyte-migrate`
```

{% endcode %}

6. If you do not see the above error and process does not exit, then you do not require a migration. At this point, please skip to step 9.
7. Run the one time migration.

{% code overflow="wrap" %}

```
boostd-data run yugabyte-migrate --hosts <HOSTS> --connect-string <CONNECT-STRING> --miner-address <MinerID of connected miner>
```

{% endcode %}

{% hint style="info" %}
Please ensure to use the minerID of already connected miner. Other miners can only be connected once the migration is complete.
{% endhint %}

8. Once the migration is finished (few seconds to 2 minutes), SPs using systemd to maintain `boostd-data` service should also update their `connect-string` in the systemd service files.
9. Start the `boostd-data` process (or service) and start your `boostd` instance. Go to the UI and confirm that you can see your minerID on the top left side of the page and the LID page is being populated correctly.
10. Start `booster-http` and `booster-bitswap` services.
11. If you wish to connected other miners to the upgraded LID service, then please follow the [migration guide for each miner](/tutorials/how-to-migrate-boost-v1-to-boost-v2.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://boost.filecoin.io/tutorials/how-to-upgrade-from-v2.0.0-to-v2.1.0.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
