Skip to content

Commit 870b70f

Browse files
authored
Merge pull request #462 from clowder-framework/releasse/v1.23.0
Release/v1.23.0
2 parents 9de47ad + bbb3310 commit 870b70f

25 files changed

+80
-379
lines changed

.github/workflows/ci.yml

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
build:
3131
runs-on: ubuntu-latest
3232
steps:
33-
- uses: actions/checkout@v3
33+
- uses: actions/checkout@v4
3434
- name: github branch
3535
run: |
3636
if [ "${{ github.event.release.target_commitish }}" != "" ]; then
@@ -51,12 +51,12 @@ jobs:
5151
distribution: 'zulu'
5252
java-version: 8
5353
- name: Cache SBT ivy cache
54-
uses: actions/cache@v1
54+
uses: actions/cache@v3
5555
with:
5656
path: ~/.ivy2/cache
5757
key: ${{ runner.os }}-sbt-ivy-cache-${{ hashFiles('project/Build.scala') }}
5858
- name: Cache SBT
59-
uses: actions/cache@v1
59+
uses: actions/cache@v3
6060
with:
6161
path: ~/.sbt
6262
key: ${{ runner.os }}-sbt-${{ hashFiles('project/Build.scala') }}
@@ -85,7 +85,7 @@ jobs:
8585
ports:
8686
- 27017:27017
8787
steps:
88-
- uses: actions/checkout@v3
88+
- uses: actions/checkout@v4
8989
- name: github branch
9090
run: |
9191
if [ "${{ github.event.release.target_commitish }}" != "" ]; then
@@ -130,7 +130,7 @@ jobs:
130130
runs-on: ubuntu-latest
131131
needs: build
132132
steps:
133-
- uses: actions/checkout@v3
133+
- uses: actions/checkout@v4
134134
- name: github branch
135135
run: |
136136
if [ "${{ github.event.release.target_commitish }}" != "" ]; then
@@ -177,13 +177,13 @@ jobs:
177177
done
178178
rm ${ZIPFILE}
179179
zip -r ${ZIPFILE} ${DIR}
180-
- uses: actions/upload-artifact@v2
180+
- uses: actions/upload-artifact@v4
181181
with:
182182
name: clowder.zip
183183
path: target/universal/clowder-*.zip
184184
- name: Upload files to a GitHub release
185185
if: github.event_name == 'release' && github.event.action == 'created'
186-
uses: svenstaro/upload-release-action@1.1.0
186+
uses: svenstaro/upload-release-action@v2
187187
with:
188188
repo_token: ${{ secrets.GITHUB_TOKEN }}
189189
tag: ${{ github.ref }}
@@ -207,7 +207,7 @@ jobs:
207207
runs-on: ubuntu-latest
208208
needs: build
209209
steps:
210-
- uses: actions/checkout@v3
210+
- uses: actions/checkout@v4
211211
- name: github branch
212212
run: |
213213
if [ "${{ github.event.release.target_commitish }}" != "" ]; then
@@ -237,18 +237,18 @@ jobs:
237237
with:
238238
path: ~/.sbt
239239
key: ${{ runner.os }}-sbt-${{ hashFiles('project/Build.scala') }}
240-
- name: Set up Python 3.7
241-
uses: actions/setup-python@v1
240+
- name: Set up Python 3.11
241+
uses: actions/setup-python@v5
242242
with:
243-
python-version: 3.7
243+
python-version: 3.11
244244
- name: sbt doc
245245
run: ./sbt doc
246246
env:
247247
BRANCH: ${{ env.GITHUB_BRANCH }}
248248
VERSION: ${{ env.CLOWDER_VERSION }}
249249
BUILDNUMBER: ${{ github.run_number }}
250250
GITSHA1: ${{ github.sha }}
251-
- uses: actions/upload-artifact@v2
251+
- uses: actions/upload-artifact@v4
252252
with:
253253
name: ScalaDoc
254254
path: target/scala-*/api/
@@ -266,7 +266,7 @@ jobs:
266266
cd doc/src/sphinx/
267267
python -m pip install -r requirements.txt
268268
make html epub
269-
- uses: actions/upload-artifact@v2
269+
- uses: actions/upload-artifact@v4
270270
with:
271271
name: HTML Documentation
272272
path: doc/src/sphinx/_build/html
@@ -279,13 +279,13 @@ jobs:
279279
key: ${{ secrets.SCP_KEY }}
280280
files: "doc/src/sphinx/_build/html/*"
281281
target: "CATS/${{ env.CLOWDER_VERSION }}/documentation/sphinx"
282-
- uses: actions/upload-artifact@v2
282+
- uses: actions/upload-artifact@v4
283283
with:
284284
name: EPUB Documentation
285285
path: doc/src/sphinx/_build/epub/Clowder.epub
286286
- name: Upload files to a GitHub release
287287
if: github.event_name == 'release' && github.event.action == 'created'
288-
uses: svenstaro/upload-release-action@1.1.0
288+
uses: svenstaro/upload-release-action@v2
289289
with:
290290
repo_token: ${{ secrets.GITHUB_TOKEN }}
291291
tag: ${{ github.ref }}

.github/workflows/docker.yml

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ on:
2323

2424
# Certain actions will only run when this is the main repo.
2525
env:
26-
main_REPO: clowder-framework/clowder
26+
MAIN_REPO: clowder-framework/clowder
2727
DOCKERHUB_ORG: clowder
2828

2929
jobs:
@@ -64,7 +64,7 @@ jobs:
6464
PLATFORM: "linux/amd64"
6565

6666
steps:
67-
- uses: actions/checkout@v3
67+
- uses: actions/checkout@v4
6868

6969
# calculate some variables that are used later
7070
- name: variable setup
@@ -115,11 +115,11 @@ jobs:
115115
116116
# setup docker build
117117
- name: Set up QEMU
118-
uses: docker/setup-qemu-action@v2
118+
uses: docker/setup-qemu-action@v3
119119

120120
- name: Set up Docker Buildx
121121
id: buildx
122-
uses: docker/setup-buildx-action@v2
122+
uses: docker/setup-buildx-action@v3
123123

124124
- name: Inspect Builder
125125
run: |
@@ -132,13 +132,13 @@ jobs:
132132
# login to registries
133133
- name: Login to DockerHub
134134
if: env.dockerhub != ''
135-
uses: docker/login-action@v2
135+
uses: docker/login-action@v3
136136
with:
137137
username: ${{ secrets.DOCKERHUB_USERNAME }}
138138
password: ${{ secrets.DOCKERHUB_PASSWORD }}
139139

140140
- name: Login to GitHub Container Registry
141-
uses: docker/login-action@v2
141+
uses: docker/login-action@v3
142142
with:
143143
registry: ghcr.io
144144
username: ${{ github.actor }}
@@ -147,7 +147,7 @@ jobs:
147147
# build the clowder docker images
148148
- name: Build and push ${{ matrix.IMAGE }}-build
149149
if: matrix.IMAGE == 'clowder'
150-
uses: docker/build-push-action@v2
150+
uses: docker/build-push-action@v6
151151
with:
152152
push: true
153153
context: ${{ matrix.FOLDER }}
@@ -164,7 +164,7 @@ jobs:
164164
165165
- name: Build and push ${{ matrix.IMAGE }}-runtime
166166
if: matrix.IMAGE == 'clowder'
167-
uses: docker/build-push-action@v2
167+
uses: docker/build-push-action@v6
168168
with:
169169
push: true
170170
context: ${{ matrix.FOLDER }}
@@ -182,7 +182,7 @@ jobs:
182182
# build the other docker images
183183
- name: Build and push ${{ matrix.IMAGE }}
184184
if: matrix.IMAGE != 'clowder'
185-
uses: docker/build-push-action@v2
185+
uses: docker/build-push-action@v6
186186
with:
187187
push: true
188188
context: ${{ matrix.FOLDER }}
@@ -198,10 +198,10 @@ jobs:
198198
199199
# update README at DockerHub
200200
- name: Docker Hub Description
201-
if: env.dockerhub != '' && matrix.README != '' && github.event_name == 'push' && github.repository == env.main_REPO && env.BRANCH == 'main'
202-
uses: peter-evans/dockerhub-description@v2
203-
env:
204-
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
205-
DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }}
206-
DOCKERHUB_REPOSITORY: ${{ env.DOCKERHUB_ORG }}/${{ matrix.IMAGE }}
207-
README_FILEPATH: ${{ matrix.README }}
201+
if: env.dockerhub != '' && matrix.README != '' && github.event_name == 'push' && github.repository == env.MAIN_REPO && env.BRANCH == 'main'
202+
uses: peter-evans/dockerhub-description@v4
203+
with:
204+
username: ${{ secrets.DOCKERHUB_USERNAME }}
205+
password: ${{ secrets.DOCKERHUB_PASSWORD }}
206+
repository: ${{ env.DOCKERHUB_ORG }}/${{ matrix.IMAGE }}
207+
readme-filepath : ${{ matrix.README }}

.github/workflows/swagger.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
lint:
2121
runs-on: ubuntu-latest
2222
steps:
23-
- uses: actions/checkout@v3
23+
- uses: actions/checkout@v4
2424

2525
- name: openapi-lint
2626
uses: mbowman100/swagger-validator-action@master

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,18 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](http://keepachangelog.com/)
66
and this project adheres to [Semantic Versioning](http://semver.org/).
77

8+
## 1.23.0 - 2025-07-31
9+
10+
### Fixed
11+
- Fixed XSS in space creation by escaping name and description field.
12+
- Fixed `NoSuchElementException` in spaces listing page when user is not defined. The error occurred when calling
13+
`user.get.id` on an undefined user in the spaces ownership dropdown. Added proper user existence checks in
14+
`listSpaces.scala.html` and `miniList.scala.html` templates.
15+
- Removed refrences to repo.typesafe.com from sbt-launch.jar and build.scala
16+
- Removed iRods integration and dependencies. The iRods file storage service and plugin have been completely removed
17+
from the codebase. Users who were using iRods for file storage will need to configure an alternative storage
18+
backend (filesystem, MongoDB GridFS, or AWS S3).
19+
820
## 1.22.1 - 2023-11-10
921

1022
### Fixed

Dockerfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# ----------------------------------------------------------------------
22
# BUILD CLOWDER DIST
33
# ----------------------------------------------------------------------
4-
FROM openjdk:8-jdk-bullseye as clowder-build
4+
FROM openjdk:8-jdk-bullseye AS clowder-build
55

66
ARG BRANCH="unknown"
77
ARG VERSION="unknown"
@@ -40,7 +40,7 @@ RUN rm -rf target/universal/clowder-*.zip clowder clowder-* \
4040
# ----------------------------------------------------------------------
4141
# BUILD CLOWDER
4242
# ----------------------------------------------------------------------
43-
FROM openjdk:8-jre-bullseye as clowder-runtime
43+
FROM openjdk:8-jre-bullseye AS clowder-runtime
4444

4545
# environemnt variables
4646
ARG BRANCH="unknown"

app/controllers/Spaces.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import org.joda.time.DateTime
77
import play.api.data.Forms._
88
import play.api.data.{Form, Forms}
99
import play.api.i18n.Messages
10+
import play.api.templates.HtmlFormat
1011
import play.api.{Logger, Play}
1112
import securesocial.core.providers.{Token, UsernamePasswordProvider}
1213
import services._
@@ -411,7 +412,7 @@ class Spaces @Inject() (spaces: SpaceService, users: UserService, events: EventS
411412
formData => {
412413
if (Permission.checkPermission(user, Permission.CreateSpace)) {
413414
Logger.debug("Creating space " + formData.name)
414-
val newSpace = ProjectSpace(name = formData.name, description = formData.description,
415+
val newSpace = ProjectSpace(name = HtmlFormat.escape(formData.name).toString(), description = HtmlFormat.escape(formData.description).toString(),
415416
created = new Date, creator = userId, homePage = formData.homePage,
416417
logoURL = formData.logoURL, bannerURL = formData.bannerURL,
417418
collectionCount = 0, datasetCount = 0, fileCount = 0, userCount = 0, spaceBytes = 0, metadata = List.empty,

0 commit comments

Comments
 (0)