GitProxy v2 includes breaking changes such as GitLab and multiple forks support (#1043) and associating commits by email (#973). See the following guide on how to migrate your existing GitProxy installation to v2 and troubleshoot any errors that may arise.
If you have any questions or problems during upgrade, feel free to open a discussion.
What's Changed
- chore: bump @finos/git-proxy to 2.0.0 @jescalada (#1518)
- fix(website): resolve npm audit vulnerabilities @kriswest (#1515)
- chore: update badge and link path to reflect changes to the FINOS project lifecycle @TheJuanAndOnly99 (#1493)
- chore: improve docker-publish.yml flow @jescalada (#1505)
- chore: bump git-proxy to v2.0.0-rc.6 @jescalada (#1502)
- fix(plugins): update sample plugin imports to use package subpath exports @coopernetes (#1484)
- ci: run test coverage on CLI package @fabiovincenzi (#1500)
- fix: restore broken CLI package @fabiovincenzi (#1499)
- ci: optimize CI workflow @fabiovincenzi (#1492)
- ci: optimize e2e workflow @fabiovincenzi (#1490)
- docs: fix link to installation page @gep13 (#1491)
- fix: broken plugin exports @jescalada (#1489)
- fix: release drafter permission error @jescalada (#1482)
🚀 Features
- feat: Add action summary to push view @andypols (#1446)
- feat: add Cypress e2e tests for dashboard push actions @fabiovincenzi (#1403)
- feat: enhance error handling in git-push and repo services @dcoric (#1406)
- feat: Add reject reason @andypols (#1396)
- feat: Add MongoDB integration tests with CI support @dcoric (#1382)
- feat: bundle dependencies for strict network support @dcoric (#1395)
- feat: Improve push filtering @andypols (#1349)
- feat: automatic Docker build and upload to Docker Hub @jescalada (#1339)
- feat: e2e tests using docker compose @coopernetes (#1165)
- feat: add support for using an AWS Credential Provider to authenticate MongoDB connections @kriswest (#1319)
- feat: config schema for missing properties @kriswest (#1243)
- feat: improve login page flexibility @jescalada (#1227)
- feat: push speed optimizations @jescalada (#1189)
- feat: Create admin protected endpoint for creating users @dcoric (#981)
- feat: don't forward requests for unknown repos @kriswest (#1164)
- feat: implement formatting checks to CI @fabiovincenzi (#1153)
- feat: JWT
apiAuthenticationUI integration @jescalada (#1096) - feat(key on repo url): support git hosts other than GitHub + multiple forks @kriswest (#1043)
🐛 Bug Fixes
- fix: use CompletedAttestation.answers in AttestationView @fabiovincenzi (#1459)
- fix(deps): update dependency axios to ^1.13.6 - git-proxy-cli - packages/git-proxy-cli/package.json @renovate[bot] (#1427)
- fix(deps): rm duplicate supertest dependency @andypols (#1419)
- fix: update @types/express-serve-static-core to 5.1.1 and fix typing of Request params @kriswest (#1409)
- fix: improve handling of repository clones in the .remote folder @kriswest (#1393)
- fix: add invalid regex validation for
commitConfig@jescalada (#1355) - fix: bump mongodb-github-action version to 1.12.1 @jescalada (#1405)
- fix: correct the API base url used to call cancel push in admin UI @kriswest (#1394)
- fix: reduce DB and log bloat by not logging writePack content @kriswest (#1389)
- fix: make tests independent of execution order @fabiovincenzi (#1378)
- fix: error message on fetching auth'd user @jescalada (#1353)
- fix(deps): update npm - - package.json @renovate[bot] (#1307)
- fix: enable skipped proxy tests @fabiovincenzi (#1357)
- fix(deps): update dependency express to ^5.2.1 - git-proxy-plugin-samples - plugins/git-proxy-plugin-samples/package.json @renovate[bot] (#1372)
- fix(deps): update dependency axios to ^1.13.4 - git-proxy-cli - packages/git-proxy-cli/package.json @renovate[bot] (#1371)
- fix(deps): update dependency uuid to v13 - - package.json @renovate[bot] (#1224)
- fix(deps): update npm - website - website/package.json @renovate[bot] (#1309)
- fix(deps): update npm - li-cli - experimental/li-cli/package.json @renovate[bot] (#1308)
- fix: remove unused fileDB params from config schema, defaults, and docs @dcoric (#1360)
- fix: trigger for e2e tests @coopernetes (#1359)
- fix: file permission issue in e2e tests & regression on db init @coopernetes (#1358)
- fix: Dockerfile permissions error @jescalada (#1341)
- fix: convert remaining UI javascript to typescript @andypols (#1329)
- fix: move supertest to dev dependencies @andypols (#1328)
- fix: drop dependency on jwk-to-pem by using native crypto @dgl (#1283)
- fix: defer reading of database configuration until needed to fix race @kriswest (#1316)
- fix: misleading endpoint status codes and error messages @jescalada (#1293)
- fix: macos test failures due to concurrent file access @coopernetes (#1312)
- fix: the condition "types" here will never be used warning @andypols (#1311)
- fix: revert
singleBranchoption inpullRemoteaction @jescalada (#1305) - fix(deps): update dependency axios to ^1.13.2 - git-proxy-cli - packages/git-proxy-cli/package.json @renovate[bot] (#1290)
- fix(deps): update npm to v5 - - package.json (major) @renovate[bot] (#900)
- fix: demo video @tabathad (#1298)
- fix: proxy preparations mismatch bug @jescalada (#1284)
- fix(deps): update npm - - package.json @renovate[bot] (#1252)
- fix: empty pagination @andypols (#1274)
- fix: broken user links @andypols (#1268)
- fix: Plugin loader tests @jescalada (#1262)
- fix: correct and simplify git push/pull request classification using content-type headers @kriswest (#1249)
- fix: the npm check-types failures @andypols (#1254)
- fix: infinite loop in UserList component @andypols (#1255)
- fix: escape literals in scan diff @kriswest (#1251)
- fix(deps): update npm - - package.json @renovate[bot] (#1236)
- fix: rename definitions/authentication in schema to make it more inutitive @kriswest (#1231)
- fix: bug in using API_BASE with URL @andypols (#1228)
- fix: "MongoServerError: The _id cannot be changed" when updating users @andypols (#1230)
- fix(deps): update dependency env-paths to v3 - - package.json @renovate[bot] (#1216)
- fix: linter warnings and CI failure @jescalada (#1218)
- fix(deps): update dependency express-rate-limit to v8 - license-inventory - experimental/license-inventory/package.json @renovate[bot] (#1221)
- fix: reimplement push parsing to prevent Z_DATA_ERROR @kriswest (#1187)
- fix(deps): update dependency express-rate-limit to v8 - - package.json @renovate[bot] (#1220)
- fix(deps): update dependency express to v5 - git-proxy-plugin-samples - plugins/git-proxy-plugin-samples/package.json @renovate[bot] (#1217)
- fix(deps): update dependency express to v5 - license-inventory - experimental/license-inventory/package.json @renovate[bot] (#1219)
- fix(deps): update dependency dotenv to v17 - license-inventory - experimental/license-inventory/package.json @renovate[bot] (#1215)
- fix(deps): update npm - website - website/package.json @renovate[bot] (#1208)
- fix(deps): update npm - - package.json @renovate[bot] (#1183)
- fix(deps): update npm - li-cli - experimental/li-cli/package.json @renovate[bot] (#1203)
- fix: Logout calls localhost in prod; standardise API base resolution @andypols (#1201)
- fix: incorrect error message on cloning unauthorized repos @fabiovincenzi (#1204)
- fix(deps): update dependency axios to ^1.12.2 - git-proxy-cli - packages/git-proxy-cli/package.json @renovate[bot] (#1205)
- fix: allowing empty diffs in scanDiff @fabiovincenzi (#1182)
- test: improve repo DB tests and CheckRepoInAuthList tests @andypols (#1109)
- fix(deps): update npm - website - website/package.json @renovate[bot] (#1131)
- fix: prevent DOS when checking an unknown repo @andypols (#1095)
- fix: display errors when adding a new repo @andypols (#1120)
- fix: render committer and author email links instead of estimated profile links @kriswest (#1179)
- fix: return 200 status codes on rejection to ensure error message renders in git client @kriswest (#1178)
- fix: mongoDB client impl issues @kriswest (#1167)
- fix(deps): update npm - - package.json @renovate[bot] (#1135)
- fix(deps): update npm - li-cli - experimental/li-cli/package.json @renovate[bot] (#1114)
- fix: flaky fuzz test errors @jescalada (#1158)
- fix: 946 associate commits by email @kriswest (#973)
- fix(deps): update dependency axios to ^1.11.0 - git-proxy-cli - packages/git-proxy-cli/package.json @renovate[bot] (#1130)
- fix: restore user configs being merged with defaults @coopernetes (#1129)
- fix(deps): update npm - - package.json @renovate[bot] (#883)
🧰 Maintenance
- chore(deps): update github-actions to v7 - workflows - .github/workflows/e2e.yml (major) @renovate[bot] (#1476)
- chore(deps): update docker/setup-buildx-action action to v4 - workflows - .github/workflows/docker-publish.yml @renovate[bot] (#1475)
- chore(deps): update github/codeql-action digest to 72c0b0e - workflows - .github/workflows/codeql.yml @renovate[bot] (#1469)
- chore(deps): update actions/upload-artifact action to v6 - workflows - .github/workflows/e2e.yml @renovate[bot] (#1468)
- chore: update meeting_minutes.md issue template @kriswest (#1473)
- chore(deps): update node.js to v24 - - dockerfile @renovate[bot] (#1445)
- chore(deps): update dependency node to v24 - workflows - .github/workflows/unused-dependencies.yml @renovate[bot] (#1436)
- chore(deps): update httpd:2.4 docker digest to 331548c - localgit - localgit/dockerfile @renovate[bot] (#1466)
- chore(deps): update github-actions - workflows - .github/workflows/ci.yml @renovate[bot] (#1465)
- chore: drop node 20 support @jescalada (#1462)
- docs: add deployment guide @tabathad (#1385)
- chore: bump git-proxy version to
2.0.0-rc.5@jescalada (#1461) - refactor: improve logging in
src/proxy/processors, remove log-related stubs/spies in tests @jescalada (#1448) - refactor: remove
anyandasthroughout codebase @jescalada (#1323) - chore: add license header eslint plugin @jescalada (#1447)
- test: improve test coverage @jescalada (#1356)
- chore(deps): update github-actions - workflows - .github/workflows/unused-dependencies.yml @renovate[bot] (#1440)
- chore(deps): update github-actions to v4 - workflows - .github/workflows/docker-publish.yml (major) @renovate[bot] (#1441)
- refactor: replace async/await and promise chaining @fabiovincenzi (#1421)
- chore(deps): update github-actions to v7 - workflows - .github/workflows/scorecard.yml (major) @renovate[bot] (#1439)
- chore(deps): update github-actions to v6 - workflows - .github/workflows/unused-dependencies.yml (major) @renovate[bot] (#1438)
- chore: push, don't overwrite history so browser works @andypols (#1433)
- chore(deps): update github-actions to v5 - workflows - .github/workflows/e2e.yml (major) @renovate[bot] (#1437)
- chore: fix push sort order to be latest-first @andypols (#1431)
- chore(deps): update dependency @eslint/json to v1 - - package.json @renovate[bot] (#1434)
- chore(deps): update github-actions - workflows - .github/workflows/e2e.yml @renovate[bot] (#1426)
- chore(deps): update actions/download-artifact action to v8 - workflows - .github/workflows/ci.yml @renovate[bot] (#1429)
- chore(deps): update httpd:2.4 docker digest to 96b1e8f - localgit - localgit/dockerfile @renovate[bot] (#1425)
- docs: restructure contributing docs and improve E2E test infrastructure @coopernetes (#1398)
- docs: move usage to quickstart @tabathad (#1417)
- chore(deps): update github-actions - workflows - .github/workflows/docker-publish.yml @renovate[bot] (#1424)
- chore: ignore experimental packages in renovate.json @jescalada (#1401)
- chore: add andypols to list of maintainers @jescalada (#1413)
- docs(website): update website homepage @tabathad (#1286)
- chore: add CODEOWNERS with basic setup @jescalada (#1381)
- docs: architecture guide @jescalada (#1391)
- docs: add v2 upgrade doc @jescalada (#1333)
- ci: add Windows to test matrix and fix cross-platform compatibility @fabiovincenzi (#1361)
- chore(deps): update github-actions - workflows - .github/workflows/e2e.yml @renovate[bot] (#1370)
- chore(deps): pin httpd docker tag to dd17859 - localgit - localgit/dockerfile @renovate[bot] (#1369)
- chore(deps): update npm to v30 - li-cli - experimental/li-cli/package.json (major) @renovate[bot] (#1083)
- chore: fix NPM publish flow @jescalada (#1352)
- chore: remove unused NPM auth token and flags @jescalada (#1351)
- chore: bump git-proxy version to v2.0.0-rc.4 @jescalada (#1322)
- chore: upgrade node & mongo versions in ci, actions upgrades @coopernetes (#1315)
- chore(deps): update npm to v2 - - package.json (major) @renovate[bot] (#1132)
- chore(deps): update github-actions - workflows - .github/workflows/scorecard.yml @renovate[bot] (#1306)
- fix(deps): update npm to v5 - - package.json (major) @renovate[bot] (#900)
- refactor: migrate tests to Vitest + TS @jescalada (#1202)
- chore(deps): update github-actions - workflows - .github/workflows/unused-dependencies.yml @renovate[bot] (#1279)
- fix(deps): update npm - - package.json @renovate[bot] (#1252)
- refactor: consolidate TS types @jescalada (#1275)
- test: add tests for plugins written in ESM @jescalada (#1266)
- chore: add confirmation dialog @andypols (#1267)
- refactor: convert remaining UI files to TS @jescalada (#1256)
- refactor: remove unnecessary getUserLoggedIn API call in User component @andypols (#1257)
- refactor: Add TypeScript support @fabiovincenzi (#1142)
- chore(deps): update github-actions - workflows - .github/workflows/dependency-review.yml @renovate[bot] (#1250)
- refactor:
servicemodule to TS + ESM (v2) @jescalada (#1166) - chore(deps): update npm - - package.json @renovate[bot] (#1247)
- refactor:
git-proxy-clipackage to TS + ESM (v2) @jescalada (#1180) - test: fix generated-config test and default config for updated schema @kriswest (#1244)
- chore: generate provenance statement when publishing to npm @kriswest (#1242)
- chore: deprecate github api baseUrl @andypols (#1232)
- chore(deps): update dependency @types/node to ^22.18.7 - li-cli - experimental/li-cli/package.json @renovate[bot] (#1235)
- chore: remove defunct release workflow @kriswest (#1234)
- chore(deps): update github-actions - workflows - .github/workflows/dependency-review.yml @renovate[bot] (#1226)
- chore: update package.json for v2.0.0-rc.3 release @kriswest (#1233)
- refactor: eliminate duplicate executeChain calls in push approval flow @fabiovincenzi (#1209)
- chore(deps): update github-actions to v5 - workflows - .github/workflows/unused-dependencies.yml (major) @renovate[bot] (#1214)
- chore(deps): update dependency lint-staged to v16 - - package.json @renovate[bot] (#1195)
- chore: update to eslint v9 @06kellyjac (#955)
- chore(deps): update github-actions - workflows - .github/workflows/scorecard.yml @renovate[bot] (#1198)
- chore: add /healthcheck endpoint to the proxy @andypols (#1197)
- chore(deps): update dependency cypress to v15 - - package.json @renovate[bot] (#1192)
- refactor: migrate configuration system from JSON Schema to QuickType @fabiovincenzi (#1140)
- test: improve repo DB tests and CheckRepoInAuthList tests @andypols (#1109)
- chore(deps): update dependency @types/node to ^22.18.1 - li-cli - experimental/li-cli/package.json @renovate[bot] (#1190)
- chore(deps): update github-actions - workflows - .github/workflows/dependency-review.yml @renovate[bot] (#1170)
- chore: add testing documentation and coverage checks @jescalada (#1147)
- chore(deps): update dependency cross-env to v10 - license-inventory - experimental/license-inventory/package.json @renovate[bot] (#1173)
- fix(deps): update npm - - package.json @renovate[bot] (#1135)
- chore(deps): update amannn/action-semantic-pull-request action to v6 - workflows - .github/workflows/pr-lint.yml @renovate[bot] (#1157)
- test: fix Cypress test data dependency @jescalada (#1154)
- chore: bump version to rc.2 @jescalada (#1162)
- chore: update npm release workflow to handle pre-releases @jescalada (#1159)
- chore(deps): update github-actions - workflows - .github/workflows/unused-dependencies.yml @renovate[bot] (#1156)
- test: Implement fuzz tests for processors @jescalada (#1115)
- refactor: replace
getMissingDataaction withcheckEmptyBranch@jescalada (#1134) - chore: prepare for 2.x release with rc version @coopernetes (#1137)
- chore(deps): update dependency @finos/git-proxy to ^1.19.2 - git-proxy-plugin-samples - plugins/git-proxy-plugin-samples/package.json @renovate[bot] (#1128)
- chore(deps): update github-actions - workflows - .github/workflows/ci.yml @renovate[bot] (#1127)
Full Changelog*: v1.19.2...v2.0.0