Skip to content

Commit cece3d5

Browse files
wu-shengclaude
andcommitted
fix: use dynamic .* wildcard versions in support_matrix
Use wildcard versions (e.g., '4.*', '3.11.*') so pip always resolves to the latest patch. This keeps CI testing fresh and Plugins.md doc meaningful — showing version ranges instead of stale pins. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 6d69bd5 commit cece3d5

7 files changed

Lines changed: 18 additions & 18 deletions

File tree

.claude/skills/new-plugin/SKILL.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,8 @@ from skywalking.trace.tags import TagHttpMethod, TagHttpURL, TagHttpStatusCode
3434
link_vector = ['<documentation URL>']
3535
support_matrix = {
3636
'<pip-package-name>': {
37-
'>=3.13': ['<version>'], # pin exact latest patch version (e.g., '4.2.0')
38-
'>=3.10': ['<older_version>', '<version>'],
37+
'>=3.13': ['<major>.*'], # use .* wildcard for latest patch (e.g., '4.*')
38+
'>=3.10': ['<older_minor>.*', '<major>.*'],
3939
}
4040
}
4141
note = """"""

.claude/skills/plugin-test/SKILL.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -137,21 +137,21 @@ Note: E2E tests require the `e2e` CLI tool from SkyWalking infra-e2e. They are t
137137

138138
## Version Format in support_matrix
139139

140-
Pin **exact versions** (latest patch of each minor) for deterministic tests:
140+
Use `.*` wildcard to always test the **latest patch** of each minor version:
141141
```python
142142
support_matrix = {
143143
'falcon': {
144-
'>=3.13': ['4.2.0'],
145-
'>=3.10': ['3.1.3', '4.2.0'],
144+
'>=3.13': ['4.*'], # latest falcon 4.x
145+
'>=3.10': ['3.1.*', '4.*'],
146146
}
147147
}
148148
```
149149

150-
- `'4.2.0'` → pip installs `falcon==4.2.0`deterministic, same result every CI run
151-
- `'4.2.*'` → pip installs `falcon==4.2.*`dynamic, could change between runs (avoid)
152-
- `'4.2'` → pip installs `falcon==4.2`resolves to 4.2.0 only (misses patches)
150+
- `'4.*'` → pip installs `falcon==4.*`latest 4.x (e.g., 4.2.0 today, 4.3.0 when released)
151+
- `'4.2.*'` → pip installs `falcon==4.2.*`latest 4.2.x patch
152+
- `'4.2'` → pip installs `falcon==4.2`always 4.2.0 (misses patches)
153153

154-
**Convention**: pin the latest patch version available at the time of writing (e.g., `'3.11.18'`, `'2.9.11'`, `'24.12.0'`). Update when newer patches are released.
154+
**Convention**: use `major.*` (e.g., `'4.*'`) when the plugin supports the whole major version, or `minor.*` (e.g., `'3.11.*'`) when only specific minors are tested. This keeps CI testing fresh and the Plugins.md doc meaningful.
155155

156156
## Step 4: Interpret Results
157157

docs/en/setup/Plugins.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ or a limitation of SkyWalking auto-instrumentation (welcome to contribute!)
1313
### Plugin Support Table
1414
| Library | Python Version - Lib Version | Plugin Name |
1515
| :--- | :--- | :--- |
16-
| [aiohttp](https://docs.aiohttp.org) | Python >=3.10 - ['3.9.5', '3.11.18']; | `sw_aiohttp` |
16+
| [aiohttp](https://docs.aiohttp.org) | Python >=3.10 - ['3.9.*', '3.11.*']; | `sw_aiohttp` |
1717
| [aioredis](https://aioredis.readthedocs.io/) | Python >=3.7 - ['2.0.*']; | `sw_aioredis` |
1818
| [aiormq](https://pypi.org/project/aiormq/) | Python >=3.7 - ['6.3', '6.4']; | `sw_aiormq` |
1919
| [amqp](https://pypi.org/project/amqp/) | Python >=3.7 - ['2.6.1']; | `sw_amqp` |
@@ -24,7 +24,7 @@ or a limitation of SkyWalking auto-instrumentation (welcome to contribute!)
2424
| [django](https://www.djangoproject.com/) | Python >=3.13 - ['5.1']; Python >=3.10 - ['3.2']; | `sw_django` |
2525
| [elasticsearch](https://github.com/elastic/elasticsearch-py) | Python >=3.7 - ['7.13', '7.14', '7.15']; | `sw_elasticsearch` |
2626
| [hug](https://falcon.readthedocs.io/en/stable/) | Python >=3.11 - NOT SUPPORTED YET; Python >=3.10 - ['2.5', '2.6']; Python >=3.7 - ['2.4.1', '2.5', '2.6']; | `sw_falcon` |
27-
| [falcon](https://falcon.readthedocs.io/en/stable/) | Python >=3.13 - ['4.2.0']; Python >=3.10 - ['3.1.3', '4.2.0']; | `sw_falcon_v3` |
27+
| [falcon](https://falcon.readthedocs.io/en/stable/) | Python >=3.13 - ['4.*']; Python >=3.10 - ['3.1.*', '4.*']; | `sw_falcon_v3` |
2828
| [fastapi](https://fastapi.tiangolo.com) | Python >=3.7 - ['0.89.*', '0.88.*']; | `sw_fastapi` |
2929
| [flask](https://flask.palletsprojects.com) | Python >=3.14 - ['3.0']; Python >=3.10 - ['2.0']; | `sw_flask` |
3030
| [grpcio](https://grpc.io/docs/languages/python) | Python >=3.8 - ['1.*']; | `sw_grpc` |
@@ -37,7 +37,7 @@ or a limitation of SkyWalking auto-instrumentation (welcome to contribute!)
3737
| [mysqlclient](https://mysqlclient.readthedocs.io/) | Python >=3.7 - ['2.1.*']; | `sw_mysqlclient` |
3838
| [neo4j](https://neo4j.com/docs/python-manual/5/) | Python >=3.7 - ['5.*']; | `sw_neo4j` |
3939
| [psycopg[binary]](https://www.psycopg.org/) | Python >=3.13 - ['3.2.*']; Python >=3.11 - ['3.1.*']; Python >=3.10 - ['3.0.18', '3.1.*']; | `sw_psycopg` |
40-
| [psycopg2-binary](https://www.psycopg.org/) | Python >=3.10 - ['2.9.11']; | `sw_psycopg2` |
40+
| [psycopg2-binary](https://www.psycopg.org/) | Python >=3.10 - ['2.9.*']; | `sw_psycopg2` |
4141
| [pulsar-client](https://github.com/apache/pulsar-client-python) | Python >=3.12 - ['3.9.0']; Python >=3.10 - ['3.3.0']; | `sw_pulsar` |
4242
| [pymongo](https://pymongo.readthedocs.io) | Python >=3.7 - ['3.11.*']; | `sw_pymongo` |
4343
| [pymysql](https://pymysql.readthedocs.io/en/latest/) | Python >=3.7 - ['1.0']; | `sw_pymysql` |
@@ -46,7 +46,7 @@ or a limitation of SkyWalking auto-instrumentation (welcome to contribute!)
4646
| [redis](https://github.com/andymccurdy/redis-py/) | Python >=3.7 - ['3.5.*', '4.5.1']; | `sw_redis` |
4747
| [requests](https://requests.readthedocs.io/en/master/) | Python >=3.7 - ['2.26', '2.25']; | `sw_requests` |
4848
| [sanic](https://sanic.readthedocs.io/en/latest) | Python >=3.10 - NOT SUPPORTED YET; Python >=3.7 - ['20.12']; | `sw_sanic` |
49-
| [sanic](https://sanic.readthedocs.io/en/latest) | Python >=3.10 - ['23.12.2', '24.12.0']; | `sw_sanic_v2` |
49+
| [sanic](https://sanic.readthedocs.io/en/latest) | Python >=3.10 - ['23.12.*', '24.12.*']; | `sw_sanic_v2` |
5050
| [tornado](https://www.tornadoweb.org) | Python >=3.14 - ['6.4']; Python >=3.10 - ['6.0', '6.1']; | `sw_tornado` |
5151
| [urllib3](https://urllib3.readthedocs.io/en/latest/) | Python >=3.12 - NOT SUPPORTED YET; Python >=3.10 - ['1.26', '1.25']; | `sw_urllib3` |
5252
| [urllib3](https://urllib3.readthedocs.io/en/latest/) | Python >=3.12 - ['2.3', '2.0']; | `sw_urllib3_v2` |

skywalking/plugins/sw_aiohttp.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
link_vector = ['https://docs.aiohttp.org']
2525
support_matrix = {
2626
'aiohttp': {
27-
'>=3.10': ['3.9.5', '3.11.18'],
27+
'>=3.10': ['3.9.*', '3.11.*'],
2828
}
2929
}
3030
note = """"""

skywalking/plugins/sw_falcon_v3.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@
2424
link_vector = ['https://falcon.readthedocs.io/en/stable/']
2525
support_matrix = {
2626
'falcon': {
27-
'>=3.13': ['4.2.0'],
28-
'>=3.10': ['3.1.3', '4.2.0'],
27+
'>=3.13': ['4.*'],
28+
'>=3.10': ['3.1.*', '4.*'],
2929
}
3030
}
3131
note = """Falcon 3.x/4.x plugin. For legacy hug-based instrumentation, see sw_falcon."""

skywalking/plugins/sw_psycopg2.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
link_vector = ['https://www.psycopg.org/']
2323
support_matrix = {
2424
'psycopg2-binary': {
25-
'>=3.10': ['2.9.11'],
25+
'>=3.10': ['2.9.*'],
2626
}
2727
}
2828
note = """"""

skywalking/plugins/sw_sanic_v2.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
link_vector = ['https://sanic.readthedocs.io/en/latest']
2929
support_matrix = {
3030
'sanic': {
31-
'>=3.10': ['23.12.2', '24.12.0'],
31+
'>=3.10': ['23.12.*', '24.12.*'],
3232
}
3333
}
3434
note = """Sanic 21.9+ plugin using signal listeners.

0 commit comments

Comments
 (0)