changeset 1021:a3436ae3709c Orthanc-1.12.3

Orthanc 1.12.3
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 31 Jan 2024 14:01:54 +0100
parents 3f4a7ee8033b
children 2969cbebbc91
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/orthanc-storage.rst Sphinx/source/faq/scalability.rst Sphinx/source/plugins/java.rst Sphinx/source/plugins/postgresql.rst Sphinx/source/plugins/python.rst 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/docker.rst.BAK Sphinx/source/users/man-orthanc.txt Sphinx/source/users/rest.rst
diffstat 17 files changed, 93 insertions(+), 73 deletions(-) [+]
line wrap: on
line diff
--- a/OpenAPI/orthanc-openapi.json	Fri Jan 26 18:37:04 2024 +0100
+++ b/OpenAPI/orthanc-openapi.json	Wed Jan 31 14:01:54 2024 +0100
@@ -2,7 +2,7 @@
    "info" : {
       "description" : "This is the full documentation of the [REST API](https://orthanc.uclouvain.be/book/users/rest.html) of Orthanc.<p>This reference is automatically generated from the source code of Orthanc. A [shorter cheat sheet](https://orthanc.uclouvain.be/book/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.12.2"
+      "version" : "1.12.3"
    },
    "openapi" : "3.0.0",
    "paths" : {
@@ -430,6 +430,10 @@
                               },
                               "type" : "array"
                            },
+                           "KeepLabels" : {
+                              "description" : "Keep the labels of all resources level (defaults to `false`)",
+                              "type" : "boolean"
+                           },
                            "KeepPrivateTags" : {
                               "description" : "Keep the private tags from the DICOM instances (defaults to `false`)",
                               "type" : "boolean"
@@ -610,8 +614,7 @@
                               "md5",
                               "size",
                               "uncompress",
-                              "verify-md5",
-                              "uuid"
+                              "verify-md5"
                            ]
                         }
                      }
@@ -3746,9 +3749,9 @@
                         "schema" : {
                            "description" : "JSON array containing either the jobs identifiers, or detailed information about the reported jobs (if `expand` argument is provided)",
                            "example" : [
-                              "0b584e01-3aba-4b18-a428-fce60430f8b8",
-                              "35e9ad9d-1169-4154-b8b1-4c8e0303aa78",
-                              "384de7a4-3be1-4fb9-992a-62e6209969c2",
+                              "2567f12f-a2dc-4ac6-8990-16335b5a3d5a",
+                              "42251acb-3089-40dd-9263-3d39970342a7",
+                              "7583bd1e-39f9-4564-93ef-602b57185449",
                               "..."
                            ]
                         }
@@ -5165,6 +5168,10 @@
                               },
                               "type" : "array"
                            },
+                           "KeepLabels" : {
+                              "description" : "Keep the labels of all resources level (defaults to `false`)",
+                              "type" : "boolean"
+                           },
                            "KeepPrivateTags" : {
                               "description" : "Keep the private tags from the DICOM instances (defaults to `false`)",
                               "type" : "boolean"
@@ -5490,8 +5497,7 @@
                               "md5",
                               "size",
                               "uncompress",
-                              "verify-md5",
-                              "uuid"
+                              "verify-md5"
                            ]
                         }
                      }
@@ -7977,7 +7983,7 @@
                               "ExtendsOrthancExplorer" : true,
                               "ID" : "dicom-web",
                               "RootUri" : "../dicom-web/app/client/index.html",
-                              "Version" : "1.13"
+                              "Version" : "1.16"
                            }
                         }
                      }
@@ -8958,6 +8964,10 @@
                               },
                               "type" : "array"
                            },
+                           "KeepLabels" : {
+                              "description" : "Keep the labels of all resources level (defaults to `false`)",
+                              "type" : "boolean"
+                           },
                            "KeepPrivateTags" : {
                               "description" : "Keep the private tags from the DICOM instances (defaults to `false`)",
                               "type" : "boolean"
@@ -9283,8 +9293,7 @@
                               "md5",
                               "size",
                               "uncompress",
-                              "verify-md5",
-                              "uuid"
+                              "verify-md5"
                            ]
                         }
                      }
@@ -11723,6 +11732,10 @@
                               },
                               "type" : "array"
                            },
+                           "KeepLabels" : {
+                              "description" : "Keep the labels of all resources level (defaults to `false`)",
+                              "type" : "boolean"
+                           },
                            "KeepPrivateTags" : {
                               "description" : "Keep the private tags from the DICOM instances (defaults to `false`)",
                               "type" : "boolean"
@@ -12048,8 +12061,7 @@
                               "md5",
                               "size",
                               "uncompress",
-                              "verify-md5",
-                              "uuid"
+                              "verify-md5"
                            ]
                         }
                      }
@@ -14235,6 +14247,10 @@
                               },
                               "type" : "array"
                            },
+                           "KeepLabels" : {
+                              "description" : "Keep the labels of all resources level (defaults to `false`)",
+                              "type" : "boolean"
+                           },
                            "KeepSource" : {
                               "description" : "If set to `true`, instructs Orthanc to keep a copy of the original series/instances in the source study. By default, the original series/instances are deleted from Orthanc.",
                               "type" : "boolean"
@@ -14398,7 +14414,7 @@
                         "schema" : {
                            "description" : "",
                            "example" : {
-                              "ApiVersion" : 21,
+                              "ApiVersion" : 22,
                               "CheckRevisions" : false,
                               "DatabaseBackendPlugin" : null,
                               "DatabaseServerIdentifier" : "a67fa91c-20328956-26614107-bbaec3f4-5cbbc6f9",
@@ -14423,7 +14439,7 @@
                               "StorageAreaPlugin" : null,
                               "StorageCompression" : false,
                               "UserMetadata" : {},
-                              "Version" : "1.12.1"
+                              "Version" : "1.12.2"
                            },
                            "properties" : {
                               "ApiVersion" : {
@@ -14664,6 +14680,10 @@
                               },
                               "type" : "array"
                            },
+                           "KeepLabels" : {
+                              "description" : "Keep the labels of all resources level (defaults to `false`)",
+                              "type" : "boolean"
+                           },
                            "KeepPrivateTags" : {
                               "description" : "Keep the private tags from the DICOM instances (defaults to `false`)",
                               "type" : "boolean"
@@ -16041,7 +16061,7 @@
                "200" : {
                   "content" : {
                      "text/plain" : {
-                        "example" : "orthanc_count_instances 2352 1702975679493\northanc_count_patients 7 1702975679493\northanc_count_series 23 1702975679493\northanc_count_studies 7 1702975679493\northanc_dicom_cache_count 353 1702919989969\northanc_dicom_cache_size 127.878067 1702919989969\northanc_disk_size_mb 840.589417 1702975679493\northanc_jobs_completed 10 1702975679493\northanc_jobs_failed 4 1702975679493\northanc_jobs_pending 0 1702975679493\northanc_jobs_running 0 1702975679493\northanc_jobs_success 6 1702975679493\northanc_last_change 4778 1702975679493\northanc_rest_api_active_requests 1 1702975679493\northanc_rest_api_duration_ms 361 1702975672107\northanc_storage_read_duration_ms 0 1702975473995\northanc_uncompressed_size_mb 840.589417 1702975679493\northanc_up_time_s 605413 1702975679493\n"
+                        "example" : "orthanc_count_instances 2352 1706706084150\northanc_count_patients 7 1706706084150\northanc_count_series 23 1706706084150\northanc_count_studies 7 1706706084150\northanc_dicom_cache_count 302 1706706084150\northanc_dicom_cache_size_mb 127.904297 1706706084150\northanc_disk_size_mb 840.589417 1706706084150\northanc_jobs_completed 10 1706706084150\northanc_jobs_failed 0 1706706084150\northanc_jobs_pending 0 1706706084150\northanc_jobs_running 0 1706706084150\northanc_jobs_success 10 1706706084150\northanc_last_change 4778 1706706084150\northanc_rest_api_active_requests 1 1706706084150\northanc_rest_api_duration_ms 311 1706706082544\northanc_storage_cache_count 704 1706706084150\northanc_storage_cache_size_mb 127.69693 1706706084150\northanc_storage_read_duration_ms 0 1706706076439\northanc_uncompressed_size_mb 840.589417 1706706084150\northanc_up_time_s 2323485 1706706084150\n"
                      }
                   },
                   "description" : ""
@@ -16060,7 +16080,7 @@
                "200" : {
                   "content" : {
                      "text/plain" : {
-                        "example" : "20231219T084759",
+                        "example" : "20240131T130124",
                         "schema" : {
                            "description" : "The UTC time"
                         }
@@ -16082,7 +16102,7 @@
                "200" : {
                   "content" : {
                      "text/plain" : {
-                        "example" : "20231219T084759",
+                        "example" : "20240131T130124",
                         "schema" : {
                            "description" : "The local time"
                         }
--- a/Sphinx/source/developers/creating-plugins.rst	Fri Jan 26 18:37:04 2024 +0100
+++ b/Sphinx/source/developers/creating-plugins.rst	Wed Jan 31 14:01:54 2024 +0100
@@ -15,7 +15,7 @@
 Native Orthanc plugins must use the `plugin SDK
 <https://orthanc.uclouvain.be/sdk/>`__ whose interface is available as a
 `C header
-<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.2/OrthancServer/Plugins/Include/orthanc/OrthancCPlugin.h>`__.
+<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.3/OrthancServer/Plugins/Include/orthanc/OrthancCPlugin.h>`__.
 As a consequence, an Orthanc plugin will typically be written using C
 or C++, although it is also possible to create native plugins using
 languages that feature compatibility with C headers and with `FFI of
@@ -97,7 +97,7 @@
 that is part of the Orthanc source distribution:
 
 * `Plugins/Include/orthanc/OrthancCPlugin.h
-  <https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.2/OrthancServer/Plugins/Include/orthanc/OrthancCPlugin.h>`__
+  <https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.3/OrthancServer/Plugins/Include/orthanc/OrthancCPlugin.h>`__
 
 `Online documentation <https://orthanc.uclouvain.be/sdk/>`__ for this C
 header is available, as generated by `Doxygen
@@ -111,8 +111,8 @@
 ``HAS_ORTHANC_EXCEPTION`` is set to ``0``:
 
 * `Plugins/Samples/Common/OrthanPluginCppWrapper.h
-  <https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.2/OrthancServer/Plugins/Samples/Common/OrthancPluginCppWrapper.h>`__
+  <https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.3/OrthancServer/Plugins/Samples/Common/OrthancPluginCppWrapper.h>`__
 * `Plugins/Samples/Common/OrthanPluginCppWrapper.cpp
-  <https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.2/OrthancServer/Plugins/Samples/Common/OrthancPluginCppWrapper.cpp>`__
+  <https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.3/OrthancServer/Plugins/Samples/Common/OrthancPluginCppWrapper.cpp>`__
 * `Plugins/Samples/Common/OrthanPluginException.h
-  <https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.2/OrthancServer/Plugins/Samples/Common/OrthancPluginException.h>`__
+  <https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.3/OrthancServer/Plugins/Samples/Common/OrthancPluginException.h>`__
--- a/Sphinx/source/developers/db-versioning.rst	Fri Jan 26 18:37:04 2024 +0100
+++ b/Sphinx/source/developers/db-versioning.rst	Wed Jan 31 14:01:54 2024 +0100
@@ -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.12.2            u       u       u       x
+Orthanc 0.9.5 - Orthanc 1.12.3            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	Fri Jan 26 18:37:04 2024 +0100
+++ b/Sphinx/source/dicom-guide.rst	Wed Jan 31 14:01:54 2024 +0100
@@ -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.12.2, Orthanc only implements C-Get as a
+*Note:* As of Orthanc 1.12.3, 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/orthanc-storage.rst	Fri Jan 26 18:37:04 2024 +0100
+++ b/Sphinx/source/faq/orthanc-storage.rst	Wed Jan 31 14:01:54 2024 +0100
@@ -59,9 +59,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://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.2/OrthancServer/Sources/Database/PrepareDatabase.sql>`__
+<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.3/OrthancServer/Sources/Database/PrepareDatabase.sql>`__
 and `InstallTrackAttachmentsSize.sql
-<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.2/OrthancServer/Sources/Database/InstallTrackAttachmentsSize.sql>`__.
+<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.3/OrthancServer/Sources/Database/InstallTrackAttachmentsSize.sql>`__.
 
 
 Direct access
--- a/Sphinx/source/faq/scalability.rst	Fri Jan 26 18:37:04 2024 +0100
+++ b/Sphinx/source/faq/scalability.rst	Wed Jan 31 14:01:54 2024 +0100
@@ -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.12.2 at the time of
+* Make sure to use the latest release of Orthanc (1.12.3 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/java.rst	Fri Jan 26 18:37:04 2024 +0100
+++ b/Sphinx/source/plugins/java.rst	Wed Jan 31 14:01:54 2024 +0100
@@ -18,7 +18,7 @@
 Java plugins have access to more features and a more consistent SDK
 than :ref:`Lua scripts <lua>`. The largest part of the Java API is
 automatically generated from the `Orthanc plugin SDK in C
-<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.2/OrthancServer/Plugins/Include/orthanc/OrthancCPlugin.h>`__
+<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.3/OrthancServer/Plugins/Include/orthanc/OrthancCPlugin.h>`__
 using the `Clang <https://en.wikipedia.org/wiki/Clang>`__ compiler
 front-end.
 
--- a/Sphinx/source/plugins/postgresql.rst	Fri Jan 26 18:37:04 2024 +0100
+++ b/Sphinx/source/plugins/postgresql.rst	Wed Jan 31 14:01:54 2024 +0100
@@ -343,7 +343,7 @@
 one.
 
 Upgrades/Downgrades (``pg-transactions`` beta version only)
-^^^^^^^^^^^^^^^^^
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 New vesions of the PostgreSQL might modify the DB schema by adding new columns/tables/triggers.
 Upgrades from one revision to the other is always automatic.
@@ -352,7 +352,7 @@
 older plugin might refuse to start because the revision is newer and unknown to it.
 
 Starting from this beta version, we are providing a downgrade script in case you want, e.g,
-to reinstall Orthanc 1.12.2 and PostgreSQL 5.1 (DB schema revision 6.1).
+to reinstall Orthanc 1.12.3 and PostgreSQL 5.1 (DB schema revision 6.1).
 
 To downgrade from the beta to the PostgreSQL 5.1, one might run this procedure::
 
--- a/Sphinx/source/plugins/python.rst	Fri Jan 26 18:37:04 2024 +0100
+++ b/Sphinx/source/plugins/python.rst	Wed Jan 31 14:01:54 2024 +0100
@@ -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://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.2/OrthancServer/Plugins/Include/orthanc/OrthancCPlugin.h>`__
+<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.3/OrthancServer/Plugins/Include/orthanc/OrthancCPlugin.h>`__
 using the `Clang <https://en.wikipedia.org/wiki/Clang>`__ compiler
 front-end.
 
@@ -296,7 +296,7 @@
 call ``RestApiPostAfterPlugin`` to call the REST API from plugins.
 
 
-Note however, that, as of Orthanc 1.12.2, the Orthanc plugin SDK
+Note however, that, as of Orthanc 1.12.3, the Orthanc plugin SDK
 does not support multiple plugins implementing the same route.
 Orthanc will actually accept e.g a Python plugin that overrides
 a DICOMWeb route but it is impossible to tell which route
@@ -878,7 +878,7 @@
 
 * The call to ``orthanc.ExtendOrthancExplorer()`` installs the button
   with JavaScript code that uses the `jQuery Mobile framework
-  <https://demos.jquerymobile.com/1.1.0/>`__ (as of Orthanc 1.12.2,
+  <https://demos.jquerymobile.com/1.1.0/>`__ (as of Orthanc 1.12.3,
   version 1.1.0 of jQuery Mobile is used in Orthanc Explorer).
 
 * If clicking on the button, a GET call to the REST API is made to
--- a/Sphinx/source/users/advanced-rest.rst	Fri Jan 26 18:37:04 2024 +0100
+++ b/Sphinx/source/users/advanced-rest.rst	Wed Jan 31 14:01:54 2024 +0100
@@ -89,7 +89,7 @@
 the ``MediaArchiveSize`` configuration that defines the maximum
 number of ZIP/media archives that are maintained by Orthanc, as a 
 response to the asynchronous creation of archive. As of Orthanc
-1.12.2, this value is ``1`` by default.
+1.12.3, this value is ``1`` by default.
 
 .. _jobs-monitoring:
 
@@ -139,7 +139,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.12.2, this feature is not
+  re-submission after a delay. As of Orthanc 1.12.3, this feature is not
   used by any type of job.
 
 In order to wait for the end of an asynchronous call, the caller will
@@ -148,7 +148,7 @@
 ``Failure``.
 
 Note that the `integration tests of Orthanc
-<https://orthanc.uclouvain.be/hg/orthanc-tests/file/Orthanc-1.12.2/Tests/Toolbox.py>`__
+<https://orthanc.uclouvain.be/hg/orthanc-tests/file/Orthanc-1.12.3/Tests/Toolbox.py>`__
 give an example about how to monitor a job in Python using the REST
 API (cf. function ``MonitorJob()``).
 
@@ -221,7 +221,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://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.2/OrthancServer/Sources/ServerJobs/ArchiveJob.cpp>`__
+<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.3/OrthancServer/Sources/ServerJobs/ArchiveJob.cpp>`__
 of Orthanc).
 
 Here is the corresponding sequence of commands to generate a DICOMDIR
@@ -230,7 +230,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.12.2, only the creation of a ZIP or a DICOMDIR archive
+As of Orthanc 1.12.3, only the creation of a ZIP or a DICOMDIR archive
 produces such "outputs".
 
   
--- a/Sphinx/source/users/anonymization.rst	Fri Jan 26 18:37:04 2024 +0100
+++ b/Sphinx/source/users/anonymization.rst	Wed Jan 31 14:01:54 2024 +0100
@@ -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://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.2/OrthancFramework/Sources/DicomParsing/DicomModification.cpp>`__).
+<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.3/OrthancFramework/Sources/DicomParsing/DicomModification.cpp>`__).
 
 
 Modification of a Single Instance
--- a/Sphinx/source/users/configuration.rst	Fri Jan 26 18:37:04 2024 +0100
+++ b/Sphinx/source/users/configuration.rst	Wed Jan 31 14:01:54 2024 +0100
@@ -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://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.2/OrthancServer/Resources/Configuration.json>`_. This
+<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.3/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	Fri Jan 26 18:37:04 2024 +0100
+++ b/Sphinx/source/users/debian-packages.rst	Wed Jan 31 14:01:54 2024 +0100
@@ -108,11 +108,11 @@
 This can be done with this sequence of commands::
 
   $ sudo service orthanc stop
-  $ sudo wget https://orthanc.uclouvain.be/downloads/linux-standard-base/orthanc/1.12.2/Orthanc --output-document /usr/sbin/Orthanc
+  $ sudo wget https://orthanc.uclouvain.be/downloads/linux-standard-base/orthanc/1.12.3/Orthanc --output-document /usr/sbin/Orthanc
   $ sudo chmod +x /usr/sbin/Orthanc
   $ sudo rm -f /usr/share/orthanc/plugins/*.so
-  $ sudo wget https://orthanc.uclouvain.be/downloads/linux-standard-base/orthanc/1.12.2/libServeFolders.so --output-document /usr/share/orthanc/plugins/libServeFolders.so
-  $ sudo wget https://orthanc.uclouvain.be/downloads/linux-standard-base/orthanc/1.12.2/libModalityWorklists.so --output-document /usr/share/orthanc/plugins/libModalityWorklists.so
+  $ sudo wget https://orthanc.uclouvain.be/downloads/linux-standard-base/orthanc/1.12.3/libServeFolders.so --output-document /usr/share/orthanc/plugins/libServeFolders.so
+  $ sudo wget https://orthanc.uclouvain.be/downloads/linux-standard-base/orthanc/1.12.3/libModalityWorklists.so --output-document /usr/share/orthanc/plugins/libModalityWorklists.so
   $
   $ sudo wget https://orthanc.uclouvain.be/downloads/linux-standard-base/orthanc-dicomweb/1.16/libOrthancDicomWeb.so --output-document /usr/share/orthanc/plugins/libOrthancDicomWeb.so
   $ ...
--- a/Sphinx/source/users/docker.rst	Fri Jan 26 18:37:04 2024 +0100
+++ b/Sphinx/source/users/docker.rst	Wed Jan 31 14:01:54 2024 +0100
@@ -75,13 +75,13 @@
 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.12.2
+  $ docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc:1.12.3
 
 Passing additional command-line options (e.g. to make Orthanc verbose)
 can be done as follows (note the ``/etc/orthanc`` option that is
 required for Orthanc to find its configuration files)::
 
-  $ docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc:1.12.2 /etc/orthanc --verbose
+  $ docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc:1.12.3 /etc/orthanc --verbose
 
 
 Usage, with plugins enabled
@@ -97,7 +97,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.12.2
+  $ docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc-plugins:1.12.3
 
 If you have an interest in the :ref:`Python plugin <python-plugin>`,
 you can use the ``orthanc-python`` image. The latter image is a
@@ -105,7 +105,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.12.2
+  $ docker run -p 4242:4242 -p 8042:8042 --rm jodogne/orthanc-python:1.12.3
   
 
 Fine-tuning the configuration
@@ -119,12 +119,12 @@
 
 You can generate a custom configuration file for Orthanc as follows::
 
-  $ docker run --rm --entrypoint=cat jodogne/orthanc:1.12.2 /etc/orthanc/orthanc.json > /tmp/orthanc.json
+  $ docker run --rm --entrypoint=cat jodogne/orthanc:1.12.3 /etc/orthanc/orthanc.json > /tmp/orthanc.json
 
 Then, edit the just-generated file ``/tmp/orthanc.json`` and restart
 Orthanc with your updated configuration::
 
-  $ docker run -p 4242:4242 -p 8042:8042 --rm -v /tmp/orthanc.json:/etc/orthanc/orthanc.json:ro jodogne/orthanc:1.12.2
+  $ docker run -p 4242:4242 -p 8042:8042 --rm -v /tmp/orthanc.json:/etc/orthanc/orthanc.json:ro jodogne/orthanc:1.12.3
 
 *Remark:* These Docker images automatically set the environment
 variable ``MALLOC_ARENA_MAX`` to ``5`` in order to :ref:`control
@@ -157,7 +157,7 @@
   version: '3.1'  # Secrets are only available since this version of Docker Compose
   services:
     orthanc:
-      image: jodogne/orthanc-plugins:1.12.2
+      image: jodogne/orthanc-plugins:1.12.3
       command: /run/secrets/  # Path to the configuration files (stored as secrets)
       ports:
         - 4242:4242
@@ -206,7 +206,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.12.2
+  $ docker run -p 4242:4242 -p 8042:8042 --rm -v /tmp/orthanc-db/:/var/lib/orthanc/db/ jodogne/orthanc:1.12.3
 
 
 Whole-slide imaging support
@@ -216,13 +216,13 @@
 whole-slide imaging (WSI) <wsi>`. For instance, the following command
 will start the WSI viewer plugin transparently together with Orthanc::
 
-  $ docker run -p 4242:4242 -p 8042:8042 --rm --name orthanc-wsi jodogne/orthanc-plugins:1.12.2
+  $ docker run -p 4242:4242 -p 8042:8042 --rm --name orthanc-wsi jodogne/orthanc-plugins:1.12.3
 
 Note that we gave the name ``orthanc-wsi`` to this new Docker
 container. Then, the Dicomizer command-line tool can be invoked as
 follows::
 
-  $ docker run -t -i --rm --link=orthanc-wsi:orthanc --entrypoint=OrthancWSIDicomizer -v /tmp/Source.tif:/tmp/Source.tif:ro jodogne/orthanc-plugins:1.12.2 --username=orthanc --password=orthanc --orthanc=http://orthanc:8042/ /tmp/Source.tif
+  $ docker run -t -i --rm --link=orthanc-wsi:orthanc --entrypoint=OrthancWSIDicomizer -v /tmp/Source.tif:/tmp/Source.tif:ro jodogne/orthanc-plugins:1.12.3 --username=orthanc --password=orthanc --orthanc=http://orthanc:8042/ /tmp/Source.tif
 
 This command needs a few explanations:
 
@@ -250,7 +250,7 @@
 instruct the Dicomizer to use `OpenSlide <https://openslide.org/>`__
 to decode it by adding the ``--openslide`` option::
 
-  $ docker run -t -i --rm --link=orthanc-wsi:orthanc --entrypoint=OrthancWSIDicomizer -v /tmp/Source.svs:/tmp/Source.svs:ro jodogne/orthanc-plugins:1.12.2 --username=orthanc --password=orthanc --orthanc=http://orthanc:8042/ --openslide=libopenslide.so /tmp/Source.svs
+  $ docker run -t -i --rm --link=orthanc-wsi:orthanc --entrypoint=OrthancWSIDicomizer -v /tmp/Source.svs:/tmp/Source.svs:ro jodogne/orthanc-plugins:1.12.3 --username=orthanc --password=orthanc --orthanc=http://orthanc:8042/ --openslide=libopenslide.so /tmp/Source.svs
 
 
 PostgreSQL and Orthanc inside Docker
@@ -271,7 +271,7 @@
 
   $ docker inspect --format '{{ .NetworkSettings.IPAddress }}' some-postgres
   $ docker inspect --format '{{ .NetworkSettings.Ports }}' some-postgres
-  $ docker run --rm --entrypoint=cat jodogne/orthanc-plugins:1.12.2 /etc/orthanc/orthanc.json > /tmp/orthanc.json
+  $ docker run --rm --entrypoint=cat jodogne/orthanc-plugins:1.12.3 /etc/orthanc/orthanc.json > /tmp/orthanc.json
 
 .. highlight:: text
 
@@ -292,7 +292,7 @@
 
 Finally, you can start Orthanc::
 
-  $ docker run -p 4242:4242 -p 8042:8042 --rm -v /tmp/orthanc.json:/etc/orthanc/orthanc.json:ro jodogne/orthanc-plugins:1.12.2
+  $ docker run -p 4242:4242 -p 8042:8042 --rm -v /tmp/orthanc.json:/etc/orthanc/orthanc.json:ro jodogne/orthanc-plugins:1.12.3
 
 
 Debugging
@@ -303,5 +303,5 @@
 For debugging purpose, you can start an interactive bash session as
 follows::
 
-  $ docker run -i -t --rm --entrypoint=bash jodogne/orthanc:1.12.2
-  $ docker run -i -t --rm --entrypoint=bash jodogne/orthanc-plugins:1.12.2
+  $ docker run -i -t --rm --entrypoint=bash jodogne/orthanc:1.12.3
+  $ docker run -i -t --rm --entrypoint=bash jodogne/orthanc-plugins:1.12.3
--- a/Sphinx/source/users/docker.rst.BAK	Fri Jan 26 18:37:04 2024 +0100
+++ b/Sphinx/source/users/docker.rst.BAK	Wed Jan 31 14:01:54 2024 +0100
@@ -20,4 +20,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.12.2``.
+  use e.g. ``jodogne/orthanc-debug:1.12.3``.
--- a/Sphinx/source/users/man-orthanc.txt	Fri Jan 26 18:37:04 2024 +0100
+++ b/Sphinx/source/users/man-orthanc.txt	Wed Jan 31 14:01:54 2024 +0100
@@ -14,9 +14,9 @@
        The  "CONFIGURATION"  argument  can be a single file or a directory. In
        the case of a directory, all the JSON files it contains will be merged.
        If no configuration path is given on the command line, a set of default
-       parameters is used. Please refer to  the  Orthanc  Book	for  the  full
-       instructions	   about	how	   to	     use       Orthanc
-       <https://orthanc.uclouvain.be/book/>.
+       parameters is used. Please refer to the Orthanc Book for the  full  in‐
+       structions   about   how	  to   use   Orthanc   <https://orthanc.uclou‐
+       vain.be/book/>.
 
        Pay attention to the fact that the order of the options	is  important.
        Options	are read left to right. In particular, options such as "--ver‐
@@ -60,7 +60,7 @@
 	      tion of Orthanc
 
        --openapi=[file]
-	      write the OpenAPI documentation and  exit  (if  "file"  is  "-",
+	      write the OpenAPI documentation and  exit	 (if  "file"  is  "-",
 	      dumps to stdout)
 
        --cheatsheet=[file]
@@ -120,13 +120,13 @@
        Written by Sebastien Jodogne <s.jodogne@orthanc-labs.com>
 
 COPYRIGHT
-       Copyright © 2012-2016 Sebastien Jodogne,  Medical  Physics  Department,
+       Copyright © 2012-2016 Sebastien Jodogne,	 Medical  Physics  Department,
        University Hospital of Liege (Belgium)
-       Copyright © 2017-2023 Osimis S.A. (Belgium)
-       Copyright  ©  2021-2023	Sebastien  Jodogne, ICTEAM UCLouvain (Belgium)
-       Licensing    GPLv3+:	GNU	GPL	version     3	  or	 later
-       <http://gnu.org/licenses/gpl.html>.
-       This  is  free  software:  you  are free to change and redistribute it.
+       Copyright © 2017-2024 Osimis S.A. (Belgium)
+       Copyright © 2021-2024 Sebastien Jodogne, ICTEAM UCLouvain (Belgium) Li‐
+       censing	GPLv3+:	 GNU  GPL  version  3  or  later   <http://gnu.org/li‐
+       censes/gpl.html>.
+       This  is	 free  software:  you  are free to change and redistribute it.
        There is NO WARRANTY, to the extent permitted by law.
 
-Orthanc 1.12.1			   July 2023			    ORTHANC(1)
+Orthanc 1.12.3			 January 2024			    ORTHANC(1)
--- a/Sphinx/source/users/rest.rst	Fri Jan 26 18:37:04 2024 +0100
+++ b/Sphinx/source/users/rest.rst	Wed Jan 31 14:01:54 2024 +0100
@@ -98,7 +98,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://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.2/OrthancServer/Resources/Samples/ImportDicomFiles/ImportDicomFiles.py>`__
+<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.3/OrthancServer/Resources/Samples/ImportDicomFiles/ImportDicomFiles.py>`__
 that recursively upload the content of some folder into Orthanc using
 the REST API::
 
@@ -110,7 +110,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://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.2/OrthancServer/Resources/Samples/ImportDicomFiles/OrthancImport.py>`__.
+<https://orthanc.uclouvain.be/hg/orthanc/file/Orthanc-1.12.3/OrthancServer/Resources/Samples/ImportDicomFiles/OrthancImport.py>`__.
     
 
 .. highlight:: perl