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.
Mode gelap sudah hadir
Aktifkan di Pengaturan, atau biarkan mengikuti tema sistem.
Diposting di issue #482, tempat fitur ini diminta
Webhook dicoba ulang selama 24 jam
Pengiriman yang gagal dicoba ulang dengan backoff, dan setiap percobaan tampil di dasbor.
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
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
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} />); }
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
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
Mode gelap sudah hadir
Aktifkan di Pengaturan, atau biarkan mengikuti tema sistem.
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.
Mode gelap, tolong
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.
DARI BLOG
Catatan dari aplikasi
Praktik catatan rilis
Cara menulis release notes yang benar-benar dibaca orang
Perubahan API
Apa itu breaking change, dan cara merilisnya
Siklus umpan balik
Menutup lingkaran umpan balik dari sisi changelog
Letakkan changelog-mu di dalam produkmu.
Buat akun gratis, hubungkan repositori, dan arahkan antarmukamu sendiri ke feed.


