Lewati ke konten

Alat changelog untuk perusahaan alat developer dan API.

Changelog yang menutup lingkaran.

Pengguna meminta sesuatu. Timmu mengirimkannya. Yang meminta jadi tahu. Entri disusun dari pull request yang digabungkan, menunggu peninjauanmu, lalu dipublikasikan ke feed JSON atau widget dua baris di dalam produkmu.

Gratis untuk satu repositori. Tidak perlu kartu kredit.

acme.dev/changelog
  1. Tampilan

    Mode gelap sudah hadir

    Aktifkan di Pengaturan, atau biarkan mengikuti tema sistem.

    Diposting di issue #482, tempat fitur ini diminta

  2. API

    Webhook dicoba ulang selama 24 jam

    Pengiriman yang gagal dicoba ulang dengan backoff, dan setiap percobaan tampil di dasbor.

  3. Perbaikan

    Ekspor CSV mempertahankan zona waktumu

    Stempel waktu di ekspor kini sama dengan yang ada di aplikasi.

Inilah yang dibaca penggunamu. Disusun dari pull request yang digabungkan, dipublikasikan setelah kamu menyetujuinya.

  • Feed JSON publik di setiap paket
  • Sematkan widget dengan dua baris
  • Draf menunggu peninjauan secara default
  • Gratis untuk satu repositori, tanpa kartu
FEED JSON

Changelog-mu, dirender dengan kodemu sendiri

Feed adalah endpoint publik yang sederhana, dengan CORS terbuka untuk origin mana pun, jadi kamu bisa membacanya dari sebuah halaman, langkah build, atau curl. Sepuluh baris React sudah cukup dan changelog-mu menjadi bagian dari produkmu alih-alih satu tautan jauhnya.

  • Filter berdasarkan repositori, paginasi dengan cursor, hingga 50 entri per panggilan
  • ETag kuat dan Cache-Control 60 detik, jadi feed yang tidak berubah merespons 304
  • Juga feed roadmap dengan tiga kolom tetap: planned, building, shipped
Setiap endpoint, kolom, dan kode status ada di dokumentasi developer
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

Atau sematkan dengan dua baris

Custom element yang dirender di dalam shadow root, jadi tidak mewarisi gayamu maupun bocor ke sana. Punya tiga tab: pembaruanmu, roadmap-mu, dan kotak tempat penggunamu bisa menulis.

  • Dua atribut, ID feedmu dan origin API-mu
  • Tetapkan satu versi agar byte-nya tidak pernah berubah, atau dapatkan build terbaru secara otomatis
  • Tanpa paket npm, tanpa langkah build, tanpa kunci untuk dirotasi
PembaruanRoadmapMasukan
  1. Tampilan

    Mode gelap sudah hadir

  2. API

    Webhook dicoba ulang selama 24 jam

  3. Perbaikan

    Ekspor CSV mempertahankan zona waktumu

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>
DRAF

Disusun saat digabungkan, disimpan untuk seseorang

Pull request digabungkan ke branch default-mu. Changeloop membaca judul dan deskripsinya dan menulis entri untuk orang-orang yang menggunakan produkmu. Kode sumbermu tidak pernah terlibat.

  • Pembaruan dependensi, job CI, dan refactor disaring sebelum apa pun disusun
  • Draf menunggu di kotak peninjauan, tempat kamu mengedit teks, menyetujui, atau menolak
  • Publikasi otomatis diatur per repositori, mati sampai kamu menyalakannya
yourteam/webapp
Pull request digabungkan
Draf ditulis
Sedang ditinjau
Dipublikasikan
feat(ui): add dark theme toggle (#517)
DRAF · TINJAU

Mode gelap sudah hadir

Aktifkan di Pengaturan, atau biarkan mengikuti tema sistem.

SetujuiEditLewati
UMPAN BALIK

Permintaan masuk sebagai issue, keluar sebagai entri

Di GitHub, kotak umpan balik widget membuka issue berlabel di repositorimu sendiri, jadi masuk ke triase yang sudah kamu lakukan. Gabungkan pull request yang bertuliskan fixes #12, setujui entrinya, dan kami menambahkan komentar pada issue itu dengan tautan ke apa yang telah dikirim.

  • Tiga label di setiap issue: bug atau feature-request, sebuah prioritas, dan from-widget
  • Alamat email pengirim tidak pernah sampai ke issue atau model yang mengklasifikasikannya
  • Mereka memeriksa status sendiri di widget. Kami belum mengirim email kepada mereka.
acme/web · issue #482

Mode gelap, tolong

feature-requestpriority:mediumfrom-widget

Diajukan secara otomatis dari widget umpan balik.

Terkirim: tampilan tersimpan di kotak masuk

Termasuk di setiap paket

Feed JSON changelog

Entri yang dipublikasikan, terbaru lebih dulu, bisa difilter per repositori dan dipaginasi dengan cursor opak.

Feed JSON roadmap

Planned, building, dan shipped, selalu dalam urutan itu, digerakkan oleh label pada issue GitHub milikmu sendiri.

Widget yang bisa disematkan

Custom element di dalam shadow root, dengan pembaruan, roadmap, dan umpan balik dalam tiga tab.

Halaman hosting sebagai cadangan

Halaman sederhana untuk feed-mu, untuk dipakai sebelum kamu membangun tampilanmu sendiri dan untuk tautan yang kami tinggalkan di issue.

Disusun dari pull request yang digabungkan

Judul dan deskripsi sebuah merge menjadi entri untuk pengguna. Bukan kodenya.

Kotak peninjauan

Edit teksnya, setujui, atau tolak. Draf yang ditolak bisa dipulihkan nanti.

Perubahan internal disaring

Pembaruan dependensi, perubahan CI, refactor, dan perbaikan salah ketik tidak pernah masuk antrean.

Umpan balik di repositori GitHub milikmu

Di GitHub, kiriman dari widget membuka issue berlabel di repositorimu, dengan alamat email pengirim dihapus. Proyek GitLab dan Bitbucket hanya mengisi changelog.

Harga tetap untuk tim

Satu harga untuk repositori tanpa batas di paket Team. Tanpa biaya tambahan per repositori.

Pertanyaan yang pertama diajukan developer

Bisakah aku merender changelog di UI-ku sendiri?

Bisa, dan memang itu tujuannya. Setiap entri yang dipublikasikan disajikan dari feed JSON publik dengan CORS terbuka untuk origin mana pun, tanpa kunci dan tanpa login, jadi sepuluh baris React sudah cukup untuk merendernya di komponenmu sendiri. Dokumentasi developer memuat setiap endpoint, kolom, dan kode status.

Apa yang dibutuhkan widget dariku?

Satu tag script dan satu elemen dengan dua atribut: ID feedmu dan origin API. Widget dirender di dalam shadow root, jadi CSS-mu dan CSS-nya tidak pernah bertemu. Isinya pembaruan, roadmap, dan kotak umpan balik.

Apa yang dibaca Changeloop dari repositoriku?

Di GitHub, judul dan deskripsi pull request yang digabungkan ke branch default-mu, ditambah metadata repositori. GitHub App tidak punya izin untuk membaca file di repositorimu, setiap build Changeloop diperiksa untuk memastikan ia tidak pernah meminta diff, dan apa pun yang terlihat seperti rahasia dihapus sebelum draf ditulis. Changeloop bekerja melalui token instalasi berumur pendek, bukan personal access token. GitLab dan Bitbucket mengirim jenis data yang sama melalui webhook yang kamu tambahkan.

Apakah ada yang terbit tanpa sepengetahuanku?

Tidak, kecuali kamu memintanya. Draf menunggu di kotak peninjauan sampai seseorang menyetujuinya, dan publikasi otomatis adalah sakelar per repositori yang tetap mati sampai kamu menyalakannya.

Apa yang terjadi pada umpan balik yang dikirim penggunaku?

Di GitHub, umpan balik membuka issue berlabel di repositorimu sendiri, ditandai bug atau feature-request dengan sebuah prioritas dan label from-widget, sehingga masuk ke triase yang sudah kamu lakukan. Proyek GitLab atau Bitbucket tetap mengisi changelog-mu, tapi tidak melakukan ini. Membuat issue butuh token akses yang sengaja tidak kami minta, dan Bitbucket menghapus issue tracker-nya pada Agustus 2026. Alamat email pengirim dihapus sebelum pesan sampai ke issue itu atau ke model yang mengklasifikasikannya. Saat kamu menyetujui entri yang mengirimkannya, kami menambahkan komentar pada issue itu dengan tautan ke apa yang telah dikirim, dan pengirim bisa melihat statusnya di widget. Kami tidak mengirim email kepadanya, bagian itu belum dibuat.

Apa yang gratis dan apa yang berbayar?

Paket gratis mencakup satu repositori dengan 20 pembuatan AI per bulan, dan sudah termasuk feed changelog, feed roadmap, widget, dan halaman hosting. Paket Team adalah satu harga tetap untuk repositori tanpa batas.

Letakkan changelog-mu di dalam produkmu.

Buat akun gratis, hubungkan repositori, dan arahkan antarmukamu sendiri ke feed.