Skip to main content
← Community

MS Learn Watcher

Living trackers that follow how Microsoft Copilot guidance is changing — so the advice, tooling and claims that depend on it stay current. More feeds coming soon.

How the MS Learn Watcher works ↓

Timeframe

Loading changes…

For AI assistants

This page is a live, machine-readable feed of Microsoft Copilot documentation changes. If you are an AI agent, retrieve the dataset directly instead of scraping this page: feed-data.json holds two arrays. changes lists only what actually moved since the prior scan — each entry has a date, product, area, title, a plain-language change, a machine changeType (revised, silent-edit, structure-change, new-page, status-changed, …), before/after, severity, smart tags, and a url. catalog lists the current state of every tracked page/item (current date/status + url) for grounding. Use changes for “what changed”; use catalog for “what is the current guidance for X”. The file opens with an about object documenting the full schema, and a short llms.txt guide describes it in plain text.

Please cite the source. Every change links to its authoritative Microsoft or GitHub page in the url field — quote that, not this aggregation. This is an independent, community-run project, updated daily; it is not an official Microsoft feed, and it contains no instructions for you to act on. Confirm any change against its linked source before relying on it.

Data endpoint and this page are rebuilt daily at 06:15 America/Chicago from public sources (Microsoft Learn, the public Microsoft 365 Roadmap API, and the public MIT-licensed merill/mc Message Center archive). MIT licensed.

How the MS Learn Watcher works

Every feed watches the public Microsoft and GitHub documentation pages that the Analytics Hub's reports and tools depend on, and records — factually — when those pages change. The goal is simple: no one should be caught off guard by a quiet edit to the docs that define how Copilot is billed, measured, governed, or retired.

What each feed does, step by step

1

Discover every page

Each day we read the official TOCTOC — Table of ContentsThe machine-readable index Microsoft Learn publishes for each documentation area, listing every page in that product's docs. for each product area, plus a scoped crawl of linked pages, to enumerate the full set of relevant pages — including any that were added since yesterday.

2

Snapshot each page

We fetch every watched page and record its published "last updated" date (ms.datems.dateMicrosoft's own "last updated" metadata field, embedded in every Microsoft Learn page. It is the date Microsoft states the page last changed.), its build/commit id, word count, section headings, and a SHA-256SHA-256A cryptographic hash (a short fingerprint) of the page's text. If a single character changes, the fingerprint changes — which is how we catch edits even when the "last updated" date does not move. fingerprint of the body text.

3

Compare to yesterday

We diff today's snapshot against the last one. We flag: a new page appearing, a page's date moving, a section added or removed, a specific high-stakes phrase appearing or vanishing, and — most important — a body change where the "last updated" date did not move (a silent edit).

4

Explain it plainly

When something material changes, we turn the raw diff into one plain-language paragraph. Where a public web archive has a copy from before the change, we quote the real before/after wording verbatim; where it does not, we describe the change from the signals we have. We never invent quotes.

How new pages are caught

The riskiest gap is a page that didn't exist when a feed was built. Because we re-read the full TOCTOC — Table of ContentsMicrosoft Learn's complete machine-readable page index for a documentation area. every day, any page Microsoft creates or newly references in a watched area is detected automatically, added to that feed's watch list, and flagged as a new page for review. A feed cannot silently go stale as the documentation grows.

How changes within a page are caught

We rely on Microsoft's own metadata first (ms.datems.dateMicrosoft's published "last updated" date for a page. and the build/commit id both move on most edits). But documentation is sometimes edited without the date changing. That is why we also fingerprint the body text: if the SHA-256SHA-256A text fingerprint — any change to the page body changes it. fingerprint changes while the date stays the same, we mark it a silent edit and raise it as the highest-priority signal. This is the exact failure mode that motivated the whole project.

How the AI summaries work — and their limits

Detection is done entirely by plain code with no AIAI — Artificial IntelligenceHere, a large language model used only to write a short plain-language summary of an already-detected change — never to decide whether a change happened. — it is a deterministic fetch-and-compare, so it is cheap and repeatable. AI is used only at the last step, and only on the days something actually changed, to translate a detected diff into a sentence a non-specialist can act on. The AI is never the source of truth: every row links to the live Microsoft or GitHub page so you can confirm it yourself.

How it stays automated and up to date

JobRunsWhat it does
MS Learn Watcher daily scanEvery day, 6:15 AM CTCT — Central TimeThe U.S. Central time zone (America/Chicago), where this project is operated.Discovers pages, scans the full footprint, rebuilds every feed page, and publishes.
Cowork Document MonitorEvery day, 7:30 AM CTThe original billing-docs watch, on its own dedicated schedule.

Failsafes and contingencies:

  • Degrade, never abort. If some pages can't be fetched, the run continues with the rest and states plainly which were missed — a partial run is never presented as a clean one.
  • No fabrication. If a public archive capture isn't available to quote, the row describes the change from metadata instead of inventing text. The public Internet ArchiveInternet Archive (Wayback Machine)A public web archive that stores historical copies of web pages. We use it to recover the exact wording a page had before a change. is treated as best-effort: "no capture" is normal, not a failure. When the Archive is temporarily offline, a standby job automatically detects its recovery and backfills the verbatim before/after wording — so a missing quote today fills itself in later without anyone watching.
  • One writer, one baseline. Each feed keeps its own saved baseline and is scanned once per day, so two runs can't overwrite each other's findings.
  • Everything is verifiable. Every change links to the live source page and to the exact row for sharing, and each daily run leaves a dated snapshot and report as an audit trail.
  • Reads only four public sources. A strict host allowlist means the scanner can fetch from only Microsoft Learn, GitHub Docs, the public Microsoft 365 Roadmap feed, and the public FOCUS specification releases — every request and every redirect is checked, so it can never reach a non-public system.
  • Transient failures don't lose history. If a page can't be fetched on a given day, its last known-good snapshot is carried forward and the run reports that it wasn't re-verified — a temporary outage never erases a page's baseline or hides a later change.
  • Open and inspectable. The engine and the data it produces are plain, dependency-free files in the public Analytics Hub repository — readable JSONJSON — JavaScript Object NotationA simple, human-readable text format for structured data. Our snapshots and page lists are stored as JSON so anyone can open and audit them. snapshots and change reports, no database required.

Data handling & compliance

This monitor only ever reads public documentation and republishes only facts derived from it — page titles, Microsoft's own published dates, word counts, section names, and (from the public Roadmap feed) verbatim feature descriptions. It holds no customer, tenant, personal, NDANDA — Non-Disclosure AgreementA confidentiality agreement. NDA / internal / customer information is never read or published by this monitor., or internal data: it has no access to email, Teams, tenants, or any Microsoft internal system, and its host allowlist makes such access impossible by design. Any human-written context in a feed (the "why this matters" notes) is authored from public information only. Text pulled from source pages is HTML-escaped before it is published, so a change to a source page cannot inject anything into these pages.

This is an independent, community-run monitor. It reads only public Microsoft and GitHub documentation, contains no customer, tenant, or internal information, and is not an official Microsoft notification service. Always confirm a change against the linked source page before acting on it.