diff --git a/.github/workflows/backend.yml b/.github/workflows/backend.yml
index 49ae321739..195436e419 100644
--- a/.github/workflows/backend.yml
+++ b/.github/workflows/backend.yml
@@ -19,7 +19,7 @@ jobs:
# See https://docs.stepsecurity.io/harden-runner/getting-started/ for instructions on
# configuring harden-runner and identifying allowed endpoints.
- name: Harden Runner
- uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
+ uses: step-security/harden-runner@f086349bfa2bd1361f7909c78558e816508cdc10 # v2.8.0
with:
disable-sudo: true
egress-policy: block
@@ -35,7 +35,7 @@ jobs:
github.com:443
md-hdd-t032zjxllntc.z26.blob.storage.azure.net:443
objects.githubusercontent.com:443
- - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- name: Setup dotnet
uses: actions/setup-dotnet@4d6c8fcf3c8f7a60068d26b594648e99df24cee3 # v4.0.0
with:
@@ -72,7 +72,7 @@ jobs:
# See https://docs.stepsecurity.io/harden-runner/getting-started/ for instructions on
# configuring harden-runner and identifying allowed endpoints.
- name: Harden Runner
- uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
+ uses: step-security/harden-runner@f086349bfa2bd1361f7909c78558e816508cdc10 # v2.8.0
with:
disable-sudo: true
egress-policy: block
@@ -85,9 +85,9 @@ jobs:
storage.googleapis.com:443
uploader.codecov.io:443
- name: Checkout repository
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- name: Download coverage artifact
- uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4
+ uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7
with:
name: coverage
- name: Upload coverage report
@@ -109,7 +109,7 @@ jobs:
# See https://docs.stepsecurity.io/harden-runner/getting-started/ for instructions on
# configuring harden-runner and identifying allowed endpoints.
- name: Harden Runner
- uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
+ uses: step-security/harden-runner@f086349bfa2bd1361f7909c78558e816508cdc10 # v2.8.0
with:
disable-sudo: true
egress-policy: block
@@ -124,7 +124,7 @@ jobs:
objects.githubusercontent.com:443
- name: Checkout repository
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
# Manually install .NET to work around:
# https://github.com/github/codeql-action/issues/757
- name: Setup .NET
@@ -153,7 +153,7 @@ jobs:
# See https://docs.stepsecurity.io/harden-runner/getting-started/ for instructions on
# configuring harden-runner and identifying allowed endpoints.
- name: Harden Runner
- uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
+ uses: step-security/harden-runner@f086349bfa2bd1361f7909c78558e816508cdc10 # v2.8.0
with:
disable-sudo: true
disable-file-monitoring: true
@@ -170,7 +170,7 @@ jobs:
security.ubuntu.com:80
# For subfolders, currently a full checkout is required.
# See: https://github.com/marketplace/actions/build-and-push-docker-images#path-context
- - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
with:
fetch-depth: 0
- name: Build backend
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index 6d2f6298b8..8832d287f8 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -45,7 +45,7 @@ jobs:
# See https://docs.stepsecurity.io/harden-runner/getting-started/ for instructions on
# configuring harden-runner and identifying allowed endpoints.
- name: Harden Runner
- uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
+ uses: step-security/harden-runner@f086349bfa2bd1361f7909c78558e816508cdc10 # v2.8.0
with:
disable-sudo: true
egress-policy: block
@@ -59,7 +59,7 @@ jobs:
objects.githubusercontent.com:443
pypi.org:443
- name: Checkout repository
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
diff --git a/.github/workflows/combine_deploy_image.yml b/.github/workflows/combine_deploy_image.yml
index 21444fcb56..54bc7f9ec9 100644
--- a/.github/workflows/combine_deploy_image.yml
+++ b/.github/workflows/combine_deploy_image.yml
@@ -16,7 +16,7 @@ jobs:
# See https://docs.stepsecurity.io/harden-runner/getting-started/ for instructions on
# configuring harden-runner and identifying allowed endpoints.
- name: Harden Runner
- uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
+ uses: step-security/harden-runner@f086349bfa2bd1361f7909c78558e816508cdc10 # v2.8.0
with:
disable-sudo: true
egress-policy: block
@@ -40,7 +40,7 @@ jobs:
- name: Set up QEMU
uses: docker/setup-qemu-action@68827325e0b33c7199eb31dd4e31fbe9023e06e3 # v3.0.0
- name: Set up Docker Buildx
- uses: docker/setup-buildx-action@2b51285047da1547ffb1b2203d8be4c0af6b1f20 # v3.2.0
+ uses: docker/setup-buildx-action@d70bba72b1f3fd22344832f00baa16ece964efeb # v3.3.0
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
with:
diff --git a/.github/workflows/commit_message_check.yml b/.github/workflows/commit_message_check.yml
index cf3e9c0778..8840e08cc1 100644
--- a/.github/workflows/commit_message_check.yml
+++ b/.github/workflows/commit_message_check.yml
@@ -10,4 +10,4 @@ permissions: # added using https://github.com/step-security/secure-workflows
jobs:
commit-message-lint:
- uses: sillsdev/FieldWorks/.github/workflows/CommitMessage.yml@3a4f3bade83de0228b80c3662faadb651b2ff110
+ uses: sillsdev/FieldWorks/.github/workflows/CommitMessage.yml@722b7f2f25c0a66160cda67a12979a0a942c7705
diff --git a/.github/workflows/database.yml b/.github/workflows/database.yml
index 2c5b930b05..34ba5ef57a 100644
--- a/.github/workflows/database.yml
+++ b/.github/workflows/database.yml
@@ -15,7 +15,7 @@ jobs:
# See https://docs.stepsecurity.io/harden-runner/getting-started/ for instructions on
# configuring harden-runner and identifying allowed endpoints.
- name: Harden Runner
- uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
+ uses: step-security/harden-runner@f086349bfa2bd1361f7909c78558e816508cdc10 # v2.8.0
with:
disable-sudo: true
egress-policy: block
@@ -26,7 +26,7 @@ jobs:
registry-1.docker.io:443
# For subfolders, currently a full checkout is required.
# See: https://github.com/marketplace/actions/build-and-push-docker-images#path-context
- - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
with:
fetch-depth: 0
- name: Build database image
diff --git a/.github/workflows/deploy_qa.yml b/.github/workflows/deploy_qa.yml
index 7753692d6d..c7daace17f 100644
--- a/.github/workflows/deploy_qa.yml
+++ b/.github/workflows/deploy_qa.yml
@@ -21,7 +21,7 @@ jobs:
# See https://docs.stepsecurity.io/harden-runner/getting-started/ for instructions on
# configuring harden-runner and identifying allowed endpoints.
- name: Harden Runner
- uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
+ uses: step-security/harden-runner@f086349bfa2bd1361f7909c78558e816508cdc10 # v2.8.0
with:
disable-sudo: true
egress-policy: block
@@ -51,7 +51,7 @@ jobs:
storage.googleapis.com:443
sts.${{ secrets.AWS_DEFAULT_REGION }}.amazonaws.com:443
uploader.codecov.io:443
- - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
with:
fetch-depth: 0
- name: Build The Combine
@@ -73,7 +73,7 @@ jobs:
# See https://docs.stepsecurity.io/harden-runner/getting-started/ for instructions on
# configuring harden-runner and identifying allowed endpoints.
- name: Harden Runner
- uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
+ uses: step-security/harden-runner@f086349bfa2bd1361f7909c78558e816508cdc10 # v2.8.0
with:
disable-sudo: true
egress-policy: block
@@ -82,7 +82,7 @@ jobs:
api.ecr.${{ secrets.AWS_DEFAULT_REGION }}.amazonaws.com:443
github.com:443
sts.${{ secrets.AWS_DEFAULT_REGION }}.amazonaws.com:443
- - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4.0.2
with:
@@ -97,7 +97,7 @@ jobs:
if: ${{ github.ref_name == 'master' }}
runs-on: [self-hosted, thecombine]
steps:
- - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- name: Deploy The Combine Update
uses: ./.github/actions/combine-deploy-update
with:
diff --git a/.github/workflows/deploy_release.yml b/.github/workflows/deploy_release.yml
index 972c1b8044..20457564d3 100644
--- a/.github/workflows/deploy_release.yml
+++ b/.github/workflows/deploy_release.yml
@@ -20,7 +20,7 @@ jobs:
# See https://docs.stepsecurity.io/harden-runner/getting-started/ for instructions on
# configuring harden-runner and identifying allowed endpoints.
- name: Harden Runner
- uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
+ uses: step-security/harden-runner@f086349bfa2bd1361f7909c78558e816508cdc10 # v2.8.0
with:
egress-policy: block
allowed-endpoints: >
@@ -47,7 +47,7 @@ jobs:
security.ubuntu.com:80
storage.googleapis.com:443
sts.us-east-1.amazonaws.com:443
- - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- name: Build The Combine
id: build_combine
uses: ./.github/actions/combine-build
@@ -66,7 +66,7 @@ jobs:
needs: build
runs-on: [self-hosted, thecombine]
steps:
- - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
with:
fetch-depth: 0
- name: Deploy The Combine Update to QA
diff --git a/.github/workflows/frontend.yml b/.github/workflows/frontend.yml
index 10f76fbf9d..2f50e88efc 100644
--- a/.github/workflows/frontend.yml
+++ b/.github/workflows/frontend.yml
@@ -14,12 +14,12 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
- node-version: [18]
+ node-version: [20]
steps:
# See https://docs.stepsecurity.io/harden-runner/getting-started/ for instructions on
# configuring harden-runner and identifying allowed endpoints.
- name: Harden Runner
- uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
+ uses: step-security/harden-runner@f086349bfa2bd1361f7909c78558e816508cdc10 # v2.8.0
with:
disable-sudo: true
egress-policy: block
@@ -29,7 +29,7 @@ jobs:
github.com:443
registry.npmjs.org:443
- name: Checkout repository
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
with:
@@ -43,12 +43,12 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
- node-version: [18]
+ node-version: [20]
steps:
# See https://docs.stepsecurity.io/harden-runner/getting-started/ for instructions on
# configuring harden-runner and identifying allowed endpoints.
- name: Harden Runner
- uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
+ uses: step-security/harden-runner@f086349bfa2bd1361f7909c78558e816508cdc10 # v2.8.0
with:
disable-sudo: true
egress-policy: block
@@ -58,7 +58,7 @@ jobs:
github.com:443
registry.npmjs.org:443
- name: Checkout repository
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2
with:
@@ -82,7 +82,7 @@ jobs:
# See https://docs.stepsecurity.io/harden-runner/getting-started/ for instructions on
# configuring harden-runner and identifying allowed endpoints.
- name: Harden Runner
- uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
+ uses: step-security/harden-runner@f086349bfa2bd1361f7909c78558e816508cdc10 # v2.8.0
with:
disable-sudo: true
egress-policy: block
@@ -95,9 +95,9 @@ jobs:
storage.googleapis.com:443
uploader.codecov.io:443
- name: Checkout repository
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- name: Download coverage artifact
- uses: actions/download-artifact@c850b930e6ba138125429b7e5c93fc707a7f8427 # v4.1.4
+ uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7
with:
name: coverage
- name: Upload coverage report
@@ -116,7 +116,7 @@ jobs:
# See https://docs.stepsecurity.io/harden-runner/getting-started/ for instructions on
# configuring harden-runner and identifying allowed endpoints.
- name: Harden Runner
- uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
+ uses: step-security/harden-runner@f086349bfa2bd1361f7909c78558e816508cdc10 # v2.8.0
with:
disable-sudo: true
egress-policy: block
@@ -129,7 +129,7 @@ jobs:
pypi.org:443
registry-1.docker.io:443
registry.npmjs.org:443
- - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
with:
fetch-depth: 0
- name: Build frontend
diff --git a/.github/workflows/maintenance.yml b/.github/workflows/maintenance.yml
index 68449fd427..a3780463b9 100644
--- a/.github/workflows/maintenance.yml
+++ b/.github/workflows/maintenance.yml
@@ -15,7 +15,7 @@ jobs:
# See https://docs.stepsecurity.io/harden-runner/getting-started/ for instructions on
# configuring harden-runner and identifying allowed endpoints.
- name: Harden Runner
- uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
+ uses: step-security/harden-runner@f086349bfa2bd1361f7909c78558e816508cdc10 # v2.8.0
with:
disable-sudo: true
egress-policy: block
@@ -30,7 +30,7 @@ jobs:
security.ubuntu.com:80
# For subfolders, currently a full checkout is required.
# See: https://github.com/marketplace/actions/build-and-push-docker-images#path-context
- - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
with:
fetch-depth: 0
- name: Build maintenance image
diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml
index 80b9667e44..ef9e5b11d4 100644
--- a/.github/workflows/pages.yml
+++ b/.github/workflows/pages.yml
@@ -17,7 +17,7 @@ jobs:
# See https://docs.stepsecurity.io/harden-runner/getting-started/ for instructions on
# configuring harden-runner and identifying allowed endpoints.
- name: Harden Runner
- uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
+ uses: step-security/harden-runner@f086349bfa2bd1361f7909c78558e816508cdc10 # v2.8.0
with:
disable-sudo: true
egress-policy: block
@@ -25,7 +25,7 @@ jobs:
files.pythonhosted.org:443
github.com:443
pypi.org:443
- - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0
with:
python-version: 3.11
diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml
index 623fc02e3a..34b45159e5 100644
--- a/.github/workflows/python.yml
+++ b/.github/workflows/python.yml
@@ -19,7 +19,7 @@ jobs:
# See https://docs.stepsecurity.io/harden-runner/getting-started/ for instructions on
# configuring harden-runner and identifying allowed endpoints.
- name: Harden Runner
- uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
+ uses: step-security/harden-runner@f086349bfa2bd1361f7909c78558e816508cdc10 # v2.8.0
with:
disable-sudo: true
egress-policy: block
@@ -28,7 +28,7 @@ jobs:
files.pythonhosted.org:443
github.com:443
pypi.org:443
- - uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0
with:
diff --git a/.github/workflows/scorecards.yml b/.github/workflows/scorecards.yml
index 5ac285f135..b8787d4b69 100644
--- a/.github/workflows/scorecards.yml
+++ b/.github/workflows/scorecards.yml
@@ -35,7 +35,7 @@ jobs:
# See https://docs.stepsecurity.io/harden-runner/getting-started/ for instructions on
# configuring harden-runner and identifying allowed endpoints.
- name: Harden Runner
- uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
+ uses: step-security/harden-runner@f086349bfa2bd1361f7909c78558e816508cdc10 # v2.8.0
with:
disable-sudo: true
egress-policy: block
@@ -54,7 +54,7 @@ jobs:
tuf-repo-cdn.sigstore.dev:443
www.bestpractices.dev:443
- name: "Checkout code"
- uses: actions/checkout@0ad4b8fadaa221de15dcec353f45205ec38ea70b # v4.1.4
+ uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
with:
persist-credentials: false
diff --git a/Backend.Tests/Backend.Tests.csproj b/Backend.Tests/Backend.Tests.csproj
index 664e5582b5..25bc2890bd 100644
--- a/Backend.Tests/Backend.Tests.csproj
+++ b/Backend.Tests/Backend.Tests.csproj
@@ -12,7 +12,7 @@
$(NoWarn);CA1305;CS1591
-
+
diff --git a/Backend/BackendFramework.csproj b/Backend/BackendFramework.csproj
index 76e6da1a42..b9f47657c4 100644
--- a/Backend/BackendFramework.csproj
+++ b/Backend/BackendFramework.csproj
@@ -16,16 +16,16 @@
-
-
-
+
+
+
-
-
+
+
NU1701
@@ -34,6 +34,6 @@
NU1701
-
+
diff --git a/Backend/Dockerfile b/Backend/Dockerfile
index 364ca12d3c..705f9a2a15 100644
--- a/Backend/Dockerfile
+++ b/Backend/Dockerfile
@@ -1,5 +1,5 @@
# Docker multi-stage build
-FROM mcr.microsoft.com/dotnet/sdk:6.0.421-focal-amd64 AS builder
+FROM mcr.microsoft.com/dotnet/sdk:6.0.423-focal-amd64 AS builder
WORKDIR /app
# Copy csproj and restore (fetch dependencies) as distinct layers.
@@ -11,7 +11,7 @@ COPY . ./
RUN dotnet publish -c Release -o build
# Build runtime image.
-FROM mcr.microsoft.com/dotnet/aspnet:6.0.29-focal-amd64
+FROM mcr.microsoft.com/dotnet/aspnet:6.0.31-focal-amd64
ENV ASPNETCORE_URLS=http://+:5000
ENV COMBINE_IS_IN_CONTAINER=1
diff --git a/Dockerfile b/Dockerfile
index b58f4ee3fa..c75c88d13e 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -16,7 +16,7 @@ COPY docs/user_guide docs/user_guide
RUN tox -e user-guide
# Frontend build environment.
-FROM node:18.20.0-bookworm-slim AS frontend_builder
+FROM node:20.14.0-bookworm-slim AS frontend_builder
WORKDIR /app
# Install app dependencies.
@@ -28,7 +28,7 @@ COPY . ./
RUN npm run build
# Production environment.
-FROM nginx:1.25
+FROM nginx:1.27
WORKDIR /app
diff --git a/README.md b/README.md
index b04ffef004..e69d275391 100644
--- a/README.md
+++ b/README.md
@@ -96,7 +96,7 @@ A rapid word collection tool. See the [User Guide](https://sillsdev.github.io/Th
```
2. [Chocolatey][chocolatey]: (Windows only) a Windows package manager.
-3. [Node.js 18 (LTS)](https://nodejs.org/en/download/)
+3. [Node.js 20 (LTS)](https://nodejs.org/en/download/)
- On Windows, if using [Chocolatey][chocolatey]: `choco install nodejs-lts`
- On Ubuntu, follow
[this guide](https://github.com/nodesource/distributions/blob/master/README.md#installation-instructions) using the
diff --git a/database/Dockerfile b/database/Dockerfile
index cdcf977299..3d69e5b087 100644
--- a/database/Dockerfile
+++ b/database/Dockerfile
@@ -1,4 +1,4 @@
-FROM mongo:7.0.9-jammy
+FROM mongo:7.0.11-jammy
WORKDIR /
diff --git a/deploy/requirements.txt b/deploy/requirements.txt
index 126b7c5e81..c43ee668e8 100644
--- a/deploy/requirements.txt
+++ b/deploy/requirements.txt
@@ -4,13 +4,13 @@
#
# pip-compile requirements.in
#
-ansible==9.5.1
+ansible==9.6.0
# via -r requirements.in
-ansible-core==2.16.6
+ansible-core==2.16.7
# via ansible
cachetools==5.3.3
# via google-auth
-certifi==2024.2.2
+certifi==2024.6.2
# via
# kubernetes
# requests
@@ -18,7 +18,7 @@ cffi==1.16.0
# via cryptography
charset-normalizer==3.3.2
# via requests
-cryptography==42.0.5
+cryptography==42.0.7
# via
# ansible-core
# pyopenssl
@@ -26,7 +26,7 @@ google-auth==2.29.0
# via kubernetes
idna==3.7
# via requests
-jinja2==3.1.3
+jinja2==3.1.4
# via
# -r requirements.in
# ansible-core
@@ -60,7 +60,7 @@ pyyaml==6.0.1
# -r requirements.in
# ansible-core
# kubernetes
-requests==2.31.0
+requests==2.32.3
# via
# kubernetes
# requests-oauthlib
diff --git a/dev-requirements.txt b/dev-requirements.txt
index a93213a515..4a73acb0c5 100644
--- a/dev-requirements.txt
+++ b/dev-requirements.txt
@@ -8,7 +8,7 @@ attrs==23.2.0
# via
# flake8-bugbear
# flake8-eradicate
-babel==2.14.0
+babel==2.15.0
# via mkdocs-material
beautifulsoup4==4.12.3
# via mkdocs-htmlproofer-plugin
@@ -18,7 +18,7 @@ cachetools==5.3.3
# via
# google-auth
# tox
-certifi==2024.2.2
+certifi==2024.6.2
# via
# kubernetes
# requests
@@ -37,7 +37,7 @@ colorama==0.4.6
# -r dev-requirements.in
# mkdocs-material
# tox
-cryptography==42.0.5
+cryptography==42.0.7
# via
# pyopenssl
# types-pyopenssl
@@ -77,7 +77,7 @@ idna==3.7
# via requests
isort==5.13.2
# via -r dev-requirements.in
-jinja2==3.1.3
+jinja2==3.1.4
# via
# -r dev-requirements.in
# jinja2-base64-filters
@@ -112,11 +112,11 @@ mkdocs-get-deps==0.2.0
# via mkdocs
mkdocs-htmlproofer-plugin==1.2.1
# via -r dev-requirements.in
-mkdocs-material==9.5.20
+mkdocs-material==9.5.25
# via -r dev-requirements.in
mkdocs-material-extensions==1.3.1
# via mkdocs-material
-mkdocs-static-i18n==1.2.2
+mkdocs-static-i18n==1.2.3
# via -r dev-requirements.in
mypy==1.10.0
# via -r dev-requirements.in
@@ -140,9 +140,9 @@ pathspec==0.12.1
# via
# black
# mkdocs
-pep8-naming==0.13.3
+pep8-naming==0.14.1
# via -r dev-requirements.in
-platformdirs==4.2.1
+platformdirs==4.2.2
# via
# black
# mkdocs-get-deps
@@ -162,11 +162,11 @@ pycparser==2.22
# via cffi
pyflakes==3.2.0
# via flake8
-pygments==2.17.2
+pygments==2.18.0
# via mkdocs-material
pymdown-extensions==10.8.1
# via mkdocs-material
-pymongo==4.7.1
+pymongo==4.7.2
# via -r dev-requirements.in
pyopenssl==24.1.0
# via -r dev-requirements.in
@@ -188,9 +188,9 @@ pyyaml==6.0.1
# pyyaml-env-tag
pyyaml-env-tag==0.1
# via mkdocs
-regex==2024.4.28
+regex==2024.5.15
# via mkdocs-material
-requests==2.31.0
+requests==2.32.3
# via
# kubernetes
# mkdocs-htmlproofer-plugin
@@ -222,11 +222,11 @@ types-python-dateutil==2.9.0.20240316
# via -r dev-requirements.in
types-pyyaml==6.0.12.20240311
# via -r dev-requirements.in
-types-requests==2.31.0.20240406
+types-requests==2.32.0.20240602
# via -r dev-requirements.in
-types-setuptools==69.5.0.20240423
+types-setuptools==70.0.0.20240524
# via types-cffi
-typing-extensions==4.11.0
+typing-extensions==4.12.1
# via
# black
# mypy
@@ -235,9 +235,9 @@ urllib3==2.2.1
# kubernetes
# requests
# types-requests
-virtualenv==20.26.1
+virtualenv==20.26.2
# via tox
-watchdog==4.0.0
+watchdog==4.0.1
# via mkdocs
websocket-client==1.8.0
# via kubernetes
diff --git a/docs/user_guide/assets/licenses/backend_licenses.txt b/docs/user_guide/assets/licenses/backend_licenses.txt
index d5f820205e..d7bf00079e 100644
--- a/docs/user_guide/assets/licenses/backend_licenses.txt
+++ b/docs/user_guide/assets/licenses/backend_licenses.txt
@@ -8,7 +8,7 @@ license Type:Apache-2.0
####################################################################################################
Package:BouncyCastle.Cryptography
-Version:2.3.0
+Version:2.3.1
project URL:https://www.bouncycastle.org/csharp/
Description:BouncyCastle.NET is a popular cryptography library for .NET
licenseUrl:https://licenses.nuget.org/MIT
@@ -58,7 +58,7 @@ license Type:LICENSE.md
####################################################################################################
Package:MailKit
-Version:4.5.0
+Version:4.6.0
project URL:http://www.mimekit.net/
Description:MailKit is an Open Source cross-platform .NET mail-client library that is based on MimeKit and optimized for mobile devices.
@@ -718,11 +718,11 @@ license Type:MS-EULA
####################################################################################################
Package:Microsoft.OpenApi
-Version:1.2.3
+Version:1.6.14
project URL:https://github.com/Microsoft/OpenAPI.NET
Description:.NET models with JSON and YAML writers for OpenAPI specification
-licenseUrl:https://raw.githubusercontent.com/Microsoft/OpenAPI.NET/master/LICENSE
-license Type:
+licenseUrl:https://licenses.nuget.org/MIT
+license Type:MIT
####################################################################################################
Package:Microsoft.Win32.Primitives
@@ -767,7 +767,7 @@ license Type:MIT
####################################################################################################
Package:MimeKit
-Version:4.5.0
+Version:4.6.0
project URL:https://www.mimekit.net/
Description:MimeKit is an Open Source library for creating and parsing MIME, S/MIME and PGP messages on desktop and mobile platforms. It also supports parsing of Unix mbox files.
@@ -785,26 +785,26 @@ license Type:MIT
####################################################################################################
Package:MongoDB.Bson
-Version:2.24.0
+Version:2.25.0
project URL:https://www.mongodb.com/docs/drivers/csharp/
Description:MongoDB's Official Bson Library.
-licenseUrl:https://www.nuget.org/packages/MongoDB.Bson/2.24.0/License
+licenseUrl:https://www.nuget.org/packages/MongoDB.Bson/2.25.0/License
license Type:LICENSE.md
####################################################################################################
Package:MongoDB.Driver
-Version:2.24.0
+Version:2.25.0
project URL:https://www.mongodb.com/docs/drivers/csharp/
Description:Official .NET driver for MongoDB.
-licenseUrl:https://www.nuget.org/packages/MongoDB.Driver/2.24.0/License
+licenseUrl:https://www.nuget.org/packages/MongoDB.Driver/2.25.0/License
license Type:LICENSE.md
####################################################################################################
Package:MongoDB.Driver.Core
-Version:2.24.0
+Version:2.25.0
project URL:https://www.mongodb.com/docs/drivers/csharp/
Description:Core Component of the Official MongoDB .NET Driver.
-licenseUrl:https://www.nuget.org/packages/MongoDB.Driver.Core/2.24.0/License
+licenseUrl:https://www.nuget.org/packages/MongoDB.Driver.Core/2.25.0/License
license Type:LICENSE.md
####################################################################################################
@@ -957,7 +957,7 @@ license Type:
####################################################################################################
Package:SIL.Core
-Version:14.0.0
+Version:14.1.1
project URL:https://github.com/sillsdev/libpalaso
Description:SIL.Core provides general utilities for language software. It is the base library for all Palaso libraries.
licenseUrl:https://licenses.nuget.org/MIT
@@ -972,9 +972,17 @@ licenseUrl:https://licenses.nuget.org/MIT
license Type:MIT
####################################################################################################
-Package:SIL.Core.Desktop
+Package:SIL.Core
Version:14.0.0
project URL:https://github.com/sillsdev/libpalaso
+Description:SIL.Core provides general utilities for language software. It is the base library for all Palaso libraries.
+licenseUrl:https://licenses.nuget.org/MIT
+license Type:MIT
+
+####################################################################################################
+Package:SIL.Core.Desktop
+Version:14.1.1
+project URL:https://github.com/sillsdev/libpalaso
Description:SIL.Core.Desktop provides general UI related utilities for language software.
licenseUrl:https://licenses.nuget.org/MIT
license Type:MIT
@@ -987,6 +995,14 @@ Description:SIL.Core.Desktop provides general UI related utilities for language
licenseUrl:https://licenses.nuget.org/MIT
license Type:MIT
+####################################################################################################
+Package:SIL.Core.Desktop
+Version:14.0.0
+project URL:https://github.com/sillsdev/libpalaso
+Description:SIL.Core.Desktop provides general UI related utilities for language software.
+licenseUrl:https://licenses.nuget.org/MIT
+license Type:MIT
+
####################################################################################################
Package:SIL.DictionaryServices
Version:13.0.1
@@ -1027,6 +1043,14 @@ Description:SIL.WritingSystems contains classes for managing and persisting writ
licenseUrl:https://licenses.nuget.org/MIT
license Type:MIT
+####################################################################################################
+Package:SIL.WritingSystems
+Version:14.1.1
+project URL:https://github.com/sillsdev/libpalaso
+Description:SIL.WritingSystems contains classes for managing and persisting writing systems using the Locale Data Markup Language (LDML) format. This library also contains classes for processing IETF (BCP-47) language tags and accessing the SIL Locale Data Repository (SLDR).
+licenseUrl:https://licenses.nuget.org/MIT
+license Type:MIT
+
####################################################################################################
Package:Snappier
Version:1.0.0
@@ -1050,7 +1074,7 @@ license Type:
####################################################################################################
Package:Swashbuckle.AspNetCore
-Version:6.5.0
+Version:6.6.2
project URL:https://github.com/domaindrivendev/Swashbuckle.AspNetCore
Description:Swagger tools for documenting APIs built on ASP.NET Core
licenseUrl:https://licenses.nuget.org/MIT
@@ -1058,7 +1082,7 @@ license Type:MIT
####################################################################################################
Package:Swashbuckle.AspNetCore.Swagger
-Version:6.5.0
+Version:6.6.2
project URL:https://github.com/domaindrivendev/Swashbuckle.AspNetCore
Description:Middleware to expose Swagger JSON endpoints from APIs built on ASP.NET Core
licenseUrl:https://licenses.nuget.org/MIT
@@ -1066,7 +1090,7 @@ license Type:MIT
####################################################################################################
Package:Swashbuckle.AspNetCore.SwaggerGen
-Version:6.5.0
+Version:6.6.2
project URL:https://github.com/domaindrivendev/Swashbuckle.AspNetCore
Description:Swagger Generator for APIs built on ASP.NET Core
licenseUrl:https://licenses.nuget.org/MIT
@@ -1074,7 +1098,7 @@ license Type:MIT
####################################################################################################
Package:Swashbuckle.AspNetCore.SwaggerUI
-Version:6.5.0
+Version:6.6.2
project URL:https://github.com/domaindrivendev/Swashbuckle.AspNetCore
Description:Middleware to expose an embedded version of the swagger-ui from an ASP.NET Core application
licenseUrl:https://licenses.nuget.org/MIT
diff --git a/docs/user_guide/assets/licenses/frontend_licenses.txt b/docs/user_guide/assets/licenses/frontend_licenses.txt
index 98c065d2d6..6f35097e96 100644
--- a/docs/user_guide/assets/licenses/frontend_licenses.txt
+++ b/docs/user_guide/assets/licenses/frontend_licenses.txt
@@ -42729,7 +42729,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
-mui-language-picker 1.2.8
+mui-language-picker 2.1.5
MIT
MIT License
@@ -43188,7 +43188,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
-react-i18next 14.0.5
+react-i18next 14.1.2
MIT
The MIT License (MIT)
diff --git a/maintenance/requirements.txt b/maintenance/requirements.txt
index 53631e4d72..1d101dd646 100644
--- a/maintenance/requirements.txt
+++ b/maintenance/requirements.txt
@@ -6,7 +6,7 @@
#
cachetools==5.3.3
# via google-auth
-certifi==2024.2.2
+certifi==2024.6.2
# via
# kubernetes
# requests
@@ -14,7 +14,7 @@ cffi==1.16.0
# via cryptography
charset-normalizer==3.3.2
# via requests
-cryptography==42.0.5
+cryptography==42.0.7
# via pyopenssl
dnspython==2.6.1
# via pymongo
@@ -38,7 +38,7 @@ pyasn1-modules==0.4.0
# via google-auth
pycparser==2.22
# via cffi
-pymongo==4.7.1
+pymongo==4.7.2
# via -r requirements.in
pyopenssl==24.1.0
# via -r requirements.in
@@ -46,7 +46,7 @@ python-dateutil==2.9.0.post0
# via kubernetes
pyyaml==6.0.1
# via kubernetes
-requests==2.31.0
+requests==2.32.3
# via
# kubernetes
# requests-oauthlib
diff --git a/package-lock.json b/package-lock.json
index a2e12f10a1..1235a0ea92 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -42,7 +42,7 @@
"react-beautiful-dnd": "^13.1.1",
"react-chartjs-2": "^5.2.0",
"react-dom": "^18.2.0",
- "react-i18next": "^14.0.5",
+ "react-i18next": "^14.1.2",
"react-modal": "^3.16.1",
"react-redux": "^8.1.3",
"react-router-dom": "^6.16.0",
@@ -12702,9 +12702,9 @@
"dev": true
},
"node_modules/ejs": {
- "version": "3.1.9",
- "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz",
- "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==",
+ "version": "3.1.10",
+ "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz",
+ "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==",
"dev": true,
"dependencies": {
"jake": "^10.8.5"
@@ -23219,9 +23219,9 @@
"dev": true
},
"node_modules/react-i18next": {
- "version": "14.0.5",
- "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-14.0.5.tgz",
- "integrity": "sha512-5+bQSeEtgJrMBABBL5lO7jPdSNAbeAZ+MlFWDw//7FnVacuVu3l9EeWFzBQvZsKy+cihkbThWOAThEdH8YjGEw==",
+ "version": "14.1.2",
+ "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-14.1.2.tgz",
+ "integrity": "sha512-FSIcJy6oauJbGEXfhUgVeLzvWBhIBIS+/9c6Lj4niwKZyGaGb4V4vUbATXSlsHJDXXB+ociNxqFNiFuV1gmoqg==",
"dependencies": {
"@babel/runtime": "^7.23.9",
"html-parse-stringify": "^3.0.1"
diff --git a/package.json b/package.json
index 107db1d911..3da4f79f70 100644
--- a/package.json
+++ b/package.json
@@ -70,7 +70,7 @@
"react-beautiful-dnd": "^13.1.1",
"react-chartjs-2": "^5.2.0",
"react-dom": "^18.2.0",
- "react-i18next": "^14.0.5",
+ "react-i18next": "^14.1.2",
"react-modal": "^3.16.1",
"react-redux": "^8.1.3",
"react-router-dom": "^6.16.0",
@@ -161,6 +161,6 @@
]
},
"volta": {
- "node": "20.12.2"
+ "node": "20.14.0"
}
}