diff -pruN 19.0.0+ds1-2/appveyor.yml 20.2.0+ds1-1/appveyor.yml
--- 19.0.0+ds1-2/appveyor.yml	2021-09-19 08:33:29.000000000 +0000
+++ 20.2.0+ds1-1/appveyor.yml	2022-01-01 18:38:39.000000000 +0000
@@ -23,7 +23,7 @@ environment:
 
 build_script:
   - cd ..
-  - git clone --branch Matrix --depth=1 https://github.com/xbmc/xbmc.git
+  - git clone --branch master --depth=1 https://github.com/xbmc/xbmc.git
   - cd %app_id%
   - mkdir build
   - cd build
diff -pruN 19.0.0+ds1-2/debian/changelog 20.2.0+ds1-1/debian/changelog
--- 19.0.0+ds1-2/debian/changelog	2022-03-21 17:50:47.000000000 +0000
+++ 20.2.0+ds1-1/debian/changelog	2022-08-04 09:56:47.000000000 +0000
@@ -1,3 +1,10 @@
+kodi-pvr-octonet (20.2.0+ds1-1) unstable; urgency=medium
+
+  * New upstream version 20.2.0+ds1
+  * Prepare for v20 in unstable
+
+ -- Vasyl Gello <vasek.gello@gmail.com>  Thu, 04 Aug 2022 09:56:47 +0000
+
 kodi-pvr-octonet (19.0.0+ds1-2) unstable; urgency=medium
 
   * Modernize package
diff -pruN 19.0.0+ds1-2/debian/control 20.2.0+ds1-1/debian/control
--- 19.0.0+ds1-2/debian/control	2022-03-21 17:50:47.000000000 +0000
+++ 20.2.0+ds1-1/debian/control	2022-08-04 09:56:47.000000000 +0000
@@ -4,10 +4,10 @@ Section: libs
 Maintainer: Debian Multimedia Maintainers <debian-multimedia@lists.debian.org>
 Uploaders: Vasyl Gello <vasek.gello@gmail.com>
 Build-Depends: debhelper-compat (= 13)
-Build-Depends-Arch: dh-sequence-kodiaddon (>= 2:19~),
+Build-Depends-Arch: dh-sequence-kodiaddon (>= 2:20~),
                cmake,
                libjsoncpp-dev
-Standards-Version: 4.6.0
+Standards-Version: 4.6.1
 Rules-Requires-Root: no
 Vcs-Browser: https://salsa.debian.org/multimedia-team/kodi-media-center/kodi-pvr-octonet
 Vcs-Git: https://salsa.debian.org/multimedia-team/kodi-media-center/kodi-pvr-octonet.git
diff -pruN 19.0.0+ds1-2/debian/copyright 20.2.0+ds1-1/debian/copyright
--- 19.0.0+ds1-2/debian/copyright	2021-01-20 08:00:23.000000000 +0000
+++ 20.2.0+ds1-1/debian/copyright	2022-08-04 09:56:47.000000000 +0000
@@ -7,11 +7,11 @@ Files: *
 Copyright: 2015-2016 Julian Scheel
            2015-2016 jusst technologies GmbH
            2015 Digital Devices GmbH
-           2005-2021 Team Kodi
+           2005-2022 Team Kodi
 License: GPL-2+
 
 Files: debian/*
-Copyright: 2020-2021 Vasyl Gello <vasek.gello@gmail.com>
+Copyright: 2020-2022 Vasyl Gello <vasek.gello@gmail.com>
 License: GPL-2+
 
 License: GPL-2+
diff -pruN 19.0.0+ds1-2/debian/watch 20.2.0+ds1-1/debian/watch
--- 19.0.0+ds1-2/debian/watch	2021-08-26 10:33:39.000000000 +0000
+++ 20.2.0+ds1-1/debian/watch	2022-08-04 09:56:47.000000000 +0000
@@ -5,4 +5,4 @@ opts="repack, \
       repacksuffix=+ds1, \
       dversionmangle=auto" \
 https://github.com/DigitalDevices/pvr.octonet/releases \
-/DigitalDevices/pvr.octonet/archive/refs/tags/?(\d\S*)-Matrix\.tar\.gz
+/DigitalDevices/pvr.octonet/archive/refs/tags/?(\d\S*)-Nexus\.tar\.gz
diff -pruN 19.0.0+ds1-2/.github/workflows/build.yml 20.2.0+ds1-1/.github/workflows/build.yml
--- 19.0.0+ds1-2/.github/workflows/build.yml	2021-09-19 08:33:29.000000000 +0000
+++ 20.2.0+ds1-1/.github/workflows/build.yml	2022-01-01 18:38:39.000000000 +0000
@@ -27,14 +27,14 @@ jobs:
       env:
         DEBIAN_BUILD: ${{ matrix.DEBIAN_BUILD }}
       run: |
-        if [[ $DEBIAN_BUILD == true ]]; then sudo add-apt-repository -y ppa:team-xbmc/ppa; fi
+        if [[ $DEBIAN_BUILD == true ]]; then sudo add-apt-repository -y ppa:team-xbmc/xbmc-nightly; fi
         if [[ $DEBIAN_BUILD == true ]]; then sudo apt-get update; fi
         if [[ $DEBIAN_BUILD == true ]]; then sudo apt-get install fakeroot; fi
     - name: Checkout Kodi repo
       uses: actions/checkout@v2
       with:
         repository: xbmc/xbmc
-        ref: Matrix
+        ref: master
         path: xbmc
     - name: Checkout pvr.argustv repo
       uses: actions/checkout@v2
@@ -48,7 +48,7 @@ jobs:
       run: |
         if [[ $DEBIAN_BUILD != true ]]; then cd ${app_id} && mkdir -p build && cd build; fi
         if [[ $DEBIAN_BUILD != true ]]; then cmake -DADDONS_TO_BUILD=${app_id} -DADDON_SRC_PREFIX=${{ github.workspace }} -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/xbmc/addons -DPACKAGE_ZIP=1 ${{ github.workspace }}/xbmc/cmake/addons; fi
-        if [[ $DEBIAN_BUILD == true ]]; then wget https://raw.githubusercontent.com/xbmc/xbmc/Matrix/xbmc/addons/kodi-dev-kit/tools/debian-addon-package-test.sh && chmod +x ./debian-addon-package-test.sh; fi
+        if [[ $DEBIAN_BUILD == true ]]; then wget https://raw.githubusercontent.com/xbmc/xbmc/master/xbmc/addons/kodi-dev-kit/tools/debian-addon-package-test.sh && chmod +x ./debian-addon-package-test.sh; fi
         if [[ $DEBIAN_BUILD == true ]]; then sudo apt-get build-dep ${{ github.workspace }}/${app_id}; fi
     - name: Build
       env:
diff -pruN 19.0.0+ds1-2/.github/workflows/changelog-and-release.yml 20.2.0+ds1-1/.github/workflows/changelog-and-release.yml
--- 19.0.0+ds1-2/.github/workflows/changelog-and-release.yml	2021-09-19 08:33:29.000000000 +0000
+++ 20.2.0+ds1-1/.github/workflows/changelog-and-release.yml	2022-01-01 18:38:39.000000000 +0000
@@ -133,7 +133,7 @@ jobs:
         shell: bash
 
       # Create a release at {steps.required-variables.outputs.branch}
-      # - tag and release name format: {steps.required-variables.outputs.version}-{steps.required-variables.outputs.branch} ie. 1.0.0-Matrix
+      # - tag and release name format: {steps.required-variables.outputs.version}-{steps.required-variables.outputs.branch} ie. 20.0.0-Nexus
       # - release body: {steps.required-variables.outputs.changes}
       - name: Create Release
         id: create-release
diff -pruN 19.0.0+ds1-2/.github/workflows/release.yml 20.2.0+ds1-1/.github/workflows/release.yml
--- 19.0.0+ds1-2/.github/workflows/release.yml	2021-09-19 08:33:29.000000000 +0000
+++ 20.2.0+ds1-1/.github/workflows/release.yml	2022-01-01 18:38:39.000000000 +0000
@@ -50,7 +50,7 @@ jobs:
         working-directory: ${{ github.event.repository.name }}
 
       # Create a release at {steps.required-variables.outputs.branch}
-      # - tag and release name format: {steps.required-variables.outputs.version}-{steps.required-variables.outputs.branch} ie. 1.0.0-Matrix
+      # - tag and release name format: {steps.required-variables.outputs.version}-{steps.required-variables.outputs.branch} ie. 20.0.0-Nexus
       # - release body: {steps.required-variables.outputs.changes}
       - name: Create Release
         id: create-release
diff -pruN 19.0.0+ds1-2/Jenkinsfile 20.2.0+ds1-1/Jenkinsfile
--- 19.0.0+ds1-2/Jenkinsfile	2021-09-19 08:33:29.000000000 +0000
+++ 20.2.0+ds1-1/Jenkinsfile	2022-01-01 18:38:39.000000000 +0000
@@ -1 +1 @@
-buildPlugin(version: "Matrix")
+buildPlugin(version: "Nexus")
diff -pruN 19.0.0+ds1-2/pvr.octonet/addon.xml.in 20.2.0+ds1-1/pvr.octonet/addon.xml.in
--- 19.0.0+ds1-2/pvr.octonet/addon.xml.in	2021-09-19 08:33:29.000000000 +0000
+++ 20.2.0+ds1-1/pvr.octonet/addon.xml.in	2022-01-01 18:38:39.000000000 +0000
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <addon
   id="pvr.octonet"
-  version="19.0.0"
+  version="20.2.0"
   name="Digital Devices Octopus NET Client"
   provider-name="digitaldevices">
   <requires>@ADDON_DEPENDS@</requires>
diff -pruN 19.0.0+ds1-2/README.md 20.2.0+ds1-1/README.md
--- 19.0.0+ds1-2/README.md	2021-09-19 08:33:29.000000000 +0000
+++ 20.2.0+ds1-1/README.md	2022-01-01 18:38:39.000000000 +0000
@@ -3,7 +3,7 @@ Digital Devices [Octonet](http://www.dig
 
 | Platform | Status |
 |----------|--------|
-| Linux + OS X (github) | [![Build and run tests](https://github.com/kodi-pvr/pvr.octonet/actions/workflows/build.yml/badge.svg?branch=Matrix)](https://github.com/kodi-pvr/pvr.octonet/actions/workflows/build.yml) |
+| Linux + OS X (github) | [![Build and run tests](https://github.com/kodi-pvr/pvr.octonet/actions/workflows/build.yml/badge.svg?branch=Nexus)](https://github.com/kodi-pvr/pvr.octonet/actions/workflows/build.yml) |
 | Windows (AppVeyor) | [![Build status](https://ci.appveyor.com/api/projects/status/m7dhmpmuf5coir5h?svg=true)](https://ci.appveyor.com/project/julianscheel/pvr-octonet) |
 
 # Building
@@ -14,13 +14,13 @@ adjusted according to your OS (`/` vs `\
 Clone the `pvr.octonet` repository:
 
 ```
-$ git clone --branch Matrix https://github.com/DigitalDevices/pvr.octonet.git
+$ git clone https://github.com/DigitalDevices/pvr.octonet.git
 ```
 
 Clone the Kodi repository:
 
 ```
-$ git clone --branch Matrix https://github.com/xbmc/xbmc.git
+$ git clone --branch master https://github.com/xbmc/xbmc.git
 ```
 
 ```
diff -pruN 19.0.0+ds1-2/src/addon.cpp 20.2.0+ds1-1/src/addon.cpp
--- 19.0.0+ds1-2/src/addon.cpp	2021-09-19 08:33:29.000000000 +0000
+++ 20.2.0+ds1-1/src/addon.cpp	2022-01-01 18:38:39.000000000 +0000
@@ -13,45 +13,41 @@
 #include "OctonetData.h"
 
 ADDON_STATUS COctonetAddon::SetSetting(const std::string& settingName,
-                                       const kodi::CSettingValue& settingValue)
+                                       const kodi::addon::CSettingValue& settingValue)
 {
   /* For simplicity do a full addon restart whenever settings are
    * changed */
   return ADDON_STATUS_NEED_RESTART;
 }
 
-ADDON_STATUS COctonetAddon::CreateInstance(int instanceType,
-                                           const std::string& instanceID,
-                                           KODI_HANDLE instance,
-                                           const std::string& version,
-                                           KODI_HANDLE& addonInstance)
+ADDON_STATUS COctonetAddon::CreateInstance(const kodi::addon::IInstanceInfo& instance,
+                                           KODI_ADDON_INSTANCE_HDL& hdl)
 {
-  if (instanceType == ADDON_INSTANCE_PVR)
+  if (instance.IsType(ADDON_INSTANCE_PVR))
   {
     kodi::Log(ADDON_LOG_DEBUG, "%s: Creating octonet pvr instance", __func__);
 
     /* IP or hostname of the octonet to be connected to */
-    std::string octonetAddress = kodi::GetSettingString("octonetAddress");
+    std::string octonetAddress = kodi::addon::GetSettingString("octonetAddress");
 
-    OctonetData* usedInstance = new OctonetData(octonetAddress, instance, version);
-    addonInstance = usedInstance;
+    OctonetData* usedInstance = new OctonetData(octonetAddress, instance);
+    hdl = usedInstance;
 
-    m_usedInstances.emplace(instanceID, usedInstance);
+    m_usedInstances.emplace(instance.GetID(), usedInstance);
     return ADDON_STATUS_OK;
   }
 
   return ADDON_STATUS_UNKNOWN;
 }
 
-void COctonetAddon::DestroyInstance(int instanceType,
-                                    const std::string& instanceID,
-                                    KODI_HANDLE addonInstance)
+void COctonetAddon::DestroyInstance(const kodi::addon::IInstanceInfo& instance,
+                                    const KODI_ADDON_INSTANCE_HDL hdl)
 {
-  if (instanceType == ADDON_INSTANCE_PVR)
+  if (instance.IsType(ADDON_INSTANCE_PVR))
   {
     kodi::Log(ADDON_LOG_DEBUG, "%s: Destoying octonet pvr instance", __func__);
 
-    const auto& it = m_usedInstances.find(instanceID);
+    const auto& it = m_usedInstances.find(instance.GetID());
     if (it != m_usedInstances.end())
     {
       m_usedInstances.erase(it);
diff -pruN 19.0.0+ds1-2/src/addon.h 20.2.0+ds1-1/src/addon.h
--- 19.0.0+ds1-2/src/addon.h	2021-09-19 08:33:29.000000000 +0000
+++ 20.2.0+ds1-1/src/addon.h	2022-01-01 18:38:39.000000000 +0000
@@ -15,21 +15,17 @@
 
 class OctonetData;
 
-class ATTRIBUTE_HIDDEN COctonetAddon : public kodi::addon::CAddonBase
+class ATTR_DLL_LOCAL COctonetAddon : public kodi::addon::CAddonBase
 {
 public:
   COctonetAddon() = default;
 
   ADDON_STATUS SetSetting(const std::string& settingName,
-                          const kodi::CSettingValue& settingValue) override;
-  ADDON_STATUS CreateInstance(int instanceType,
-                              const std::string& instanceID,
-                              KODI_HANDLE instance,
-                              const std::string& version,
-                              KODI_HANDLE& addonInstance) override;
-  void DestroyInstance(int instanceType,
-                       const std::string& instanceID,
-                       KODI_HANDLE addonInstance) override;
+                          const kodi::addon::CSettingValue& settingValue) override;
+  ADDON_STATUS CreateInstance(const kodi::addon::IInstanceInfo& instance,
+                              KODI_ADDON_INSTANCE_HDL& hdl) override;
+  void DestroyInstance(const kodi::addon::IInstanceInfo& instance,
+                       const KODI_ADDON_INSTANCE_HDL hdl) override;
 
 private:
   std::unordered_map<std::string, OctonetData*> m_usedInstances;
diff -pruN 19.0.0+ds1-2/src/OctonetData.cpp 20.2.0+ds1-1/src/OctonetData.cpp
--- 19.0.0+ds1-2/src/OctonetData.cpp	2021-09-19 08:33:29.000000000 +0000
+++ 20.2.0+ds1-1/src/OctonetData.cpp	2022-01-01 18:38:39.000000000 +0000
@@ -23,9 +23,8 @@
 #endif
 
 OctonetData::OctonetData(const std::string& octonetAddress,
-                         KODI_HANDLE instance,
-                         const std::string& kodiVersion)
-  : kodi::addon::CInstancePVRClient(instance, kodiVersion)
+                         const kodi::addon::IInstanceInfo& instance)
+  : kodi::addon::CInstancePVRClient(instance)
 {
   m_serverAddress = octonetAddress;
   m_channels.clear();
@@ -33,7 +32,7 @@ OctonetData::OctonetData(const std::stri
   m_lastEpgLoad = 0;
 
   if (!LoadChannelList())
-    kodi::QueueFormattedNotification(QUEUE_ERROR, kodi::GetLocalizedString(30001).c_str(),
+    kodi::QueueFormattedNotification(QUEUE_ERROR, kodi::addon::GetLocalizedString(30001).c_str(),
                                      m_channels.size());
 
   /*
diff -pruN 19.0.0+ds1-2/src/OctonetData.h 20.2.0+ds1-1/src/OctonetData.h
--- 19.0.0+ds1-2/src/OctonetData.h	2021-09-19 08:33:29.000000000 +0000
+++ 20.2.0+ds1-1/src/OctonetData.h	2022-01-01 18:38:39.000000000 +0000
@@ -43,12 +43,11 @@ struct OctonetGroup
   std::vector<int> members;
 };
 
-class ATTRIBUTE_HIDDEN OctonetData : public kodi::addon::CInstancePVRClient
+class ATTR_DLL_LOCAL OctonetData : public kodi::addon::CInstancePVRClient
 {
 public:
   OctonetData(const std::string& octonetAddress,
-              KODI_HANDLE instance,
-              const std::string& kodiVersion);
+              const kodi::addon::IInstanceInfo& instance);
   ~OctonetData() override;
 
   PVR_ERROR GetCapabilities(kodi::addon::PVRCapabilities& capabilities) override;
diff -pruN 19.0.0+ds1-2/.travis.yml 20.2.0+ds1-1/.travis.yml
--- 19.0.0+ds1-2/.travis.yml	2021-09-19 08:33:29.000000000 +0000
+++ 20.2.0+ds1-1/.travis.yml	2022-01-01 18:38:39.000000000 +0000
@@ -31,7 +31,7 @@ matrix:
       osx_image: xcode10.2
 
 before_install:
-  - if [[ $DEBIAN_BUILD == true ]]; then sudo add-apt-repository -y ppa:team-xbmc/ppa; fi
+  - if [[ $DEBIAN_BUILD == true ]]; then sudo add-apt-repository -y ppa:team-xbmc/xbmc-nightly; fi
   - if [[ $DEBIAN_BUILD == true ]]; then sudo apt-get update; fi
   - if [[ $DEBIAN_BUILD == true ]]; then sudo apt-get install fakeroot; fi
 
@@ -41,12 +41,12 @@ before_install:
 #
 before_script:
   - if [[ $DEBIAN_BUILD != true ]]; then cd $TRAVIS_BUILD_DIR/..; fi
-  - if [[ $DEBIAN_BUILD != true ]]; then git clone --branch Matrix --depth=1 https://github.com/xbmc/xbmc.git; fi
+  - if [[ $DEBIAN_BUILD != true ]]; then git clone --branch master --depth=1 https://github.com/xbmc/xbmc.git; fi
   - if [[ $DEBIAN_BUILD != true ]]; then cd ${app_id} && mkdir build && cd build; fi
   - if [[ $DEBIAN_BUILD != true ]]; then mkdir -p definition/${app_id}; fi
   - if [[ $DEBIAN_BUILD != true ]]; then echo ${app_id} $TRAVIS_BUILD_DIR $TRAVIS_COMMIT > definition/${app_id}/${app_id}.txt; fi
   - if [[ $DEBIAN_BUILD != true ]]; then cmake -DADDONS_TO_BUILD=${app_id} -DADDON_SRC_PREFIX=$TRAVIS_BUILD_DIR/.. -DADDONS_DEFINITION_DIR=$TRAVIS_BUILD_DIR/build/definition -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=$TRAVIS_BUILD_DIR/../xbmc/addons -DPACKAGE_ZIP=1 $TRAVIS_BUILD_DIR/../xbmc/cmake/addons; fi
-  - if [[ $DEBIAN_BUILD == true ]]; then wget https://raw.githubusercontent.com/xbmc/xbmc/Matrix/xbmc/addons/kodi-dev-kit/tools/debian-addon-package-test.sh && chmod +x ./debian-addon-package-test.sh; fi
+  - if [[ $DEBIAN_BUILD == true ]]; then wget https://raw.githubusercontent.com/xbmc/xbmc/master/xbmc/addons/kodi-dev-kit/tools/debian-addon-package-test.sh && chmod +x ./debian-addon-package-test.sh; fi
   - if [[ $DEBIAN_BUILD == true ]]; then sudo apt-get build-dep $TRAVIS_BUILD_DIR; fi
 
 script: 
