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]

Reply via email to