update-changelog
Skill17k starsChanged 6 days agoApache-2.0View on GitHub
Instructions and best practices for updating CHANGELOG.md files across A2UI packages. Use when adding or modifying a CHANGELOG.md file, when a PR adds, modifies, deprecates, or removes public exports or consumer-observable behavior in a published package, or when resolving merge conflicts in a CHANGELOG.md file.
37 other projects use a version of this; 1 new project in the last 4 weeks, against 0 the 4 before.
Adopted by
Surging: 1 new project took it in the last 4 weeks, none the 4 weeks before.thin data
Most recently taken up by
- harshitsinghbhandari/domain-expansiontheir own version, first seen Nov 8, 2026
- Raicuparta/rai-paltheir own version, first seen Nov 2, 2026
- dotnet/vscode-csharptheir own version, first seen Nov 1, 2026
- raine/skillstheir own version, first seen Nov 1, 2026
- AcKeskin/contexturetheir own version, first seen Nov 1, 2026
- jlu-lujing/TaskHuntertheir own version, first seen Nov 1, 2026
Who's talking about a2ui-project/a2ui
- クロノITチャンネル“チャットの返事が解説動画で返ってくる仕組みを構築「OpenUI」を試してみた”YouTube · Nov 2, 2026 · 6.5k views
- Rainer Hahnekamp“A2UI: When Agents Shape theUI”YouTube · Nov 10, 2026 · 1.2k views
- iPAS陪跑師 X Stan“EP21-🔥顛覆想像!Google A2UI Express 用「點菜速記」讓 AI 秒出畫面!Token 最多少 3 倍、搭 Jev 延遲最多降 80 倍”YouTube · Nov 1, 2026 · 133 views
- Ken Explains Tech“A2UI vs AG-UI: They're not the same thing”YouTube · Nov 7, 2026 · 51 views
- RepoDrop“a2ui - free open source tool”YouTube · Nov 11, 2026 · 4 views
The biggest 5 of 55 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 55
Talked about on GitHub and YouTube (55 times).
On GitHub · 50
- Oct 15, 2026ci: ignore material.dart deprecation per import — flutter/genui2 reactions · 1 comment
- Oct 15, 2026ci: don't fail beta analysis on infos — flutter/genui2 reactions · 2 comments
- Nov 11, 2026Replace announcement with update. — flutter/genui1 reaction
- Nov 5, 2026Import a2ui-labs with history — a2ui-project/labs1 reaction
- Nov 3, 2026Setup repository. — a2ui-project/labs1 reaction · 2 comments
45 more on GitHub
- Oct 6, 2026docs: update feedback and design.md links in READMEs — flutter/genui1 reaction
- Sep 25, 2026a2ui ignores v0.9.1 operations, spec template children, and event.userMessage — assistant-ui/assistant-ui1 reaction · 3 comments
- Sep 24, 2026fix(genui): give the catalog's controls a name — flutter/genui1 reaction · 3 comments
- Sep 22, 2026fix(genui): show a literal CheckBox value — flutter/genui1 reaction · 4 comments
- Sep 20, 2026Fix genui pub.dev issue tracker link — flutter/genui1 reaction · 1 comment
- Sep 18, 2026feat(genui): apply a component's accessibility attributes — flutter/genui1 reaction · 8 comments
- Aug 31, 2026Enable sync validation. — flutter/genui1 reaction · 1 comment
- Aug 20, 2026Fix/email validation regex — flutter/genui1 reaction · 1 comment
- Aug 14, 2026Freeze a2ui_core and a2ui_agent in this repo. — flutter/genui1 reaction
- Aug 12, 2026Fix and stabilize TextField. — flutter/genui1 reaction · 1 comment
- Aug 11, 2026Create initial implementation for a2ui_agent. — flutter/genui1 reaction · 5 comments
- Aug 10, 2026Fix chunk newline. — flutter/genui1 reaction
- Jul 7, 2026docs(readme): replace deprecated google_generative_ai and discontinued firebase_vertexai with firebase_ai — flutter/genui1 reaction · 1 comment
- Jun 22, 2026Conformance harness in Swift + contribute renderer-side conformance cases upstream — BBC6BAE9/a2ui-swift1 reaction
- Jun 22, 2026Port to A2UI v1.0 (Release Candidate, formerly v0.10) — BBC6BAE9/a2ui-swift1 reaction
- Nov 13, 2026Build a Rust A2UI SDK from the upstream blueprints and compare it with the in-repo agent crate — ScaredCat-BOO/a2ui0 reactions
- Nov 13, 2026🎨 Generative UI Ecosystem Digest 2026-11-13 — linqinghao/agents-radar0 reactions
- Nov 12, 2026🎨 Generative UI Ecosystem Digest 2026-11-12 — linqinghao/agents-radar0 reactions
- Nov 12, 2026Evaluate A2UI 1.0 interop for interactive components (deferred, revisit Feb 2027) — MemberJunction/MJ0 reactions
- Nov 11, 2026🎨 生成式 UI 生态日报 2026-11-11 — linqinghao/agents-radar0 reactions
- Nov 11, 2026🎨 Generative UI Ecosystem Digest 2026-11-11 — linqinghao/agents-radar0 reactions
- Nov 10, 2026chore(nexabiz_ui_legacy): remove unused genui dependency — Hosamalbushri/Nexabiz-Ui0 reactions · 1 comment
- Nov 10, 2026chore(nexabiz_ui): remove unused genui dependency — Hosamalbushri/NEXABIZ-20 reactions · 1 comment
- Nov 10, 2026chore(nexabiz_ui): remove unused genui dependency — Hosamalbushri/NexaBiz0 reactions · 1 comment
- Nov 10, 2026chore: Remove unused genui dependency — drexel-ue/myotwin0 reactions
- Nov 10, 2026refactor: migrate from genui to a2ui — titabash/gemini-hackathon-game0 reactions
- Nov 10, 2026Migrate from genui to a2ui — timoconnellaus/frockbot0 reactions · 1 comment
- Nov 10, 2026chore: migrer de genui vers a2ui — b-fontaine/ai_voice_ui0 reactions
- Nov 10, 2026refactor!: migrate desy_genui from genui to a2ui — ChrisMarxDev/desy0 reactions
- Nov 10, 2026refactor(a2ui): migrate from genui to a2ui — oskarfreye/genuiform0 reactions · 1 comment
- Nov 10, 2026Migrate from genui to a2ui — manukj/plasma_sdk0 reactions
- Nov 10, 2026refactor!: migrate from genui to a2ui — breadoncee/flutter_open_genui0 reactions
- Nov 10, 2026Migrate from genui to a2ui — leehack/genui_genkit0 reactions
- Nov 10, 2026🎨 Generative UI Ecosystem Digest 2026-11-10 — linqinghao/agents-radar0 reactions
- Nov 9, 2026Migrate from genui to a2ui — lschaffer/flutter_mcp_suite0 reactions
- Nov 9, 2026Migrate from genui to a2ui — sunarya-thito/shadcn_flutter0 reactions
- Nov 9, 2026Migrate from genui to a2ui — omarfarouk228/genui_catalog0 reactions
- Nov 9, 2026refactor(liquid_flutter_ai)!: migrate from genui to a2ui — emdgroup-liquid/liquid-flutter0 reactions
- Nov 9, 2026Migrate from genui to a2ui — vildevev/genui_min0 reactions
- Nov 9, 2026Migrate from genui to a2ui — wal33d006/agentic_client0 reactions
- Nov 9, 2026Migrate from genui to a2ui — idipak/genui_openrouter0 reactions
- Nov 9, 2026Migrate from genui to a2ui — NJashwanth/genui_mock0 reactions
- Nov 9, 2026Migrate from genui to a2ui — thurakhant/genui_x0 reactions
- Nov 9, 2026🎨 Generative UI Ecosystem Digest 2026-11-09 — linqinghao/agents-radar0 reactions
- Nov 9, 2026🎨 生成式 UI 生态日报 2026-11-09 — linqinghao/agents-radar0 reactions
On YouTube · 5
- Nov 2, 2026チャットの返事が解説動画で返ってくる仕組みを構築「OpenUI」を試してみた — クロノITチャンネル6.5k views · 4 comments
- Nov 10, 2026A2UI: When Agents Shape theUI — Rainer Hahnekamp1.2k views · 3 comments
- Nov 1, 2026EP21-🔥顛覆想像!Google A2UI Express 用「點菜速記」讓 AI 秒出畫面!Token 最多少 3 倍、搭 Jev 延遲最多降 80 倍 — iPAS陪跑師 X Stan133 views
- Nov 7, 2026A2UI vs AG-UI: They're not the same thing — Ken Explains Tech51 views · 1 comment
- Nov 11, 2026a2ui - free open source tool — RepoDrop4 views
Used with
Projects with it also use clack-cli-patterns, drag-to-reorder and 10 more.
Other files people use alongside this one.
Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
openchamberSkillclack-cli-patterns
Use when creating or modifying OpenChamber CLI commands, prompts, terminal output, non-TTY behavior, `--quiet`, or `--json` behavior.
Also in 3 projects that use this
openchamberSkilldrag-to-reorder
Use when implementing or modifying OpenChamber sortable or drag-to-reorder behavior, especially `@dnd-kit`, touch/mobile interactions, variable-width items, or wrapping layouts.
Also in 3 projects that use this
mitsuhikoSkilloebb-scotty
Austrian rail travel planner (ÖBB Scotty). Use when planning train journeys in Austria, checking departures/arrivals at stations, or looking for service disruptions. Covers ÖBB trains, S-Bahn, regional trains, and connections to neighboring countries.
Also in 3 projects that use this
mitsuhikoSkillpi-share
Load and parse session transcripts from shittycodingagent.ai/buildwithpi.ai/buildwithpi.com/pi.dev (pi-share) URLs. Fetches gists, decodes embedded session data, and extracts conversation history.
Also in 3 projects that use this
- +8 more from openchamber
Other versions37 projects use a version of this.
Word for word · 1
- google/A2UI★ 17k100% same
Edited · 0
None found.
Wrote their own version · 36
- penpot/penpot★ 62ksame name
- alibaba/page-agent★ 29ksame name
- joke2k/faker★ 19ksame name
- quickwit-oss/tantivy★ 16ksame name
- btriapitsyn/openchamber★ 13ksame name
- openchamber/openchamber★ 13ksame name
- mitsuhiko/agent-commands★ 3.2ksame name
- mitsuhiko/agent-stuff★ 3.2ksame name
- dotnet/vscode-csharp★ 3.1ksame name
- Xpra-org/xpra★ 3.1ksame name
26 more not listed
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository18 other files it gives its agents.
- AGENTS.mdAGENTS.md
- swift/AGENTS.mdAGENTS.md
- a2ui-add-eval-datapointSkill
- a2ui-auditSkill
- a2ui-doc-sync-checkSkill
- a2ui-generate-pydantic-modelsSkill
- a2ui-implement-new-sdks-for-client-languageSkill
- a2ui-issue-triageSkill
- a2ui-release-pythonSkill
- a2ui-remediate-problemSkill
- a2ui-test-quality-checkSkill
- coding-principlesSkill
- inspect-aiSkill
- migrationSkill
- natural-writingSkill
- pr-hygieneSkill
- public-documentationSkill
- a2uiSkill
The file
We split this skill into the rules it gives an agent
8 rules. 0 are common, 3 are distinctive, and 5 are very specific to this project.
0
Common
Most of the 35 edited versions we read keep these.
3
Distinctive
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 16
Before editing a CHANGELOG.md file, check which language directory the modified package belongs to:
- Very specific: line 21
Follow the core rules below for ## Unreleased entries during feature or bugfix PRs.
- Distinctive: line 23
Follow all core rules, formatting conventions, and workflows in this document.
- Very specific: line 38
Place every new changelog entry under the top-level ## Unreleased heading at the top of the modified package's CHANGELOG.md file.
- Very specific: line 39
If the ## Unreleased heading does not exist, create it at the top of the file before the latest released version.
- Very specific: line 40
Never create or bump a version header (e.g.
- Distinctive: line 66
Keep each entry to one or two sentences stating _what_ changed and _how_ callers should update their code.
- Distinctive: line 68
If a breaking change is introduced, provide a brief migration note.
“Common” is measured: kept by at least 6 in 10 of the 35 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Updating Changelogs (CHANGELOG.md)
Progressive Discoverability: Language-Specific Routing
Before editing a CHANGELOG.md file, check which language directory the modified package belongs to:
- Dart / Flutter packages (
dart/*/CHANGELOG.md):- Load and follow
dart/versioning-and-releases.md, which defines Dart-specificBreaking:annotations,## Unreleasedconsolidation rules, andpubspec.yamlversioning conventions.
- Load and follow
- Python packages (
python/*/CHANGELOG.md):- Follow the core rules below for
## Unreleasedentries during feature or bugfix PRs. When cutting a Python package release, loada2ui-release-python.
- Follow the core rules below for
- TypeScript / Web packages (
typescript/*/*/CHANGELOG.md):- Follow all core rules, formatting conventions, and workflows in this document.
Core Rules
Preserve Unrelated Entries and All Version Headers:
[!CAUTION] Preserve Unrelated Entries: NEVER delete, overwrite, or clear unrelated items under
## Unreleasedor any items under past release sections. Other merged branches, concurrent PRs, or foundational commits have their own entries under## Unreleased. However, read the entire## Unreleasedsection before adding your entry: if your PR supersedes, renames, or modifies a change introduced earlier in the same## Unreleasedcycle, update or merge that unreleased entry so## Unreleaseddescribes the net changes since the last published release rather than a chronological log of contradicting pull requests. When merging, keep every PR link the merged entries carried (for example[#123](...), [#456](...)) so each change stays traceable to its pull request.[!CAUTION] Preserve All Version Headers: NEVER delete a
## <version>heading (for example## 0.10.6). Removing one moves every entry beneath it into the section above, so released changes reappear as unreleased and that version's history is lost. This most often happens while resolving a merge conflict at the top of the file, or when inserting an entry overwrites the lines that follow## Unreleased. After any conflict resolution, re-read the top of the file and confirm the version headers are still present and in descending order.- Always Target the
## UnreleasedSection:- Place every new changelog entry under the top-level
## Unreleasedheading at the top of the modified package'sCHANGELOG.mdfile. - If the
## Unreleasedheading does not exist, create it at the top of the file before the latest released version. - Never create or bump a version header (e.g.
## 0.10.6) during feature or bugfix development unless explicitly executing a release workflow.
- Place every new changelog entry under the top-level
- Focus Exclusively on Public API Surface Changes:
- DO Document:
- New or modified public exports, classes, functions, components, directives, traits, or services.
- Additions, removals, or changes to component schemas, properties, inputs, outputs, or events.
- Bug fixes that alter consumer-facing behavior, rendering output, or public type definitions.
- Dependency changes affecting consumers (e.g. optional peer dependencies).
- Breaking changes (marked prominently with
**BREAKING CHANGE**:).
- DO NOT Document:
- Internal implementation details, classes, algorithms, data structures, or mechanics (e.g. private helper functions, internal variable renames, internal state/undo-log mechanics, micro-optimizations, or narrations of how the previous implementation worked).
- Changes strictly confined to unit tests, integration tests, conformance suite filenames, benchmark numbers, mock data, sample/explorer applications, or internal scripts.
- Pure refactorings that preserve identical public API behavior and types.
- DO Document:
Clearly Annotate and Group BREAKING CHANGE Entries First:
[!IMPORTANT] Mandatory
**BREAKING CHANGE**:Annotation and Ordering: Place all**BREAKING CHANGE**:entries at the top of the## Unreleasedsection, with non-breaking additions and fixes below them. Annotate entries with**BREAKING CHANGE**:whenever there is:- Public API Surface Change: Any removal, rename, or incompatible signature/type change in the public API surface of the library or package (e.g., exported functions, classes, interfaces, component schemas, properties, signatures, or public types).
- Meaningful Behavioral Change: Any meaningful change in behavior that is not purely an internal refactor (e.g., changes to default property values, alterations to DOM tree structure or class names, changes to CSS custom properties or styling inheritance contracts that consumers depend on, modifications to validation rules, or changes to event dispatch semantics).
Provide a concise explanation of what changed, why, and a recommended migration note so consumers can upgrade cleanly.
- Be Concise and Complete:
- Keep each entry to one or two sentences stating what changed and how callers should update their code. Do not narrate why the previous implementation worked the way it did.
- Prefix version-specific changes with the target protocol version (e.g.
(v0_9)or(v0_8)) when working within multi-version renderers or packages. - If a breaking change is introduced, provide a brief migration note.
- Always End Entries with a Link to the PR:
- Conclude each entry with a clickable link to its associated GitHub Pull Request:
[#<pr-number>](https://github.com/a2ui-project/a2ui/pull/<pr-number>)
- Conclude each entry with a clickable link to its associated GitHub Pull Request:
Format & Examples (TypeScript / Web & Python)
Single Feature or Bug Fix
## Unreleased
- (v0_9) Add universal markdown fallback in `Text` component when optional `@a2ui/markdown-it` is available. [#2272](https://github.com/a2ui-project/a2ui/pull/2272)
- (v0_9) Fix null de-referencing TypeError in `ComponentBinder` when `children` property is null or undefined. [#1472](https://github.com/a2ui-project/a2ui/pull/1472)Multi-Item Feature Group
## Unreleased
- (v0_9) Support universal Web Components in the v0.9 renderer:
- Add `UniversalBasicCatalog`, `NativeBasicCatalog`, and `BasicCatalogBase` supporting both universal Web Components from `@a2ui/web_core` and native Angular `@Component` implementations.
- Add `toWebComponent` adapter to convert custom Angular `@Component` implementations into W3C Custom Elements.
- Add standalone `provideA2Ui` configuration helper and `A2UI_USE_UNIVERSAL_COMPONENTS` injection token for Angular applications. [#2273](https://github.com/a2ui-project/a2ui/pull/2273)Breaking Changes (Public API Surface & Meaningful Behavioral Changes)
## Unreleased
- **BREAKING CHANGE**: `BoundProperty.raw` is now `unknown` instead of `any`. Recommended migration: replace `raw` access with typed sibling fields where available (e.g. use `template` instead of `raw.componentId`/`raw.path`). [#1312](https://github.com/a2ui-project/a2ui/pull/1312)
- **BREAKING CHANGE**: (v0_9) `Image` component now defaults `fit` to `"cover"` (previously `"fill"`) to match responsive catalog container layouts. Recommended migration: explicitly set `fit: "fill"` if previous stretching behavior is required. [#2205](https://github.com/a2ui-project/a2ui/pull/2205)Step-by-Step Workflow
- Identify Affected Packages:
Find the
CHANGELOG.mdin the root of each published package modified in the PR (e.g.typescript/core/web_core/CHANGELOG.md,typescript/renderers/angular/CHANGELOG.md,typescript/renderers/lit/CHANGELOG.md,typescript/renderers/react/CHANGELOG.md,dart/a2ui_core/CHANGELOG.md). If modifying a Dart package underdart/, followdart/versioning-and-releases.md. Retrieve Current PR Number:
gh pr view --json number --jq '.number'Check for Public API Surface or Meaningful Behavioral Changes: Review
git diffon exported symbols, types, components, schemas, defaults, and rendering behaviors:git diff main --statDetermine whether the diff introduces a public API change or a meaningful change in behavior that requires a
**BREAKING CHANGE**:annotation (orBreaking:for Dart packages). For TypeScript packages, see Inspecting TypeScript Public API (AST Approach).- Add or Update the
## UnreleasedEntry: Draft concise, complete descriptions following the core rules above, placing**BREAKING CHANGE**:entries at the top of## Unreleasedand non-breaking entries below them, and append[#<pr-number>](https://github.com/a2ui-project/a2ui/pull/<pr-number>). Verify No Unrelated Entries or Version Headers Were Removed:
git diff main -- '**/CHANGELOG.md' | grep '^-' | grep -v '^---'The only acceptable output is a revision or consolidation of an
## Unreleasedentry modified or superseded by the current PR. Any deleted version header or unrelated pre-existing entry must be restored immediately.- Format the Repository:
./scripts/fix_format.sh
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

