Breaking Changes
- fix: change the type of duration_sec from int to float #6465 - d4x1
- refactor: gitlab adopts new remote api helper #6546 - klesh
- fix: trigger bp api should reject disabled bps #6706 - klesh
New Features
- feat(config-ui): support theme setting #6446 - mintsweet
- feat(config-ui): simplify the display of the github scope config #6480 - mintsweet
- feat(schema): add original_status and original_result fields to all related devops tables #6476 - d4x1
- feat: add skip collector at advanced mode #6454 - abeizn
- feat(config-ui): improve connection management usability #6519 - mintsweet
- feat(config-ui): support new plugin circleci #6537 - mintsweet
- feat(bamboo): return simple error message when license has expired #6511 - d4x1
- feat(config-ui): dis-associate the scope config with a data scope #6527 - mintsweet
- feat(api): add sanitizer to remove sensitive fields #6538 - d4x1
- feat(zentao): check db url when testing connections #6258 - d4x1
- feat(config-ui): not returning the tokens or passwords on APIs #6611 - mintsweet
- feat: allow deployment webhook to push deployments to multiple repos … #6535 - abeizn
- feat(db): add date relation fields to devops tables #6499 - d4x1
- feat(plugins): secret key and token are not empty now #6704 - d4x1
- feat: Opsgenie plugin implementation #6154 - sandesvitor
- feat: add filter jql checker #6789 - abeizn
- feat(pagerduty): search remote scope by keyword #6255 - d4x1
- feat(gitextractor): add progress info when cloning git repos #6195 - d4x1
- feat: add fullsync flag to DirectRun #6819 - klesh
- feat: forbid starting tx via the dalgorm.Exec #6685 - klesh
- feat(plugins): support partical partial update when editing connections #6790 - d4x1
- feat(config-ui): add new page not found #6811 - mintsweet
Bug Fixes
- fix(config-ui): show error when initializing connection error #6471 - mintsweet
- fix(webhook): add migration script when webhooks have no API keys #6472 - d4x1
- fix: Version API response in coming as empty string in v0.20.0-beta1 #6474 - klesh
- fix: upgrade grafana to fix some known vulnerabilities #6459 - klesh
- fix: jenkins stages durationMillis<0 #6462 - abeizn
- fix: modify _tool_jira_issue_relationships primary key #6253 - abeizn
- fix(db): add missing primary keys #6505 - d4x1
- fix(gitlab): fix incremental deployment collector #6254 - d4x1
- fix: collect all data when timeafter is nil #6663 - abeizn
- fix: make some plugin time filed default null #6813 - abeizn
- fix: gitlab Deployable.Commit.Message can be bigger than 255 #6588 - abeizn
- fix: github issue data too long for column type #6560 - abeizn
- fix: update certifi version to address CVE-2023-37920 #6509 - antoinecaputo
- fix: panic during github_graphql task when grabbing deployments #6513 - abeizn
- fix(db): upgrade gorm to v1.25.5 #6633 - d4x1
- fix: github grapahql increment collector #6601 - abeizn
- fix: option time after for plugins #6585 - abeizn
- fix: gitextractor can not run #6660 - abeizn
- fix cert update issue #6622 - ZhangNing10
- fix: convert rules index out of range #6670 - abeizn
- fix(zentao): fix panic when checking db connections #6649 - d4x1
- fix: duration_sec has wrong value #6688 - abeizn
- fix: add collect sonarqube mode by file #6507 - abeizn
- fix: split the collector into collector+extractor #6564 - abeizn
- fix: zentao collect bug with priOrder #6776 - matrixji
- fix: add jira component #6725 - abeizn
- fix: type trans rules #6679 - abeizn
- fix(api): proxy api pass through x-headers #6788 - leric
- fix: gitLab collection failed with error message Incorrect datetime v… #6769 - abeizn
- fix: gitlab incidents' type is nil #6732 - abeizn
- fix: issue created on Sunday are not being considered #6682 - abeizn
- fix: wrong value in table dora_benchmarks #6729 - Startrekzky
- fix: engineering overview work done dashboard #6742 - abeizn
- fix: gitlab incident #6748 - abeizn
- fix: mysql busy buffer, fails to fully parse all all pull request met… #6781 - abeizn
- fix: SonarQube dashboard #6739 - Startrekzky
- fix: dora benchmark metric value #6737 - abeizn
- fix: syntax error near unexpected token & #6458 - abeizn
- fix(pipeline): fix potiential panic #6484 - d4x1
- fix(config-ui): missed key of header links #6504 - mintsweet
- fix(bamboo): update tool layer table _tool_bamboo_plan_build_commits's schema #6488 - d4x1
- fix(config-ui): adjust the style for layout #6506 - mintsweet
- fix(config-ui): adjust the zentao search to local #6817 - mintsweet
- fix(config-ui): missed style for github check icon #6821 - mintsweet
- fix(azure): fix 400 error when cloning azure repos #6246 - d4x1
- fix(configui): tagsLimit should be a number #6261 - d4x1
- fix(config-ui): zentao error local search #6816 - mintsweet
- fix(config-ui): adjust doc link to stable #6517 - mintsweet
- fix: github token expired may cause 500 error #6561 - klesh
- fix: incorrect datetime value: '0000-00-00' for column latest_updated… #6541 - abeizn
- fix(config-ui): add label UTC to sync frequency #6525 - mintsweet
- fix(fetch): fix wrong use of db.Fetch #6666 - d4x1
- fix(config-ui): github token is valid condition error #6823 - mintsweet
- fix: incorrect datetime value: '0000-00-00' for column latest_updated #6587 - abeizn
- fix: bp trigger swag #6657 - abeizn
- fix(zentao): set correct value for 'nextPageToken' #6820 - d4x1
- fix: no rule to make target uint-test-only #6638 - abeizn
- fix(azuredevops): avoid pipeline panic if commit_sha is none #6627 - ambrisolla
- fix(config-ui): some styles for connection detail #6815 - mintsweet
- fix: typo on swagger doc #6642 - klesh
- fix: inconsistency PR count on gitlab dashboard #6749 - Startrekzky
- fix: yarn library license issues #6483 - abeizn
- fix(gitlab): fix cicd_deployments.created_date #6762 - d4x1
- fix(db): upgrade gorm to v1.25.5 #6695 - d4x1
- fix: trigger bp api should reject disabled bps #6706 - klesh
- fix(bamboo): fix cicd_pipelines's started_date #6778 - d4x1
- fix: gitlab+bamboo queued_duration_sec value #6777 - abeizn
- fix: can not list the error msg #6746 - abeizn
- fix: add github graphql deployment e2e #6802 - abeizn
- fix(gitlab): use duration field directly instead of calculating is manually #6757 - d4x1
- fix: gitlab server extract deployment may fail #6754 - klesh
- fix: update CircleCI dashboard, and add missing queued_duration_sec field when cicd_piplines are transformed to cicd_deployment_commits #6716 - d4x1
- fix: remove some filter #6723 - abeizn
- fix: yarn license #6711 - abeizn
- fix(zentao): fix remote scope api #6752 - d4x1
- fix(dora): add deployment generator #6698 - d4x1
- fix: github pipelines no data #6770 - abeizn
- fix: adjust some fields sort in tables #6761 - abeizn
- fix(dashboard): fix circle ci #6747 - d4x1
Refactor
- feat(config-ui): use new table component to replace old #6405 - mintsweet
- feat(config-ui): use new layout to replace old #6475 - mintsweet
- feat(config-ui): use new connections page to replace old #6491 - mintsweet
- feat(config-ui): unify the scope config style of the plug-in #6503 - mintsweet
- feat(config-ui): use redux tips to replace context tips #6734 - mintsweet
- refactor(config-ui): use new ui tooltip to replace old #6502 - mintsweet
- refactor: jenkins adopts new dshelpers #6554 - klesh
- refactor(config-ui): use new component block to replace form-item #6614 - mintsweet
- refactor(config-ui): use new ui flex and space to replace buttons #6621 - mintsweet
- refactor(config-ui): use new ui input to replace input-group #6630 - mintsweet
- refactor(config-ui): use new ui change the component inspector #6629 - mintsweet
- refactor(config-ui): use new ui button to replace old #6632 - mintsweet
- refactor(config-ui): remove old style about blueprintjs #6656 - mintsweet
- refactor(config-ui): use new ui message to replace old toast component #6543 - mintsweet
- refactor(config-ui): remove unuse component pagination #6609 - mintsweet
- refactor(config-ui): use new ui divider to replace old divider component #6578 - mintsweet
- refactor: jira adopts new dshelpers #6562 - klesh
- refactor: gitlab adopts new remote api helper #6546 - klesh
- refactor(config-ui): use new ui alert to replace old alert component #6544 - mintsweet
- refactor(config-ui): use button component to replace icon-button component #6626 - mintsweet
- refactor: extract MakePipelinePlanTask function #6550 - klesh
- refactor(config-ui): use new ui card to replace old card component #6545 - mintsweet
- refactor(config-ui): use new ui checkbox to replace old #6637 - mintsweet
- refactor(config-ui): use new component block to replace form-group #6635 - mintsweet
- refactor(config-ui): use new ui select to replace selector #6631 - mintsweet
- refactor(config-ui): remove blueprintjs #6659 - mintsweet
- refactor: move scopeConfig.name to the base model #6641 - klesh
- refactor(config-ui): use new ui radio to replace old #6636 - mintsweet
- refactor(config-ui): use new ui icon to replace old #6640 - mintsweet
- refactor(config-ui): use new ui popover and tooltip to replace old #6648 - mintsweet
- refactor(config-ui): use new ui form component to replace old #6643 - mintsweet
- refactor(config-ui): use new ui tag component to replace old #6650 - mintsweet
- refactor(config-ui): use new ui other component to replace old #6655 - mintsweet
- refactor: new remote api helpers #6530 - klesh
- refactor: sonarqube adopts the new dshelper #6644 - klesh
- refactor(config-ui): use new ui input.password to replace old form-password component #6592 - mintsweet
- refactor(config-ui): use new ui modal to replace old dialog component #6569 - mintsweet
- refactor: move api_client interface to plugin package #6529 - klesh
- refactor(config-ui): move redux hook to hooks dir #6727 - mintsweet
- refactor(config-ui): combine dir pages and routes #6796 - mintsweet
- refactor(config-ui): move theme config to root #6812 - mintsweet
- refactor(config-ui): error handle and db migrate #6810 - mintsweet
How to Upgrade
Please follow the steps below to upgrade Apache Incubator DevLake:
For Docker Compose and Kubernetes (k8s) Users:
- Update your docker-compose.yml or k8s-deploy.yaml file with the following image tags:
- apache/devlake:v0.21.0-beta1
- apache/devlake-dashboard:v0.21.0-beta1
- apache/devlake-config-ui:v0.21.0-beta1
- Set the value for "ENCRYPTION_SECRET". Please refer to the documentation at Docker Compose Setup for detailed instructions based on your installation method.
For Helm Users:
- Follow the instructions provided in the documentation at Helm Setup.
- Ensure that you have set the value for "ENCRYPTION_SECRET".
Upgrade Notes:
For detailed upgrade instructions and further information, please refer to the documentation in Upgrade Guide.