diff --git a/.docs/.swagger/api-analyse.yaml b/.docs/.swagger/api-analyse.yaml
index 5349ba84e17b8a638e87a98068ee164b7fa96c28..4ec0ed6e72d74926538c22f42b92015730bb056a 100644
--- a/.docs/.swagger/api-analyse.yaml
+++ b/.docs/.swagger/api-analyse.yaml
@@ -12,7 +12,7 @@ info:
     name: Apache 2.0
     url: https://www.apache.org/licenses/LICENSE-2.0
   title: Database Repository Analyse Service API
-  version: dbrepo-latest
+  version: $TAG
 openapi: 3.0.0
 paths:
   /api/analyse/determinedt:
@@ -48,8 +48,6 @@ paths:
         '405':
           description: Invalid input
       summary: Determine datatypes
-      tags:
-        - analyse-endpoint
   /api/analyse/determinepk:
     post:
       consumes:
@@ -78,88 +76,6 @@ paths:
         '405':
           description: Invalid input
       summary: Determine primary keys
-      tags:
-        - analyse-endpoint
-  /api/analyse/determinestat:
-    post:
-      operationId: determinestat
-      requestBody:
-        content:
-          application/json:
-            schema:
-              properties:
-                database_id:
-                  example: 1
-                  type: integer
-                table_id:
-                  example: 1
-                  type: integer
-              required:
-                - database_id
-                - table_id
-              type: object
-      responses:
-        '200':
-          content:
-            application/json:
-              schema:
-                properties:
-                  message:
-                    example: Analysed statistical properties
-                    type: string
-                  status:
-                    example: '200'
-                    type: integer
-                required:
-                  - message
-                  - status
-                type: object
-          description: Determined statistics
-        '400':
-          description: Invalid input
-          ontent:
-            application/json:
-              schema:
-                properties:
-                  message:
-                    example: Analysed statistical properties
-                    type: string
-                  status:
-                    example: '200'
-                    type: integer
-                required:
-                  - message
-                  - status
-                type: object
-      summary: Determine statistics
-      tags:
-        - analyse-endpoint
-  /api/analyse/determinestats:
-    post:
-      operationId: determinestats
-      requestBody:
-        content:
-          application/json:
-            schema:
-              properties:
-                filepath:
-                  example: file.csv
-                  type: string
-                separator:
-                  example: ','
-                  type: string
-              required:
-                - filepath
-                - separator
-              type: object
-      responses:
-        '200':
-          description: Determined statistics
-        '400':
-          description: Invalid input
-      summary: Determine statistics
-      tags:
-        - analyse-endpoint
   /health:
     get:
       consumes:
@@ -182,10 +98,8 @@ paths:
         '200':
           description: OK
       summary: Check if application is running
-      tags:
-        - health-endpoint
 servers:
   - description: Generated server url
     url: http://localhost:5000
   - description: Sandbox
-    url: https://test.dbrepo.tuwien.ac.at
+    url: https://dbrepo2.tuwien.ac.at
diff --git a/.docs/.swagger/api-data.yaml b/.docs/.swagger/api-data.yaml
index 4b5a54fbbf69af41758d3f6e29da16c1661a9262..2dd3a10e3034a394e10836160d00a3e88f011023 100644
--- a/.docs/.swagger/api-data.yaml
+++ b/.docs/.swagger/api-data.yaml
@@ -8,7 +8,7 @@ info:
   license:
     name: Apache 2.0
     url: https://www.apache.org/licenses/LICENSE-2.0
-  version: dbrepo-latest
+  version: $TAG
 externalDocs:
   description: Sourcecode Documentation
   url: https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services
diff --git a/.docs/.swagger/api-metadata.yaml b/.docs/.swagger/api-metadata.yaml
index c609f5390d4b3ea56032f40ccc96f7ef4ba5e96c..55cafa02395b0c4381155cb29be50279f4b8ff3c 100644
--- a/.docs/.swagger/api-metadata.yaml
+++ b/.docs/.swagger/api-metadata.yaml
@@ -8,7 +8,7 @@ info:
   license:
     name: Apache 2.0
     url: https://www.apache.org/licenses/LICENSE-2.0
-  version: dbrepo-latest
+  version: $TAG
 externalDocs:
   description: Sourcecode Documentation
   url: https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services
@@ -38,14 +38,6 @@ paths:
           type: integer
           format: int64
       responses:
-        "200":
-          description: Find table history successfully
-          content:
-            application/json:
-              schema:
-                type: array
-                items:
-                  $ref: '#/components/schemas/TableHistoryDto'
         "400":
           description: Table history query is malformed
           content:
@@ -70,6 +62,14 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
+        "200":
+          description: Find table history successfully
+          content:
+            application/json:
+              schema:
+                type: array
+                items:
+                  $ref: '#/components/schemas/TableHistoryDto'
       security:
       - bearerAuth: []
     head:
@@ -91,14 +91,6 @@ paths:
           type: integer
           format: int64
       responses:
-        "200":
-          description: Find table history successfully
-          content:
-            application/json:
-              schema:
-                type: array
-                items:
-                  $ref: '#/components/schemas/TableHistoryDto'
         "400":
           description: Table history query is malformed
           content:
@@ -123,6 +115,14 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
+        "200":
+          description: Find table history successfully
+          content:
+            application/json:
+              schema:
+                type: array
+                items:
+                  $ref: '#/components/schemas/TableHistoryDto'
       security:
       - bearerAuth: []
   /api/database/{databaseId}/table/{tableId}/data:
@@ -188,6 +188,12 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
+        "202":
+          description: Get table data successfully
+          content:
+            '*/*':
+              schema:
+                $ref: '#/components/schemas/QueryResultDto'
         "404":
           description: Table or database could not be found
           content:
@@ -200,12 +206,6 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "202":
-          description: Get table data successfully
-          content:
-            '*/*':
-              schema:
-                $ref: '#/components/schemas/QueryResultDto'
       security:
       - bearerAuth: []
     post:
@@ -245,14 +245,14 @@ paths:
             '*/*':
               schema:
                 type: object
-        "404":
-          description: Table or database could not be found
+        "400":
+          description: Insert table data is malformed
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "400":
-          description: Insert table data is malformed
+        "404":
+          description: Table or database could not be found
           content:
             application/json:
               schema:
@@ -368,6 +368,12 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
+        "202":
+          description: Get table data successfully
+          content:
+            '*/*':
+              schema:
+                $ref: '#/components/schemas/QueryResultDto'
         "404":
           description: Table or database could not be found
           content:
@@ -380,12 +386,6 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "202":
-          description: Get table data successfully
-          content:
-            '*/*':
-              schema:
-                $ref: '#/components/schemas/QueryResultDto'
       security:
       - bearerAuth: []
   /api/user/{id}:
@@ -408,18 +408,18 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "200":
-          description: Found user
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/UserDto'
         "403":
           description: Find user is not permitted
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
+        "200":
+          description: Found user
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/UserDto'
       security:
       - bearerAuth: []
     put:
@@ -441,18 +441,6 @@ paths:
               $ref: '#/components/schemas/UserUpdateDto'
         required: true
       responses:
-        "400":
-          description: Modify user query is malformed
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "403":
-          description: Modify user is not permitted
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
         "202":
           description: Modified user information
           content:
@@ -465,12 +453,24 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
+        "403":
+          description: Modify user is not permitted
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
         "405":
           description: Foreign user modification
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
+        "400":
+          description: Modify user query is malformed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
       security:
       - bearerAuth: []
   /api/user/{id}/theme:
@@ -499,18 +499,18 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "202":
-          description: Modified user theme
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/UserDto'
         "403":
           description: Modify user is not permitted
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
+        "202":
+          description: Modified user theme
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/UserDto'
         "405":
           description: Foreign user modification
           content:
@@ -539,8 +539,14 @@ paths:
               $ref: '#/components/schemas/UserPasswordDto'
         required: true
       responses:
-        "403":
-          description: Modify is not allowed
+        "202":
+          description: Modified user password
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/UserDto'
+        "405":
+          description: Foreign user modification
           content:
             application/json:
               schema:
@@ -551,8 +557,8 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "405":
-          description: Foreign user modification
+        "403":
+          description: Modify is not allowed
           content:
             application/json:
               schema:
@@ -563,12 +569,6 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "202":
-          description: Modified user password
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/UserDto'
       security:
       - bearerAuth: []
   /api/semantic/ontology/{id}:
@@ -585,18 +585,18 @@ paths:
           type: integer
           format: int64
       responses:
-        "200":
-          description: Find one ontology
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/OntologyDto'
         "404":
           description: Could not find ontology
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
+        "200":
+          description: Find one ontology
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/OntologyDto'
     put:
       tags:
       - ontology-endpoint
@@ -700,18 +700,18 @@ paths:
               $ref: '#/components/schemas/BannerMessageUpdateDto'
         required: true
       responses:
-        "404":
-          description: Could not find message
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
         "202":
           description: Updated message
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/BannerMessageBriefDto'
+        "404":
+          description: Could not find message
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
     delete:
       tags:
       - maintenance-endpoint
@@ -940,12 +940,6 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "202":
-          description: Updated column semantics successfully
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ColumnDto'
         "404":
           description: Table or database could not be found
           content:
@@ -959,6 +953,12 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
+        "202":
+          description: Updated column semantics successfully
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ColumnDto'
       security:
       - bearerAuth: []
   /api/database/{id}/access/{userId}:
@@ -987,12 +987,6 @@ paths:
               $ref: '#/components/schemas/DatabaseModifyAccessDto'
         required: true
       responses:
-        "404":
-          description: Database or user not found
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
         "403":
           description: Modify access not permitted when no access is granted in the
             first place
@@ -1008,6 +1002,12 @@ paths:
                 $ref: '#/components/schemas/ApiErrorDto'
         "202":
           description: Modify access succeeded
+        "404":
+          description: Database or user not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
       security:
       - bearerAuth: []
     post:
@@ -1035,26 +1035,26 @@ paths:
               $ref: '#/components/schemas/DatabaseGiveAccessDto'
         required: true
       responses:
-        "405":
-          description: Granting access not permitted
+        "403":
+          description: Failed giving access
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "404":
-          description: Database or user not found
+        "405":
+          description: Granting access not permitted
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "403":
-          description: Failed giving access
+        "202":
+          description: Granting access succeeded
+        "404":
+          description: Database or user not found
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "202":
-          description: Granting access succeeded
         "400":
           description: Granting access query or database connection is malformed
           content:
@@ -1082,8 +1082,6 @@ paths:
           type: string
           format: uuid
       responses:
-        "202":
-          description: Revoked access successfully
         "400":
           description: Modify access query or database connection is malformed
           content:
@@ -1096,6 +1094,8 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
+        "202":
+          description: Revoked access successfully
         "403":
           description: Revoke of access not permitted as no access was found
           content:
@@ -1136,8 +1136,8 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "503":
-          description: Connection to the database failed
+        "404":
+          description: "Database, query or user could not be found"
           content:
             application/json:
               schema:
@@ -1148,8 +1148,8 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/QueryDto'
-        "404":
-          description: "Database, query or user could not be found"
+        "503":
+          description: Connection to the database failed
           content:
             application/json:
               schema:
@@ -1187,8 +1187,8 @@ paths:
               $ref: '#/components/schemas/QueryPersistDto'
         required: true
       responses:
-        "405":
-          description: Persist query is not permitted
+        "412":
+          description: Query is already persisted
           content:
             application/json:
               schema:
@@ -1199,30 +1199,30 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "404":
-          description: "Database, query or user could not be found"
+        "400":
+          description: Image not supported
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "400":
-          description: Image not supported
+        "405":
+          description: Persist query is not permitted
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "200":
-          description: Persist query successful
+        "404":
+          description: "Database, query or user could not be found"
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/QueryDto'
-        "412":
-          description: Query is already persisted
+                $ref: '#/components/schemas/ApiErrorDto'
+        "200":
+          description: Persist query successful
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/ApiErrorDto'
+                $ref: '#/components/schemas/QueryDto'
       security:
       - bearerAuth: []
   /api/user:
@@ -1252,6 +1252,16 @@ paths:
               $ref: '#/components/schemas/SignupRequestDto'
         required: true
       responses:
+        "400":
+          description: Parameters are not well-formed (likely email)
+          content:
+            application/json: {}
+        "404":
+          description: default role not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
         "409":
           description: User with username already exists
           content:
@@ -1270,16 +1280,6 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/UserBriefDto'
-        "404":
-          description: default role not found
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "400":
-          description: Parameters are not well-formed (likely email)
-          content:
-            application/json: {}
   /api/semantic/ontology:
     get:
       tags:
@@ -1381,18 +1381,18 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "409":
-          description: Image already exists
+        "201":
+          description: Created image
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "201":
-          description: Created image
+                $ref: '#/components/schemas/ImageDto'
+        "409":
+          description: Image already exists
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/ImageDto'
+                $ref: '#/components/schemas/ApiErrorDto'
       security:
       - bearerAuth: []
   /api/identifier:
@@ -1457,14 +1457,14 @@ paths:
               $ref: '#/components/schemas/IdentifierSaveDto'
         required: true
       responses:
-        "409":
-          description: Identifier for this resource already exists
+        "201":
+          description: Created identifier
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "400":
-          description: Identifier form contains invalid request data
+                $ref: '#/components/schemas/IdentifierDto'
+        "409":
+          description: Identifier for this resource already exists
           content:
             application/json:
               schema:
@@ -1475,8 +1475,8 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "406":
-          description: Creating identifier not allowed
+        "204":
+          description: Identifier could not be created
           content:
             application/json:
               schema:
@@ -1487,26 +1487,26 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "201":
-          description: Created identifier
+        "406":
+          description: Creating identifier not allowed
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/IdentifierDto'
-        "405":
-          description: Creating identifier not permitted
+                $ref: '#/components/schemas/ApiErrorDto'
+        "404":
+          description: "Failed to find database, table or view"
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "204":
-          description: Identifier could not be created
+        "400":
+          description: Identifier form contains invalid request data
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "404":
-          description: "Failed to find database, table or view"
+        "405":
+          description: Creating identifier not permitted
           content:
             application/json:
               schema:
@@ -1565,12 +1565,6 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "503":
-          description: Connection to the database failed
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
         "409":
           description: Query store could not be created
           content:
@@ -1583,6 +1577,12 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/DatabaseBriefDto'
+        "503":
+          description: Connection to the database failed
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
         "400":
           description: Database create query is malformed or image is not supported
           content:
@@ -1609,12 +1609,6 @@ paths:
         schema:
           type: string
       responses:
-        "404":
-          description: User not found
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
         "200":
           description: Count databases
           content:
@@ -1623,6 +1617,12 @@ paths:
                 type: array
                 items:
                   $ref: '#/components/schemas/DatabaseDto'
+        "404":
+          description: User not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
   /api/database/{databaseId}/view:
     get:
       tags:
@@ -1678,26 +1678,26 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "400":
-          description: Create view query is malformed
+        "201":
+          description: Create view successfully
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/ApiErrorDto'
+                $ref: '#/components/schemas/ViewBriefDto'
         "403":
           description: Credentials missing
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "503":
-          description: Connection to the database failed
+        "401":
+          description: Credentials missing
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "401":
-          description: Credentials missing
+        "503":
+          description: Connection to the database failed
           content:
             application/json:
               schema:
@@ -1714,12 +1714,12 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "201":
-          description: Create view successfully
+        "400":
+          description: Create view query is malformed
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/ViewBriefDto'
+                $ref: '#/components/schemas/ApiErrorDto'
       security:
       - bearerAuth: []
   /api/database/{databaseId}/table:
@@ -1736,6 +1736,12 @@ paths:
           type: integer
           format: int64
       responses:
+        "404":
+          description: Database could not be found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
         "200":
           description: List tables
           content:
@@ -1744,12 +1750,6 @@ paths:
                 type: array
                 items:
                   $ref: '#/components/schemas/TableBriefDto'
-        "404":
-          description: Database could not be found
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
         "403":
           description: List tables not permitted
           content:
@@ -1777,24 +1777,12 @@ paths:
               $ref: '#/components/schemas/TableCreateDto'
         required: true
       responses:
-        "403":
-          description: Create table not permitted
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
         "404":
           description: "Database, container or user could not be found"
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "201":
-          description: Created a new table
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/TableBriefDto'
         "409":
           description: Create table conflicts with existing table name
           content:
@@ -1807,6 +1795,18 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
+        "201":
+          description: Created a new table
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/TableBriefDto'
+        "403":
+          description: Create table not permitted
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
       security:
       - bearerAuth: []
   /api/database/{databaseId}/table/{tableId}/data/import:
@@ -1882,27 +1882,35 @@ paths:
         schema:
           type: boolean
       responses:
-        "501":
-          description: Image is not supported
+        "404":
+          description: "Database, container or user could not be found"
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "504":
-          description: Query store failed to select query
+        "423":
+          description: Selection of time-versioned query resulted in an invalid query
+            statement
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "404":
-          description: "Database, container or user could not be found"
+        "200":
+          description: List queries
+          content:
+            application/json:
+              schema:
+                type: array
+                items:
+                  $ref: '#/components/schemas/QueryBriefDto'
+        "501":
+          description: Image is not supported
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "423":
-          description: Selection of time-versioned query resulted in an invalid query
-            statement
+        "504":
+          description: Query store failed to select query
           content:
             application/json:
               schema:
@@ -1919,14 +1927,6 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "200":
-          description: List queries
-          content:
-            application/json:
-              schema:
-                type: array
-                items:
-                  $ref: '#/components/schemas/QueryBriefDto'
       security:
       - bearerAuth: []
     post:
@@ -1973,20 +1973,26 @@ paths:
               $ref: '#/components/schemas/ExecuteStatementDto'
         required: true
       responses:
+        "400":
+          description: Image is not supported
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
         "409":
           description: Could not store query in query store
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "417":
-          description: Could not parse columns
+        "202":
+          description: Executed query
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "400":
-          description: Image is not supported
+                $ref: '#/components/schemas/QueryResultDto'
+        "404":
+          description: "Database, query or user could not be found"
           content:
             application/json:
               schema:
@@ -1997,14 +2003,8 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "202":
-          description: Executed query
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/QueryResultDto'
-        "404":
-          description: "Database, query or user could not be found"
+        "417":
+          description: Could not parse columns
           content:
             application/json:
               schema:
@@ -2045,24 +2045,24 @@ paths:
               $ref: '#/components/schemas/ContainerCreateRequestDto'
         required: true
       responses:
-        "404":
-          description: Container image or user could not be found
+        "201":
+          description: Created a new container
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/ApiErrorDto'
+                $ref: '#/components/schemas/ContainerBriefDto'
         "409":
           description: Container name already exists
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "201":
-          description: Created a new container
+        "404":
+          description: Container image or user could not be found
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/ContainerBriefDto'
+                $ref: '#/components/schemas/ApiErrorDto'
       security:
       - bearerAuth: []
   /api/semantic/unit:
@@ -2104,20 +2104,22 @@ paths:
         schema:
           type: string
       responses:
-        "422":
-          description: Ontology does not have rdf or sparql endpoint
+        "417":
+          description: Generated query or uri is malformed
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "404":
-          description: Could not find ontology
+        "200":
+          description: Found entities
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "417":
-          description: Generated query or uri is malformed
+                type: array
+                items:
+                  $ref: '#/components/schemas/EntityDto'
+        "404":
+          description: Could not find ontology
           content:
             application/json:
               schema:
@@ -2128,14 +2130,12 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "200":
-          description: Found entities
+        "422":
+          description: Ontology does not have rdf or sparql endpoint
           content:
             application/json:
               schema:
-                type: array
-                items:
-                  $ref: '#/components/schemas/EntityDto'
+                $ref: '#/components/schemas/ApiErrorDto'
       security:
       - bearerAuth: []
   /api/semantic/database/{databaseId}/table/{tableId}:
@@ -2164,6 +2164,12 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
+        "404":
+          description: Could not find the table
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
         "422":
           description: Ontology does not have rdf or sparql endpoint
           content:
@@ -2178,12 +2184,6 @@ paths:
                 type: array
                 items:
                   $ref: '#/components/schemas/TableColumnEntityDto'
-        "404":
-          description: Could not find the table
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
       security:
       - bearerAuth: []
   /api/semantic/database/{databaseId}/table/{tableId}/column/{columnId}:
@@ -2218,6 +2218,14 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
+        "200":
+          description: Suggested table column semantics successfully
+          content:
+            application/json:
+              schema:
+                type: array
+                items:
+                  $ref: '#/components/schemas/TableColumnEntityDto'
         "404":
           description: Could not find the table column
           content:
@@ -2230,14 +2238,6 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "200":
-          description: Suggested table column semantics successfully
-          content:
-            application/json:
-              schema:
-                type: array
-                items:
-                  $ref: '#/components/schemas/TableColumnEntityDto'
       security:
       - bearerAuth: []
   /api/semantic/concept:
@@ -2274,13 +2274,24 @@ paths:
         schema:
           type: string
       responses:
-        "400":
-          description: "Identifier could not be exported, the requested style is not\
-            \ known"
+        "409":
+          description: Exported resource was not found
           content:
-            text/bibliography:
+            text/csv:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
+        "200":
+          description: Found identifier successfully
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/IdentifierDto'
+            text/csv: {}
+            text/xml: {}
+            text/bibliography: {}
+            text/bibliography; style=apa: {}
+            text/bibliography; style=ieee: {}
+            text/bibliography; style=bibtex: {}
         "422":
           description: Failed to retrieve from database sidecar
           content:
@@ -2293,10 +2304,11 @@ paths:
             text/csv:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "409":
-          description: Exported resource was not found
+        "400":
+          description: "Identifier could not be exported, the requested style is not\
+            \ known"
           content:
-            text/csv:
+            text/bibliography:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
         "410":
@@ -2305,18 +2317,6 @@ paths:
             text/csv:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "200":
-          description: Found identifier successfully
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/IdentifierDto'
-            text/csv: {}
-            text/xml: {}
-            text/bibliography: {}
-            text/bibliography; style=apa: {}
-            text/bibliography; style=ieee: {}
-            text/bibliography; style=bibtex: {}
         "404":
           description: Identifier could not be found
           content:
@@ -2390,18 +2390,18 @@ paths:
           type: integer
           format: int64
       responses:
-        "200":
-          description: Database found successfully
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/DatabaseDto'
         "503":
           description: Connection to the broker service could not be established
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
+        "200":
+          description: Database found successfully
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/DatabaseDto'
         "404":
           description: Database or exchange could not be found
           content:
@@ -2436,38 +2436,38 @@ paths:
           type: string
           format: date-time
       responses:
-        "403":
-          description: Operation is not allowed
+        "201":
+          description: Created identifier
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/ApiErrorDto'
+                $ref: '#/components/schemas/IdentifierDto'
         "503":
           description: Database connection could not be established
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "201":
-          description: Created identifier
+        "403":
+          description: Operation is not allowed
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/IdentifierDto'
+                $ref: '#/components/schemas/ApiErrorDto'
         "422":
           description: Sidecar operation could not be completed
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "400":
-          description: Images is not supported or table/query is malformed
+        "404":
+          description: "Table, database or user was not found"
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "404":
-          description: "Table, database or user was not found"
+        "400":
+          description: Images is not supported or table/query is malformed
           content:
             application/json:
               schema:
@@ -2494,24 +2494,24 @@ paths:
           type: integer
           format: int64
       responses:
-        "403":
-          description: No access to this database
+        "200":
+          description: Found database access
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/ApiErrorDto'
+                $ref: '#/components/schemas/DatabaseAccessDto'
         "404":
           description: Database not found
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "200":
-          description: Found database access
+        "403":
+          description: No access to this database
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/DatabaseAccessDto'
+                $ref: '#/components/schemas/ApiErrorDto'
       security:
       - bearerAuth: []
   /api/database/{databaseId}/view/{viewId}:
@@ -2534,18 +2534,18 @@ paths:
           type: integer
           format: int64
       responses:
-        "403":
-          description: Find view is not permitted
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
         "200":
           description: Find view successfully
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ViewDto'
+        "403":
+          description: Find view is not permitted
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
         "404":
           description: "Database, view or user could not be found"
           content:
@@ -2573,34 +2573,32 @@ paths:
           type: integer
           format: int64
       responses:
-        "405":
-          description: Delete view is not permitted
+        "400":
+          description: Delete view query is malformed
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "400":
-          description: Delete view query is malformed
+        "403":
+          description: Deletion not allowed
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "423":
-          description: Delete view resulted in an invalid query statement
+        "405":
+          description: Delete view is not permitted
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "200":
-          description: Delete view successfully
         "503":
           description: Connection to the database failed
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "403":
-          description: Deletion not allowed
+        "423":
+          description: Delete view resulted in an invalid query statement
           content:
             application/json:
               schema:
@@ -2611,6 +2609,8 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
+        "200":
+          description: Delete view successfully
       security:
       - bearerAuth: []
   /api/database/{databaseId}/view/{viewId}/data:
@@ -2645,26 +2645,26 @@ paths:
           type: integer
           format: int64
       responses:
-        "200":
-          description: Find data successfully
+        "404":
+          description: "Database, view, container or user could not be found"
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/QueryResultDto'
-        "403":
-          description: View data not allowed
+                $ref: '#/components/schemas/ApiErrorDto'
+        "200":
+          description: Find data successfully
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "404":
-          description: "Database, view, container or user could not be found"
+                $ref: '#/components/schemas/QueryResultDto'
+        "400":
+          description: Pagination not in valid range or find data query is malformed
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "400":
-          description: Pagination not in valid range or find data query is malformed
+        "403":
+          description: View data not allowed
           content:
             application/json:
               schema:
@@ -2691,21 +2691,20 @@ paths:
           type: integer
           format: int64
       responses:
-        "200":
-          description: Count data successfully
+        "404":
+          description: "Database, view, container or user could not be found"
           content:
             application/json:
               schema:
-                type: integer
-                format: int64
+                $ref: '#/components/schemas/ApiErrorDto'
         "403":
           description: Count data not allowed
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "404":
-          description: "Database, view, container or user could not be found"
+        "409":
+          description: Could not count query data
           content:
             application/json:
               schema:
@@ -2716,12 +2715,13 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "409":
-          description: Could not count query data
+        "200":
+          description: Count data successfully
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/ApiErrorDto'
+                type: integer
+                format: int64
       security:
       - bearerAuth: []
   /api/database/{databaseId}/table/{tableId}:
@@ -2744,14 +2744,14 @@ paths:
           type: integer
           format: int64
       responses:
-        "403":
-          description: Access to the database is forbidden
+        "404":
+          description: "Table, database or container could not be found"
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "404":
-          description: "Table, database or container could not be found"
+        "403":
+          description: Access to the database is forbidden
           content:
             application/json:
               schema:
@@ -2789,20 +2789,20 @@ paths:
           type: integer
           format: int64
       responses:
-        "202":
-          description: Delete table successfully
-        "403":
-          description: Access to the database is forbidden
+        "404":
+          description: "Table, database or container could not be found"
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "404":
-          description: "Table, database or container could not be found"
+        "403":
+          description: Access to the database is forbidden
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
+        "202":
+          description: Delete table successfully
         "400":
           description: Delete table query resulted in an invalid query statement
           content:
@@ -2895,20 +2895,20 @@ paths:
         schema:
           type: string
       responses:
+        "400":
+          description: Image is not supported
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
         "200":
           description: Executed query
           content:
             '*/*':
               schema:
                 type: object
-        "422":
-          description: Sidecar failed to export
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
-        "400":
-          description: Image is not supported
+        "410":
+          description: Could not find in S3 storage
           content:
             application/json:
               schema:
@@ -2919,8 +2919,8 @@ paths:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "410":
-          description: Could not find in S3 storage
+        "422":
+          description: Sidecar failed to export
           content:
             application/json:
               schema:
@@ -2984,36 +2984,36 @@ paths:
         schema:
           type: string
       responses:
-        "409":
-          description: Could not store query in query store
+        "400":
+          description: Image is not supported
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "417":
-          description: Could not parse columns
+        "409":
+          description: Could not store query in query store
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "400":
-          description: Image is not supported
+        "202":
+          description: Executed query
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/ApiErrorDto'
+                $ref: '#/components/schemas/QueryResultDto'
         "403":
           description: Execute query not permitted
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "202":
-          description: Executed query
+        "417":
+          description: Could not parse columns
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/QueryResultDto'
+                $ref: '#/components/schemas/ApiErrorDto'
         "404":
           description: Database or query could not be found
           content:
@@ -3042,30 +3042,30 @@ paths:
           type: integer
           format: int64
       responses:
-        "417":
-          description: Could not parse columns
+        "400":
+          description: Image is not supported
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "400":
-          description: Image is not supported
+        "202":
+          description: Executed query
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/ApiErrorDto'
+                $ref: '#/components/schemas/QueryResultDto'
         "403":
           description: Execute query not permitted
           content:
             application/json:
               schema:
                 $ref: '#/components/schemas/ApiErrorDto'
-        "202":
-          description: Executed query
+        "417":
+          description: Could not parse columns
           content:
             application/json:
               schema:
-                $ref: '#/components/schemas/QueryResultDto'
+                $ref: '#/components/schemas/ApiErrorDto'
         "404":
           description: Database or query could not be found
           content:
@@ -3128,18 +3128,18 @@ paths:
           type: integer
           format: int64
       responses:
-        "404":
-          description: Container not found
-          content:
-            application/json:
-              schema:
-                $ref: '#/components/schemas/ApiErrorDto'
         "202":
           description: Deleted container successfully
           content:
             '*/*':
               schema:
                 type: object
+        "404":
+          description: Container not found
+          content:
+            application/json:
+              schema:
+                $ref: '#/components/schemas/ApiErrorDto'
       security:
       - bearerAuth: []
   /api/pid/{id}:
@@ -3178,23 +3178,6 @@ paths:
       - bearerAuth: []
 components:
   schemas:
-    TableHistoryDto:
-      required:
-      - event
-      - timestamp
-      - total
-      type: object
-      properties:
-        timestamp:
-          type: string
-          format: date-time
-          example: 2021-03-12T15:26:21Z
-        event:
-          type: string
-        total:
-          type: integer
-          format: int64
-          example: 1
     ApiErrorDto:
       required:
       - code
@@ -3281,6 +3264,23 @@ components:
         code:
           type: string
           example: error.service.code
+    TableHistoryDto:
+      required:
+      - event
+      - timestamp
+      - total
+      type: object
+      properties:
+        timestamp:
+          type: string
+          format: date-time
+          example: 2021-03-12T15:26:21Z
+        event:
+          type: string
+        total:
+          type: integer
+          format: int64
+          example: 1
     QueryResultDto:
       required:
       - headers
@@ -6839,12 +6839,12 @@ components:
           type: string
         identifier:
           $ref: '#/components/schemas/Identifier'
-        ieeeName:
-          type: string
         apaName:
           type: string
         bibtexName:
           type: string
+        ieeeName:
+          type: string
     Database:
       type: object
       properties:
diff --git a/.docs/.swagger/api-search.yaml b/.docs/.swagger/api-search.yaml
index c600998d58f70c2216fd802af5d49c426a6558e5..3baf8363629ae3098dec59d62ecf3cfc99ce7c6d 100644
--- a/.docs/.swagger/api-search.yaml
+++ b/.docs/.swagger/api-search.yaml
@@ -12,7 +12,7 @@ info:
     name: Apache 2.0
     url: https://www.apache.org/licenses/LICENSE-2.0
   title: Database Repository Search Service API
-  version: dbrepo-latest
+  version: $TAG
 openapi: 3.0.0
 paths: {}
 servers:
diff --git a/.docs/.swagger/api-sidecar.yaml b/.docs/.swagger/api-sidecar.yaml
index 30546cb5795fc887609416d0d2b3739273278156..16840f5350f8a53fc5bc985732b94bcbb5aaafa3 100644
--- a/.docs/.swagger/api-sidecar.yaml
+++ b/.docs/.swagger/api-sidecar.yaml
@@ -21,7 +21,7 @@ info:
     name: Apache 2.0
     url: https://www.apache.org/licenses/LICENSE-2.0
   title: Database Repository Data Database sidecar API
-  version: dbrepo-latest
+  version: $TAG
 openapi: 3.0.0
 paths:
   /health:
diff --git a/.docs/.swagger/api-upload.yaml b/.docs/.swagger/api-upload.yaml
index ed8e50707366c62c8f6ecb44170c21487e879f74..138a9bb51ee60f8ba27365b79f42dbef8a670d2e 100644
--- a/.docs/.swagger/api-upload.yaml
+++ b/.docs/.swagger/api-upload.yaml
@@ -8,7 +8,7 @@ info:
   license:
     name: Apache 2.0
     url: https://www.apache.org/licenses/LICENSE-2.0
-  version: 1.4.9
+  version: $TAG
 externalDocs:
   description: Sourcecode Documentation
   url: https://gitlab.phaidra.org/fair-data-austria-db-repository/fda-services
diff --git a/.docs/.swagger/swagger-version.sh b/.docs/.swagger/swagger-version.sh
deleted file mode 100644
index 1d400055baa6a7aec96e59ed9d396e0ef4de93dd..0000000000000000000000000000000000000000
--- a/.docs/.swagger/swagger-version.sh
+++ /dev/null
@@ -1,17 +0,0 @@
-#!/bin/bash
-declare -A services
-services[1080]=upload
-services[4000]=search
-services[5000]=analyse
-services[9093]=data
-services[9099]=metadata
-services[3305]=sidecar
-
-function version () {
-  sed -i "s/dbrepo-latest/${TAG}/g" "./.docs/.swagger/api-$1.yaml"
-}
-
-for key in "${!services[@]}"; do
-  echo "Version ${services[$key]} API"
-  version "${services[$key]}"
-done
diff --git a/.docs/overrides/main.html b/.docs/overrides/main.html
index 58f3797f382e683fc237610383e568015a96d8e4..a637efc3f7d7664e00bc893e345f433762f0b61f 100644
--- a/.docs/overrides/main.html
+++ b/.docs/overrides/main.html
@@ -3,9 +3,9 @@
 {% block announce %}
 <label for="version">Version</label>
 <select style="margin-left:8px;" id="version" name="version" onchange="switchVersion(this.options[this.selectedIndex].value)">
+    <option value="1.4.0">1.4.0</option>
+    <option value="1.3.9">1.3.9</option>
     <option value="latest">latest</option>
-    <option value="1.4">1.4</option>
-    <option value="1.3">1.3</option>
 </select>
 <script>
     function getVersion() {
@@ -13,7 +13,7 @@
         if (segments.length >= 4) {
             return segments[3]
         } else {
-            return '1.4'
+            return '$TAG'
         }
     }
     function switchVersion(value) {
diff --git a/.docs/redirect.html b/.docs/redirect.html
index a5d576a99eec1af1450a9bc1c4edac0a70de953f..9c4c9805eecc1d43bcd50dc95750ecf336736423 100644
--- a/.docs/redirect.html
+++ b/.docs/redirect.html
@@ -3,16 +3,16 @@
 <head>
     <meta charset="UTF-8">
     <title>Redirect Notice</title>
-    <meta http-equiv="Refresh" content="0; url='https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.4/'" />
+    <meta http-equiv="Refresh" content="0; url='https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/latest/'" />
 </head>
 <body>
 <h1>Redirect Notice</h1>
 <p>
-    This page should automatically open the documentation for version 1.4. In case this page does not load the site is
+    This page should automatically open the documentation for version <code>latest</code>. In case this page does not load the site is
     available at:
 </p>
 <p>
-    <a href="https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.4/">https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/1.4/</a>
+    <a href="https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/latest/">https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/latest/</a>
 </p>
 </body>
 </html>
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 00b674386856889d6fb85ac03b3783c2c66c421e..b006873fd1cd74422e4930f69540681f2ab80c17 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -157,8 +157,6 @@ scan-analyse-service:
   only:
     refs:
       - dev
-      - release-v1.3
-      - release-v1.4
   allow_failure: true
   script:
     - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-analyse-service-report.json docker.io/dbrepo/analyse-service:latest
@@ -179,8 +177,6 @@ scan-authentication-service:
   only:
     refs:
       - dev
-      - release-v1.3
-      - release-v1.4
   allow_failure: true
   script:
     - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-authentication-service-report.json docker.io/dbrepo/authentication-service:latest
@@ -201,8 +197,6 @@ scan-broker-service:
   only:
     refs:
       - dev
-      - release-v1.3
-      - release-v1.4
   allow_failure: true
   script:
     - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-broker-service-report.json docker.io/dbrepo/broker-service:latest
@@ -223,8 +217,6 @@ scan-gateway-service:
   only:
     refs:
       - dev
-      - release-v1.3
-      - release-v1.4
   allow_failure: true
   script:
     - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-gateway-service-report.json docker.io/nginx:1.25.0-alpine-slim
@@ -245,8 +237,6 @@ scan-metadata-service:
   only:
     refs:
       - dev
-      - release-v1.3
-      - release-v1.4
   allow_failure: true
   script:
     - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-metadata-service-report.json docker.io/dbrepo/metadata-service:latest
@@ -267,8 +257,6 @@ scan-data-service:
   only:
     refs:
       - dev
-      - release-v1.3
-      - release-v1.4
   allow_failure: true
   script:
     - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-data-service-report.json docker.io/dbrepo/data-service:latest
@@ -289,8 +277,6 @@ scan-search-db:
   only:
     refs:
       - dev
-      - release-v1.3
-      - release-v1.4
   allow_failure: true
   script:
     - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-search-db-report.json docker.io/dbrepo/search-db:latest
@@ -311,8 +297,6 @@ scan-search-dashboard:
   only:
     refs:
       - dev
-      - release-v1.3
-      - release-v1.4
   allow_failure: true
   script:
     - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-search-dashboard-report.json docker.io/opensearchproject/opensearch-dashboards:2.10.0
@@ -333,8 +317,6 @@ scan-search-db-init:
   only:
     refs:
       - dev
-      - release-v1.3
-      - release-v1.4
   allow_failure: true
   script:
     - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-search-db-init-report.json docker.io/dbrepo/search-db-init:latest
@@ -355,8 +337,6 @@ scan-data-db:
   only:
     refs:
       - dev
-      - release-v1.3
-      - release-v1.4
   allow_failure: true
   script:
     - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-data-db-report.json docker.io/bitnami/mariadb:11.2.2-debian-11-r0
@@ -377,8 +357,6 @@ scan-metadata-db:
   only:
     refs:
       - dev
-      - release-v1.3
-      - release-v1.4
   allow_failure: true
   script:
     - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-metadata-db-report.json docker.io/dbrepo/metadata-db:latest
@@ -399,8 +377,6 @@ scan-ui:
   only:
     refs:
       - dev
-      - release-v1.3
-      - release-v1.4
   allow_failure: true
   script:
     - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-ui-report.json docker.io/dbrepo/ui:latest
@@ -421,8 +397,6 @@ scan-storage-service:
   only:
     refs:
       - dev
-      - release-v1.3
-      - release-v1.4
   allow_failure: true
   script:
     - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-storage-service-report.json docker.io/chrislusf/seaweedfs:3.59
@@ -443,8 +417,6 @@ scan-storage-service-init:
   only:
     refs:
       - dev
-      - release-v1.3
-      - release-v1.4
   allow_failure: true
   script:
     - trivy image --insecure --exit-code 0 --format template --template "@.trivy/gitlab.tpl" -o ./.trivy/trivy-storage-service-init-report.json docker.io/dbrepo/storage-service-init:latest
@@ -495,7 +467,7 @@ release-1.3:
   script:
     - "ifconfig eth0 mtu 1450 up"
     - "apk add make"
-    - "TAG=1.3 make release"
+    - "TAG=1.3.9 make release"
 
 release-1.4:
   stage: release
@@ -550,17 +522,17 @@ build-api-1.3:
       - release-v1.4
   script:
     - apk add bash git maven
-    - git fetch && git checkout release-v1.3
+    - git fetch && git checkout release-v1.3.9
     - bash .docs/.swagger/generate.sh
-    - mkdir -p ./swagger/1.3
-    - cp -r ./site/* ./swagger/1.3/
+    - mkdir -p ./swagger/1.3.9
+    - cp -r ./site/* ./swagger/1.3.9/
   cache:
     paths:
-      - ./swagger/1.3
+      - ./swagger/1.3.9
   artifacts:
     when: always
     paths:
-      - ./swagger/1.3
+      - ./swagger/1.3.9
     expire_in: 1 days
 
 build-api-1.4:
@@ -576,15 +548,15 @@ build-api-1.4:
     - git fetch && git checkout release-v1.4
     - TAG=${VERSION} bash .docs/.swagger/swagger-version.sh
     - bash .docs/.swagger/swagger-site.sh
-    - mkdir -p ./swagger/1.4
-    - cp -r ./site/* ./swagger/1.4/
+    - mkdir -p ./swagger/${VERSION}
+    - cp -r ./site/* ./swagger/${VERSION}/
   cache:
     paths:
-      - ./swagger/1.4
+      - ./swagger/${VERSION}
   artifacts:
     when: always
     paths:
-      - ./swagger/1.4
+      - ./swagger/${VERSION}
     expire_in: 1 days
 
 docs-registry:
@@ -653,8 +625,8 @@ docs-1.3:
     - git fetch && git checkout release-v1.3
     - pip install -r ./.docs/requirements.txt
     - mkdir -p ./final
-    - mkdocs build && cp -r ./site ./final/1.3
-    - cp -r ./swagger/1.3 ./final/1.3/swagger
+    - mkdocs build && cp -r ./site ./final/1.3.9
+    - cp -r ./swagger/1.3.9 ./final/1.3.9/swagger
   cache:
     paths:
       - ./final
@@ -682,8 +654,8 @@ docs-1.4:
     - pip install -r ./.docs/requirements.txt
     - mkdir -p ./final
     - find ./.docs -type f -exec sed -i -e "s/\$TAG/${VERSION}/g" {} \;
-    - mkdocs build && cp -r ./site ./final/1.4
-    - cp -r ./swagger/1.4 ./final/1.4/swagger
+    - mkdocs build && cp -r ./site ./final/${VERSION}
+    - cp -r ./swagger/${VERSION} ./final/${VERSION}/swagger
   cache:
     paths:
       - ./final
diff --git a/dbrepo-analyse-service/app.py b/dbrepo-analyse-service/app.py
index 9d417209705a1dd9cd0d6c079b76e354d047b174..6cd01304782469a3725db0d613b74b52338b3d5a 100644
--- a/dbrepo-analyse-service/app.py
+++ b/dbrepo-analyse-service/app.py
@@ -65,7 +65,7 @@ template = {
     "info": {
         "title": "Database Repository Analyse Service API",
         "description": "Service that analyses data structures",
-        "version": "dbrepo-latest",
+        "version": "$TAG",
         "contact": {
             "name": "Prof. Andreas Rauber",
             "email": "andreas.rauber@tuwien.ac.at"
diff --git a/dbrepo-data-db/sidecar/app.py b/dbrepo-data-db/sidecar/app.py
index 5b3dd12f7f4eaa883bfa8cd8ca537e9c7e518a78..931f18d85566fdd8f37affa9dc9ee17ec7453164 100644
--- a/dbrepo-data-db/sidecar/app.py
+++ b/dbrepo-data-db/sidecar/app.py
@@ -61,7 +61,7 @@ template = {
     "info": {
         "title": "Database Repository Data Database sidecar API",
         "description": "Sidecar that downloads the import .csv file",
-        "version": "dbrepo-latest",
+        "version": "$TAG",
         "contact": {
             "name": "Prof. Andreas Rauber",
             "email": "andreas.rauber@tuwien.ac.at"
diff --git a/dbrepo-data-service/rest-service/src/main/java/at/tuwien/config/SwaggerConfig.java b/dbrepo-data-service/rest-service/src/main/java/at/tuwien/config/SwaggerConfig.java
index 581b8a9b6bfcf1ccbfafebbfcf3e8a3a5b441345..d19efa07842120d19b5cb91dbeb7a59461febe04 100644
--- a/dbrepo-data-service/rest-service/src/main/java/at/tuwien/config/SwaggerConfig.java
+++ b/dbrepo-data-service/rest-service/src/main/java/at/tuwien/config/SwaggerConfig.java
@@ -24,7 +24,7 @@ public class SwaggerConfig {
                                 .name("Prof. Andreas Rauber")
                                 .email("andreas.rauber@tuwien.ac.at"))
                         .description("Service that manages the data")
-                        .version("dbrepo-latest")
+                        .version("$TAG")
                         .license(new License()
                                 .name("Apache 2.0")
                                 .url("https://www.apache.org/licenses/LICENSE-2.0")))
diff --git a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/config/SwaggerConfig.java b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/config/SwaggerConfig.java
index 265d7fecce99f684465b81c67ee588e0d797c5db..ad5f5d273eb6ffa8f4eacc28d28834fefeefeb32 100644
--- a/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/config/SwaggerConfig.java
+++ b/dbrepo-metadata-service/rest-service/src/main/java/at/tuwien/config/SwaggerConfig.java
@@ -24,7 +24,7 @@ public class SwaggerConfig {
                                 .name("Prof. Andreas Rauber")
                                 .email("andreas.rauber@tuwien.ac.at"))
                         .description("Service that manages the metadata")
-                        .version("dbrepo-latest")
+                        .version("$TAG")
                         .license(new License()
                                 .name("Apache 2.0")
                                 .url("https://www.apache.org/licenses/LICENSE-2.0")))
diff --git a/dbrepo-search-service/app/__init__.py b/dbrepo-search-service/app/__init__.py
index 598db2e0484162a7fe8d8d7c5041711a5de8ffec..9236706cb8323fb2c7d9e737d86ee58355ecc359 100644
--- a/dbrepo-search-service/app/__init__.py
+++ b/dbrepo-search-service/app/__init__.py
@@ -66,7 +66,7 @@ def create_app(config_class=Config):
         "info": {
             "title": "Database Repository Search Service API",
             "description": "Service that searches the search database",
-            "version": "dbrepo-latest",
+            "version": "$TAG",
             "contact": {
                 "name": "Prof. Andreas Rauber",
                 "email": "andreas.rauber@tuwien.ac.at"