惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
F
Fortinet All Blogs
阮一峰的网络日志
阮一峰的网络日志
Apple Machine Learning Research
Apple Machine Learning Research
爱范儿
爱范儿
WordPress大学
WordPress大学
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
J
Java Code Geeks
罗磊的独立博客
S
SegmentFault 最新的问题
V
V2EX
V
Visual Studio Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
美团技术团队
博客园 - 三生石上(FineUI控件)
Stack Overflow Blog
Stack Overflow Blog
Y
Y Combinator Blog
MyScale Blog
MyScale Blog
D
Docker
Google DeepMind News
Google DeepMind News
Blog — PlanetScale
Blog — PlanetScale
M
Microsoft Research Blog - Microsoft Research
Martin Fowler
Martin Fowler
S
Secure Thoughts
B
Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Recent Announcements
Recent Announcements
MongoDB | Blog
MongoDB | Blog
C
Cisco Blogs
C
CERT Recently Published Vulnerability Notes
T
True Tiger Recordings
GbyAI
GbyAI
P
Proofpoint News Feed
P
Privacy International News Feed
Jina AI
Jina AI
The Cloudflare Blog
I
Intezer
AWS News Blog
AWS News Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
S
Security Archives - TechRepublic
NISL@THU
NISL@THU
The Register - Security
The Register - Security
Recent Commits to openclaw:main
Recent Commits to openclaw:main
P
Palo Alto Networks Blog
S
Schneier on Security
L
LINUX DO - 热门话题
C
CXSECURITY Database RSS Feed - CXSecurity.com
Security Latest
Security Latest
C
Cybersecurity and Infrastructure Security Agency CISA

Hacker News: Show HN

wwwatch · AI intel for builders Mnestica — AI-Powered Memory System GitHub - sumant1122/ringlog: A highly optimized, thread-per-core message broker built from scratch in Rust, utilizing io_uring for zero-copy, low-latency commit log streaming. Stacktower - AI-Powered Dependency Analysis | Stacktower Repo readiness infrastructure for developer onboarding and AI agents HeadlessPDF – HTML to PDF REST API Show HN: Myco – coordinate Claude and DeepSeek and other LLMs in one agent swarm Databricks — DecisionBox | DecisionBox VisuallyJs GitHub - czl9707/token-aware-image: A Skill Creates Images Respecting Design Tokens GitHub - unprovable/ShadowCat: Single file optical file transfer using a browser AgentRecall — Persistent Memory for AI Agents GitHub - ankurokok/hr: A colored bar that marks where you are in your terminal. Interactive AI Chat - Chrome 应用商店 Show HN: We're building an open-source battery [video] GitHub - The-CISO-Network/pqc: Post-Quantum Cryptography sdk-gen — your Stainless replacement GitHub - evilmarty/duex: Duex is a Go-based terminal utility for visualizing and analyzing disk usage, featuring interactive navigation, accurate sizing, and real-time feedback. Show HN: I threw away my analytics dashboard and replaced it with 42 MCP tools GitHub - getnao/sylph: The open-source company brain. Run your entire company with AI agents, skills, and a self-improving context. inkoscribe - Private Local Audio Transcription for macOS KVBoost — Pitch Deck Show HN: TLS Certificate Management and PKI GitHub - alonsovm44/tc-lang: A minimalistic portable assembly lenguage Roughform — 3D Modeling & Pose Reference Show HN: Spec-Driven Development Workflow for Claude Code Pocket TTS - WebAssembly Demo Deputies | Background agent control plane Mixfont — Make Any Font You Can Imagine Show HN: Traditional Card Game Website Show HN: Baby's First Cards – real photo flash cards for toddlers AI Local Recorder App - App Store Show HN: Agent-estimate, how long a coding task takes, at agent speed Smithereen — your social network Lumox - Wireless device screen mirroring for Mac Show HN: A Turing machine simulating a Turing machine simulating a... Show HN: Onda – a cross-platform alternative to DSView for DSLogic analyzers [video] Show HN: Glowing balls falling through a spinning maze GitHub - eigenpal/docx-editor: Open-source WYSIWYG .docx editor library with canonical OOXML, tracked changes, and real-time collaboration. ANML Foundation — Agentic Notation Markup Language Datasette Agent GitHub - simd-ai/agent ACAV: Overview Best AI Audiobook Maker | Warblize dhrive: Squarespace for mobile apps Kalerum — Booking platform for service businesses headroom — Built for the Rekordbox → CDJ workflow GitHub - fireharp/coherence: Git-native drift detector for agent-assisted repos: catch stale docs, ADRs, tests, metrics, and generated artifacts. Jig's Saw Puzzler by abionic Show HN: Synrix: hardware-verified memory routing for edge AI agents GitHub - bjcoombs/ai-native-toolkit: Claude Code configuration and customizations Show HN: Patchmark – LSP for reviewing code changes/diffs in text Reader view — paste a link to read distraction-free | Readplace GitHub - ghetea-patrick/filorithm: A fluent Python eDSL for high-level directory manipulation. It utilizes chainable filtering pipelines and intuitive operator overloading to replace boilerplate file system code with clean terminal-like actions. OSINT Arena | Open Source Intelligence Challenges Two Witness Shop Show HN: From one Claude agent to a fleet – in five small steps Show HN: Canonry tracks how AI cites you – agent-first, open source Sound Test Online – Check Speakers & Headphones Slick – Fast, Private, and Reliable Search GitHub - securient/ideviewer-oss: Security scanner for developer workstations — detects IDE extension risks, AI tool permissions, plaintext secrets, and vulnerable dependencies across VS Code, Cursor, JetBrains, and more. Computer Police Show HN: Agent.email – sign up via curl, claim with a human OTP ClarityHoop | Executive Communication Mastery Show HN: Write your BPF programs in Go, not C GitHub - Userfrom1995/benchd: BenchD is a browser-based CPU benchmark that runs fully on the client. GitHub - LeoStehlik/proof-loop: Repo-local verification protocol for AI coding agents: acceptance criteria, separate verifier roles, proof artifacts, and evidence-backed done claims. Show HN: Free One-shot cloud agents with OpenCode and Daytona and Cloudflare npmfind Parseflow Segment Tree — Algorhythm GitHub - verdverm/pge-jax: Jax implementation of the PGE algorithm (Prioritized Grammar Enumeration) Show HN: GitVitae – Free hosted portfolio and resume for anyone GitHub - wavever/buildby: Detect whether desktop apps are built with Electron, Flutter, Tauri, Qt, .NET, JVM, CEF, or native code. boku — YAML task runner Show HN: Darc – grep-like memory search tool for coding agents Mixpanel Headless - Mixpanel Docs Show HN: A demo video of Effected Keyboard 2 Introducing Open Public awesome-skills/gtm-mavericks at main · conductor-oss/awesome-skills Show HN: ATM, a tiny terminal task manager for local coding agents Freenet Workspace Show HN: AI Manager Show HN: SubTrack – Find forgotten subscriptions via bank transaction scanning Show HN: We dropped Go for Rust in our real-time telephony AI media plane Show HN: I Dedicated 4 Years to Mastering Offline Password Cracking Home — Noada Show HN: I Made a Claude Skill for SDD Show HN: Twixt – transform one word into another in four moves Show HN: Daily word puzzle game based on polysemy GoKubeDownscaler: Reduce Kubernetes Costs Off-Hours GitHub - openclaw-easy/ViralMint: Open-source viral content pipeline — scout trends, analyze competitors, generate AI videos, auto-publish. AGPL-3.0. GitHub - baidu-baige/LoongForge: A modular, scalable, high-performance training framework for LLMs, VLMs, diffusion, and embodied models. Show HN: (Better) Chrome Tab Manager Show HN: SoMatic – Vision-based OS automation framework for AI agents Physics AI – Free Physics Solver Online (Step-by-Step) SUPPLYCHAIN.FAIL — Open Source Vulnerability Timeline PocketWebTools GitHub - mirshko/boatswain: A macOS menu bar app for Fathom Analytics. Keep an eye on your site stats without ever leaving your keyboard.
GitHub - changespec/spec: ChangeSpec: open specification for software change communication
cdnsteve · 2026-05-21 · via Hacker News: Show HN

ChangeSpec is an open specification for software change communication. It defines a standard event format that vendors use to publish changes - API updates, security advisories, terms of service edits, pricing adjustments - and that consumers use to receive and process them.

Version: 1.1 License: Apache 2.0 Status: Stable

The Problem

Every software vendor ships changes. Breaking API changes, security patches, deprecations, TOS updates, DPA modifications. These changes arrive through scattered channels - blog posts, GitHub releases, email blasts, Slack announcements - with no consistent structure, no standard severity taxonomy, and no machine-readable format. Downstream consumers miss changes, build integrations that silently break, and fail compliance audits because a vendor updated a subprocessor list with no formal notification.

ChangeSpec is the contract layer that fixes this. One format. Any vendor. Any consumer.

What ChangeSpec Is Not

ChangeSpec specifies the event format only. It does not specify:

  • How events are stored or indexed
  • How subscriptions are negotiated
  • How webhooks are registered or delivered
  • Compliance workflow logic

Those concerns belong to platform implementations built on top of the spec.

Elevator Pitch

ChangeSpec is to vendor change communication what CloudEvents is to event routing and what OpenAPI is to HTTP API description. It is a boring, stable, extensible format that anyone can implement in an afternoon and that becomes more valuable as adoption grows.

A ChangeSpec event looks like this:

{
  "specversion": "1.0",
  "id": "cs_01HXYZ1234ABCD",
  "vendor_id": "stripe",
  "category": "api_breaking",
  "severity": "high",
  "title": "confirm() now requires return_url parameter",
  "summary": "The PaymentIntent confirm() method now requires the return_url parameter in all cases where a redirect may occur. Calls without return_url that previously succeeded will now return a 400 error.",
  "effective_date": "2026-05-01",
  "published_at": "2026-04-10T14:00:00Z",
  "source_url": "https://stripe.com/docs/upgrades#2026-05-01",
  "source_type": "publisher_verified",
  "affected_versions": ">=14.0.0 <15.0.0",
  "migration_hint": "Add return_url to all confirm() calls. See migration guide for redirect-less flows.",
  "migration_url": "https://stripe.com/docs/migration/v15"
}

Quickstart

Validate an event

Go:

import "github.com/changespec/changespec-go"

event, err := changespec.Validate(jsonBytes)
if err != nil {
    // validation error with field-level detail
}

TypeScript:

import { validate } from "@changespec/changespec";

const result = validate(rawObject);
if (!result.success) {
  // result.error contains Zod validation errors
}
const event = result.data;

Python:

from changespec import validate

event = validate(raw_dict)  # raises ValidationError on invalid input

Publish an event

Any HTTP client can POST a ChangeSpec event to a platform endpoint. The event body is a JSON object conforming to schema.json.

Consume events

Events are delivered via:

  • HTTPS POST webhook (body is a ChangeSpec event JSON object)
  • MCP tool response
  • RSS/Atom feed (event fields mapped to feed item elements)
  • Polling API (returns arrays of ChangeSpec event objects)

Repository Layout

README.md             - this file
spec.md               - the full specification
schema.json           - JSON Schema (draft 2020-12) for validation
CHANGELOG.md          - version history
RATIONALE.md          - design decision rationale
changespec.proto      - Protobuf wire format
integration-safety.md - integration security guidance
examples/             - example events for each category
conformance/          - conformance test suite
reference/
  go/                 - Go reference implementation
  typescript/         - TypeScript reference implementation
  python/             - Python reference implementation
governance/
  CHARTER.md
  CONTRIBUTING.md
  GOVERNANCE.md
  MAINTAINERS.md

Versioning Policy

ChangeSpec uses calendar versioning for major releases. The current release is 1.1.

Backward compatibility guarantee: A field added in a minor release (1.1, 1.2) is always optional. Required fields may only be added in a major release with a formal deprecation period. Unknown fields in a 1.x event must be ignored by 1.0 consumers (forward compatibility).

Extension fields are supported via the ext: prefix namespace (see spec.md). Extension fields never conflict with core spec fields.

Version negotiation: Events carry "specversion": "1.0". Consumers that support only 1.0 should reject events with an incompatible major version.

Governance

ChangeSpec is released under the Apache 2.0 license.

Spec evolution is community-driven:

  • Proposals via GitHub Issues in this repository
  • Discussion period of at least 30 days for any change to required fields
  • Changes to the core taxonomy require a formal proposal and rough consensus among active contributors
  • Roboticforce Inc. serves as steward but holds no veto over community proposals that achieve consensus

Contributions to the spec, schema, reference implementations, and examples are welcome. See governance/CONTRIBUTING.md.

Related Standards

ChangeSpec is designed to complement, not replace, these existing standards:

  • CloudEvents - ChangeSpec events can ride inside a CloudEvents envelope. See spec.md for the binding.
  • OpenAPI / AsyncAPI - These describe API schemas. ChangeSpec describes changes to those schemas over time.
  • Standard Webhooks - ChangeSpec is payload-agnostic about delivery. Standard Webhooks signing works with ChangeSpec payloads.
  • RSS / Atom - ChangeSpec events map cleanly to feed items. See spec.md for the feed binding.