changeset 741:97e6a0431c5e Orthanc-1.9.6

Orthanc 1.9.6
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 21 Jul 2021 12:30:42 +0200
parents 63f246134e5b
children a69100f80704
files OpenAPI/orthanc-openapi.json Sphinx/source/developers/creating-plugins.rst Sphinx/source/developers/db-versioning.rst Sphinx/source/dicom-guide.rst Sphinx/source/faq/crash.rst Sphinx/source/faq/debugging.rst Sphinx/source/faq/log.rst Sphinx/source/faq/orthanc-storage.rst Sphinx/source/faq/scalability.rst Sphinx/source/plugins/python.rst Sphinx/source/plugins/python/pil-conversions.py Sphinx/source/plugins/python/worklist.py Sphinx/source/users/advanced-rest.rst Sphinx/source/users/anonymization.rst Sphinx/source/users/configuration.rst Sphinx/source/users/debian-packages.rst Sphinx/source/users/docker.rst Sphinx/source/users/man-orthanc.txt Sphinx/source/users/rest.rst
diffstat 19 files changed, 55 insertions(+), 55 deletions(-) [+]
line wrap: on
line diff
--- a/OpenAPI/orthanc-openapi.json	Wed Jul 21 09:48:16 2021 +0200
+++ b/OpenAPI/orthanc-openapi.json	Wed Jul 21 12:30:42 2021 +0200
@@ -2,7 +2,7 @@
    "info" : {
       "description" : "This is the full documentation of the [REST API](https://book.orthanc-server.com/users/rest.html) of Orthanc.<p>This reference is automatically generated from the source code of Orthanc. A [shorter cheat sheet](https://book.orthanc-server.com/users/rest-cheatsheet.html) is part of the Orthanc Book.<p>An earlier, manually crafted version from August 2019, is [still available](2019-08-orthanc-openapi.html), but is not up-to-date anymore ([source](https://groups.google.com/g/orthanc-users/c/NUiJTEICSl8/m/xKeqMrbqAAAJ)).",
       "title" : "Orthanc API",
-      "version" : "1.9.5"
+      "version" : "1.9.6"
    },
    "openapi" : "3.0.0",
    "paths" : {
@@ -3257,9 +3257,9 @@
                         "schema" : {
                            "description" : "JSON array containing either the jobs identifiers, or detailed information about the reported jobs (if `expand` argument is provided)",
                            "example" : [
-                              "2c20c40c-e744-4922-ad0a-367ab6fee696",
-                              "2c89b071-d251-47e1-92af-d5791bce6ebf",
-                              "3811025c-4739-4fa4-8273-b9eff63828bf",
+                              "3b2b5734-2181-468c-9fda-e800ff2647da",
+                              "3f656515-d105-4ef5-a6b5-3ac2384181e3",
+                              "43ccf2db-74fe-457e-8537-dca845087574",
                               "..."
                            ]
                         }
@@ -4685,7 +4685,7 @@
                               "type" : "number"
                            },
                            "Synchronous" : {
-                              "description" : "If `true`, create the archive in synchronous mode, which means that the HTTP answer will directly contain the ZIP file. This is the default, easy behavior. However, if global configuration option \"SynchronousZipStream\" is set to \"false\", asynchronous transfers should be prefered for large amount of data, as the creation of the temporary file might lead to network timeouts.",
+                              "description" : "If `true`, create the archive in synchronous mode, which means that the HTTP answer will directly contain the ZIP file. This is the default, easy behavior. However, if global configuration option \"SynchronousZipStream\" is set to \"false\", asynchronous transfers should be preferred for large amount of data, as the creation of the temporary file might lead to network timeouts.",
                               "type" : "boolean"
                            },
                            "Transcode" : {
@@ -5820,7 +5820,7 @@
                               "type" : "number"
                            },
                            "Synchronous" : {
-                              "description" : "If `true`, create the archive in synchronous mode, which means that the HTTP answer will directly contain the ZIP file. This is the default, easy behavior. However, if global configuration option \"SynchronousZipStream\" is set to \"false\", asynchronous transfers should be prefered for large amount of data, as the creation of the temporary file might lead to network timeouts.",
+                              "description" : "If `true`, create the archive in synchronous mode, which means that the HTTP answer will directly contain the ZIP file. This is the default, easy behavior. However, if global configuration option \"SynchronousZipStream\" is set to \"false\", asynchronous transfers should be preferred for large amount of data, as the creation of the temporary file might lead to network timeouts.",
                               "type" : "boolean"
                            },
                            "Transcode" : {
@@ -8156,7 +8156,7 @@
                               "type" : "number"
                            },
                            "Synchronous" : {
-                              "description" : "If `true`, create the archive in synchronous mode, which means that the HTTP answer will directly contain the ZIP file. This is the default, easy behavior. However, if global configuration option \"SynchronousZipStream\" is set to \"false\", asynchronous transfers should be prefered for large amount of data, as the creation of the temporary file might lead to network timeouts.",
+                              "description" : "If `true`, create the archive in synchronous mode, which means that the HTTP answer will directly contain the ZIP file. This is the default, easy behavior. However, if global configuration option \"SynchronousZipStream\" is set to \"false\", asynchronous transfers should be preferred for large amount of data, as the creation of the temporary file might lead to network timeouts.",
                               "type" : "boolean"
                            },
                            "Transcode" : {
@@ -9126,7 +9126,7 @@
                               "type" : "number"
                            },
                            "Synchronous" : {
-                              "description" : "If `true`, create the archive in synchronous mode, which means that the HTTP answer will directly contain the ZIP file. This is the default, easy behavior. However, if global configuration option \"SynchronousZipStream\" is set to \"false\", asynchronous transfers should be prefered for large amount of data, as the creation of the temporary file might lead to network timeouts.",
+                              "description" : "If `true`, create the archive in synchronous mode, which means that the HTTP answer will directly contain the ZIP file. This is the default, easy behavior. However, if global configuration option \"SynchronousZipStream\" is set to \"false\", asynchronous transfers should be preferred for large amount of data, as the creation of the temporary file might lead to network timeouts.",
                               "type" : "boolean"
                            },
                            "Transcode" : {
@@ -10558,7 +10558,7 @@
                               "type" : "number"
                            },
                            "Synchronous" : {
-                              "description" : "If `true`, create the archive in synchronous mode, which means that the HTTP answer will directly contain the ZIP file. This is the default, easy behavior. However, if global configuration option \"SynchronousZipStream\" is set to \"false\", asynchronous transfers should be prefered for large amount of data, as the creation of the temporary file might lead to network timeouts.",
+                              "description" : "If `true`, create the archive in synchronous mode, which means that the HTTP answer will directly contain the ZIP file. This is the default, easy behavior. However, if global configuration option \"SynchronousZipStream\" is set to \"false\", asynchronous transfers should be preferred for large amount of data, as the creation of the temporary file might lead to network timeouts.",
                               "type" : "boolean"
                            },
                            "Transcode" : {
@@ -11703,7 +11703,7 @@
                               "type" : "number"
                            },
                            "Synchronous" : {
-                              "description" : "If `true`, create the archive in synchronous mode, which means that the HTTP answer will directly contain the ZIP file. This is the default, easy behavior. However, if global configuration option \"SynchronousZipStream\" is set to \"false\", asynchronous transfers should be prefered for large amount of data, as the creation of the temporary file might lead to network timeouts.",
+                              "description" : "If `true`, create the archive in synchronous mode, which means that the HTTP answer will directly contain the ZIP file. This is the default, easy behavior. However, if global configuration option \"SynchronousZipStream\" is set to \"false\", asynchronous transfers should be preferred for large amount of data, as the creation of the temporary file might lead to network timeouts.",
                               "type" : "boolean"
                            },
                            "Transcode" : {
@@ -12828,7 +12828,7 @@
                         "schema" : {
                            "description" : "",
                            "example" : {
-                              "ApiVersion" : 13,
+                              "ApiVersion" : 14,
                               "CheckRevisions" : false,
                               "DatabaseBackendPlugin" : null,
                               "DatabaseVersion" : 6,
@@ -12839,7 +12839,7 @@
                               "Name" : "Orthanc Demo",
                               "PluginsEnabled" : true,
                               "StorageAreaPlugin" : null,
-                              "Version" : "1.9.4"
+                              "Version" : "1.9.5"
                            },
                            "properties" : {
                               "ApiVersion" : {
@@ -13320,7 +13320,7 @@
                               "type" : "array"
                            },
                            "Synchronous" : {
-                              "description" : "If `true`, create the archive in synchronous mode, which means that the HTTP answer will directly contain the ZIP file. This is the default, easy behavior. However, if global configuration option \"SynchronousZipStream\" is set to \"false\", asynchronous transfers should be prefered for large amount of data, as the creation of the temporary file might lead to network timeouts.",
+                              "description" : "If `true`, create the archive in synchronous mode, which means that the HTTP answer will directly contain the ZIP file. This is the default, easy behavior. However, if global configuration option \"SynchronousZipStream\" is set to \"false\", asynchronous transfers should be preferred for large amount of data, as the creation of the temporary file might lead to network timeouts.",
                               "type" : "boolean"
                            },
                            "Transcode" : {
@@ -13463,7 +13463,7 @@
                               "type" : "array"
                            },
                            "Synchronous" : {
-                              "description" : "If `true`, create the archive in synchronous mode, which means that the HTTP answer will directly contain the ZIP file. This is the default, easy behavior. However, if global configuration option \"SynchronousZipStream\" is set to \"false\", asynchronous transfers should be prefered for large amount of data, as the creation of the temporary file might lead to network timeouts.",
+                              "description" : "If `true`, create the archive in synchronous mode, which means that the HTTP answer will directly contain the ZIP file. This is the default, easy behavior. However, if global configuration option \"SynchronousZipStream\" is set to \"false\", asynchronous transfers should be preferred for large amount of data, as the creation of the temporary file might lead to network timeouts.",
                               "type" : "boolean"
                            },
                            "Transcode" : {
@@ -13539,7 +13539,7 @@
                               "type" : "array"
                            },
                            "Synchronous" : {
-                              "description" : "If `true`, create the archive in synchronous mode, which means that the HTTP answer will directly contain the ZIP file. This is the default, easy behavior. However, if global configuration option \"SynchronousZipStream\" is set to \"false\", asynchronous transfers should be prefered for large amount of data, as the creation of the temporary file might lead to network timeouts.",
+                              "description" : "If `true`, create the archive in synchronous mode, which means that the HTTP answer will directly contain the ZIP file. This is the default, easy behavior. However, if global configuration option \"SynchronousZipStream\" is set to \"false\", asynchronous transfers should be preferred for large amount of data, as the creation of the temporary file might lead to network timeouts.",
                               "type" : "boolean"
                            },
                            "Transcode" : {
@@ -14271,7 +14271,7 @@
                "200" : {
                   "content" : {
                      "text/plain" : {
-                        "example" : "orthanc_count_instances 2552 1625736734245\northanc_count_patients 8 1625736734245\northanc_count_series 26 1625736734245\northanc_count_studies 8 1625736734245\northanc_dicom_cache_count 90 1625666803697\northanc_dicom_cache_size 63.2274284 1625666803697\northanc_disk_size_mb 1018.65021 1625736734245\northanc_jobs_completed 10 1625736734245\northanc_jobs_failed 3 1625736734245\northanc_jobs_pending 0 1625736734245\northanc_jobs_running 0 1625736734245\northanc_jobs_success 7 1625736734245\northanc_rest_api_active_requests 1 1625736734245\northanc_rest_api_duration_ms 345 1625736732718\northanc_storage_read_duration_ms 24 1625736733447\northanc_uncompressed_size_mb 1018.65021 1625736734245\n"
+                        "example" : "orthanc_count_instances 2552 1626863153049\northanc_count_patients 8 1626863153049\northanc_count_series 26 1626863153049\northanc_count_studies 8 1626863153049\northanc_dicom_cache_count 83 1626857936800\northanc_dicom_cache_size 61.942482 1626857936800\northanc_disk_size_mb 1018.65021 1626863153049\northanc_jobs_completed 10 1626863153049\northanc_jobs_failed 1 1626863153049\northanc_jobs_pending 0 1626863153049\northanc_jobs_running 0 1626863153049\northanc_jobs_success 9 1626863153049\northanc_rest_api_active_requests 1 1626863153049\northanc_rest_api_duration_ms 385 1626863148654\northanc_storage_read_duration_ms 21 1626863148365\northanc_uncompressed_size_mb 1018.65021 1626863153049\n"
                      }
                   },
                   "description" : ""
@@ -14290,7 +14290,7 @@
                "200" : {
                   "content" : {
                      "text/plain" : {
-                        "example" : "20210708T093214",
+                        "example" : "20210721T102553",
                         "schema" : {
                            "description" : "The UTC time"
                         }
@@ -14312,7 +14312,7 @@
                "200" : {
                   "content" : {
                      "text/plain" : {
-                        "example" : "20210708T093214",
+                        "example" : "20210721T102553",
                         "schema" : {
                            "description" : "The local time"
                         }
--- a/Sphinx/source/developers/creating-plugins.rst	Wed Jul 21 09:48:16 2021 +0200
+++ b/Sphinx/source/developers/creating-plugins.rst	Wed Jul 21 12:30:42 2021 +0200
@@ -83,7 +83,7 @@
 that is part of the Orthanc source distribution:
 
 * `Plugins/Include/orthanc/OrthancCPlugin.h
-  <https://hg.orthanc-server.com/orthanc/file/Orthanc-1.9.5/OrthancServer/Plugins/Include/orthanc/OrthancCPlugin.h>`__
+  <https://hg.orthanc-server.com/orthanc/file/Orthanc-1.9.6/OrthancServer/Plugins/Include/orthanc/OrthancCPlugin.h>`__
 
 `Online documentation <https://sdk.orthanc-server.com/>`__ for this C
 header is available, as generated by `Doxygen
@@ -97,8 +97,8 @@
 ``HAS_ORTHANC_EXCEPTION`` is set to ``0``:
 
 * `Plugins/Samples/Common/OrthanPluginCppWrapper.h
-  <https://hg.orthanc-server.com/orthanc/file/Orthanc-1.9.5/OrthancServer/Plugins/Samples/Common/OrthancPluginCppWrapper.h>`__
+  <https://hg.orthanc-server.com/orthanc/file/Orthanc-1.9.6/OrthancServer/Plugins/Samples/Common/OrthancPluginCppWrapper.h>`__
 * `Plugins/Samples/Common/OrthanPluginCppWrapper.cpp
-  <https://hg.orthanc-server.com/orthanc/file/Orthanc-1.9.5/OrthancServer/Plugins/Samples/Common/OrthancPluginCppWrapper.cpp>`__
+  <https://hg.orthanc-server.com/orthanc/file/Orthanc-1.9.6/OrthancServer/Plugins/Samples/Common/OrthancPluginCppWrapper.cpp>`__
 * `Plugins/Samples/Common/OrthanPluginException.h
-  <https://hg.orthanc-server.com/orthanc/file/Orthanc-1.9.5/OrthancServer/Plugins/Samples/Common/OrthancPluginException.h>`__
+  <https://hg.orthanc-server.com/orthanc/file/Orthanc-1.9.6/OrthancServer/Plugins/Samples/Common/OrthancPluginException.h>`__
--- a/Sphinx/source/developers/db-versioning.rst	Wed Jul 21 09:48:16 2021 +0200
+++ b/Sphinx/source/developers/db-versioning.rst	Wed Jul 21 12:30:42 2021 +0200
@@ -26,7 +26,7 @@
 Version                           DB v2   DB v3   DB v4   DB v5   DB v6
 ===============================   =====   =====   =====   =====   =====
 Mainline                                  u       u       u       x
-Orthanc 0.9.5 - Orthanc 1.9.5             u       u       u       x
+Orthanc 0.9.5 - Orthanc 1.9.6             u       u       u       x
 Orthanc 0.8.5 - Orthanc 0.9.4             u       u       x
 Orthanc 0.7.3 - Orthanc 0.8.4             u       x
 Orthanc 0.4.0 - Orthanc 0.7.2             x
--- a/Sphinx/source/dicom-guide.rst	Wed Jul 21 09:48:16 2021 +0200
+++ b/Sphinx/source/dicom-guide.rst	Wed Jul 21 12:30:42 2021 +0200
@@ -665,7 +665,7 @@
 
     $ getscu -v localhost 4242 -aec ORTHANC -k "0008,0052=STUDY" -k "0020,000d=1.2.840.113543.6.6.4.7.64067529866380271256212683512383713111129"
 
-*Note:* As of Orthanc 1.9.5, Orthanc only implements C-Get as a
+*Note:* As of Orthanc 1.9.6, Orthanc only implements C-Get as a
 service class provider (SCP). Using C-Get as a service class user
 (SCU) is not currently supported in Orthanc.
 
--- a/Sphinx/source/faq/crash.rst	Wed Jul 21 09:48:16 2021 +0200
+++ b/Sphinx/source/faq/crash.rst	Wed Jul 21 12:30:42 2021 +0200
@@ -64,13 +64,13 @@
 above <segfault-plugin>` is available as the ``crash.cpp`` file, here
 is a sample debug session::
 
-  $ wget https://lsb.orthanc-server.com/orthanc/debug/1.9.5/Orthanc
+  $ wget https://lsb.orthanc-server.com/orthanc/debug/1.9.6/Orthanc
   $ chmod +x ./Orthanc
   $ gcc -fPIC -shared ./crash.cpp -I ~/orthanc/Plugins/Include -o crash.so
   $ ulimit -c unlimited
   $ echo '{ "Plugins" : ["crash.so"] }' > Configuration.json
   $ rm -f core ; ./Orthanc Configuration.json
-  W0427 15:43:24.215783 main.cpp:1436] Orthanc version: 1.9.5
+  W0427 15:43:24.215783 main.cpp:1436] Orthanc version: 1.9.6
   W0427 15:43:24.215910 main.cpp:1279] Performance warning: Non-release build, runtime debug assertions are turned on
   W0427 15:43:24.217585 OrthancConfiguration.cpp:61] Reading the configuration from: "Configuration.json"
   W0427 15:43:24.254733 main.cpp:700] Loading plugin(s) from: crash.so
--- a/Sphinx/source/faq/debugging.rst	Wed Jul 21 09:48:16 2021 +0200
+++ b/Sphinx/source/faq/debugging.rst	Wed Jul 21 12:30:42 2021 +0200
@@ -45,13 +45,13 @@
 to debug Orthanc without compiling from sources. Here is a sample
 debug session::
 
-  $ wget https://lsb.orthanc-server.com/orthanc/debug/1.9.5/Orthanc
+  $ wget https://lsb.orthanc-server.com/orthanc/debug/1.9.6/Orthanc
   $ chmod +x ./Orthanc
   $ gdb ./Orthanc Configuration.json
   (gdb) catch throw
   Catchpoint 1 (throw)
   (gdb) run
-  W0513 15:24:42.374349 main.cpp:1436] Orthanc version: 1.9.5
+  W0513 15:24:42.374349 main.cpp:1436] Orthanc version: 1.9.6
   ---> Reproduce your error case <---
   Thread 15 "Orthanc" hit Catchpoint 1 (exception thrown), 0x00007ffff6de68bd in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
   (gdb) backtrace
--- a/Sphinx/source/faq/log.rst	Wed Jul 21 09:48:16 2021 +0200
+++ b/Sphinx/source/faq/log.rst	Wed Jul 21 12:30:42 2021 +0200
@@ -58,7 +58,7 @@
 2. Stop the Orthanc service. The actual process depends on your
    version of Windows.
 
-3. Copy the just-downloaded ``Orthanc-1.9.5-Release.exe`` together
+3. Copy the just-downloaded ``Orthanc-1.9.6-Release.exe`` together
    with your configuration file (that is by default located in
    ``C:\Orthanc\Configuration.json``) into the same folder
    (e.g. ``C:\Temp``).
@@ -67,7 +67,7 @@
    ``Orthanc.log`` file::
 
    $ cd C:\Temp
-   $ Orthanc-1.9.5-Release.exe --verbose Configuration.json > Orthanc.log 2<&1
+   $ Orthanc-1.9.6-Release.exe --verbose Configuration.json > Orthanc.log 2<&1
 
 5. Once the log has been generated (by default, it is available as
    ``C:\Temp\Orthanc.log``), stop Orthanc and possibly restart the
--- a/Sphinx/source/faq/orthanc-storage.rst	Wed Jul 21 09:48:16 2021 +0200
+++ b/Sphinx/source/faq/orthanc-storage.rst	Wed Jul 21 12:30:42 2021 +0200
@@ -57,9 +57,9 @@
 database schema is kept as simple as possible, and can be found in the
 following two files of the source code of Orthanc:
 `PrepareDatabase.sql
-<https://hg.orthanc-server.com/orthanc/file/Orthanc-1.9.5/OrthancServer/Sources/Database/PrepareDatabase.sql>`__
+<https://hg.orthanc-server.com/orthanc/file/Orthanc-1.9.6/OrthancServer/Sources/Database/PrepareDatabase.sql>`__
 and `InstallTrackAttachmentsSize.sql
-<https://hg.orthanc-server.com/orthanc/file/Orthanc-1.9.5/OrthancServer/Sources/Database/InstallTrackAttachmentsSize.sql>`__.
+<https://hg.orthanc-server.com/orthanc/file/Orthanc-1.9.6/OrthancServer/Sources/Database/InstallTrackAttachmentsSize.sql>`__.
 
 
 Direct access
--- a/Sphinx/source/faq/scalability.rst	Wed Jul 21 09:48:16 2021 +0200
+++ b/Sphinx/source/faq/scalability.rst	Wed Jul 21 12:30:42 2021 +0200
@@ -54,7 +54,7 @@
 Here is a generic setup that should provide best performance in the
 presence of large databases:
 
-* Make sure to use the latest release of Orthanc (1.9.5 at the time of
+* Make sure to use the latest release of Orthanc (1.9.6 at the time of
   writing) running on a GNU/Linux distribution.
 
 * We suggest to use the latest release of the :ref:`PostgreSQL plugin
--- a/Sphinx/source/plugins/python.rst	Wed Jul 21 09:48:16 2021 +0200
+++ b/Sphinx/source/plugins/python.rst	Wed Jul 21 12:30:42 2021 +0200
@@ -18,7 +18,7 @@
 Python plugins have access to more features and a more consistent SDK
 than :ref:`Lua scripts <lua>`. The largest part of the Python API is
 automatically generated from the `Orthanc plugin SDK in C
-<https://hg.orthanc-server.com/orthanc/file/Orthanc-1.9.5/OrthancServer/Plugins/Include/orthanc/OrthancCPlugin.h>`__
+<https://hg.orthanc-server.com/orthanc/file/Orthanc-1.9.6/OrthancServer/Plugins/Include/orthanc/OrthancCPlugin.h>`__
 using the `Clang <https://en.wikipedia.org/wiki/Clang>`__ compiler
 front-end.
 
--- a/Sphinx/source/plugins/python/pil-conversions.py	Wed Jul 21 09:48:16 2021 +0200
+++ b/Sphinx/source/plugins/python/pil-conversions.py	Wed Jul 21 12:30:42 2021 +0200
@@ -3,7 +3,7 @@
 import PIL.ImageDraw
 import orthanc
 
-URL = 'http://hg.orthanc-server.com/orthanc-tests/raw-file/Orthanc-1.9.5/Database/LenaTwiceWithFragments.dcm'
+URL = 'http://hg.orthanc-server.com/orthanc-tests/raw-file/Orthanc-1.9.6/Database/LenaTwiceWithFragments.dcm'
 USERNAME = ''
 PASSWORD = ''
 
--- a/Sphinx/source/plugins/python/worklist.py	Wed Jul 21 09:48:16 2021 +0200
+++ b/Sphinx/source/plugins/python/worklist.py	Wed Jul 21 12:30:42 2021 +0200
@@ -3,7 +3,7 @@
 import os
 
 # Path to the directory containing the DICOM worklists
-# https://hg.orthanc-server.com/orthanc/file/Orthanc-1.9.5/OrthancServer/Plugins/Samples/ModalityWorklists/WorklistsDatabase
+# https://hg.orthanc-server.com/orthanc/file/Orthanc-1.9.6/OrthancServer/Plugins/Samples/ModalityWorklists/WorklistsDatabase
 WORKLIST_DIR = '/tmp/WorklistsDatabase'
 
 def OnWorklist(answers, query, issuerAet, calledAet):
--- a/Sphinx/source/users/advanced-rest.rst	Wed Jul 21 09:48:16 2021 +0200
+++ b/Sphinx/source/users/advanced-rest.rst	Wed Jul 21 12:30:42 2021 +0200
@@ -132,7 +132,7 @@
   ``ErrorCode`` and ``ErrorDescription`` fields for more information.
 * ``Paused``: The job has been paused.
 * ``Retry``: The job has failed internally, and has been scheduled for
-  re-submission after a delay. As of Orthanc 1.9.5, this feature is not
+  re-submission after a delay. As of Orthanc 1.9.6, this feature is not
   used by any type of job.
 
 In order to wait for the end of an asynchronous call, the caller will
@@ -141,7 +141,7 @@
 ``Failure``.
 
 Note that the `integration tests of Orthanc
-<https://hg.orthanc-server.com/orthanc-tests/file/Orthanc-1.9.5/Tests/Toolbox.py>`__
+<https://hg.orthanc-server.com/orthanc-tests/file/Orthanc-1.9.6/Tests/Toolbox.py>`__
 give an example about how to monitor a job in Python using the REST
 API (cf. function ``MonitorJob()``).
 
@@ -202,7 +202,7 @@
 Note how we retrieve the content of the archive by accessing the
 ``archive`` output of the job (check out the virtual method
 ``IJob::GetOutput()`` from the `source code
-<https://hg.orthanc-server.com/orthanc/file/Orthanc-1.9.5/OrthancServer/Sources/ServerJobs/ArchiveJob.cpp>`__
+<https://hg.orthanc-server.com/orthanc/file/Orthanc-1.9.6/OrthancServer/Sources/ServerJobs/ArchiveJob.cpp>`__
 of Orthanc).
 
 Here is the corresponding sequence of commands to generate a DICOMDIR
@@ -211,7 +211,7 @@
   $ curl http://localhost:8042/studies/27f7126f-4f66fb14-03f4081b-f9341db2-53925988/media -d '{"Asynchronous":true}'
   $ curl http://localhost:8042/jobs/6332be8a-0052-44fb-8cc2-ac959aeccad9/archive > a.zip
 
-As of Orthanc 1.9.5, only the creation of a ZIP or a DICOMDIR archive
+As of Orthanc 1.9.6, only the creation of a ZIP or a DICOMDIR archive
 produces such "outputs".
 
   
--- a/Sphinx/source/users/anonymization.rst	Wed Jul 21 09:48:16 2021 +0200
+++ b/Sphinx/source/users/anonymization.rst	Wed Jul 21 12:30:42 2021 +0200
@@ -80,7 +80,7 @@
 **Implementation:** Internally, the setup of the anonymization
 profiles can be found in the methods ``SetupAnonymizationXXX()`` of
 the class ``Orthanc::DicomModification`` (cf. `source code
-<https://hg.orthanc-server.com/orthanc/file/Orthanc-1.9.5/OrthancFramework/Sources/DicomParsing/DicomModification.cpp>`__).
+<https://hg.orthanc-server.com/orthanc/file/Orthanc-1.9.6/OrthancFramework/Sources/DicomParsing/DicomModification.cpp>`__).
 
 
 Modification of a Single Instance
--- a/Sphinx/source/users/configuration.rst	Wed Jul 21 09:48:16 2021 +0200
+++ b/Sphinx/source/users/configuration.rst	Wed Jul 21 12:30:42 2021 +0200
@@ -8,7 +8,7 @@
 Configuring Orthanc simply consists in providing a configuration file.
 Orthanc has numerous configuration that are documented in the `default
 configuration file
-<https://hg.orthanc-server.com/orthanc/file/Orthanc-1.9.5/OrthancServer/Resources/Configuration.json>`_. This
+<https://hg.orthanc-server.com/orthanc/file/Orthanc-1.9.6/OrthancServer/Resources/Configuration.json>`_. This
 file is in the `JSON <https://en.wikipedia.org/wiki/JSON>`_ file
 format. You can generate this file file with the following call::
 
--- a/Sphinx/source/users/debian-packages.rst	Wed Jul 21 09:48:16 2021 +0200
+++ b/Sphinx/source/users/debian-packages.rst	Wed Jul 21 12:30:42 2021 +0200
@@ -12,7 +12,7 @@
 Introduction
 ------------
 
-Orthanc is available as an offical `Debian package
+Orthanc is available as an official `Debian package
 <https://packages.debian.org/search?keywords=orthanc&searchon=names&exact=1&suite=all&section=all>`__
 that is continuously updated by the Orthanc core developers in the
 `Debian Sid/unstable distribution
@@ -106,10 +106,10 @@
 This can be done with this sequence of commands::
 
   $ sudo service orthanc stop
-  $ sudo wget https://lsb.orthanc-server.com/orthanc/1.9.5/Orthanc --output-document /usr/sbin/Orthanc
+  $ sudo wget https://lsb.orthanc-server.com/orthanc/1.9.6/Orthanc --output-document /usr/sbin/Orthanc
   $ sudo rm -f /usr/share/orthanc/plugins/*.so
-  $ sudo wget https://lsb.orthanc-server.com/orthanc/1.9.5/libServeFolders.so --output-document /usr/share/orthanc/plugins/libServeFolders.so
-  $ sudo wget https://lsb.orthanc-server.com/orthanc/1.9.5/libModalityWorklists.so --output-document /usr/share/orthanc/plugins/libModalityWorklists.so
+  $ sudo wget https://lsb.orthanc-server.com/orthanc/1.9.6/libServeFolders.so --output-document /usr/share/orthanc/plugins/libServeFolders.so
+  $ sudo wget https://lsb.orthanc-server.com/orthanc/1.9.6/libModalityWorklists.so --output-document /usr/share/orthanc/plugins/libModalityWorklists.so
   $
   $ sudo wget https://lsb.orthanc-server.com/plugin-dicom-web/1.6/libOrthancDicomWeb.so --output-document /usr/share/orthanc/plugins/libOrthancDicomWeb.so
   $ ...
--- a/Sphinx/source/users/docker.rst	Wed Jul 21 09:48:16 2021 +0200
+++ b/Sphinx/source/users/docker.rst	Wed Jul 21 12:30:42 2021 +0200
@@ -73,7 +73,7 @@
 If more stability is required, you can select the official release of
 Orthanc to be run::
 
-  $ docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc:1.9.5
+  $ docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc:1.9.6
 
 Passing additional command-line options (e.g. to make Orthanc verbose)
 can be done as follows (note the ``/etc/orthanc`` option that is
@@ -95,7 +95,7 @@
 
 Or you can also start a specific version of Orthanc for more stability::
 
-  $ docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc-plugins:1.9.5
+  $ docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc-plugins:1.9.6
 
 If you have an interest in the :ref:`Python plugin <python-plugin>`,
 you can use the ``orthanc-python`` image. The latter image is a
@@ -103,7 +103,7 @@
 Python 3.7 interpreter. Here is how to start this image::
 
   $ docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc-python
-  $ docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc-python:1.9.5
+  $ docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc-python:1.9.6
   
 
 Fine-tuning the configuration
@@ -155,7 +155,7 @@
   version: '3.1'  # Secrets are only available since this version of Docker Compose
   services:
     orthanc:
-      image: jodogne/orthanc-plugins:1.9.5
+      image: jodogne/orthanc-plugins:1.9.6
       command: /run/secrets/  # Path to the configuration files (stored as secrets)
       ports:
         - 4242:4242
@@ -204,7 +204,7 @@
 container to some path in the filesystem of your Linux host, e.g.::
 
   $ mkdir /tmp/orthanc-db
-  $ docker run -p 4242:4242 -p 8042:8042 --rm -v /tmp/orthanc-db/:/var/lib/orthanc/db/ jodogne/orthanc:1.9.5 
+  $ docker run -p 4242:4242 -p 8042:8042 --rm -v /tmp/orthanc-db/:/var/lib/orthanc/db/ jodogne/orthanc:1.9.6 
 
 
 Whole-slide imaging support
@@ -325,4 +325,4 @@
 * The build artifacts can be found in folder ``/root/orthanc/Build``.
 
 * This command launches the mainline version. To start a released version,
-  use e.g. ``jodogne/orthanc-debug:1.9.5``.
+  use e.g. ``jodogne/orthanc-debug:1.9.6``.
--- a/Sphinx/source/users/man-orthanc.txt	Wed Jul 21 09:48:16 2021 +0200
+++ b/Sphinx/source/users/man-orthanc.txt	Wed Jul 21 12:30:42 2021 +0200
@@ -128,4 +128,4 @@
        This  is  free  software:  you  are free to change and redistribute it.
        There is NO WARRANTY, to the extent permitted by law.
 
-Orthanc 1.9.5			   July 2021			    ORTHANC(1)
+Orthanc 1.9.6			   July 2021			    ORTHANC(1)
--- a/Sphinx/source/users/rest.rst	Wed Jul 21 09:48:16 2021 +0200
+++ b/Sphinx/source/users/rest.rst	Wed Jul 21 12:30:42 2021 +0200
@@ -94,7 +94,7 @@
     $ curl -X POST -H "Expect:" http://localhost:8042/instances --data-binary @CT.X.1.2.276.0.7230010.dcm
 
 The code distribution of Orthanc contains a `sample Python script
-<https://hg.orthanc-server.com/orthanc/file/Orthanc-1.9.5/OrthancServer/Resources/Samples/ImportDicomFiles/ImportDicomFiles.py>`__
+<https://hg.orthanc-server.com/orthanc/file/Orthanc-1.9.6/OrthancServer/Resources/Samples/ImportDicomFiles/ImportDicomFiles.py>`__
 that recursively upload the content of some folder into Orthanc using
 the REST API::
 
@@ -106,7 +106,7 @@
 import the content of ``.zip``, ``.tar.gz`` or ``.tar.bz2`` archives
 without having to uncompress them first. It also provides more
 comprehensive command-line options. `Check this script out
-<https://hg.orthanc-server.com/orthanc/file/Orthanc-1.9.5/OrthancServer/Resources/Samples/ImportDicomFiles/OrthancImport.py>`__.
+<https://hg.orthanc-server.com/orthanc/file/Orthanc-1.9.6/OrthancServer/Resources/Samples/ImportDicomFiles/OrthancImport.py>`__.
     
 
 .. highlight:: perl