klesh opened a new pull request, #9097:
URL: https://github.com/apache/devlake/pull/9097
## Summary
Phase 1 (Warning) of the Python plugin deprecation plan in #9092. Adds
deprecation warnings across the backend and frontend so users are informed that
the Python plugin framework (PyDevLake) will be removed in 3 months, and that
they should migrate to Go-based plugins (e.g. `azuredevops` → `azuredevops_go`).
This PR does **not** remove any code. It only surfaces deprecation notices.
## Changes
### Backend
- **`backend/python/README.md`** — DEPRECATED banner at the top explaining
why, the timeline, and migration guidance for new plugins (write Go) and
existing `azuredevops` users (migrate to `azuredevops_go`).
- **`backend/python/plugins/azuredevops/README.md`** — marks the plugin
deprecated, points to `azuredevops_go`.
- **`backend/core/runner/loader.go`** — emits a one-time `WARN` log at
server startup when remote (Python) plugins are being loaded:
```
DEPRECATION WARNING: The Python plugin framework (PyDevLake) is deprecated
and will be removed in 3 months. See
https://github.com/apache/devlake/issues/9092 ...
```
- **`backend/core/plugin/plugin_meta.go`** — new `PluginDeprecation`
interface (`DeprecationMessage() string`).
- **`backend/server/services/remote/plugin/plugin_impl.go`** —
`remotePluginImpl` implements `PluginDeprecation`; all remote/Python plugins
report a deprecation message.
- **`backend/server/api/plugininfo/plugininifo.go`** — `GET /plugins` now
returns a `deprecated` boolean per plugin so the frontend can detect deprecated
plugins.
### Frontend (config-ui)
- **`config-ui/src/types/plugin.ts`** — added `isDeprecated?` and
`deprecationMessage?` to `IPluginConfig`.
- **`config-ui/src/plugins/register/azure/config.tsx`** — `AzureConfig` (the
Python `azuredevops` plugin) is now flagged `isDeprecated: true` with a
migration message.
- **`config-ui/src/routes/connection/connections.tsx`** — renders a red
**Deprecated** badge + deprecation note on deprecated plugin cards in the
Connections page.
- **`config-ui/src/routes/connection/styled.ts`** — styles for the new
`.deprecated` badge and `.deprecation-note`.
## Plan timeline (from #9092)
| Phase | Window | Status |
| --- | --- | --- |
| 1. Warning | T+0 | **This PR** |
| 2. Freeze | T+1 month | Not started |
| 3. Migration assist | T+1~T+3 months | Not started |
| 4. Removal | T+3 months | Not started |
## Verification
- `go vet ./core/runner/... ./core/plugin/... ./server/api/plugininfo/...
./server/services/remote/...` — clean
- `tsc --noEmit` — no new errors (only pre-existing missing test deps)
## Related issue
Closes: no (this is Phase 1 of the plan in #9092; the issue stays open until
Phase 4 removal).
Refs: #9092
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]