diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d08679faf5e3a5d31dc748c9707717e38421ef28_LmdpdGxhYi1jaS55bWw=..ce19743863e74c8266e45c97be82654b32dd8b82_LmdpdGxhYi1jaS55bWw= 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -8,6 +8,15 @@
 
 variables:
   HTML_DOC_SOURCES: doc/_build/html
+  TEMP_IMAGE_BASENAME: registry.xcg.io/ci/$CI_PROJECT_PATH_SLUG
+  # do not use $TEMP_IMAGE_BASENAME, it will not be correctly replaced by GitLab
+  TEMP_IMAGE: registry.xcg.io/ci/$CI_PROJECT_PATH_SLUG:hg-$CI_COMMIT_HG_SHA
+
+build-docker-image:
+  needs: []
+  stage: build
+  script:
+  - DOCKER_IMAGE=$TEMP_IMAGE_BASENAME docker-build
 
 import_jsonrpc_odoo11_test:
   stage: test
@@ -70,8 +79,9 @@
     ODOO_TYPE: odoo13
   allow_failure: true
 
-build-docker-image:
-  needs: []
-  variables:
-    TAG_LATEST: branch/default
+docker_build_copy_test:
+  needs:
+  - job: build-docker-image
+  stage: test
+  image: $TEMP_IMAGE
   script:
@@ -77,5 +87,5 @@
   script:
-  - DOCKER_IMAGE=registry.xcg.io/xcgd/odoo_scripts docker-build
-  - DOCKER_BASE_IMAGE_NAME=registry.xcg.io/xcgd/odoo_scripts DOCKER_IMAGE=xcgd/odoo_scripts docker-tag
+  - docker_build_copy
+  - docker_build_clean
 
 build-documentation:
@@ -80,10 +90,12 @@
 
 build-documentation:
-  stage: build
-  needs: []
-  image: python:3.8-alpine
+  # done in test stage to be able to use the built image
+  stage: test
+  needs:
+  - job: build-docker-image
+  image: $TEMP_IMAGE
   artifacts:
     paths:
     - doc/_build
     expire_in: 10m
   script:
@@ -85,11 +97,9 @@
   artifacts:
     paths:
     - doc/_build
     expire_in: 10m
   script:
-  - apk add make mercurial
-  # It might not be necessary to install this and the dependency (maybe just reuse the built image? but its done after)
-  - pip3 install .
+  - apk add make
   - cd doc
   - pip3 install -r requirements hg-evolve
   - for language in en fr ; do LANGUAGE=$language BUILDDIRSUFFIX=/$CI_COMMIT_HG_BRANCH make html ; done
@@ -100,3 +110,19 @@
     artifacts: true
   only:
   - /^branch\/.*/
+
+publish:
+  extends: build-docker-image
+  stage: deploy
+  needs:
+  - job: docker_build_copy_test
+  - job: import_jsonrpc_odoo11_test
+  - job: import_jsonrpc_odoo13_test
+  - job: import_base_import_odoo13_test
+  - job: import_base_import_odoo11_test
+  variables:
+    TAG_LATEST: branch/default
+  script:
+  - DOCKER_BASE_IMAGE_NAME="$TEMP_IMAGE" DOCKER_IMAGE="registry.xcg.io/xcgd/odoo_scripts" tag-img
+  - DOCKER_BASE_IMAGE_NAME="$TEMP_IMAGE" DOCKER_IMAGE="xcgd/odoo_scripts" tag-img
+
diff --git a/Dockerfile b/Dockerfile
index d08679faf5e3a5d31dc748c9707717e38421ef28_RG9ja2VyZmlsZQ==..ce19743863e74c8266e45c97be82654b32dd8b82_RG9ja2VyZmlsZQ== 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,4 +1,4 @@
-FROM python:3.9-alpine
+FROM python:3-alpine
 ARG BUILD_DATE=""
 ARG VCS_URL=""
 ARG VCS_REF=""
@@ -12,7 +12,8 @@
 RUN set -x ;\
     apk add --no-cache --update zsh rsync postgresql-libs && \
      # mercurial && \
-    apk add --no-cache --virtual .build-deps gcc musl-dev postgresql-dev && \
+    apk add --no-cache --virtual .build-deps gcc musl-dev postgresql-dev git && \
+    python3 -m pip install -r /usr/src/odoo_scripts/requirements && \
     python3 -m pip install /usr/src/odoo_scripts[import_sql,conf2reST,source_control] && \
     apk --purge del .build-deps && \
     rm -rf /usr/src/odoo_scripts
diff --git a/NEWS.rst b/NEWS.rst
index d08679faf5e3a5d31dc748c9707717e38421ef28_TkVXUy5yc3Q=..ce19743863e74c8266e45c97be82654b32dd8b82_TkVXUy5yc3Q= 100644
--- a/NEWS.rst
+++ b/NEWS.rst
@@ -2,6 +2,11 @@
 History
 =======
 
+13.0.0
+------
+
+Update odoorpc required version to one including the fix for python 3.10.
+
 12.0.1
 ------
 
diff --git a/requirements b/requirements
index d08679faf5e3a5d31dc748c9707717e38421ef28_cmVxdWlyZW1lbnRz..ce19743863e74c8266e45c97be82654b32dd8b82_cmVxdWlyZW1lbnRz 100644
--- a/requirements
+++ b/requirements
@@ -1,5 +1,5 @@
 # This includes the requirements for all extras
-odoorpc==0.7.0
+git+https://github.com/xcgd/odoorpc@fix-oca-issue-66#egg=odoorpc
 requests_toolbelt==0.8.0
 python-dateutil>=2.7.0
 PyYAML
diff --git a/setup.py b/setup.py
index d08679faf5e3a5d31dc748c9707717e38421ef28_c2V0dXAucHk=..ce19743863e74c8266e45c97be82654b32dd8b82_c2V0dXAucHk= 100644
--- a/setup.py
+++ b/setup.py
@@ -13,7 +13,7 @@
     license="MIT",
     packages=find_packages(),
     install_requires=[
-        "odoorpc==0.7.0",
+        "odoorpc>0.8.0",
         "requests_toolbelt==0.8.0",
         "python-dateutil>=2.7.0",
         "coloredlogs",