Merge branch 'hotfix/3.7.4' into develop

This commit is contained in:
René Pfeuffer
2025-03-12 16:00:24 +01:00
28 changed files with 121 additions and 98 deletions

View File

@@ -5,6 +5,10 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [3.7.4] - 2025-03-12
### Fixed
- Possibility to configure 'maxFormKeys' and 'maxFormContentSize' in Jetty
## [3.7.3] - 2025-02-24
### Fixed
- Keep original timestamp on rebase
@@ -1705,3 +1709,4 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
[3.7.0]: https://scm-manager.org/download/3.7.0
[3.7.1]: https://scm-manager.org/download/3.7.1
[3.7.3]: https://scm-manager.org/download/3.7.2
[3.7.4]: https://scm-manager.org/download/3.7.4

View File

@@ -53,25 +53,20 @@ If however you have to install plugins manually (for example because you cannot
# Huge number of repositories
If you have more than 100 Repositories to migrate, you may have to adapt some configuration and increase the limit of jetty form keys. You can do this by setting the `maxFormKeys` and `maxFormContentSize` of the webapp in `conf/server-config.xml`. You have to add the keys to the `WebAppContext` with the id `"scm-webapp"` e.g.:
If you have more than 100 Repositories to migrate, you may have to adapt some configuration and increase the limit of jetty form keys. You can do this by setting the `maxFormKeys` and `maxFormContentSize` in your `conf/config.yml` file. You have to add the keys at top level of the yaml file:
```
<New id="scm-webapp" class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="contextPath">/scm</Set>
<Set name="war">
<SystemProperty name="basedir" default="."/>/var/webapp/scm-webapp.war</Set>
<!-- disable directory listings -->
<Call name="setInitParameter">
<Arg>org.eclipse.jetty.servlet.Default.dirAllowed</Arg>
<Arg>false</Arg>
</Call>
<Set name="tempDirectory">
<SystemProperty name="basedir" default="."/>/work/scm
</Set>
<!-- Set max form keys -->
<Set name="maxFormContentSize">1000000</Set>
<Set name="maxFormKeys">5000</Set>
</New>
# base server config
## Address to listen 0.0.0.0 means on every interface
addressBinding: 0.0.0.0
port: 8080
contextPath: /scm
## Additions for the huge number of repositories:
maxFormContentSize: 1000000
maxFormKeys: 5000
...
```
The value for `maxFormKeys` should be the count of your repositories * 3 + 10. The `maxFormContentSize` depends on the length of your repository namespace and name, but you should be safe with repository count * 100.

View File

@@ -109,7 +109,7 @@ Then apply your fixes (eg. by cherry picking the relevant commits) and update th
have single changelog yaml files, you could use the `updateChangelog` like above). Add the `CHANGELOG.md`,
remove the yamls, and push the hotfix branch:
```
```bash
git rm -rf gradle/changelog
git add CHANGELOG.md
git commit -m "Adjust changelog for release 2.30.1"
@@ -125,7 +125,7 @@ Depending on whether you released a hotfix for an older version or the latest re
the `main` branch to the new tag. So in our example, if there is no version `2.31.x` yet, the new version
`2.30.1` is the latest version and we have to update `main`:
```
```bash
git checkout main
git merge 2.30.1
git push origin main
@@ -136,7 +136,7 @@ that there are no changes that all changes are part of the current `develop` sta
to merge conflicts, because the version on `develop` has been set to a new `SNAPSHOT`, while the version
of the hotfix has been updated to the new release version. So you have to merge all these conflicts manually.
```
```bash
git checkout develop
git merge main
```

View File

@@ -15,6 +15,6 @@
#
group = sonia.scm
version = 3.7.4-SNAPSHOT
version = 3.7.5-SNAPSHOT
org.gradle.jvmargs=-Xmx1024M
org.gradle.caching=true

View File

@@ -1,7 +1,7 @@
{
"name": "@scm-manager/scm-git-plugin",
"private": true,
"version": "3.7.4-SNAPSHOT",
"version": "3.7.5-SNAPSHOT",
"license": "AGPL-3.0-only",
"main": "./src/main/js/index.ts",
"scripts": {
@@ -11,7 +11,7 @@
"typecheck": "tsc"
},
"dependencies": {
"@scm-manager/ui-plugins": "3.7.4-SNAPSHOT"
"@scm-manager/ui-plugins": "3.7.5-SNAPSHOT"
},
"devDependencies": {
"@scm-manager/babel-preset": "^2.13.1",

View File

@@ -1,7 +1,7 @@
{
"name": "@scm-manager/scm-hg-plugin",
"private": true,
"version": "3.7.4-SNAPSHOT",
"version": "3.7.5-SNAPSHOT",
"license": "AGPL-3.0-only",
"main": "./src/main/js/index.ts",
"scripts": {
@@ -10,7 +10,7 @@
"typecheck": "tsc"
},
"dependencies": {
"@scm-manager/ui-plugins": "3.7.4-SNAPSHOT",
"@scm-manager/ui-plugins": "3.7.5-SNAPSHOT",
"react-query": "^3.25.1"
},
"devDependencies": {

View File

@@ -1,7 +1,7 @@
{
"name": "@scm-manager/scm-legacy-plugin",
"private": true,
"version": "3.7.4-SNAPSHOT",
"version": "3.7.5-SNAPSHOT",
"license": "AGPL-3.0-only",
"main": "./src/main/js/index.tsx",
"scripts": {
@@ -10,7 +10,7 @@
"typecheck": "tsc"
},
"dependencies": {
"@scm-manager/ui-plugins": "3.7.4-SNAPSHOT"
"@scm-manager/ui-plugins": "3.7.5-SNAPSHOT"
},
"devDependencies": {
"@scm-manager/babel-preset": "^2.13.1",

View File

@@ -1,7 +1,7 @@
{
"name": "@scm-manager/scm-svn-plugin",
"private": true,
"version": "3.7.4-SNAPSHOT",
"version": "3.7.5-SNAPSHOT",
"license": "AGPL-3.0-only",
"main": "./src/main/js/index.ts",
"scripts": {
@@ -10,7 +10,7 @@
"typecheck": "tsc"
},
"dependencies": {
"@scm-manager/ui-plugins": "3.7.4-SNAPSHOT"
"@scm-manager/ui-plugins": "3.7.5-SNAPSHOT"
},
"devDependencies": {
"@scm-manager/babel-preset": "^2.13.1",

View File

@@ -16,6 +16,8 @@
package sonia.scm.server;
import org.eclipse.jetty.server.handler.ContextHandler;
public class ServerConfigYaml {
private static final String SCM_SERVER_PREFIX = "SCM_";
@@ -30,6 +32,8 @@ public class ServerConfigYaml {
// Resolves the client ip instead of the reverse proxy ip if the X-Forwarded-For header is present
private boolean forwardHeadersEnabled = false;
private int idleTimeout = 0;
private int maxFormContentSize = ContextHandler.DEFAULT_MAX_FORM_CONTENT_SIZE;
private int maxFormKeys = ContextHandler.DEFAULT_MAX_FORM_KEYS;
// ### SSL-related config
// Only configure SSL if the key store path is set
@@ -150,6 +154,22 @@ public class ServerConfigYaml {
this.idleTimeout = idleTimeout;
}
public int getMaxFormContentSize() {
return getEnvWithDefault("MAX_FORM_CONTENT_SIZE", maxFormContentSize);
}
public void setMaxFormContentSize(int maxFormContentSize) {
this.maxFormContentSize = maxFormContentSize;
}
public int getMaxFormKeys() {
return getEnvWithDefault("MAX_FORM_KEYS", maxFormKeys);
}
public void setMaxFormKeys(int maxFormKeys) {
this.maxFormKeys = maxFormKeys;
}
static int getEnvWithDefault(String envKey, int configValue) {
String value = getEnv(envKey);
return value != null ? Integer.parseInt(value) : configValue;

View File

@@ -152,6 +152,10 @@ public final class ServerConfiguration {
);
System.out.printf("Set webapp temp directory to %s%n", webappTempDir);
webApp.setTempDirectory(webappTempDir);
webApp.setMaxFormContentSize(configYaml.getMaxFormContentSize());
System.out.println("Set webapp max form content size to " + configYaml.getMaxFormContentSize());
webApp.setMaxFormKeys(configYaml.getMaxFormKeys());
System.out.println("Set webapp max form keys to " + configYaml.getMaxFormKeys());
return webApp;
}
@@ -205,8 +209,7 @@ public final class ServerConfiguration {
}
for (Connector connector : server.getConnectors()) {
if (connector instanceof ServerConnector) {
ServerConnector serverConnector = (ServerConnector) connector;
if (connector instanceof ServerConnector serverConnector) {
String scheme = "http";
String protocol = serverConnector.getDefaultProtocol();
if ("SSL".equalsIgnoreCase(protocol) || "TLS".equalsIgnoreCase(protocol)) {

View File

@@ -1,6 +1,6 @@
{
"name": "@scm-manager/e2e-tests",
"version": "3.7.4-SNAPSHOT",
"version": "3.7.5-SNAPSHOT",
"description": "End to end Tests for SCM-Manager",
"main": "index.js",
"author": "Eduard Heimbuch <eduard.heimbuch@cloudogu.com>",

View File

@@ -1,6 +1,6 @@
{
"name": "@scm-manager/ui-api",
"version": "3.7.4-SNAPSHOT",
"version": "3.7.5-SNAPSHOT",
"description": "React hook api for the SCM-Manager backend",
"main": "build/index.js",
"module": "build/index.mjs",
@@ -26,7 +26,7 @@
"react-i18next": "11"
},
"devDependencies": {
"@scm-manager/ui-types": "3.7.4-SNAPSHOT",
"@scm-manager/ui-types": "3.7.5-SNAPSHOT",
"tsup": "^5.12.6",
"@types/react-test-renderer": "^17.0.1",
"@scm-manager/babel-preset": "^2.13.1",

View File

@@ -1,6 +1,6 @@
{
"name": "@scm-manager/ui-buttons",
"version": "3.7.4-SNAPSHOT",
"version": "3.7.5-SNAPSHOT",
"private": false,
"main": "index.ts",
"license": "AGPL-3.0-only",
@@ -13,7 +13,7 @@
"classnames": "^2.3.1"
},
"dependencies": {
"@scm-manager/ui-core": "3.7.4-SNAPSHOT"
"@scm-manager/ui-core": "3.7.5-SNAPSHOT"
},
"devDependencies": {
"@scm-manager/prettier-config": "^2.12.0",

View File

@@ -1,6 +1,6 @@
{
"name": "@scm-manager/ui-components",
"version": "3.7.4-SNAPSHOT",
"version": "3.7.5-SNAPSHOT",
"description": "UI Components for SCM-Manager and its plugins",
"main": "src/index.ts",
"files": [
@@ -32,8 +32,8 @@
"react-query": "^3.39.2"
},
"devDependencies": {
"@scm-manager/ui-tests": "3.7.4-SNAPSHOT",
"@scm-manager/ui-types": "3.7.4-SNAPSHOT",
"@scm-manager/ui-tests": "3.7.5-SNAPSHOT",
"@scm-manager/ui-types": "3.7.5-SNAPSHOT",
"@types/fetch-mock": "^7.3.1",
"@types/react-select": "^2.0.19",
"@types/unist": "^2.0.3",
@@ -68,17 +68,17 @@
"@scm-manager/jest-preset": "^2.14.1",
"@scm-manager/prettier-config": "^2.12.0",
"@scm-manager/tsconfig": "^2.13.0",
"@scm-manager/ui-syntaxhighlighting": "3.7.4-SNAPSHOT",
"@scm-manager/ui-shortcuts": "3.7.4-SNAPSHOT",
"@scm-manager/ui-text": "3.7.4-SNAPSHOT"
"@scm-manager/ui-syntaxhighlighting": "3.7.5-SNAPSHOT",
"@scm-manager/ui-shortcuts": "3.7.5-SNAPSHOT",
"@scm-manager/ui-text": "3.7.5-SNAPSHOT"
},
"dependencies": {
"@scm-manager/ui-core": "3.7.4-SNAPSHOT",
"@scm-manager/ui-overlays": "3.7.4-SNAPSHOT",
"@scm-manager/ui-layout": "3.7.4-SNAPSHOT",
"@scm-manager/ui-buttons": "3.7.4-SNAPSHOT",
"@scm-manager/ui-api": "3.7.4-SNAPSHOT",
"@scm-manager/ui-extensions": "3.7.4-SNAPSHOT",
"@scm-manager/ui-core": "3.7.5-SNAPSHOT",
"@scm-manager/ui-overlays": "3.7.5-SNAPSHOT",
"@scm-manager/ui-layout": "3.7.5-SNAPSHOT",
"@scm-manager/ui-buttons": "3.7.5-SNAPSHOT",
"@scm-manager/ui-api": "3.7.5-SNAPSHOT",
"@scm-manager/ui-extensions": "3.7.5-SNAPSHOT",
"deepmerge": "^4.2.2",
"hast-util-sanitize": "^3.0.2",
"react-diff-view": "^2.4.10",

View File

@@ -1,6 +1,6 @@
{
"name": "@scm-manager/ui-core",
"version": "3.7.4-SNAPSHOT",
"version": "3.7.5-SNAPSHOT",
"main": "./src/index.ts",
"license": "AGPL-3.0-only",
"scripts": {
@@ -20,7 +20,7 @@
"styled-components": "5"
},
"dependencies": {
"@scm-manager/ui-api": "3.7.4-SNAPSHOT",
"@scm-manager/ui-api": "3.7.5-SNAPSHOT",
"@radix-ui/react-radio-group": "^1.1.3",
"@radix-ui/react-slot": "^1.0.1",
"@radix-ui/react-visually-hidden": "^1.0.3",
@@ -37,7 +37,7 @@
"@scm-manager/eslint-config": "^2.17.0",
"@scm-manager/tsconfig": "^2.12.0",
"@scm-manager/babel-preset": "^2.13.1",
"@scm-manager/ui-types": "3.7.4-SNAPSHOT",
"@scm-manager/ui-types": "3.7.5-SNAPSHOT",
"@types/mousetrap": "1.6.5",
"@testing-library/react-hooks": "8.0.1",
"@testing-library/react": "12.1.5",

View File

@@ -1,6 +1,6 @@
{
"name": "@scm-manager/ui-extensions",
"version": "3.7.4-SNAPSHOT",
"version": "3.7.5-SNAPSHOT",
"license": "AGPL-3.0-only",
"private": false,
"author": "Sebastian Sdorra <sebastian.sdorra@cloudogu.com>",
@@ -21,8 +21,8 @@
"react": "^17.0.1"
},
"devDependencies": {
"@scm-manager/ui-types": "3.7.4-SNAPSHOT",
"@scm-manager/ui-tests": "3.7.4-SNAPSHOT",
"@scm-manager/ui-types": "3.7.5-SNAPSHOT",
"@scm-manager/ui-tests": "3.7.5-SNAPSHOT",
"@scm-manager/babel-preset": "^2.13.1",
"@scm-manager/eslint-config": "^2.17.0",
"@scm-manager/jest-preset": "^2.14.1",

View File

@@ -1,7 +1,7 @@
{
"name": "@scm-manager/ui-forms",
"private": false,
"version": "3.7.4-SNAPSHOT",
"version": "3.7.5-SNAPSHOT",
"main": "index.ts",
"scripts": {
"depcheck": "depcheck"
@@ -21,7 +21,7 @@
"styled-components": "^5.3.5"
},
"dependencies": {
"@scm-manager/ui-core": "3.7.4-SNAPSHOT"
"@scm-manager/ui-core": "3.7.5-SNAPSHOT"
},
"devDependencies": {
"@scm-manager/eslint-config": "^2.17.0",

View File

@@ -1,7 +1,7 @@
{
"name": "@scm-manager/ui-layout",
"private": false,
"version": "3.7.4-SNAPSHOT",
"version": "3.7.5-SNAPSHOT",
"main": "index.ts",
"scripts": {
"depcheck": "depcheck"
@@ -14,7 +14,7 @@
"react": "^17.0.1"
},
"dependencies": {
"@scm-manager/ui-core": "3.7.4-SNAPSHOT"
"@scm-manager/ui-core": "3.7.5-SNAPSHOT"
},
"devDependencies": {
"@scm-manager/eslint-config": "^2.17.0",

View File

@@ -1,6 +1,6 @@
{
"name": "@scm-manager/ui-legacy",
"version": "3.7.4-SNAPSHOT",
"version": "3.7.5-SNAPSHOT",
"private": true,
"main": "build/index.js",
"module": "build/index.mjs",
@@ -13,13 +13,13 @@
"depcheck": "depcheck"
},
"dependencies": {
"@scm-manager/ui-api": "3.7.4-SNAPSHOT",
"@scm-manager/ui-extensions": "3.7.4-SNAPSHOT",
"@scm-manager/ui-api": "3.7.5-SNAPSHOT",
"@scm-manager/ui-extensions": "3.7.5-SNAPSHOT",
"react-redux": "^5.0.7",
"redux": "^4.0.0"
},
"devDependencies": {
"@scm-manager/ui-types": "3.7.4-SNAPSHOT",
"@scm-manager/ui-types": "3.7.5-SNAPSHOT",
"@types/react-redux": "5.0.7",
"@scm-manager/babel-preset": "^2.13.1",
"@scm-manager/eslint-config": "^2.17.0",

View File

@@ -1,7 +1,7 @@
{
"name": "@scm-manager/ui-overlays",
"private": false,
"version": "3.7.4-SNAPSHOT",
"version": "3.7.5-SNAPSHOT",
"main": "index.ts",
"scripts": {
"depcheck": "depcheck"
@@ -19,7 +19,7 @@
"classnames": "^2.3.1"
},
"dependencies": {
"@scm-manager/ui-core": "3.7.4-SNAPSHOT"
"@scm-manager/ui-core": "3.7.5-SNAPSHOT"
},
"devDependencies": {
"@scm-manager/eslint-config": "^2.17.0",

View File

@@ -1,7 +1,7 @@
{
"name": "@scm-manager/ui-plugins",
"description": "Defines the versions of SCM-Manager plugin dependencies provided by the core webapp. Exclusively used by the postinstall command of @scm-manager/plugin-scripts.",
"version": "3.7.4-SNAPSHOT",
"version": "3.7.5-SNAPSHOT",
"license": "AGPL-3.0-only",
"type": "module",
"main": "./build/provided-modules.js",
@@ -17,14 +17,14 @@
"react-router-dom": "^5.3.1",
"react-i18next": "11",
"styled-components": "^5.3.5",
"@scm-manager/ui-api": "3.7.4-SNAPSHOT",
"@scm-manager/ui-buttons": "3.7.4-SNAPSHOT",
"@scm-manager/ui-components": "3.7.4-SNAPSHOT",
"@scm-manager/ui-core": "3.7.4-SNAPSHOT",
"@scm-manager/ui-extensions": "3.7.4-SNAPSHOT",
"@scm-manager/ui-forms": "3.7.4-SNAPSHOT",
"@scm-manager/ui-layout": "3.7.4-SNAPSHOT",
"@scm-manager/ui-overlays": "3.7.4-SNAPSHOT",
"@scm-manager/ui-api": "3.7.5-SNAPSHOT",
"@scm-manager/ui-buttons": "3.7.5-SNAPSHOT",
"@scm-manager/ui-components": "3.7.5-SNAPSHOT",
"@scm-manager/ui-core": "3.7.5-SNAPSHOT",
"@scm-manager/ui-extensions": "3.7.5-SNAPSHOT",
"@scm-manager/ui-forms": "3.7.5-SNAPSHOT",
"@scm-manager/ui-layout": "3.7.5-SNAPSHOT",
"@scm-manager/ui-overlays": "3.7.5-SNAPSHOT",
"classnames": "^2.3.1",
"query-string": "6.14.1",
"redux": "^4.0.0",
@@ -43,8 +43,8 @@
"@scm-manager/plugin-scripts": "^1.6.1",
"@scm-manager/prettier-config": "^2.12.0",
"@scm-manager/tsconfig": "^2.13.0",
"@scm-manager/ui-tests": "3.7.4-SNAPSHOT",
"@scm-manager/ui-types": "3.7.4-SNAPSHOT",
"@scm-manager/ui-tests": "3.7.5-SNAPSHOT",
"@scm-manager/ui-types": "3.7.5-SNAPSHOT",
"@types/classnames": "^2.3.1",
"@types/enzyme": "^3.10.18",
"@types/i18next": "^13.0.0",

View File

@@ -1,6 +1,6 @@
{
"name": "@scm-manager/ui-shortcuts",
"version": "3.7.4-SNAPSHOT",
"version": "3.7.5-SNAPSHOT",
"license": "AGPL-3.0-only",
"private": true,
"main": "index.ts",
@@ -18,7 +18,7 @@
"@scm-manager/tsconfig": "^2.13.0"
},
"dependencies": {
"@scm-manager/ui-core": "3.7.4-SNAPSHOT"
"@scm-manager/ui-core": "3.7.5-SNAPSHOT"
},
"prettier": "@scm-manager/prettier-config",
"eslintConfig": {

View File

@@ -1,6 +1,6 @@
{
"name": "@scm-manager/ui-styles",
"version": "3.7.4-SNAPSHOT",
"version": "3.7.5-SNAPSHOT",
"description": "Styles for SCM-Manager",
"main": "src/scm.scss",
"license": "AGPL-3.0-only",

View File

@@ -1,6 +1,6 @@
{
"name": "@scm-manager/ui-syntaxhighlighting",
"version": "3.7.4-SNAPSHOT",
"version": "3.7.5-SNAPSHOT",
"private": true,
"main": "src/index.ts",
"scripts": {
@@ -13,7 +13,7 @@
"depcheck": "depcheck"
},
"dependencies": {
"@scm-manager/ui-text": "3.7.4-SNAPSHOT",
"@scm-manager/ui-text": "3.7.5-SNAPSHOT",
"nanoid": "^3.3.8",
"refractor": "^4.5.0"
},

View File

@@ -1,6 +1,6 @@
{
"name": "@scm-manager/ui-tests",
"version": "3.7.4-SNAPSHOT",
"version": "3.7.5-SNAPSHOT",
"description": "UI-Tests helpers",
"author": "Sebastian Sdorra <sebastian.sdorra@cloudogu.com>",
"license": "AGPL-3.0-only",

View File

@@ -1,6 +1,6 @@
{
"name": "@scm-manager/ui-text",
"version": "3.7.4-SNAPSHOT",
"version": "3.7.5-SNAPSHOT",
"private": true,
"main": "index.ts",
"scripts": {
@@ -10,7 +10,7 @@
"react": "^17.0.1"
},
"dependencies": {
"@scm-manager/ui-core": "3.7.4-SNAPSHOT"
"@scm-manager/ui-core": "3.7.5-SNAPSHOT"
},
"devDependencies": {
"@scm-manager/eslint-config": "^2.17.0",

View File

@@ -1,6 +1,6 @@
{
"name": "@scm-manager/ui-types",
"version": "3.7.4-SNAPSHOT",
"version": "3.7.5-SNAPSHOT",
"description": "Typescript types for SCM-Manager related Objects",
"main": "src/index.ts",
"files": [

View File

@@ -1,6 +1,6 @@
{
"name": "@scm-manager/ui-webapp",
"version": "3.7.4-SNAPSHOT",
"version": "3.7.5-SNAPSHOT",
"private": true,
"scripts": {
"test": "jest",
@@ -11,16 +11,16 @@
},
"dependencies": {
"@headlessui/react": "^1.7.17",
"@scm-manager/ui-components": "3.7.4-SNAPSHOT",
"@scm-manager/ui-api": "3.7.4-SNAPSHOT",
"@scm-manager/ui-extensions": "3.7.4-SNAPSHOT",
"@scm-manager/ui-shortcuts": "3.7.4-SNAPSHOT",
"@scm-manager/ui-legacy": "3.7.4-SNAPSHOT",
"@scm-manager/ui-forms": "3.7.4-SNAPSHOT",
"@scm-manager/ui-core": "3.7.4-SNAPSHOT",
"@scm-manager/ui-overlays": "3.7.4-SNAPSHOT",
"@scm-manager/ui-layout": "3.7.4-SNAPSHOT",
"@scm-manager/ui-buttons": "3.7.4-SNAPSHOT",
"@scm-manager/ui-components": "3.7.5-SNAPSHOT",
"@scm-manager/ui-api": "3.7.5-SNAPSHOT",
"@scm-manager/ui-extensions": "3.7.5-SNAPSHOT",
"@scm-manager/ui-shortcuts": "3.7.5-SNAPSHOT",
"@scm-manager/ui-legacy": "3.7.5-SNAPSHOT",
"@scm-manager/ui-forms": "3.7.5-SNAPSHOT",
"@scm-manager/ui-core": "3.7.5-SNAPSHOT",
"@scm-manager/ui-overlays": "3.7.5-SNAPSHOT",
"@scm-manager/ui-layout": "3.7.5-SNAPSHOT",
"@scm-manager/ui-buttons": "3.7.5-SNAPSHOT",
"@radix-ui/react-portal": "^1.0.4",
"@react-aria/overlays": "^3.23.1",
"classnames": "^2.3.1",
@@ -46,10 +46,10 @@
"devDependencies": {
"@scm-manager/eslint-config": "^2.17.0",
"@scm-manager/jest-preset": "^2.14.1",
"@scm-manager/ui-tests": "3.7.4-SNAPSHOT",
"@scm-manager/ui-plugins": "3.7.4-SNAPSHOT",
"@scm-manager/ui-tests": "3.7.5-SNAPSHOT",
"@scm-manager/ui-plugins": "3.7.5-SNAPSHOT",
"@scm-manager/prettier-config": "^2.12.0",
"@scm-manager/ui-types": "3.7.4-SNAPSHOT",
"@scm-manager/ui-types": "3.7.5-SNAPSHOT",
"@types/classnames": "^2.3.1",
"@types/enzyme": "^3.10.18",
"@types/react": "^17.0.1",