Skip to content

Conversation

@aws-application-signals-bot
Copy link
Collaborator

This PR prepares the main branch for the next development cycle by updating the version to 0.14.0.dev0 and updating the image version to be scanned to the latest released.

This PR should only be merge when release for version v0.14.0 is success.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

This PR updates the version to 0.14.0.

By submitting this pull request, I confirm that you can use, modify,
copy, and redistribute this contribution, under the terms of your
choice.

---------

Co-authored-by: github-actions <[email protected]>
… (#542)

*Issue #, if available:*

When a Starlette user registers an ASGI app via the route registration
method, the ADOT Python SDK’s Starlette instrumentation mistakenly
treats it as a regular synchronous function. As a result, the patched
ASGI app cannot be properly registered in Starlette, preventing
Starlette from starting the app. This leads clients to receive 405
Method Not Allowed errors.

Since FastMCP registers ASGI apps with Starlette, this bug causes MPC
services built with FastMCP to fail to start.

*Description of changes:*
When Starlette’s route registration method receives a callable that is
neither a function nor a method, the ADOT Python SDK leaves it
unmodified, allowing the ASGI app to be registered and started
correctly.

By submitting this pull request, I confirm that you can use, modify,
copy, and redistribute this contribution, under the terms of your
choice.

*Issue #, if available:*

*Description of changes:*


By submitting this pull request, I confirm that you can use, modify,
copy, and redistribute this contribution, under the terms of your
choice.
*Description of changes:*

When user create service by Django REST Framework
```
# Django REST Framework ViewSets
class TestViewSet(viewsets.ViewSet):
    """Test ViewSet for DRF routing"""
    
    def list(self, request):
        """GET /test/"""
        requests.get("https://aws.amazon.com/")
        return Response({
            "message": "Test ViewSet list action",
            "method": "GET",
            "action": "list"
        })
```

Trace data will have code attributes:
```
{
    "name": "GET ^api/test/$",
    "kind": "SpanKind.SERVER",
    "attributes": {
        "http.method": "GET",
        "http.url": "http://127.0.0.1:8080/api/test/",
        "http.route": "^api/test/$",
        "code.function.name": "views.TestViewSet.list",
        "code.file.path": "/Volumes/workplace/extension/aws-otel-python-instrumentation/samples/django/views.py",
        "code.line.number": 97,
        "http.status_code": 200
    },
```

By submitting this pull request, I confirm that you can use, modify,
copy, and redistribute this contribution, under the terms of your
choice.

*Issue #, if available:*

*Description of changes:*


By submitting this pull request, I confirm that you can use, modify,
copy, and redistribute this contribution, under the terms of your
choice.
@aws-application-signals-bot aws-application-signals-bot requested a review from a team as a code owner December 9, 2025 00:50
@liustve liustve merged commit 972dec9 into main Dec 9, 2025
16 checks passed
@liustve liustve deleted the prepare-main-for-next-dev-cycle-0.14.0 branch December 9, 2025 01:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants