Repository navigation
Say every query value is shared by default, no cookie but 51D_ ones, and that records name each package's version - #321
Merged
Conversation
The rules follow the usage sharing element specification. The element accepts no Evidence and reads the web request each web integration adds as server.http-request, never shares the Cookie header, compares keys without regard to letter case and always shares the Resource Key and License Key. A new section says how an application that builds its own Evidence hands over the request in each language.
…and that records name each package's version Follows the usage sharing specification as changed on 14 November. The Evidence key filter page also stops saying the never-shared keys and session tracking are .NET or Java only.
…ults # Conflicts: # src/pipelineapi/features/usagesharing.md
The usage sharing specification shares a session cookie whose name starts 51D_, as it does any such cookie.
Contributor
jwrosewell
marked this pull request as ready for review
November 15, 2026 01:31
jwrosewell
added a commit
that referenced
this pull request
Nov 15, 2026
…o package names every package's version yet (#323) [#321](#321), merged into `rc` on 15 November, describes the usage sharing rules of the specification after [specifications#155](51Degrees/specifications#155) and [#156](51Degrees/specifications#156) as if every language followed them. At 02:06 UTC on 15 November that was true of two languages for one change, from a search of each language repository's pull requests.
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.
Built on #316
#316, which rewrote the usage sharing page's Evidence shared section, merged into
rcon 15 November.rcis merged into this branch at b1f5eec, so the diff holds only this change.Problem
The usage sharing specification changed on 14 November 2026, and two pages describe the rules as they were.
src/pipelineapi/features/usagesharing.md, as Say what usage sharing shares and how to hand it the web request #316 leaves it) says query string and form parameters are shared only when their names start51D_or are on the allow list, and that the51D_rule for cookies applies only while all Evidence is not shared. It says nothing of the package versions each record now carries.src/pipelineapi/concepts/data/evidencekeyfilter.mdlines 41 to 57 onrc) lists "Any HTTP header" where theCookieheader is never shared, says only .NET refusesid.email,id.salt,request-queryandrequest-path, says only .NET and Java have session tracking, and gives the query string allow list as the only way query values are shared.What the specification says
All at
usage-sharing-element.mdat b3b2c0dd, the specification'srcholding specifications#155 and #156.Lines 65 to 69:
Lines 80 and 81:
Lines 208 to 216:
What changed
usagesharing.md. A cookie whose name does not start51D_joins the list of what is never shared. The query rule says every query string and form parameter is shared, and only the51D_ones and the allow list once sharing all query string parameters is turned off. The options sentence says that option is on by default and that sharing all Evidence still shares no cookie but the51D_ones. A short new section, "What else each record carries", says each record names the Flow Elements, the language and its version, the platform, the server's IP address and every 51Degrees package in use with its version, as the message format at lines 167 to 227 has them.evidencekeyfilter.md, the share usage filter. Any HTTP header other thanCookie, any query string or form parameter, and the session cookie line moved to the options. What is never shared now applies to every language, with the cookie rule added and a link to the usage sharing page for the full list. The options are the block list, turning off sharing every query parameter with the allow list, session tracking, and sharing all Evidence.The session tracking item rests on each language's
rc. Every language with usage sharing has it, .NET (ShareUsageBuilderBase.csline 120, the ASP.NET session cookie), Java (ShareUsageBuilderBase.javaline 57,JSESSIONID), Node.js (shareUsage.jsline 155), Python (share_usage.pyline 112), Go (builder.golines 184 to 200, no default name) and Rust (configuration.rslines 283 to 284 and 312 to 313, no default name). PHP has no usage sharing element.When this merges
Only once every language with usage sharing has both changes on
main. This is where each language's change stood at 01:28 UTC on 15 November. A cell saying none means a search of that repository's pull requests found none then.51D_onesrcat 01:02rcat 01:03If a language's change misses the Monday release, this page needs a sentence for that language before it merges, and I will add it.
What remains
The table above, kept up to date as the language changes merge.
Build
Checks on the head, 3ce5f6e, all green.
usagesharing.mdorevidencekeyfilter.md, and the@ref PipelineApi_Features_UsageSharingthe filter page adds resolved. The one warning on a page undersrc/pipelineapiis the existing one onexamples/customelement/cloud.mdline 130, which the run for Add a page for the derived property element #315 had too..utm-lint.json({ "mode": "forbid" }) requires.