Skip to content

Releases: apache/skywalking-python

v1.1.0

17 Jul 08:42
28602ae
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.0.1...v1.1.0

1.0.1

29 Apr 19:03
4717e1b
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.0.0...v1.0.1

1.0.0

23 Feb 02:39
6f745cd
Compare
Choose a tag to compare

PyPI Wheel: https://pypi.org/project/apache-skywalking/1.0.0/

DockerHub Image: https://hub.docker.com/r/apache/skywalking-python

What's Changed

  • Important Notes and Breaking Changes:

    • BREAKING: Python 3.6 is no longer supported and may not function properly, Python 3.11 support is added and tested.
    • BREAKING: A number of common configuration options and environment variables are renamed to follow the convention of Java agent,
      please check with the latest official documentation before upgrading. (#273, #282)
      https://skywalking.apache.org/docs/skywalking-python/v1.0.0/en/setup/configuration/
    • BREAKING: All agent core capabilities are now covered by test cases and enabled by default (Trace, Log, PVM runtime metrics, Profiler)
    • BREAKING: DockerHub Python agent images since v1.0.0 will no longer include the run part in ENTRYPOINT ["sw-python", "run"],
      user should prefix their command with [-d/--debug] run [-p/--prefork] <Command> for extra flexibility.
    • Packaged wheel now provides a extra [all] option to support all three report protocols
  • Feature:

    • Add support for Python 3.11 (#285)
    • Add MeterReportService (gRPC, Kafka reporter) (default:enabled) (#231, #236, #241, #243)
    • Add reporter for PVM runtime metrics (default:enabled) (#238, #247)
    • Add Greenlet profiler (#246)
    • Add test and support for Python Slim base images (#249)
    • Add support for the tags of Virtual Cache for Redis (#263)
    • Add a new configuration kafka_namespace to prefix the kafka topic names (#277)
    • Add log reporter support for loguru (#276)
    • Add experimental support for explicit os.fork(), restarts agent in forked process (#286)
    • Add experimental sw-python CLI sw-python run [-p] flag (-p/--prefork) to enable non-intrusive uWSGI and Gunicorn postfork support (#288)
  • Plugins:

    • Add aioredis, aiormq, amqp, asyncpg, aio-pika, kombu RMQ plugins (#230 Missing test coverage)
    • Add Confluent Kafka plugin (#233 Missing test coverage)
    • Add HBase plugin Python HappyBase model (#266)
    • Add FastAPI plugin websocket protocol support (#269)
    • Add Websockets (client) plugin (#269)
    • Add HTTPX plugin (#283)
  • Fixes:

    • Allow RabbitMQ BlockingChannel.basic_consume() to link with outgoing spans (#224)
    • Fix RabbitMQ basic_get bug (#225, #226)
    • Fix case when tornado socket name is None (#227)
    • Fix misspelled text "PostgreSLQ" -> "PostgreSQL" in Postgres-related plugins (#234)
    • Make sure span.component initialized as Unknown rather than 0 (#242)
    • Ignore websocket connections inside fastapi temporarily (#244, issue#9724)
    • Fix Kafka-python plugin SkyWalking self reporter ignore condition (#249)
    • Add primary endpoint in tracing context and endpoint info to log reporter (#261)
    • Enforce tag class type conversion (#262)
    • Fix sw_logging (log reporter) potentially throw exception leading to traceback confusion (#267)
    • Avoid reporting meaningless tracecontext with logs when there's no active span, UI will now show empty traceID (#272)
    • Fix exception handler in profile_context (#273)
    • Add namespace suffix to service name (#275)
    • Add periodical instance property report to prevent data loss (#279)
    • Fix sw_logging when Logger.disabled is true (#281)
  • Docs:

    • New documentation on how to test locally (#222)
    • New documentation on the newly added meter reporter feature (#240)
    • New documentation on the newly added greenlet profiler and the original threading profiler (#250)
    • Overhaul documentation on development setup and testing (#249)
    • Add tables to state currently supported features of Python agent. (#271)
    • New configuration documentation generator (#273)
  • Others:

    • Pin CI SkyWalking License Eye (#221)
    • Fix dead link due to the 'next' url change (#235)
    • Pin CI SkyWalking Infra-E2E (#251)
    • Sync OAP, SWCTL versions in E2E and fix test cases (#249)
    • Overhaul development flow with Poetry (#249)
    • Fix grpcio-tools generated message type (#253)
    • Switch plugin tests to use slim Python images (#268)
    • Add unit tests to sw_filters (#269)

New Contributors

Full Changelog: v0.8.0...v1.0.0

0.8.0

10 Jul 02:20
5c0b30f
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.7.0...v0.8.0

0.7.0

13 Sep 03:05
c847900
Compare
Choose a tag to compare
  • Feature:

    • Support collecting and reporting logs to backend (#147)
    • Support profiling Python method level performance (#127
    • Add a new sw-python CLI that enables agent non-intrusive integration (#156)
    • Add exponential reconnection backoff strategy when OAP is down (#157)
    • Support ignoring traces by http method (#143)
    • NoopSpan on queue full, propagation downstream (#141)
    • Support agent namespace. (#126)
    • Support secure connection option for GRPC and HTTP (#134)
  • Plugins:

    • Add Falcon Plugin (#146)
    • Update sw_pymongo.py to be compatible with cluster mode (#150)
    • Add Python celery plugin (#125)
    • Support tornado5+ and tornado6+ (#119)
  • Fixes:

    • Remove HTTP basic auth credentials from log, stacktrace, segment (#152)
    • Fix @trace decorator not work (#136)
    • Fix grpc disconnect, add SW_AGENT_MAX_BUFFER_SIZE to control buffer queue size (#138)
  • Others:

    • Chore: bump up requests version to avoid license issue (#142)
    • Fix module wrapt as normal install dependency (#123)
    • Explicit component inheritance (#132)
    • Provide dockerfile & images for easy integration in containerized scenarios (#159)

0.6.0

31 Mar 14:06
befbae2
Compare
Choose a tag to compare
  • Fixes:
    • Segment data loss when gRPC timing out. (#116)
    • sw_tornado plugin async handler status set correctly. (#115)
    • sw_pymysql error when connection haven't db. (#113)

0.5.0

31 Dec 00:53
3947a6c
Compare
Choose a tag to compare
  • New plugins

    • Pyramid Plugin (#102)
    • AioHttp Plugin (#101)
    • Sanic Plugin (#91)
  • API and enhancements

    • @trace decorator supports async functions
    • Supports async task context
    • Optimized path trace ignore
    • Moved exception check to Span.__exit__
    • Moved Method & Url tags before requests
  • Fixes:

    • BaseExceptions not recorded as errors
    • Allow pending data to send before exit
    • sw_flask general exceptions handled
    • Make skywalking logging Non-global
  • Chores and tests

    • Make tests really run on specified Python version
    • Deprecate 3.5 as it's EOL

0.4.0

24 Nov 05:54
5dbb9db
Compare
Choose a tag to compare
  • Feature: Support Kafka reporter protocol (#74)
  • BugFix: Move generated packages into skywalking namespace to avoid conflicts (#72)
  • BugFix: Agent cannot reconnect after server is down (#79)
  • Test: Mitigate unsafe yaml loading (#76)

0.3.0

28 Aug 15:36
a92eda3
Compare
Choose a tag to compare
  • New plugins

    • Urllib3 Plugin (#69)
    • Elasticsearch Plugin (#64)
    • PyMongo Plugin (#60)
    • Rabbitmq Plugin (#53)
    • Make plugin compatible with Django (#52)
  • API

    • Add process propagation (#67)
    • Add tags to decorators (#65)
    • Add Check version of packages when install plugins (#63)
    • Add thread propagation (#62)
    • Add trace ignore (#59)
    • Support snapshot context (#56)
    • Support correlation context (#55)
  • Chores and tests

    • Test: run multiple versions of supported libraries (#66)
    • Chore: add pull request template for plugin (#61)
    • Chore: add dev doc and reorganize the structure (#58)
    • Test: update test health check (#57)
    • Chore: add make goal to package release tar ball (#54)

0.2.0

28 Jul 15:59
v0.2.0
2056144
Compare
Choose a tag to compare
  • New plugins

    • Kafka Plugin (#50)
    • Tornado Plugin (#48)
    • Redis Plugin (#44)
    • Django Plugin (#37)
    • PyMsql Plugin (#35)
    • Flask plugin (#31)
  • API

    • Add ignore_suffix Config (#40)
    • Add missing log method and simplify test codes (#34)
    • Add content equality of SegmentRef (#30)
    • Validate carrier before using it (#29)
  • Chores and tests

    • Test: print the diff list when validation failed (#46)
    • Created venv builders for linux/windows and req flashers + use documentation (#38)