diff --git a/README.md b/README.md index 0249d67a4..0b7055a34 100644 --- a/README.md +++ b/README.md @@ -76,7 +76,7 @@ The easiest way to start a Knowledge Engine runtime is with Docker: ```bash docker run \ -p 8280:8280 \ - ghcr.io/tno/knowledge-engine/smart-connector:1.4.0 + ghcr.io/tno/knowledge-engine/smart-connector:1.5.0 ``` The Knowledge Engine runtime is now available to use via the REST API at base URL `http://localhost:8280/rest` on your host machine. @@ -98,7 +98,7 @@ docker run \ -p 8081:8081 \ -e KD_URL=https://knowledge-directory.example.org \ -e KE_RUNTIME_EXPOSED_URL=https://your-domain.example.org:8081 \ - ghcr.io/tno/knowledge-engine/smart-connector:1.4.0 + ghcr.io/tno/knowledge-engine/smart-connector:1.5.0 ``` ### Running with Java @@ -116,7 +116,7 @@ export KE_RUNTIME_EXPOSED_URL=https://your-domain.example.org:8081 # Start it. The argument (8280) denotes the port number at which it # will listen for connections to the Knowledge Engine REST API. java -jar -Dorg.slf4j.simpleLogger.logFile=smart-connector.log \ - smart-connector-rest-dist-1.4.0-with-dependencies.jar 8280 + smart-connector-rest-dist-1.5.0-with-dependencies.jar 8280 ``` The JAR can be retrieved by compiling the project: @@ -227,7 +227,7 @@ These are instructions on what to do when we release a new version of the knowle The code conventions of the knowledge-engine can be found in the `/ide` folder in the Eclipse IDE format. The format can often also be imported in other Java IDEs like IntelliJ, VSCode or Netbeans. ## (advanced) Administering a Knowledge Engine runtime -To start a new instance of the REST API knowledge engine version 1.4.0, make sure you have `git checkout 1.4.0` the tag `1.4.0`. Now make sure you run the `mvn clean install` command successfully from the root of the repository. +To start a new instance of the REST API knowledge engine version 1.5.0, make sure you have `git checkout 1.5.0` the tag `1.5.0`. Now make sure you run the `mvn clean install` command successfully from the root of the repository. ### Starting the Knowledge Engine in local mode When no additional configuration parameters are provided, the Knowledge Engine will by default run in local mode. This means you can create multiple smart connectors that can communicate with each other through the REST API, but the Knowledge Engine will not connect to a knowledge directory and will not be able to connect with smart connectors running in other runtimes. @@ -241,13 +241,13 @@ cd smart-connector-rest-dist/target Finally, start the server (note that you can configure a log file by including the `-Dorg.slf4j.simpleLogger.logFile=ke.log` system property to the JVM): ```bash -java -Dorg.slf4j.simpleLogger.logFile=ke.log -cp "smart-connector-rest-dist-1.4.0.jar:dependency/*" eu.knowledge.engine.rest.Main 8280 +java -Dorg.slf4j.simpleLogger.logFile=ke.log -cp "smart-connector-rest-dist-1.5.0.jar:dependency/*" eu.knowledge.engine.rest.Main 8280 ``` If you want to run in it in the background, you can use the `nohup` linux command (which does not use the simpleLogger configuration system property, but redirects the standard err/out): ```bash -nohup java -cp "smart-connector-rest-dist-1.4.0.jar:dependency/*" eu.knowledge.engine.rest.Main 8280 > ke.log +nohup java -cp "smart-connector-rest-dist-1.5.0.jar:dependency/*" eu.knowledge.engine.rest.Main 8280 > ke.log ``` ### Starting the Knowledge Engine in distributed mode diff --git a/admin-ui/src/main/resources/openapi-admin-ui.yaml b/admin-ui/src/main/resources/openapi-admin-ui.yaml index 70d0ead61..bfe981de8 100644 --- a/admin-ui/src/main/resources/openapi-admin-ui.yaml +++ b/admin-ui/src/main/resources/openapi-admin-ui.yaml @@ -5,7 +5,7 @@ info: description: This API provides information on Knowledge Engine Runtimes (todo), Smart Connectors, Knowledge Bases, and Knowledge Interactions in a Knowledge Engine Network. - version: 1.4.0 + version: 1.5.0 paths: /rest/admin/sc/all/{include-meta}: diff --git a/docs/docs/distributed_mode.md b/docs/docs/distributed_mode.md index f2f905e24..28aeefafb 100644 --- a/docs/docs/distributed_mode.md +++ b/docs/docs/distributed_mode.md @@ -20,7 +20,7 @@ First of all, you need to start a knowledge directory. The desired port number f ```bash cd knowledge-directory/target/ -java -Dorg.slf4j.simpleLogger.logFile=kd.log -cp "knowledge-directory-1.4.0.jar:dependency/*" eu.knowledge.engine.knowledgedirectory.Main 8080 +java -Dorg.slf4j.simpleLogger.logFile=kd.log -cp "knowledge-directory-1.5.0.jar:dependency/*" eu.knowledge.engine.knowledgedirectory.Main 8080 ``` The `nohup` command can be used to run the process in the background. On overview of the registered Knowledge Engine runtimes can be found on `http://localhost:8080/ker/` (or another host or port if you desire). @@ -43,7 +43,7 @@ export KD_URL=http://localhost:8080 export KE_RUNTIME_EXPOSED_URL=http://localhost:8081 export KE_RUNTIME_PORT=8081 -java -Dorg.slf4j.simpleLogger.logFile=ke.log -cp "smart-connector-rest-dist-1.4.0.jar:dependency/*" eu.knowledge.engine.rest.Main 8280 +java -Dorg.slf4j.simpleLogger.logFile=ke.log -cp "smart-connector-rest-dist-1.5.0.jar:dependency/*" eu.knowledge.engine.rest.Main 8280 ``` ### Using Basic Authentication to secure data exchange diff --git a/docs/docs/get-started/knowledge-directory.md b/docs/docs/get-started/knowledge-directory.md index 5fd52bd18..e11b83f3c 100644 --- a/docs/docs/get-started/knowledge-directory.md +++ b/docs/docs/get-started/knowledge-directory.md @@ -8,6 +8,6 @@ You can start the Knowledge Directory on ports 8080 with the available JAR: ```bash cd knowledge-directory/target/ -java -Dorg.slf4j.simpleLogger.logFile=kd.log -cp "knowledge-directory-1.4.0.jar:dependency/*" eu.knowledge.engine.knowledgedirectory.Main 8080 +java -Dorg.slf4j.simpleLogger.logFile=kd.log -cp "knowledge-directory-1.5.0.jar:dependency/*" eu.knowledge.engine.knowledgedirectory.Main 8080 ``` You can of course run the Knowledge Directory on another port by replacing 8080 by your preferred port number. diff --git a/docs/docs/get-started/smart-connector.md b/docs/docs/get-started/smart-connector.md index 43de2cfa2..fd77deb63 100644 --- a/docs/docs/get-started/smart-connector.md +++ b/docs/docs/get-started/smart-connector.md @@ -9,7 +9,7 @@ import TabItem from '@theme/TabItem'; This page describes how to connect to an (existing) Knowledge Network using a Smart Connector. To connect to a Knowledge Network, you need a Knowledge Engine Runtime (KER). -Every KER in distributed mode consists of two APIs: [Knowledge Engine Developer REST API](https://github.com/TNO/knowledge-engine/blob/1.4.0/smart-connector-rest-server/src/main/resources/openapi-sc.yaml) and the [Inter-Knowledge Engine Runtime API](https://github.com/TNO/knowledge-engine/blob/1.4.0/smart-connector/src/main/resources/openapi-inter-ker.yaml). +Every KER in distributed mode consists of two APIs: [Knowledge Engine Developer REST API](https://github.com/TNO/knowledge-engine/blob/1.5.0/smart-connector-rest-server/src/main/resources/openapi-sc.yaml) and the [Inter-Knowledge Engine Runtime API](https://github.com/TNO/knowledge-engine/blob/1.5.0/smart-connector/src/main/resources/openapi-inter-ker.yaml). The former is started on port `8280` by default, and you use this API to register your Knowledge Base and Knowledge Interactions. The latter API is meant for internal communication between KERs and you do not need to use it yourself. However, you do need to make sure this API is reachable for other KERs in the Knowledge Network. @@ -62,7 +62,7 @@ export KD_URL=http://localhost:8080 export KE_RUNTIME_EXPOSED_URL=http://localhost:8081 export KE_RUNTIME_PORT=8081 -java -Dorg.slf4j.simpleLogger.logFile=ke.log -cp "smart-connector-rest-dist-1.4.0.jar:dependency/*" eu.knowledge.engine.rest.Main 8280 +java -Dorg.slf4j.simpleLogger.logFile=ke.log -cp "smart-connector-rest-dist-1.5.0.jar:dependency/*" eu.knowledge.engine.rest.Main 8280 ``` diff --git a/examples/anomaly-detection/docker-compose.yml b/examples/anomaly-detection/docker-compose.yml index 966a3bd79..784ddc5e2 100644 --- a/examples/anomaly-detection/docker-compose.yml +++ b/examples/anomaly-detection/docker-compose.yml @@ -1,10 +1,10 @@ services: knowledge-directory: - image: ghcr.io/tno/knowledge-engine/knowledge-directory:1.4.0 + image: ghcr.io/tno/knowledge-engine/knowledge-directory:1.5.0 #KNOWLEDGE VALIDATOR knowledge-validator-ker: - image: ghcr.io/tno/knowledge-engine/smart-connector:1.4.1-SNAPSHOT + image: ghcr.io/tno/knowledge-engine/smart-connector:1.5.0 environment: KE_RUNTIME_PORT: 8081 KE_RUNTIME_EXPOSED_URL: http://knowledge-validator-ker:8081 @@ -33,7 +33,7 @@ services: condition: service_healthy #DASHBOARD dashboard-ker: - image: ghcr.io/tno/knowledge-engine/smart-connector:1.4.1-SNAPSHOT + image: ghcr.io/tno/knowledge-engine/smart-connector:1.5.0 environment: KE_RUNTIME_PORT: 8081 KE_RUNTIME_EXPOSED_URL: http://dashboard-ker:8081 @@ -77,7 +77,7 @@ services: #SENSOR1 sensor1-ker: - image: ghcr.io/tno/knowledge-engine/smart-connector:1.4.1-SNAPSHOT + image: ghcr.io/tno/knowledge-engine/smart-connector:1.5.0 environment: KE_RUNTIME_PORT: 8081 KE_RUNTIME_EXPOSED_URL: http://sensor1-ker:8081 @@ -108,7 +108,7 @@ services: #SENSOR2 sensor2-ker: - image: ghcr.io/tno/knowledge-engine/smart-connector:1.4.1-SNAPSHOT + image: ghcr.io/tno/knowledge-engine/smart-connector:1.5.0 environment: KE_RUNTIME_PORT: 8081 KE_RUNTIME_EXPOSED_URL: http://sensor2-ker:8081 @@ -138,7 +138,7 @@ services: #SENSOR3 sensor3-ker: - image: ghcr.io/tno/knowledge-engine/smart-connector:1.4.1-SNAPSHOT + image: ghcr.io/tno/knowledge-engine/smart-connector:1.5.0 environment: KE_RUNTIME_PORT: 8081 KE_RUNTIME_EXPOSED_URL: http://sensor3-ker:8081 @@ -168,7 +168,7 @@ services: #SENSOR4 sensor4-ker: - image: ghcr.io/tno/knowledge-engine/smart-connector:1.4.1-SNAPSHOT + image: ghcr.io/tno/knowledge-engine/smart-connector:1.5.0 environment: KE_RUNTIME_PORT: 8081 KE_RUNTIME_EXPOSED_URL: http://sensor4-ker:8081 @@ -197,7 +197,7 @@ services: condition: service_healthy building-ker: - image: ghcr.io/tno/knowledge-engine/smart-connector:1.4.1-SNAPSHOT + image: ghcr.io/tno/knowledge-engine/smart-connector:1.5.0 environment: KE_RUNTIME_PORT: 8081 KE_RUNTIME_EXPOSED_URL: http://building-ker:8081 @@ -235,7 +235,7 @@ services: } ] converter-ker: - image: ghcr.io/tno/knowledge-engine/smart-connector:1.4.1-SNAPSHOT + image: ghcr.io/tno/knowledge-engine/smart-connector:1.5.0 environment: KE_RUNTIME_PORT: 8081 KE_RUNTIME_EXPOSED_URL: http://converter-ker:8081 diff --git a/examples/authentication/docker-compose.yml b/examples/authentication/docker-compose.yml index 684e9fa07..2416d6c75 100644 --- a/examples/authentication/docker-compose.yml +++ b/examples/authentication/docker-compose.yml @@ -9,15 +9,15 @@ services: depends_on: - knowledge-directory knowledge-directory: - image: ghcr.io/tno/knowledge-engine/knowledge-directory:1.4.0 + image: ghcr.io/tno/knowledge-engine/knowledge-directory:1.5.0 runtime-1: - image: ghcr.io/tno/knowledge-engine/smart-connector:1.4.0 + image: ghcr.io/tno/knowledge-engine/smart-connector:1.5.0 environment: KE_RUNTIME_PORT: 8081 # The port that the KE uses to listen for inter-KE-runtime communication. KD_URL: http://thisisausername:thisisapassword@nginx/kd KE_RUNTIME_EXPOSED_URL: http://thisisausername:thisisapassword@nginx/ker1 runtime-2: - image: ghcr.io/tno/knowledge-engine/smart-connector:1.4.0 + image: ghcr.io/tno/knowledge-engine/smart-connector:1.5.0 environment: KE_RUNTIME_PORT: 8081 # The port that the KE uses to listen for inter-KE-runtime communication. KD_URL: http://thisisausername:thisisapassword@nginx/kd diff --git a/examples/dcat/docker-compose.yml b/examples/dcat/docker-compose.yml index 9f7986ee7..80f137b8a 100644 --- a/examples/dcat/docker-compose.yml +++ b/examples/dcat/docker-compose.yml @@ -3,7 +3,7 @@ include: services: runtime-4: - image: ghcr.io/tno/knowledge-engine/smart-connector:1.4.1-SNAPSHOT + image: ghcr.io/tno/knowledge-engine/smart-connector:1.5.0 environment: KE_RUNTIME_PORT: 8081 KE_RUNTIME_EXPOSED_URL: http://runtime-4:8081 diff --git a/examples/edc-example/compose.yaml b/examples/edc-example/compose.yaml index 5c9eaca29..4718d361e 100644 --- a/examples/edc-example/compose.yaml +++ b/examples/edc-example/compose.yaml @@ -46,7 +46,7 @@ services: knowledge-directory: container_name: knowledge-directory - image: ghcr.io/tno/knowledge-engine/knowledge-directory:1.4.1-SNAPSHOT + image: ghcr.io/tno/knowledge-engine/knowledge-directory:1.5.0 networks: - network-authority ports: @@ -119,7 +119,7 @@ services: alice-ker: container_name: alice-ker - image: ghcr.io/tno/knowledge-engine/smart-connector:1.4.1-SNAPSHOT + image: ghcr.io/tno/knowledge-engine/smart-connector:1.5.0 networks: - network-alice ports: @@ -238,7 +238,7 @@ services: bob-ker: container_name: bob-ker - image: ghcr.io/tno/knowledge-engine/smart-connector:1.4.1-SNAPSHOT + image: ghcr.io/tno/knowledge-engine/smart-connector:1.5.0 networks: - network-bob ports: @@ -357,7 +357,7 @@ services: carol-ker: container_name: carol-ker - image: ghcr.io/tno/knowledge-engine/smart-connector:1.4.1-SNAPSHOT + image: ghcr.io/tno/knowledge-engine/smart-connector:1.5.0 networks: - network-carol ports: diff --git a/examples/multiple-runtimes/docker-compose.yml b/examples/multiple-runtimes/docker-compose.yml index abf4ef756..4a0379b4f 100644 --- a/examples/multiple-runtimes/docker-compose.yml +++ b/examples/multiple-runtimes/docker-compose.yml @@ -2,25 +2,25 @@ services: # This is the knowledge directory, facilitating discovery between different # runtimes. It exposes its service over port 8282. knowledge-directory: - image: ghcr.io/tno/knowledge-engine/knowledge-directory:1.4.0 + image: ghcr.io/tno/knowledge-engine/knowledge-directory:1.5.0 # These services are seperate Knowledge Engine runtime, which can host # multiple smart connectors. Note that the REST API port is a DIFFERENT port # number than the ones configured below. It is still the default 8280. runtime-1: - image: ghcr.io/tno/knowledge-engine/smart-connector:1.4.0 + image: ghcr.io/tno/knowledge-engine/smart-connector:1.5.0 environment: KE_RUNTIME_PORT: 8081 # The port that the KE uses to listen for inter-KE-runtime communication. KE_RUNTIME_EXPOSED_URL: http://runtime-1:8081 # The URL where the runtime is available for inter-runtime communication from the outside. KD_URL: http://knowledge-directory:8282 runtime-2: - image: ghcr.io/tno/knowledge-engine/smart-connector:1.4.0 + image: ghcr.io/tno/knowledge-engine/smart-connector:1.5.0 environment: KE_RUNTIME_PORT: 8081 KE_RUNTIME_EXPOSED_URL: http://runtime-2:8081 KD_URL: http://knowledge-directory:8282 runtime-3: - image: ghcr.io/tno/knowledge-engine/smart-connector:1.4.0 + image: ghcr.io/tno/knowledge-engine/smart-connector:1.5.0 environment: KE_RUNTIME_PORT: 8081 KE_RUNTIME_EXPOSED_URL: http://runtime-3:8081 diff --git a/examples/reasoner/docker-compose.yml b/examples/reasoner/docker-compose.yml index a92d39f1a..c9b2019c9 100644 --- a/examples/reasoner/docker-compose.yml +++ b/examples/reasoner/docker-compose.yml @@ -1,6 +1,6 @@ services: knowledge-engine: - image: ghcr.io/tno/knowledge-engine/smart-connector:1.4.0 + image: ghcr.io/tno/knowledge-engine/smart-connector:1.5.0 kb1: build: ../common/asking_kb environment: diff --git a/examples/rest-api/docker-compose.yml b/examples/rest-api/docker-compose.yml index 6dd0a0a66..d95987e03 100644 --- a/examples/rest-api/docker-compose.yml +++ b/examples/rest-api/docker-compose.yml @@ -1,6 +1,6 @@ services: knowledge-engine: - image: ghcr.io/tno/knowledge-engine/smart-connector:1.4.0 + image: ghcr.io/tno/knowledge-engine/smart-connector:1.5.0 healthcheck: test: wget http://localhost:8280/rest/sc -O /dev/null interval: 1s diff --git a/examples/runtime-tests/docker-compose.yml b/examples/runtime-tests/docker-compose.yml index 5bc6af998..565e58026 100644 --- a/examples/runtime-tests/docker-compose.yml +++ b/examples/runtime-tests/docker-compose.yml @@ -2,25 +2,25 @@ services: # This is the knowledge directory, facilitating discovery between different # runtimes. It exposes its service over port 8282. knowledge-directory: - image: ghcr.io/tno/knowledge-engine/knowledge-directory:1.4.0 + image: ghcr.io/tno/knowledge-engine/knowledge-directory:1.5.0 # These services are seperate Knowledge Engine runtime, which can host # multiple smart connectors. Note that the REST API port is a DIFFERENT port # number than the ones configured below. It is still the default 8280. runtime-1: - image: ghcr.io/tno/knowledge-engine/smart-connector:1.4.0 + image: ghcr.io/tno/knowledge-engine/smart-connector:1.5.0 environment: KE_RUNTIME_PORT: 8081 # The port that the KE uses to listen for inter-KE-runtime communication. KE_RUNTIME_EXPOSED_URL: http://runtime-1:8081 # The URL where the runtime is available for inter-runtime communication from the outside. KD_URL: http://knowledge-directory:8282 runtime-2: - image: ghcr.io/tno/knowledge-engine/smart-connector:1.4.0 + image: ghcr.io/tno/knowledge-engine/smart-connector:1.5.0 environment: KE_RUNTIME_PORT: 8081 KE_RUNTIME_EXPOSED_URL: http://runtime-2:8081 KD_URL: http://knowledge-directory:8282 runtime-3: - image: ghcr.io/tno/knowledge-engine/smart-connector:1.4.0 + image: ghcr.io/tno/knowledge-engine/smart-connector:1.5.0 environment: KE_RUNTIME_PORT: 8081 KE_RUNTIME_EXPOSED_URL: http://runtime-3:8081 @@ -83,7 +83,7 @@ services: } ] broken-1: - image: ghcr.io/tno/knowledge-engine/smart-connector:1.4.0 + image: ghcr.io/tno/knowledge-engine/smart-connector:1.5.0 environment: KE_RUNTIME_PORT: 8081 # The port that the KE uses to listen for inter-KE-runtime communication. KE_RUNTIME_EXPOSED_URL: runtime-3:8081 # The 'http://' part of the URL with a port is missing. @@ -102,7 +102,7 @@ services: KB_DATA: | [] broken-2: - image: ghcr.io/tno/knowledge-engine/smart-connector:1.4.0 + image: ghcr.io/tno/knowledge-engine/smart-connector:1.5.0 environment: KE_RUNTIME_PORT: 8081 # The port that the KE uses to listen for inter-KE-runtime communication. KE_RUNTIME_EXPOSED_URL: 3test.runtime.nl:8081 # The 'http://' part of the URL with a port is missing and the first character is numeric. @@ -121,7 +121,7 @@ services: KB_DATA: | [] broken-3: - image: ghcr.io/tno/knowledge-engine/smart-connector:1.4.0 + image: ghcr.io/tno/knowledge-engine/smart-connector:1.5.0 environment: KE_RUNTIME_PORT: 8081 # The port that the KE uses to listen for inter-KE-runtime communication. KE_RUNTIME_EXPOSED_URL: 3test.runtime.nl # The 'http://' part of the URL without a port is missing and the first character is numeric. @@ -140,7 +140,7 @@ services: KB_DATA: | [] broken-4: - image: ghcr.io/tno/knowledge-engine/smart-connector:1.4.0 + image: ghcr.io/tno/knowledge-engine/smart-connector:1.5.0 environment: KE_RUNTIME_PORT: 8081 # The port that the KE uses to listen for inter-KE-runtime communication. KE_RUNTIME_EXPOSED_URL: http://runtime-3:8081/ # The URL ends with a '/' @@ -159,7 +159,7 @@ services: KB_DATA: | [] broken-5: - image: ghcr.io/tno/knowledge-engine/smart-connector:1.4.0 + image: ghcr.io/tno/knowledge-engine/smart-connector:1.5.0 environment: KE_RUNTIME_PORT: 8081 # The port that the KE uses to listen for inter-KE-runtime communication. KE_RUNTIME_EXPOSED_URL: runtime-3 # The 'http://' part of the URL without a port is missing. diff --git a/examples/unreachable-runtimes/Dockerfile b/examples/unreachable-runtimes/Dockerfile index c15eae553..51ab0bea0 100644 --- a/examples/unreachable-runtimes/Dockerfile +++ b/examples/unreachable-runtimes/Dockerfile @@ -1,4 +1,4 @@ -FROM ghcr.io/tno/knowledge-engine/smart-connector:1.4.0 +FROM ghcr.io/tno/knowledge-engine/smart-connector:1.5.0 USER root diff --git a/examples/unreachable-runtimes/docker-compose.yml b/examples/unreachable-runtimes/docker-compose.yml index a6ecdf412..237523ebb 100644 --- a/examples/unreachable-runtimes/docker-compose.yml +++ b/examples/unreachable-runtimes/docker-compose.yml @@ -2,7 +2,7 @@ services: # This is the knowledge directory, facilitating discovery between different # runtimes. It exposes its service over port 8282. knowledge-directory: - image: ghcr.io/tno/knowledge-engine/knowledge-directory:1.4.0 + image: ghcr.io/tno/knowledge-engine/knowledge-directory:1.5.0 ports: - "8282:8282" diff --git a/pom.xml b/pom.xml index 778f6c22c..f17abe253 100644 --- a/pom.xml +++ b/pom.xml @@ -61,7 +61,7 @@ 6.0.3 25 25 - 1.4.1-SNAPSHOT + 1.5.0 diff --git a/smart-connector-rest-server/src/main/resources/openapi-sc.yaml b/smart-connector-rest-server/src/main/resources/openapi-sc.yaml index 9be05a41d..709895108 100644 --- a/smart-connector-rest-server/src/main/resources/openapi-sc.yaml +++ b/smart-connector-rest-server/src/main/resources/openapi-sc.yaml @@ -7,7 +7,7 @@ info: Interactions are (un)registered and data is exchanged. Each Smart Connector is coupled with a Knowledge Base Id, so every rest call uses this Knowledge Base Id to identify yourself. - version: 1.4.1-SNAPSHOT + version: 1.5.0 paths: /sc: