Repository navigation
chore: release 0.19.0 - #191
Merged
Merged
Conversation
ModuleFunction.aliases lists the module-level names bound to a function by assigning one name to another, transitively and in source order, computed with the walk the entry-point matching uses so both agree. An integration declaring a handler by the name a module binds can then report a name the engine resolves to no function. The cache encodes the aliases and its format becomes 11.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release 0.19.0: distinct modules for files sharing a Python module name (#182), project template filter overrides (#183), module-level
TEMPLATESonly (#184),{{ block.super }}(#185), declared entry points through module-level aliases (#188), andModuleFunction.aliasesfor project plugins (#192). The Enterprise plugins pin it next; their serverless-declarations integration builds on the alias resolution and on that field.Analysis
ambiguous-modulenote and is covered asambiguous, which keeps a VEX statementunder_investigation.Precision
TEMPLATESassignment counts as Django settings for the request context processor.{{ block.super }}keeps the parent block's filters in the render context flow.Plugins
EntryPointnaming a project function or class applies through a module-level alias of it (main = actual); a model naming a method wins over one naming its class.ModuleFunction.aliasesgives a project plugin the module-level names bound to a function, so an integration declaring a handler by the name a module binds can report a name the engine resolves to no function. The cache format becomes 11.Changes
CHANGELOG.md:Unreleasedbecomes0.19.0 (2026-09-29).pyproject.toml,src/coretrace_python/__init__.py: 0.19.0, checked equal.docs/usage.md: the three version examples.tests/test_release.py:0.18.0becomes0.19.0on line 33 only, as authorized once fix: take only module-level TEMPLATES as Django settings #186 to fix: keep files sharing a Python module name as distinct modules #190 were merged; the branch carries feat: expose a function's module-level aliases to project plugins #192 so the release follows it directly.Verification
tests/test_release.pyandtests/test_docs.py: 7 passed. Full suite under Python 3.14.5, regression corpus excluded: 1533 passed, 2 skipped, 19 deselected in 39.98s.ruff checkpasses. The regression corpus ran green onmainat ea13376, the code this release ships.