Zum Inhalt springen

Ein Changelog-Tool für Dev-Tool- und API-Unternehmen.

Ein Changelog, das den Kreis schließt.

Ihre Nutzer wünschen sich etwas. Ihr Team liefert es. Wer gefragt hat, erfährt davon. Einträge entstehen aus gemergten Pull Requests, warten auf Ihre Freigabe und erscheinen dann in einem JSON-Feed oder in einem zweizeiligen Widget in Ihrem Produkt.

Kostenlos für ein Repository. Keine Karte nötig.

acme.dev/changelog
  1. Darstellung

    Dark Mode ist da

    In den Einstellungen einschalten oder dem Systemdesign folgen lassen.

    Gepostet in Issue #482, wo er gewünscht wurde

  2. API

    Webhooks werden 24 Stunden lang wiederholt

    Fehlgeschlagene Zustellungen werden mit Backoff wiederholt, jeder Versuch steht im Dashboard.

  3. Bugfix

    CSV-Exporte behalten die Zeitzone

    Zeitstempel im Export stimmen jetzt mit denen in der App überein.

Das lesen Ihre Nutzer. Entworfen aus dem gemergten Pull Request, veröffentlicht, sobald Sie ihn freigeben.

  • Öffentlicher JSON-Feed in jedem Tarif
  • Widget einbetten in zwei Zeilen
  • Entwürfe warten standardmäßig auf Ihre Freigabe
  • Kostenlos für ein Repository, ohne Karte
JSON-FEED

Ihr Changelog, gerendert von Ihrem eigenen Code

Der Feed ist ein schlichter öffentlicher Endpunkt mit CORS für jede Herkunft, lesbar aus einer Seite, einem Build-Schritt oder per curl. Zehn Zeilen React, und Ihr Changelog ist Teil Ihres Produkts statt einen Klick davon entfernt.

  • Nach Repository filtern, per Cursor blättern, bis zu 50 Einträge pro Aufruf
  • Strong ETag und 60 Sekunden Cache-Control, sodass ein unveränderter Feed mit 304 antwortet
  • Dazu ein Roadmap-Feed in drei festen Spalten: planned, building, shipped
Jeder Endpunkt, jedes Feld und jeder Statuscode steht in der Entwicklerdokumentation
Changelog.tsx
const ID = 'YOUR_ID';
const API = 'https://api.changeloop.dev';

export function Changelog() {
  const [entries, setEntries] = useState([]);
  useEffect(() => {
    fetch(`${API}/v1/public/${ID}/changelog.json`)
      .then((r) => r.json())
      .then((feed) => setEntries(feed.data));
  }, []);
  return entries.map((e) => <Entry key={e.id} {...e} />);
}
WIDGET

Oder betten Sie es in zwei Zeilen ein

Ein Custom Element, das in einen Shadow Root rendert und dadurch weder Ihre Styles erbt noch in sie hineinwirkt. Es hat drei Tabs: Ihre Updates, Ihre Roadmap und ein Feld, in das Ihre Nutzer schreiben können.

  • Zwei Attribute, Ihre Feed-ID und der API-Ursprung
  • Eine Version festpinnen und ihre Bytes ändern sich nie, oder automatisch den neuesten Build nehmen
  • Kein npm-Paket, kein Build-Schritt, kein Key zum Rotieren
UpdatesRoadmapFeedback
  1. Darstellung

    Dark Mode ist da

  2. API

    Webhooks werden 24 Stunden lang wiederholt

  3. Bugfix

    CSV-Exporte behalten die Zeitzone

index.html
<script src="https://api.changeloop.dev/widget.js"
        defer></script>

<changelogapp-widget
  data-public-id="YOUR_ID"
  data-api="https://api.changeloop.dev"
></changelogapp-widget>
ENTWURF

Beim Mergen entworfen, für einen Menschen zurückgehalten

Ein Pull Request wird in Ihren Standard-Branch gemergt. Changeloop liest Titel und Beschreibung und schreibt daraus einen Eintrag für die Menschen, die Ihr Produkt nutzen. Ihr Quellcode ist daran nie beteiligt.

  • Dependency-Bumps, CI-Arbeiten und Refactorings werden aussortiert, bevor überhaupt etwas entworfen wird
  • Entwürfe liegen im Review-Postfach, wo Sie die Formulierung bearbeiten, freigeben oder verwerfen
  • Automatisches Veröffentlichen gibt es pro Repository, standardmäßig aus, bis Sie es einschalten
yourteam/webapp
Pull Request gemergt
Entwurf geschrieben
In Review
Veröffentlicht
feat(ui): add dark theme toggle (#517)
ENTWURF · REVIEW

Dark Mode ist da

In den Einstellungen einschalten oder dem Systemdesign folgen lassen.

FreigebenBearbeitenÜberspringen
FEEDBACK

Ein Wunsch kommt als Issue an und geht als Eintrag hinaus

Auf GitHub öffnet das Feedback-Feld des Widgets ein beschriftetes Issue in Ihrem eigenen Repository, sodass es in der Triage landet, die Sie ohnehin machen. Mergen Sie einen Pull Request mit fixes #12, geben Sie den Eintrag frei, und wir kommentieren dieses Issue mit einem Link auf das Ausgelieferte.

  • Drei Labels an jedem Issue: bug oder feature-request, eine Priorität und from-widget
  • Die E-Mail-Adresse des Absenders erreicht weder das Issue noch das Modell, das es einordnet
  • Den Status sehen die Absender selbst im Widget. Eine E-Mail schicken wir ihnen noch nicht.
acme/web · issue #482

Bitte einen Dark Mode

feature-requestpriority:mediumfrom-widget

Automatisch aus dem Feedback-Widget angelegt.

Ausgeliefert: Gespeicherte Ansichten im Postfach

In jedem Tarif enthalten

Changelog-JSON-Feed

Veröffentlichte Einträge, neueste zuerst, nach Repository filterbar und über einen opaken Cursor paginiert.

Roadmap-JSON-Feed

Planned, building und shipped, immer in dieser Reihenfolge, gesteuert über Labels an Ihren eigenen GitHub Issues.

Einbettbares Widget

Ein Custom Element in einem Shadow Root, mit Updates, Roadmap und Feedback in drei Tabs.

Eine gehostete Seite als Rückfalloption

Eine schlichte Seite für Ihren Feed, für die Zeit, bevor Sie Ihre eigene gebaut haben, und für die Links, die wir an Issues hinterlassen.

Entworfen aus gemergten Pull Requests

Titel und Beschreibung eines Merges werden zu einem Eintrag für Ihre Nutzer. Der Code nicht.

Review-Postfach

Formulierung bearbeiten, freigeben oder verwerfen. Ein verworfener Entwurf lässt sich später wiederherstellen.

Interne Änderungen werden aussortiert

Dependency-Bumps, CI-Änderungen, Refactorings und Tippfehlerkorrekturen landen nie in der Warteschlange.

Feedback in Ihrem eigenen GitHub-Repository

Auf GitHub öffnen Einsendungen aus dem Widget beschriftete Issues in Ihrem Repo, ohne die E-Mail-Adresse des Absenders. GitLab- und Bitbucket-Projekte speisen nur das Changelog.

Fester Team-Preis

Ein Preis für unbegrenzt viele Repositories im Team-Tarif. Kein Aufschlag pro Repository.

Fragen, die Entwickler zuerst stellen

Kann ich das Changelog in meiner eigenen Oberfläche rendern?

Ja, genau darum geht es. Jeder veröffentlichte Eintrag kommt aus einem öffentlichen JSON-Feed mit CORS für jede Herkunft, ohne Key und ohne Anmeldung, sodass zehn Zeilen React genügen, um ihn mit Ihren eigenen Komponenten darzustellen. In der Entwicklerdokumentation stehen jeder Endpunkt, jedes Feld und jeder Statuscode.

Was braucht das Widget von mir?

Ein Script-Tag und ein Element mit zwei Attributen: Ihre Feed-ID und der API-Ursprung. Es rendert in einen Shadow Root, Ihr CSS und seines kommen sich also nie in die Quere. Es zeigt Updates, die Roadmap und ein Feedback-Feld.

Was liest Changeloop aus meinem Repository?

Auf GitHub Titel und Beschreibung der Pull Requests, die in Ihren Standard-Branch gemergt werden, dazu Metadaten des Repositorys. Die GitHub App hat keine Berechtigung, die Dateien Ihres Repositorys zu lesen, jeder Build von Changeloop wird darauf geprüft, dass er nie einen Diff anfragt, und alles, was wie ein Secret aussieht, wird entfernt, bevor ein Entwurf entsteht. Der Zugriff läuft über kurzlebige Installations-Tokens statt über ein Personal Access Token. GitLab und Bitbucket senden dieselbe Art von Daten über einen Webhook, den Sie hinzufügen.

Wird irgendetwas ohne mich veröffentlicht?

Nur wenn Sie es so einstellen. Entwürfe warten im Review-Postfach, bis jemand sie freigibt, und automatisches Veröffentlichen ist ein Schalter pro Repository, der aus bleibt, bis Sie ihn einschalten.

Was passiert mit dem Feedback, das meine Nutzer senden?

Auf GitHub öffnet es ein beschriftetes Issue in Ihrem eigenen Repository, versehen mit bug oder feature-request, einer Priorität und dem Label from-widget, damit es in der Triage landet, die Sie ohnehin machen. Ein GitLab- oder Bitbucket-Projekt speist Ihr Changelog, das hier aber nicht: Für ein Issue bräuchten wir ein Access Token, um das wir bewusst nicht bitten, und Bitbucket hat seinen Issue-Tracker im August 2026 abgeschafft. Die E-Mail-Adresse des Absenders wird entfernt, bevor die Nachricht das Issue oder das Modell erreicht, das sie einordnet. Wenn Sie den Eintrag freigeben, der die Änderung ausliefert, kommentieren wir das Issue mit einem Link auf das Ausgelieferte, und der Absender sieht den Status im Widget. Eine E-Mail schicken wir ihm nicht, dieser Teil ist noch nicht gebaut.

Was ist kostenlos, und was kostet etwas?

Der Free-Tarif deckt ein Repository mit 20 KI-Generierungen pro Monat ab und enthält Changelog-Feed, Roadmap-Feed, Widget und die gehostete Seite. Der Team-Tarif ist ein fester Preis für unbegrenzt viele Repositories.

Bringen Sie Ihr Changelog in Ihr Produkt.

Legen Sie ein kostenloses Konto an, verbinden Sie ein Repository und richten Sie Ihre eigene Oberfläche auf den Feed aus.