|
1 | 1 | ## Change Logs |
2 | 2 |
|
3 | | -### 1.2.0 |
4 | | - |
5 | | -- Feature: |
6 | | - - Drop support for 3.7 (#356) |
7 | | - - Support sampling rate setup. Provide `SW_SAMPLE_N_PER_3_SECS` environment variable to control it (#357) |
8 | | - - Add support for 3.13 (#366) |
9 | | - - Add isSizeLimited in SegmentObject (#367) |
10 | | - |
11 | | -- Plugins: |
12 | | - - Add gRPC plugin (#362) |
13 | | - |
14 | | -- Fixes: |
15 | | - - Fix: user/password replacement is not allowed for relative URLs (#349) |
16 | | - - Fix pulsar client does not support init arguments other than service_url (#351) |
17 | | - - Fix outdated make dev-fix rule in CodeStyle.md (#350) |
18 | | - - Fix TestClient for fastapi cause the req.client None error (#355) |
19 | | - - Fix agent start failed in async mode when profiling is enabled (#360) |
20 | | - |
21 | | -### 1.1.0 |
22 | | - |
23 | | -- Feature: |
24 | | - - Users now can specify the `SW_AGENT_ASYNCIO_ENHANCEMENT` environment variable to enable the performance enhancement with asyncio (#316) |
25 | | - - Support printing Trace IDs (TID) to collected application logs (#323) |
26 | | - |
27 | | -- Plugins: |
28 | | - - Add neo4j plugin.(#312) |
29 | | - - Add pulsar plugin.(#345) |
30 | | - |
31 | | -- Fixes: |
32 | | - - Fix unexpected 'No active span' IllegalStateError (#311) |
33 | | - - **Tentative**: Set upper bound <=5.9.5 for psutil package due to test failure. (#326) |
34 | | - - Remove `DeprecationWarning` from `pkg_resources` by replace it with `importlib_metadata` (#329) |
35 | | - - Fix unexpected 'decode' AttributeError when MySQLdb module is mapped by PyMySQL (#336) |
36 | | - - Fix SkyWalking agent failed to start if using kafka protocol with sasl_mechanism=PLAIN. (#343) |
37 | | - |
38 | | -### 1.0.1 |
39 | | - |
40 | | -- Feature: |
41 | | - - Add a new workflow to push docker images for arm64 and amd64 (#297) |
42 | | - |
43 | | -- Plugins: |
44 | | - - Optimize loguru reporter plugin.(#302) |
45 | | - |
46 | | -- Fixes: |
47 | | - - Fix sw8 loss when use aiohttp (#299, issue#10669) |
48 | | - - **Critical**: Fix a bug that leads to high cpu usage (#300, issue#10672) |
49 | | - |
50 | | -- Others: |
51 | | - - Use Kraft mode in E2E Kafka reporter tests (#303) |
52 | | - |
53 | | -### 1.0.0 |
54 | | - |
55 | | -- **Important Note and Breaking Changes:** |
56 | | - - **BREAKING**: Python 3.6 is no longer supported and may not function properly, Python 3.11 support is added and tested. |
57 | | - - **BREAKING**: A number of common configuration options and environment variables are renamed to follow the convention of Java agent, |
58 | | - please check with the latest official documentation before upgrading. (#273, #282) |
59 | | - https://skywalking.apache.org/docs/skywalking-python/v1.0.0/en/setup/configuration/ |
60 | | - - **BREAKING**: All agent core capabilities are now covered by test cases and enabled by default (Trace, Log, PVM runtime metrics, Profiler) |
61 | | - - **BREAKING**: DockerHub Python agent images since v1.0.0 will no longer include the `run` part in `ENTRYPOINT ["sw-python", "run"]`, |
62 | | - user should prefix their command with `[-d/--debug] run [-p/--prefork] <Command>` for extra flexibility. |
63 | | - - Packaged wheel now provides a extra [all] option to support all three report protocols |
64 | | - |
65 | | -- Feature: |
66 | | - - Add support for Python 3.11 (#285) |
67 | | - - Add MeterReportService (gRPC, Kafka reporter) (default:enabled) (#231, #236, #241, #243) |
68 | | - - Add reporter for PVM runtime metrics (default:enabled) (#238, #247) |
69 | | - - Add Greenlet profiler (#246) |
70 | | - - Add test and support for Python Slim base images (#249) |
71 | | - - Add support for the tags of Virtual Cache for Redis (#263) |
72 | | - - Add a new configuration `kafka_namespace` to prefix the kafka topic names (#277) |
73 | | - - Add log reporter support for loguru (#276) |
74 | | - - Add **experimental** support for explicit os.fork(), restarts agent in forked process (#286) |
75 | | - - Add **experimental** sw-python CLI `sw-python run [-p]` flag (-p/--prefork) to enable non-intrusive uWSGI and Gunicorn postfork support (#288) |
76 | | - |
77 | | -- Plugins: |
78 | | - - Add aioredis, aiormq, amqp, asyncpg, aio-pika, kombu RMQ plugins (#230 Missing test coverage) |
79 | | - - Add Confluent Kafka plugin (#233 Missing test coverage) |
80 | | - - Add HBase plugin Python HappyBase model (#266) |
81 | | - - Add FastAPI plugin websocket protocol support (#269) |
82 | | - - Add Websockets (client) plugin (#269) |
83 | | - - Add HTTPX plugin (#283) |
84 | | - |
85 | | -- Fixes: |
86 | | - - Allow RabbitMQ BlockingChannel.basic_consume() to link with outgoing spans (#224) |
87 | | - - Fix RabbitMQ basic_get bug (#225, #226) |
88 | | - - Fix case when tornado socket name is None (#227) |
89 | | - - Fix misspelled text "PostgreSLQ" -> "PostgreSQL" in Postgres-related plugins (#234) |
90 | | - - Make sure `span.component` initialized as Unknown rather than 0 (#242) |
91 | | - - Ignore websocket connections inside fastapi temporarily (#244, issue#9724) |
92 | | - - Fix Kafka-python plugin SkyWalking self reporter ignore condition (#249) |
93 | | - - Add primary endpoint in tracing context and endpoint info to log reporter (#261) |
94 | | - - Enforce tag class type conversion (#262) |
95 | | - - Fix sw_logging (log reporter) potentially throw exception leading to traceback confusion (#267) |
96 | | - - Avoid reporting meaningless tracecontext with logs when there's no active span, UI will now show empty traceID (#272) |
97 | | - - Fix exception handler in profile_context (#273) |
98 | | - - Add namespace suffix to service name (#275) |
99 | | - - Add periodical instance property report to prevent data loss (#279) |
100 | | - - Fix sw_logging when `Logger.disabled` is true (#281) |
101 | | - |
102 | | -- Docs: |
103 | | - - New documentation on how to test locally (#222) |
104 | | - - New documentation on the newly added meter reporter feature (#240) |
105 | | - - New documentation on the newly added greenlet profiler and the original threading profiler (#250) |
106 | | - - Overhaul documentation on development setup and testing (#249) |
107 | | - - Add tables to state currently supported features of Python agent. (#271) |
108 | | - - New configuration documentation generator (#273) |
109 | | - |
110 | | -- Others: |
111 | | - - Pin CI SkyWalking License Eye (#221) |
112 | | - - Fix dead link due to the 'next' url change (#235) |
113 | | - - Pin CI SkyWalking Infra-E2E (#251) |
114 | | - - Sync OAP, SWCTL versions in E2E and fix test cases (#249) |
115 | | - - Overhaul development flow with Poetry (#249) |
116 | | - - Fix grpcio-tools generated message type (#253) |
117 | | - - Switch plugin tests to use slim Python images (#268) |
118 | | - - Add unit tests to sw_filters (#269) |
119 | | - |
120 | | -### 0.8.0 |
121 | | -- Feature: |
122 | | - - Update mySQL plugin to support two different parameter keys. (#186) |
123 | | - - Add a `SW_AGENT_LOG_REPORTER_SAFE_MODE` option to control the HTTP basic auth credential filter (#200) |
124 | | - |
125 | | -- Plugins: |
126 | | - - Add Psycopg(3.x) support (#168) |
127 | | - - Add MySQL support (#178) |
128 | | - - Add FastAPI support (#181) |
129 | | - - Drop support for flask 1.x due to dependency issue in Jinja2 and EOL (#195) |
130 | | - - Add Bottle support (#214) |
131 | | - |
132 | | -- Fixes: |
133 | | - - Spans now correctly reference finished parents (#161) |
134 | | - - Remove potential password leak from Aiohttp outgoing url (#175) |
135 | | - - Handle error when REMOTE_PORT is missing in Flask (#176) |
136 | | - - Fix sw-rabbitmq TypeError when there are no headers (#182) |
137 | | - - Fix agent bootstrap traceback not shown in sw-python CLI (#183) |
138 | | - - Fix local log stack depth overridden by agent log formatter (#192) |
139 | | - - Fix typo that cause user sitecustomize.py not loaded (#193) |
140 | | - - Fix instance property wrongly shown as UNKNOWN in OAP (#194) |
141 | | - - Fix multiple components inconsistently named on SkyWalking UI (#199) |
142 | | - - Fix SW_AGENT_LOGGING_LEVEL not properly set during startup (#196) |
143 | | - - Unify the http tag name with other agents (#208) |
144 | | - - Remove namespace to instance properties and add pid property (#205) |
145 | | - - Fix the properties are not set correctly (#198) |
146 | | - - Improved ignore path regex (#210) |
147 | | - - Fix sw_psycopg2 register_type() (#211) |
148 | | - - Fix psycopg2 register_type() second arg default (#212) |
149 | | - - Enhance Traceback depth (#206) |
150 | | - - Set spans whose http code > 400 to error (#187) |
151 | | - |
152 | | -- Docs: |
153 | | - - Add a FAQ doc on `how to use with uwsgi` (#188) |
154 | | - |
155 | | -- Others: |
156 | | - - Refactor current Python agent docs to serve on SkyWalking official website (#162) |
157 | | - - Refactor SkyWalking Python to use the CLI for CI instead of legacy setup (#165) |
158 | | - - Add support for Python 3.10 (#167) |
159 | | - - Move flake configs all together (#169) |
160 | | - - Introduce another set of flake8 extensions (#174) |
161 | | - - Add E2E test coverage for trace and logging (#199) |
162 | | - - Now Log reporter `cause_exception_depth` traceback limit defaults to 10 |
163 | | - - Enable faster CI by categorical parallelism (#170) |
164 | | - |
165 | | -### 0.7.0 |
166 | | - |
167 | | -- Feature: |
168 | | - - Support collecting and reporting logs to backend (#147) |
169 | | - - Support profiling Python method level performance (#127 |
170 | | - - Add a new `sw-python` CLI that enables agent non-intrusive integration (#156) |
171 | | - - Add exponential reconnection backoff strategy when OAP is down (#157) |
172 | | - - Support ignoring traces by http method (#143) |
173 | | - - `NoopSpan` on queue full, propagation downstream (#141) |
174 | | - - Support agent namespace. (#126) |
175 | | - - Support secure connection option for GRPC and HTTP (#134) |
176 | | - |
177 | | -- Plugins: |
178 | | - - Add Falcon Plugin (#146) |
179 | | - - Update `sw_pymongo.py` to be compatible with cluster mode (#150) |
180 | | - - Add Python celery plugin (#125) |
181 | | - - Support tornado5+ and tornado6+ (#119) |
182 | | - |
183 | | -- Fixes: |
184 | | - - Remove HTTP basic auth credentials from log, stacktrace, segment (#152) |
185 | | - - Fix `@trace` decorator not work (#136) |
186 | | - - Fix grpc disconnect, add `SW_AGENT_MAX_BUFFER_SIZE` to control buffer queue size (#138) |
187 | | - |
188 | | -- Others: |
189 | | - - Chore: bump up `requests` version to avoid license issue (#142) |
190 | | - - Fix module wrapt as normal install dependency (#123) |
191 | | - - Explicit component inheritance (#132) |
192 | | - - Provide dockerfile & images for easy integration in containerized scenarios (#159) |
193 | | - |
194 | | -### 0.6.0 |
195 | | - |
196 | | -- Fixes: |
197 | | - - Segment data loss when gRPC timing out. (#116) |
198 | | - - `sw_tornado` plugin async handler status set correctly. (#115) |
199 | | - - `sw_pymysql` error when connection haven't db. (#113) |
200 | | - |
201 | | -### 0.5.0 |
202 | | - |
203 | | -- New plugins |
204 | | - - Pyramid Plugin (#102) |
205 | | - - AioHttp Plugin (#101) |
206 | | - - Sanic Plugin (#91) |
207 | | - |
208 | | -- API and enhancements |
209 | | - - `@trace` decorator supports `async` functions |
210 | | - - Supports async task context |
211 | | - - Optimized path trace ignore |
212 | | - - Moved exception check to `Span.__exit__` |
213 | | - - Moved Method & Url tags before requests |
214 | | - |
215 | | -- Fixes: |
216 | | - - `BaseExceptions` not recorded as errors |
217 | | - - Allow pending data to send before exit |
218 | | - - `sw_flask` general exceptions handled |
219 | | - - Make `skywalking` logging Non-global |
220 | | - |
221 | | -- Chores and tests |
222 | | - - Make tests really run on specified Python version |
223 | | - - Deprecate 3.5 as it's EOL |
224 | | - |
225 | | -### 0.4.0 |
226 | | - |
227 | | -- Feature: Support Kafka reporter protocol (#74) |
228 | | -- BugFix: Move generated packages into `skywalking` namespace to avoid conflicts (#72) |
229 | | -- BugFix: Agent cannot reconnect after server is down (#79) |
230 | | -- Test: Mitigate unsafe yaml loading (#76) |
231 | | - |
232 | | -### 0.3.0 |
233 | | - |
234 | | -- New plugins |
235 | | - - Urllib3 Plugin (#69) |
236 | | - - Elasticsearch Plugin (#64) |
237 | | - - PyMongo Plugin (#60) |
238 | | - - Rabbitmq Plugin (#53) |
239 | | - - Make plugin compatible with Django (#52) |
240 | | - |
241 | | -- API |
242 | | - - Add process propagation (#67) |
243 | | - - Add tags to decorators (#65) |
244 | | - - Add Check version of packages when install plugins (#63) |
245 | | - - Add thread propagation (#62) |
246 | | - - Add trace ignore (#59) |
247 | | - - Support snapshot context (#56) |
248 | | - - Support correlation context (#55) |
249 | | - |
250 | | -- Chores and tests |
251 | | - - Test: run multiple versions of supported libraries (#66) |
252 | | - - Chore: add pull request template for plugin (#61) |
253 | | - - Chore: add dev doc and reorganize the structure (#58) |
254 | | - - Test: update test health check (#57) |
255 | | - - Chore: add make goal to package release tar ball (#54) |
256 | | - |
257 | | - |
258 | | - |
259 | | -### 0.2.0 |
260 | | - |
261 | | -- New plugins |
262 | | - - Kafka Plugin (#50) |
263 | | - - Tornado Plugin (#48) |
264 | | - - Redis Plugin (#44) |
265 | | - - Django Plugin (#37) |
266 | | - - PyMsql Plugin (#35) |
267 | | - - Flask plugin (#31) |
268 | | - |
269 | | -- API |
270 | | - - Add ignore_suffix Config (#40) |
271 | | - - Add missing `log` method and simplify test codes (#34) |
272 | | - - Add content equality of SegmentRef (#30) |
273 | | - - Validate carrier before using it (#29) |
274 | | - |
275 | | -- Chores and tests |
276 | | - - Test: print the diff list when validation failed (#46) |
277 | | - - Created venv builders for linux/windows and req flashers + use documentation (#38) |
278 | | - |
279 | | -### 0.1.0 |
280 | | - |
281 | | -- API: agent core APIs, check [the APIs and the examples](https://github.com/apache/skywalking-python/blob/3892cab9d5d2c03107cfb2b1c59a6c77c5c3cc35/README.md#api) |
282 | | -- Plugin: built-in libraries `http`, `urllib.request` and third-party library `requests` are supported. |
283 | | -- Test: agent test framework is setup, and the corresponding tests of aforementioned plugins are also added. |
| 3 | +Head to the [release page](https://github.com/apache/skywalking-python/releases) for the detailed changes. |
0 commit comments