Skip to content

Release candidate - #301

Merged
jwrosewell merged 16 commits into
mainfrom
rc
Nov 6, 2026
Merged

jwrosewell merged 16 commits into
mainfrom
rc

Conversation

@jwrosewell

@jwrosewell jwrosewell commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

Releases what has collected on rc since #294:

  • #298 Plainer wording, small fixes and sentence case headings
  • #299 Fail a preview publish whose push is refused, and skip closed pull requests
  • #296 Send header search questions to the 51degrees.com assistant
  • #295 Link the example snippets to the contact page for the Enterprise file
  • #267 Say that a set of results is used by one thread at a time
  • #300 Correct statements that no longer match the code, the service or the plans
  • #290 data/ Apple Device Tables Update V1.1011132
  • #289 CONT: Fixed typos on both TAC lookup and Native Key lookup pages - ve…

The Build workflow deploys the site from main, at 04:00 UTC or when it is started by hand.

The last release into main was #294, merged at 07:09 UTC on 5 November 2026.

jwrosewell and others added 16 commits November 3, 2026 21:05
…285)

* Grab the Go IP Intelligence examples by their names in the Go repository

* Grab the Go IP Intelligence examples by their names in the Go repository

* Grab the Go IP Intelligence examples by their names in the Go repository

* Grab the Go IP Intelligence examples by their names in the Go repository
…ation can be from the device (#293)

Accurate means a location is correct. A location from an IP address can be
correct and still only narrow the device down to an area, so the pages say
imprecision and precise where they describe that. The property names, such as
AccuracyRadiusMin, are unchanged.
* Plainer wording and small fixes across the documentation

434 changes on 137 pages from a full copy review of the documentation:
plain statements in place of marketing phrases, US spelling, consistent
names, and small grammar and punctuation fixes. No link target, anchor or
code example changes. A few sentences that carried inline code or a link
are shortened or removed, for example a note on the false positive control
page about a change that is not planned. Accuracy questions and changes
that need a decision are not included.

* Headings in sentence case

267 headings change to sentence case, as the 51Degrees writing guide asks.
Product and feature names keep their capitals, for example Device
Detection, IP Intelligence, Reverse Geocoding, Human Confidence and
Pipeline API. Documenting.md now asks for sentence case in place of Title
Case. Only letter case changes, so anchors and links are unaffected.
…quests (#299)

The preview repository's main branch has refused force pushes since the
morning of 4 November, so no preview has been published since. The
fallback after a failed push could never succeed, because the rebase had no
committer identity, and because it sat inside an && list the step still
passed and posted a link to a preview that was not there. Both workflows
now push once and fail when the push is refused. The shared concurrency
group already runs one push at a time.

Cleanup now passes when a pull request has no preview, as happens when it
closes before its preview is published, and publishing skips a pull request
that has already closed, so no preview is left behind with nothing to
remove it.
The search box at the top right of every documentation page called
/api/search/, which no longer exists, and Enter went to /SearchResults/<q>,
which now redirects to /search-results and drops the question.

The box now starts hidden, and search51.js shows it only when
GET /api/v1/sid/status answers ready: true. On pages that carry the
51degrees.com analytics script it asks once that script announces the
cloud scripts have run, or after 12 seconds. A failed request, a response
that is not OK, or no answer within 4 seconds leaves the box hidden, which
is what happens on GitHub Pages where there is no assistant. Enter with at
least 3 characters, once trimmed, stores the question under
sidTypedQuestion in sessionStorage and opens
/search-results?query=<question>.

In the docs header the box grows into free space up to 30rem (480px), so a
whole question fits. While hidden it keeps its space with
visibility: hidden, so the header does not move when the box appears.

The type-ahead results list and its markup go with the endpoint they
called. The placeholder and label read "Ask a question", as the
51degrees.com assistant's own boxes do. HEADER-NOTES.md explains the
hidden box.
…#295)

The snippet every on-premise example page includes sent readers to the pricing
page for the more capable data files. The Enterprise data file comes by
contacting 51Degrees, so the snippet now says it has every property and links
to the contact page.

The Go IP Intelligence examples include example-require-datafile-ipi.txt,
which did not exist, so their pages said nothing about the data file. The new
snippet says how to download the free Lite file, which properties it gives,
and where to ask for the Enterprise file.
The concurrent processing page and the version 4 upgrade page show C and
C++ programs sharing a resource manager or an engine across threads, and
said nothing about the results. Reading a value writes into the results,
so each thread needs its own, which both pages now say.
…plans (#300)

* Correct statements that no longer match the code, the service or the plans

The plain wording pass held back 250 statements as questions about whether
they were still true. Each was checked against the code in the language
repositories, the cloud service's live answers, the pricing page, the
Property Dictionary or the relevant specification. 210 needed correcting,
on 86 pages. The other 40 are either right as they are or left for a
decision.

* Correct further statements found while checking the held ones

Checking the held statements turned up 28 more faults on 31 pages, each
confirmed against the code, the cloud service's live answers, the data
files, the package registries or the relevant specification before it was
changed.

* Describe exactly how the random and hashed email match keys are made

The hashed email key is SHA-256 of one byte holding the salt length, the
salt, then the trimmed and lowercased email, with a salt of 2 to 64 bytes
in URL-safe base64. A worked example was checked against the live
service. The random key is a version 4 UUID in .NET byte order, new on
every call. Each 51Did type now has its own stability rule.
Co-authored-by: James Rosewell <james@51degrees.com>
…rified by data team (#289)

Co-authored-by: James Rosewell <james@51degrees.com>
@jwrosewell
jwrosewell marked this pull request as ready for review November 6, 2026 14:27
@jwrosewell
jwrosewell merged commit 4e3f966 into main Nov 6, 2026
4 checks passed
@github-actions

github-actions Bot commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

Documentation preview 👀

jwrosewell added a commit that referenced this pull request Nov 6, 2026
@jwrosewell jwrosewell mentioned this pull request Nov 11, 2026
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