Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: fhgffy/client_python
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: prometheus/client_python
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 9 commits
  • 15 files changed
  • 10 contributors

Commits on Oct 14, 2026

  1. docs: fix duplicated word in exemplars guide (prometheus#1212)

    Signed-off-by: rohit singh <145866377+Rohit-Singh-01@users.noreply.github.com>
    Rohit-Singh-01 authored Oct 14, 2026
    Configuration menu
    Copy the full SHA
    bd1b31d View commit details
    Browse the repository at this point in the history
  2. Fall back to the text format for a non-numeric Accept version (promet…

    …heus#1213)
    
    choose_encoder compared the version parameter of the Accept header as a
    tuple of mixed ints and strings, so a version such as 1.0.0-rc.1, a
    quoted "1.0.0" or latest raised TypeError and the scrape answered 500.
    Treat such a version as unsupported, which falls through to the next
    media range and finally to text/plain version 0.0.4.
    
    Signed-off-by: Christopher Krah <github@christopher-krah.com>
    chrikrah authored Oct 14, 2026
    Configuration menu
    Copy the full SHA
    2aac0e0 View commit details
    Browse the repository at this point in the history
  3. Avoid parent lock for existing metric labelsets (prometheus#1216)

    * Avoid parent lock for existing metric labelsets
    
    Signed-off-by: skulitom <artemskulimovskiy@gmail.com>
    
    * Comment the lock-free label lookup
    
    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
    Signed-off-by: skulitom <artemskulimovskiy@gmail.com>
    
    ---------
    
    Signed-off-by: skulitom <artemskulimovskiy@gmail.com>
    Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
    skulitom and claude authored Oct 14, 2026
    Configuration menu
    Copy the full SHA
    dc3fc54 View commit details
    Browse the repository at this point in the history
  4. Fix gzip content encoding quality negotiation (prometheus#1220)

    Honor q=0 when clients explicitly reject gzip encoding.
    Add WSGI regression cases for gzip quality parameters.
    
    Signed-off-by: mhatipog <metin.hatipogullari@gmail.com>
    mhatipog authored Oct 14, 2026
    Configuration menu
    Copy the full SHA
    acb7b14 View commit details
    Browse the repository at this point in the history
  5. Make mostrecent gauge tests independent of clock resolution (promethe…

    …us#1219)
    
    Signed-off-by: nischita44 <nischitasadananda@gmail.com>
    nischita44 authored Oct 14, 2026
    Configuration menu
    Copy the full SHA
    0eef1a2 View commit details
    Browse the repository at this point in the history
  6. openmetrics: escape sample metric names consistently with HELP/TYPE (p…

    …rometheus#1204)
    
    In the OpenMetrics exposition, the # HELP/# TYPE/# UNIT lines escape the
    metric name with escape_metric_name() (which treats ':' as a valid metric
    name character), but the sample line escaped it with the label-name rune
    set, turning ':' into '_'. A metric such as 'sglang:token_usage' was then
    emitted as 'sglang:token_usage' in the metadata lines but 'sglang_token_usage'
    in the sample line, producing output that strict OpenMetrics parsers reject
    as an orphaned metadata set plus an untyped metric.
    
    Use escape_metric_name() for the sample name too, so the same helper drives
    HELP, TYPE, UNIT and the sample line for every escaping scheme.
    
    Fixes prometheus#1177
    
    Signed-off-by: Md. Amdadul Bari Imad <amdadulbari@gmail.com>
    amdadulbari authored Oct 14, 2026
    Configuration menu
    Copy the full SHA
    ded318a View commit details
    Browse the repository at this point in the history

Commits on Oct 15, 2026

  1. Skip mark_process_dead when the multiprocess path is unset (prometheu…

    …s#1205)
    
    django_q and similar callers invoke this even when PROMETHEUS_MULTIPROC_DIR is missing. Return instead of passing None into os.path.join.
    
    Signed-off-by: Hashim1999164 <64767361+Hashim1999164@users.noreply.github.com>
    Hashim1999164 authored Oct 15, 2026
    Configuration menu
    Copy the full SHA
    6c5cb2e View commit details
    Browse the repository at this point in the history
  2. Allow make_asgi_app to be added as a Starlette/FastAPI route (prometh…

    …eus#1218)
    
    * Allow make_asgi_app to be added as a Starlette/FastAPI route
    
    make_asgi_app() returned a plain function. Starlette (and therefore
    FastAPI) treats a plain function passed to add_route() as a
    request -> response endpoint rather than an ASGI app, so
    app.add_route("/metrics", make_asgi_app()) failed with a TypeError.
    The only working option was app.mount("/metrics", ...), which is a
    path prefix: metrics are served at /metrics/ and requests for /metrics
    get a 307 redirect.
    
    Return a callable ASGI application object instead. Starlette passes
    non-function callables through to Route as raw ASGI apps, so
    add_route("/metrics", make_asgi_app()) now serves /metrics directly.
    The returned object is called with the same (scope, receive, send)
    signature, so mounting it or using it as a standalone ASGI app keeps
    working.
    
    Update the FastAPI docs to use add_route and explain the mount
    behaviour.
    
    Fixes prometheus#1016
    
    Signed-off-by: Bhaskar Gurram <gurrambhaskar.ai@gmail.com>
    
    * docs: note that add_route needs a release newer than 0.26.0
    
    Signed-off-by: Bhaskar Gurram <gurrambhaskar.ai@gmail.com>
    
    * tox: install starlette in the py3.9 and pypy3.9 envs
    
    Runs the Starlette add_route and mount tests in CI instead of skipping
    them, alongside the other optional framework dependencies.
    
    Signed-off-by: Bhaskar Gurram <gurrambhaskar.ai@gmail.com>
    
    ---------
    
    Signed-off-by: Bhaskar Gurram <gurrambhaskar.ai@gmail.com>
    bhaskargurram-ai authored Oct 15, 2026
    Configuration menu
    Copy the full SHA
    512a8d4 View commit details
    Browse the repository at this point in the history
  3. Reject duplicate label names before metric registration (prometheus#1217

    )
    
    * Reject duplicate label names before metric registration
    
    Signed-off-by: fhgffy <102001626+fhgffy@users.noreply.github.com>
    
    * Improve duplicate label name diagnostics
    
    Remove date prefixes and include each duplicated label name in the validation error. Cover multiple duplicates, repeated names and Unicode labels.
    
    Signed-off-by: fhgffy <102001626+fhgffy@users.noreply.github.com>
    
    ---------
    
    Signed-off-by: fhgffy <102001626+fhgffy@users.noreply.github.com>
    fhgffy authored Oct 15, 2026
    Configuration menu
    Copy the full SHA
    ff9a2d3 View commit details
    Browse the repository at this point in the history
Loading