Skip to content

Commit

Permalink
Minor updates to v2 post
Browse files Browse the repository at this point in the history
  • Loading branch information
dennisreimann committed Nov 2, 2024
1 parent a2c55e1 commit 50c1587
Showing 1 changed file with 34 additions and 27 deletions.
61 changes: 34 additions & 27 deletions blog/_posts/btcpay-server-2-0.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ tags:
coverImage: "/images/btcpay2-0-featured.png"
---

We are thrilled to announce the release of **BTCPay Server 2.0**, our most significant update since the project began in 2017!
We are thrilled to announce the release of **BTCPay Server 2.0**, our most significant update since the project began in 2017!

This version is packed with new features, bug fixes, and crucial backend updates designed to set a solid foundation for the future and make BTCPay more powerful than ever before.

Expand All @@ -29,34 +29,40 @@ BTCPay Server 2.0 realigns the internal architecture with the lessons we’ve le
Full changelog can be found [here](https://github.com/btcpayserver/btcpayserver/releases/tag/v2.0.0).

## ⚠️ 2.0 breaking changes
With BTCPay Server 2.0, we’re introducing breaking changes in our API that allow us to get rid of technical debt that accumulated over the years. While these changes are necessary to future-proof BTCPay and enable exciting new features, we understand that they may affect some users.

For most, the transition to 2.0 will be seamless, but if you rely on **custom integrations or plugins**, you will need to update them to ensure compatibility with our 2.0 API.
With BTCPay Server 2.0, we’re introducing breaking changes in our API that allow us to get rid of technical debt that accumulated over the years. While these changes are necessary to future-proof BTCPay and enable exciting new features, we understand that they may affect some users.

For most, the transition to 2.0 will be seamless, but if you rely on **custom integrations or plugins**, you will need to update them to ensure compatibility with our 2.0 API.

We’ve done our best to make this process as straightforward as possible, and we strongly recommend updating your integrations immediately after the BTCPay Server update. If you're unsure whether these changes will impact you, please check our [breaking changes documentation](https://github.com/btcpayserver/btcpayserver/issues/5964) for detailed guidance.

BTCPay Server started in 2017, and over the past seven years, we’ve learned a lot as a community. New protocols have emerged, and users have continuously requested new features. Throughout this journey, our main challenge in product development has been to move slowly and steadily, ensuring we avoid breaking changes for our users. Stability is critical because it allows merchants to focus on running their businesses without worrying about infrastructure or payment integrations.
BTCPay Server started in 2017, and over the past seven years, we’ve learned a lot as a community. New protocols have emerged, and users have continuously requested new features. Throughout this journey, our main challenge in product development has been to move slowly and steadily, ensuring we avoid breaking changes for our users. Stability is critical because it allows merchants to focus on running their businesses without worrying about infrastructure or payment integrations.

Commitment to stability meant that BTCPay evolved organically, always maintaining backward compatibility. While this benefits users, it has placed increasing pressure on our developers and plugin creators, making it harder and slower to meet new expectations, a challenge known as the "technical debt tax"; that we will now eliminate.

During the transition from 1.0 to 2.0, larger instances may experience **a few minutes of database migration**. Once this initial migration is complete, BTCPay will be fully operational, though it will continue migrating some data in the background. For instance, some invoices may not immediately appear in reports or searches, but newer data is migrated first, so we expect minimal disruption.
During the transition from 1.0 to 2.0, larger instances may experience **a few minutes of database migration**. Once this initial migration is complete, BTCPay will be fully operational, though it will continue migrating some data in the background. For instance, some invoices may not immediately appear in reports or searches, but newer data is migrated first, so we expect minimal disruption.

As an example, our mainnet demo database, containing around 400,000 invoices, took one to two minutes to start and about 15-20 minutes to fully update all invoices in the background.

## 🔄 Updating to 2.0

Updating to BTCPay Server 2.0 is a one-way process with no option for rolling back. Because of that, we're making it opt-in, requiring that you [SSH into your server](https://docs.btcpayserver.org/FAQ/ServerSettings/#how-to-ssh-into-my-btcpay-running-on-vps) and run:

```ssh
git fetch
```bash
cd $BTCPAY_BASE_DIRECTORY/btcpayserver-docker
git fetch -a
git checkout 2.0
btcpay-update.sh
./btcpay-update.sh
```

Please note that the database migration might take a few minutes, depending on the size of your installation. Enjoy BTCPay 2.0 and [let us know your thoughts](https://github.com/btcpayserver/btcpayserver/discussions/6294)!

### ✔ Post-update checklist

- If your server **crashed** during the update (it shouldn’t, we’ve done extensive testing), please post server logs [here](https://github.com/btcpayserver/btcpayserver/discussions/6296), we will prioritize support for instances that experienced problems during migration
- If you use **plugins in BTCPay**, not all of them are 2.0 compatible yet. We automatically deactivate the incompatible plugins (communicate this to a plugin dev and kindly ask them to update their plugins, once they’re compatible you can update them)
- If you use **e-commerce integrations** (Woocommerce, Shopify, etc) update those plugins to their latest version in their dedicated stores as they ensure 2.0 compatibility
- If you’re a **developer** leveraging BTCPay’s Greenfield API, check our [breaking changes](https://github.com/btcpayserver/btcpayserver/issues/5964) to ensure 2.0 compatibility
- If you’re a **developer** leveraging BTCPay’s Greenfield API, check our [breaking changes](https://github.com/btcpayserver/btcpayserver/issues/5964) to ensure 2.0 compatibility
- If you’re a **plugin developer**, make sure your plugins are 2.0 compatible. To start, bump plugin to 2.0 submodule and fix errors
- If you’re using **Translations**, report any missing strings [here](https://github.com/btcpayserver/btcpayserver/discussions/6295)

Expand All @@ -66,15 +72,15 @@ BTCPay 2.0 introduces a **full interface translation**. While customer-facing pa

If you come across any missing strings, please report them [here](https://github.com/btcpayserver/btcpayserver/discussions/6295). We’ll continue to refine and complete all translations in the next few minor releases, and we’re adding several predefined languages to further enhance your experience.

![](/images/2-0-Translation.png)
![Interface localization](/images/2-0-Translation.png)

## 🧭 New sidebar navigation

In BTCPay Server 2.0, we have moved all navigation elements into a **unified sidebar**. This redesign ensures a clear information hierarchy and provides consistency when navigating different pages, allowing us to standardize all call-to-action buttons by keeping them prominently accessible at the top of the page.
In BTCPay Server 2.0, we have moved all navigation elements into a **unified sidebar**. This redesign ensures a clear information hierarchy and provides consistency when navigating different pages, allowing us to standardize all call-to-action buttons by keeping them prominently accessible at the top of the page.

We understand that navigational changes can be sensitive and may require an adjustment period. However, feedback from our early beta testers suggests that the new sidebar navigation improves efficiency once you become familiar with it.

![](/images/2-0-SidebarNav.png)
![New sidebar navigation](/images/2-0-SidebarNav.png)

We value your input and invite you to share your thoughts on this new feature [here](https://github.com/btcpayserver/btcpayserver/discussions/6293).

Expand All @@ -84,11 +90,11 @@ As part of our [mission](https://blog.btcpayserver.org/bitcoin-2024-the-year-of-

Additionally, users can now upload a profile photo and set a nickname for their accounts, adding a personal touch to the whole experience. We’re not adding these just for fun, we plan to leverage them in our upcoming BTCPay App.

## 🛍️ Point of sale QR onboarding
## 🛍️ Point of sale QR onboarding

Our recent testing of BTCPay Point of Sale in [Riga](https://blog.btcpayserver.org/case-study-bhb24-nostriga/) and [Nashville](https://x.com/BtcpayServer/status/1816205569612804267) allowed us to dog food our own product and make further improvements. With 2.0 you can now even easier onboard existing users to the POS app, again just by scanning a QR from the point of sale. This allows ambassadors who onboard merchants to log in users instantly on POS devices.

![](/images/2-0-POS-QR.gif)
![Point of sale QR onboarding](/images/2-0-POS-QR.gif)

## 🚀 Checkout 2.0 default

Expand All @@ -98,7 +104,7 @@ In 2.0 we’re discontinuing our legacy checkout page and our new checkout becom

We believe branding your instance should give you the ability to customize the experience, with just the ability to select a color or a logo. And while this applies to all public-facing pages, such as checkout and payment requests for customers, we’ve now added an optional feature that allows you to apply your branding colors to the back office as well.

![](/images/2-0-Branding.png)
![Backend branding](/images/2-0-Branding.png)

## 🛒 New e-commerce integrations

Expand All @@ -114,37 +120,37 @@ These integrations offer enhanced flexibility and an easy way for businesses to

Wix is one of the world’s largest website-building platforms, powering over 200 million websites globally. Known for its ease of use and flexibility, Wix enables businesses of all sizes to create fully customizable websites, including e-commerce stores. With our new BTCPay integration, Wix users can now accept Bitcoin payments, offering their customers more payment options and expanding their reach to the growing Bitcoin economy. This integration is a game-changer for small to medium-sized businesses looking to embrace Bitcoin, bringing it into the mainstream for millions of merchants worldwide.

[![](https://img.youtube.com/vi/4b00htzxA7k/mqdefault.jpg)](https://www.youtube.com/watch?v=4b00htzxA7k)
[![Wix Integration for BTCPay Server](https://img.youtube.com/vi/4b00htzxA7k/mqdefault.jpg)](https://www.youtube.com/watch?v=4b00htzxA7k)

Follow our [Wix setup guide](https://docs.btcpayserver.org/Wix/) to install it to your Wix store.

### Odoo

Odoo, an open-source business management software with a vast user base, is a comprehensive suite that covers everything from inventory management, point of sale to e-commerce. Our new plugin for Odoo versions [16](https://github.com/btcpayserver/odoo/blob/16.0/payment_btcpayserver/README.md) and [17](https://apps.odoo.com/apps/modules/17.0/payment_btcpayserver) allows you to easily connect BTCPay with your Odoo store, enabling Bitcoin payments with minimal setup. You can even use it for ticket sales or any other module using online payment methods. It’s even possible to use it in Odoo Point Of Sale (PoS) by enabling online payments there.

[![](https://img.youtube.com/vi/DnASnEdegn4/mqdefault.jpg)](https://www.youtube.com/watch?v=DnASnEdegn4)
[![Odoo Integration for BTCPay Server](https://img.youtube.com/vi/DnASnEdegn4/mqdefault.jpg)](https://www.youtube.com/watch?v=DnASnEdegn4)

Get started by downloading the [plugin on GitHub](https://github.com/btcpayserver/odoo) and following our [Odoo documentation](https://docs.btcpayserver.org/Odoo/).

### BigCommerce
### BigCommerce

BigCommerce is a leading e-commerce platform designed for scalability and focused on enterprise-level merchants. We’re bringing Bitcoin payments to BigCommerce users with our latest integration.
BigCommerce is a leading e-commerce platform designed for scalability and focused on enterprise-level merchants. We’re bringing Bitcoin payments to BigCommerce users with our latest integration.

[![](https://img.youtube.com/vi/lSsk80P91Jo/mqdefault.jpg)](https://www.youtube.com/watch?v=lSsk80P91Jo)
[![BigCommerce Integration for BTCPay Server](https://img.youtube.com/vi/lSsk80P91Jo/mqdefault.jpg)](https://www.youtube.com/watch?v=lSsk80P91Jo)

To start accepting Bitcoin for your BigCommerce store, check our [documentation](https://docs.btcpayserver.org/BigCommerce/).
To start accepting Bitcoin for your BigCommerce store, check our [documentation](https://docs.btcpayserver.org/BigCommerce/).

### Other integration updates

We’ve done extensive tests for all of our ecommerce integrations. Kudos to our integration expert **Ndeet** for conducting comprehensive hard field work, [testing](https://docs.google.com/spreadsheets/d/1nfrZhchAm7AIk1dTvSSnFvnHdJ8con8XvJQqQ29khA4/edit?gid=0#gid=0) each and every one of them.
We’ve done extensive tests for all of our ecommerce integrations. Kudos to our integration expert **Ndeet** for conducting comprehensive hard field work, [testing](https://docs.google.com/spreadsheets/d/1nfrZhchAm7AIk1dTvSSnFvnHdJ8con8XvJQqQ29khA4/edit?gid=0#gid=0) each and every one of them.

**All of our official e-commerce integrations are 2.0 compatible.**

However, if you face issues with 2.0 and any official e-commerce integration, please [report it here](https://github.com/btcpayserver/btcpayserver/discussions/6300), and we’ll prioritize those reports. We continue to monitor feedback from the community and ensure existing integrations stay up-to-date.
However, if you face issues with 2.0 and any official e-commerce integration, please [report it here](https://github.com/btcpayserver/btcpayserver/discussions/6300), and we’ll prioritize those reports. We continue to monitor feedback from the community and ensure existing integrations stay up-to-date.

If you're using our **Shopify** plugin, rest assured that it’s not impacted by recent API changes, and you can continue to use it without issues. We’re aware of Shopify discounting certain API calls at the end of this year, and we’re already working on shipping a brand new plugin before that happens.

Additionally, our **PrestaShop** plugin received a [new update](https://github.com/btcpayserver/prestashop-plugin/releases/), thanks to our contributor BitcoinMitchell, and the PHP Library has been updated to be [compatible with BTCPay 2.0](https://github.com/btcpayserver/btcpayserver-greenfield-php/releases) as well.
Additionally, our **PrestaShop** plugin received a [new update](https://github.com/btcpayserver/prestashop-plugin/releases/), thanks to our contributor BitcoinMitchell, and the PHP Library has been updated to be [compatible with BTCPay 2.0](https://github.com/btcpayserver/btcpayserver-greenfield-php/releases) as well.

## 🔌 Plugins

Expand All @@ -156,19 +162,20 @@ Currently, maintaining multiple versions of a plugin (for example, one branch fo

We strongly urge all developers to prioritize upgrading to version 2.0.

### List of currently incompatible plugins
### List of currently incompatible plugins

List of currently incompatible plugins, at the time of publishing this blog post, **all other plugins are 2.0 compatible**.
List of currently incompatible plugins, at the time of publishing this blog post, **all other plugins are 2.0 compatible**.

- BTCPayServer.Plugins.Strike (1.3.2.0)
- BTCPayServer.Plugins.B2PCentral (1.0.1.0)
- BTCPayServer.Plugins.Trocador (1.2.5.0)

## 💚 Thank you

With 2.0 we wanted to do all the hard work, most of which may be invisible, but it sets a great base on what we’re aiming to do in 2025. Keep an eye on the upcoming minor releases that we’ll ship if we notice any bugs. In the next few big releases we’re hoping to ship some of the most requested features that further enhance our mission.

Super-special shout out goes to our community testers, who went beyond and above testing the 2.0: decentralizedb, djuri, j7tx21 & stc786.

We hope you enjoy what this update has to offer. As always, thank you to our invaluable contributors, who directly participated in making 2.0 possible: dennisreimann, dstrukt, jackstar12, kukks, ndeet, nicolasdorier, nisaba, pavlenex, rockstardev, tchukwuleta, and webworthy.

The BTCPay Server team 💚
The BTCPay Server team 💚

0 comments on commit 50c1587

Please sign in to comment.