Repository navigation
Conversation
Prometheus has requested `text/plain;version=1.0.0` (the PrometheusText1.0.0 scrape protocol) since 3.0, and prometheus/common now negotiates, encodes and decodes it, but the exposition formats page only described version 0.0.4. Add a Versions section describing both versions, and update the Basic info table. Version 1.0.0 is the same format with quoted UTF-8 metric and label names plus the `escaping` parameter. Note that Prometheus ignores the version when parsing, so it also ingests UTF-8 names sent as 0.0.4, which is not part of that format. Co-Authored-By: Claude <noreply@anthropic.com> Signed-off-by: György Krajcsovits <gyorgy.krajcsovits@grafana.com>
SuperQ
approved these changes
Nov 12, 2026
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.
TL;DR; better late than never (tm). Turns out we never documented the 1.0.0 text format, even though it's been there since 3.0.0 and selectable in negotiated formats. Direct link to preview: https://deploy-preview-3183--prometheus-docs.netlify.app/docs/instrumenting/exposition_formats/
Summary
Prometheus has requested
text/plain;version=1.0.0(thePrometheusText1.0.0scrape protocol) since 3.0, and prometheus/common now negotiates, encodes and decodes it, but the exposition formats page only described version0.0.4.0.0.4: the original version, legacy names only. A missingversionis treated as0.0.4.1.0.0: the same format with quoted UTF-8 metric and label names, plus theescapingparameter. Links to the escaping schemes and content negotiation pages.1.0.0, and that they must otherwise escape names with the requested scheme.versionparameter, so it also ingests quoted UTF-8 names sent as0.0.4. That is not part of the0.0.4format and other consumers may reject it.Content-Type" and "Supported advanced features" now cover both versions.versionfalls back to the most recent text format version" with "is treated as0.0.4", since "most recent" is now ambiguous and prometheus/common treats a missing version as0.0.4.Context
PrometheusText1.0.0.config/config.go,scrape/scrape.goandmodel/textparseatv0.300.0andmainof prometheus/prometheus, andexpfmtin prometheus/commonmain.Test plan