Narzędzie changelog dla firm tworzących narzędzia dla deweloperów i API.
Changelog, który zamyka pętlę.
Użytkownicy o coś proszą. Twój zespół to dostarcza. Proszący się dowiaduje. Wpisy powstają z połączonych pull requestów, czekają na Twoją recenzję, a potem trafiają do feedu JSON lub dwuliniowego widgetu w Twoim produkcie.
Za darmo dla jednego repozytorium. Karta kredytowa niepotrzebna.
Tryb ciemny już jest
Włącz go w Ustawieniach albo pozwól mu podążać za motywem systemu.
Opublikowano w issue #482, gdzie o to proszono
Webhooki ponawiane przez 24 godziny
Nieudane dostarczenia są ponawiane z backoffem, a każda próba widnieje w dashboardzie.
Eksport CSV zachowuje Twoją strefę czasową
Znaczniki czasu w eksporcie zgadzają się teraz z tymi w aplikacji.
To czytają Twoi użytkownicy. Wpis powstał z połączonego pull requestu i ukazuje się, gdy go zatwierdzisz.
- Publiczny feed JSON w każdym planie
- Osadź widget dwiema liniami
- Szkice domyślnie czekają na recenzję
- Za darmo dla jednego repozytorium, bez karty
Twój changelog, renderowany Twoim własnym kodem
Feed to prosty publiczny endpoint z otwartym CORS dla dowolnego pochodzenia, więc możesz go odczytać ze strony, kroku builda lub curla. Dziesięć linii Reacta wystarczy, a Twój changelog staje się częścią Twojego produktu, a nie jednym linkiem dalej.
- Filtruj według repozytorium, paginuj kursorem, do 50 wpisów na wywołanie
- Silny ETag i 60-sekundowy Cache-Control, więc niezmieniony feed odpowiada 304
- Także feed roadmapy z trzema stałymi kolumnami: 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} />); }
Albo osadź dwiema liniami
Custom element renderowany w shadow root, więc ani nie dziedziczy Twoich stylów, ani do nich nie wycieka. Ma trzy zakładki: Twoje aktualizacje, roadmapę i pole, w którym Twoi użytkownicy mogą pisać.
- Dwa atrybuty, identyfikator Twojego feedu i pochodzenie Twojego API
- Przypnij wersję, by bajty nigdy się nie zmieniły, albo otrzymuj najnowszy build automatycznie
- Bez pakietu npm, bez kroku builda, bez klucza do rotacji
Tworzony przy łączeniu, zarezerwowany dla jednej osoby
Pull request zostaje połączony z domyślną gałęzią. Changeloop czyta jego tytuł i opis i pisze wpis dla osób korzystających z Twojego produktu. Twój kod źródłowy nigdy w to nie wchodzi.
- Aktualizacje zależności, zadania CI i refaktoryzacje są filtrowane, zanim cokolwiek zostanie utworzone
- Szkice czekają w skrzynce recenzji, gdzie edytujesz tekst, zatwierdzasz lub odrzucasz
- Automatyczna publikacja jest ustawiana per repozytorium, wyłączona, dopóki jej nie włączysz
Tryb ciemny już jest
Włącz go w Ustawieniach albo pozwól mu podążać za motywem systemu.
Prośba przychodzi jako issue, wychodzi jako wpis
Na GitHubie pole opinii widgetu otwiera oznaczone issue w Twoim repozytorium, więc trafia do triage, który już wykonujesz. Połącz pull request z fixes #12, zatwierdź wpis, a my dodamy komentarz do tego issue z linkiem do tego, co zostało dostarczone.
- Trzy etykiety w każdym issue: bug lub feature-request, priorytet i from-widget
- Adres e-mail nadawcy nigdy nie dociera do issue ani do modelu, który je klasyfikuje
- Sami sprawdzają status w widgecie. Nie wysyłamy im jeszcze e-maila.
Tryb ciemny, proszę
Zgłoszone automatycznie przez widget opinii.
Dostarczone: zapisane widoki w skrzynce odbiorczej
Zawarte w każdym planie
Feed JSON changeloga
Opublikowane wpisy, od najnowszych, z filtrowaniem po repozytorium i paginacją nieprzezroczystym kursorem.
Feed JSON roadmapy
Planned, building i shipped, zawsze w tej kolejności, sterowane etykietami na Twoich własnych issue na GitHubie.
Widget do osadzenia
Custom element w shadow root, z nowościami, roadmapą i opiniami w trzech zakładkach.
Hostowana strona jako rozwiązanie zapasowe
Prosta strona dla Twojego feedu, na czas, zanim zbudujesz własną, i dla linków, które zostawiamy w issue.
Tworzone z połączonych pull requestów
Tytuł i opis merge'a stają się wpisem dla klientów. Nie kod.
Skrzynka recenzji
Popraw treść, zatwierdź albo odrzuć. Odrzucony szkic można później przywrócić.
Zmiany wewnętrzne odfiltrowane
Aktualizacje zależności, zmiany w CI, refaktoryzacje i poprawki literówek nigdy nie trafiają do kolejki.
Opinie w Twoim własnym repozytorium na GitHubie
Na GitHubie zgłoszenia z widgetu otwierają oznaczone issue w Twoim repozytorium, z usuniętym adresem e-mail nadawcy. Projekty GitLab i Bitbucket zasilają tylko changelog.
Stała cena dla zespołu
Jedna cena za nieograniczoną liczbę repozytoriów w planie Team. Bez dopłat za każde repozytorium.
Pytania, które deweloper zadaje najpierw
Czy mogę renderować changelog we własnym UI?
Tak, i właśnie o to chodzi. Każdy opublikowany wpis jest serwowany z publicznego feedu JSON z CORS otwartym dla dowolnego pochodzenia, bez klucza i bez logowania, więc dziesięć linii Reacta wystarczy, by wyrenderować go we własnych komponentach. Dokumentacja dla deweloperów opisuje każdy endpoint, pole i kod statusu.
Czego widget ode mnie potrzebuje?
Tagu script i jednego elementu z dwoma atrybutami: identyfikatorem Twojego feedu i pochodzeniem API. Renderuje się w shadow root, więc Twój CSS i jego CSS nigdy się nie spotykają. Pokazuje nowości, roadmapę i pole na opinie.
Co Changeloop czyta z mojego repozytorium?
Na GitHubie tytuł i opis pull requestów połączonych z Twoją domyślną gałęzią, plus metadane repozytorium. GitHub App nie ma uprawnień do odczytu plików Twojego repozytorium, przy każdym buildzie Changeloop sprawdzamy, że nigdy nie prosi o diff, a wszystko, co wygląda na sekret, zostaje usunięte, zanim powstanie szkic. Działa na krótkotrwałych tokenach instalacji zamiast osobistego tokena dostępu. GitLab i Bitbucket przesyłają ten sam rodzaj danych przez webhook, który dodajesz.
Czy coś opublikuje się beze mnie?
Nie, chyba że tego chcesz. Szkice czekają w skrzynce recenzji, aż ktoś je zatwierdzi, a automatyczna publikacja to przełącznik per repozytorium, wyłączony, dopóki go nie włączysz.
Co dzieje się z opiniami od moich użytkowników?
Na GitHubie opinia otwiera oznaczone issue w Twoim własnym repozytorium, z etykietą bug lub feature-request, priorytetem i etykietą from-widget, więc trafia do triage, który już wykonujesz. Projekt GitLab lub Bitbucket zasila Twój changelog, ale tego nie robi. Założenie issue wymaga tokena dostępu, o który celowo nie prosimy, a Bitbucket usunął swój issue tracker w sierpniu 2026. Adres e-mail nadawcy jest usuwany, zanim wiadomość dotrze do tego issue lub do modelu, który ją klasyfikuje. Gdy zatwierdzisz wpis, który to dostarcza, dodajemy komentarz do tego issue z linkiem do tego, co zostało dostarczone, a nadawca może zobaczyć status w widgecie. Nie wysyłamy mu e-maila, ta część nie została jeszcze zbudowana.
Co jest za darmo, a co płatne?
Plan darmowy obejmuje jedno repozytorium z 20 generowaniami AI miesięcznie i zawiera feed changeloga, feed roadmapy, widget i hostowaną stronę. Plan Team to jedna stała cena za nieograniczoną liczbę repozytoriów.
Z BLOGA
Notatki z aplikacji
Notatki wydania w praktyce
Jak pisać release notes, które ludzie faktycznie czytają
Zmiany w API
Czym jest zmiana łamiąca kompatybilność, i jak ją wydać
Pętla feedbacku
Zamykanie pętli feedbacku od strony changelogu
Umieść swój changelog wewnątrz swojego produktu.
Załóż darmowe konto, połącz repozytorium i skieruj swój własny interfejs na feed.


