← Wróć do bloga

Jak śledzić wydania GitHub w czytniku RSS

Każde repozytorium ma kanał wydań

GitHub publikuje kanał wydań dla każdego publicznego repozytorium. Dodaj /releases.atom na końcu adresu repozytorium:

https://github.com/OWNER/REPO/releases.atom

Dla GitHub CLI, którego repozytorium to cli/cli, będzie to:

https://github.com/cli/cli/releases.atom

Kanał jest w formacie Atom, który czytniki RSS obsługują tak samo jak RSS. Każdy wpis to jedno wydanie — zawiera tytuł wydania, link do strony z wydaniem, czas publikacji oraz notatki do wydania napisane przez opiekunów na GitHub. Kanał przechowuje 10 najnowszych wydań. Nie potrzebujesz konta GitHub, tokenu ani usługi zewnętrznej, aby z niego korzystać.

Dodawanie kanału wydań do SereneReader

  1. Otwórz repozytorium na GitHub i skopiuj część adresu OWNER/REPO, na przykład cli/cli.
  2. Utwórz adres URL kanału: https://github.com/cli/cli/releases.atom.
  3. W SereneReader kliknij Dodaj kanał na dole paska bocznego i wklej adres URL w pole Adres URL kanału.
  4. Wypełnij pole Niestandardowy tytuł. GitHub nadaje kanałowi nazwę opartą wyłącznie na repozytorium, więc kanał GitHub CLI pojawia się jako „Release notes from cli". Tytuł taki jak „GitHub CLI — wydania" łatwiej znaleźć w pasku bocznym.
  5. Wybierz Folder, jeśli masz folder na wydania, a następnie kliknij Dodaj kanał.

Nowe wydania będą trafiać do czytnika razem z innymi artykułami, a notatki do wydań otwierają się w czytniku jak każdy inny wpis.

Przechowywanie kanałów wydań w jednym folderze

Jeśli śledzisz więcej niż kilka projektów, utwórz dla nich folder. Kliknij Nowy folder w pasku bocznym, nadaj mu nazwę taką jak „Wydania" i wybieraj go przy dodawaniu każdego kanału. Otwieraj folder, gdy chcesz sprawdzić, co zmieniło się w narzędziach, których używasz, i trzymaj go zamknięty przez pozostały czas.

Inne kanały publikowane przez GitHub

Ten sam wzorzec działa dla kilku innych stron. Sprawdziliśmy każdy z nich na prawdziwych repozytoriach 3 listopada 2026 roku.

Co chcesz śledzić Adres URL kanału Co zawiera każdy wpis
Wydania https://github.com/OWNER/REPO/releases.atom Tytuł wydania i pełne notatki (10 najnowszych)
Tagi https://github.com/OWNER/REPO/tags.atom Tytuł tagu lub wydania z komunikatem otagowanego commita zamiast notatek do wydania (10 najnowszych)
Commity na gałęzi https://github.com/OWNER/REPO/commits/BRANCH.atom Komunikat commita (20 najnowszych)
Commity do pliku lub folderu https://github.com/OWNER/REPO/commits/BRANCH/PATH.atom Komunikat commita dla commitów, które dotknęły tej ścieżki (20 najnowszych)
Dyskusje https://github.com/OWNER/REPO/discussions.atom Nowe dyskusje, dla repozytoriów z włączonymi Discussions
Publiczna aktywność użytkownika https://github.com/USER.atom Pushe, usunięte gałęzie i inne publiczne zdarzenia (30 najnowszych)

Kilka przykładów gotowych do skopiowania:

https://github.com/cli/cli/tags.atom
https://github.com/cli/cli/commits/trunk.atom
https://github.com/cli/cli/commits.atom
https://github.com/cli/cli/discussions.atom
https://github.com/vitejs/vite/commits/main/packages/vite/CHANGELOG.md.atom
https://github.com/torvalds.atom

Kilka pomocnych szczegółów:

  • /commits.atom bez podania gałęzi śledzi domyślną gałąź repozytorium. Dla cli/cli zwraca te same wpisy co /commits/trunk.atom.
  • Nieistniejąca gałąź zwraca błąd 404, więc jeśli czytnik zgłasza, że nie może znaleźć kanału, sprawdź nazwę gałęzi.
  • Kanał pliku przydaje się do śledzenia changelogów. Niektóre projekty zapisują notatki w pliku CHANGELOG.md zamiast w wydaniach GitHub. Śledzenie commitów do tego pliku informuje o każdej zmianie w changelogu — jak w powyższym przykładzie z Vite.
  • Projekty, które tagują wersje bez publikowania wydań GitHub, nadal mają działający kanał wydań. Linux i Go nie publikują wydań GitHub, a ich kanały releases.atom zamiast tego wymieniają tagi. Tekst wpisu to komunikat commita, więc jest krótki.

A co z całą organizacją?

GitHub nie publikuje kanału wydań obejmującego całą organizację. https://github.com/ORG.atom zwraca prawidłowy kanał, ale zawiera zdarzenia organizacyjne, takie jak dodawanie osób do repozytoriów. Dla organizacji cli i github był pusty. https://github.com/orgs/ORG.atom zwraca stronę internetową, a nie kanał.

Aby śledzić każde repozytorium w organizacji, zasubskrybuj kanał wydań każdego z nich. Nie musisz robić tego ręcznie: poniższy skrypt pyta API GitHub o publiczne repozytoria organizacji i zapisuje plik OPML — format używany przez czytniki do importowania listy kanałów. Wymaga curl i jq, obsługuje do 100 repozytoriów i pomija zarchiwizowane.

ORG=cli

curl -s "https://api.github.com/orgs/$ORG/repos?per_page=100&type=public" \
  | jq -r --arg org "$ORG" '
      "<?xml version=\"1.0\" encoding=\"UTF-8\"?>",
      "<opml version=\"2.0\">",
      "  <head><title>\($org) releases</title></head>",
      "  <body>",
      "    <outline text=\"\($org) releases\">",
      (.[] | select(.archived | not) | "      <outline type=\"rss\" text=\"\(.full_name)\" xmlUrl=\"https://github.com/\(.full_name)/releases.atom\"/>"),
      "    </outline>",
      "  </body>",
      "</opml>"' > "$ORG-releases.opml"

Zmień ORG na nazwę wybranej organizacji, uruchom skrypt i zaimportuj plik: w SereneReader kliknij Dodaj kanał, a następnie Importuj OPML. Kanały trafiają do jednego folderu — w tym przykładzie o nazwie „cli releases". Duże organizacje mogą mieć setki repozytoriów, więc sprawdź plik przed importem. W planie Free import zatrzymuje się po osiągnięciu limitu 150 kanałów.

Czy można pominąć wersje przedpremierowe?

Nie na poziomie samego kanału. Kanał wydań zawiera wersje przedpremierowe i żaden element wpisu nie oznacza ich jako takie. Sprawdziliśmy to na TypeScript: GitHub oznacza „TypeScript 7.1 Beta" jako wersję przedpremierową, ale jej wpis w kanale wygląda tak samo jak wpis stabilnego wydania. Dodanie ?prerelease=false do adresu URL kanału nie zmienia tego, co zwraca GitHub.

Można natomiast filtrować według tytułu wydania. Wiele projektów umieszcza w nazwach wersji przedpremierowych słowa „beta", „rc" lub „alpha". W SereneReader dodaj frazę w Ustawienia > Dane > Ukryte frazy lub otwórz wydanie, kliknij Ukryj artykuł i wybierz Ukryj według frazy. Artykuły, których tytuł lub podsumowanie zawiera daną frazę, będą ukrywane — również te, które pojawią się później. Na przykład fraza -rc ukrywa kandydatów do wydania Linuksa, takich jak v7.4-rc1.

Dobieraj frazę ostrożnie. Ukryte frazy dotyczą wszystkich obserwowanych kanałów i są dopasowywane zarówno do podsumowania, jak i do tytułu. Fraza taka jak beta ukryje również stabilne wydanie, którego notatki wspominają o wersji beta, a także wpisy z innych kanałów zawierające to słowo.

Warto też pamiętać o jeszcze jednej rzeczy: repozytorium zawierające kilka pakietów często publikuje wydania dla wszystkich z nich w tym samym kanale. Kanał TypeScript wymienia również wydania rozszerzenia VS Code, zatytułowane vscode-typescript/v1.0.1. Ukryta fraza taka jak vscode-typescript/ pozwala je usunąć.

Czytanie wydań z agentem AI

Jeśli śledzisz wiele projektów, możesz woleć podsumowanie zamiast każdego zestawu notatek. API SereneReader zwraca Twoje artykuły jako JSON — w tym te z kanałów wydań — więc agent lub krótki skrypt może przeczytać wydania z ostatniego tygodnia i powiedzieć Ci, które z nich Cię dotyczą. Artykuł Jak połączyć kanały RSS z agentami AI opisuje konfigurację krok po kroku. API jest dostępne w planach Pro i Team.

Kiedy kanał nie wystarcza

Kanał wydań to spokojny sposób na śledzenie używanego oprogramowania. Ma jednak swoje ograniczenia:

  • Notatki są tylko tak dobre, jak samo wydanie. Kanał przekazuje wyłącznie tekst wydania. Wpisy wydań Linuksa zawierają jedynie linię w stylu „Linux 7.4-rc1", a wpis bety TypeScript to link do wpisu na blogu. Pliki załączone do wydania również nie są wymieniane. W przypadku takich projektów warto dodatkowo śledzić kanał bloga projektu lub plik changelogu.
  • Prywatne repozytoria nie działają. Kanał prywatnego repozytorium zwraca błąd 404, jeśli nie jesteś zalogowany na GitHub, a czytnik RSS pobiera kanały bez Twojej sesji GitHub. Do prywatnych repozytoriów używaj powiadomień GitHub (opisanych poniżej).
  • Nowe wydania pojawiają się zgodnie z harmonogramem czytnika. Czytnik sprawdza każdy kanał okresowo, więc wydanie pojawia się przy następnym sprawdzeniu, a nie w chwili publikacji. To wystarczy do czytania. Nie jest to właściwe narzędzie, gdy coś musi się wydarzyć natychmiast.
  • Aktywne kanały mogą pomijać wpisy. Kanał zawsze przechowuje tylko 10 najnowszych wydań. Repozytorium, które publikuje ponad 10 wydań między dwoma sprawdzeniami — jak duże monorepo w dniu wydania — może spowodować, że niektóre wpisy znikną, zanim czytnik je zobaczy.

Gdy te ograniczenia mają znaczenie, użyj jednego z poniższych rozwiązań:

  • Menu Watch na GitHub. Na stronie repozytorium kliknij Watch, wybierz Custom i zaznacz Releases. GitHub będzie wtedy wysyłać powiadomienie — a jeśli masz włączone e-maile, również wiadomość e-mail — przy każdym nowym wydaniu. Działa również w przypadku prywatnych repozytoriów, do których masz dostęp.
  • Webhook. Jeśli wydanie ma automatycznie uruchamiać jakieś działanie, takie jak build lub deploy, webhook repozytorium ze zdarzeniem release wywoła Twój serwer w chwili publikacji wydania. Webhooki można dodawać tylko do repozytoriów, którymi administrujesz.
  • Narzędzia do aktualizacji zależności. Jeśli celem jest utrzymanie aktualności zależności projektu, narzędzia takie jak Dependabot lub Renovate otwierają pull requesty, gdy wychodzą nowe wersje.

Do śledzenia narzędzi, od których zależysz, bez konieczności zarządzania kolejną skrzynką odbiorczą, kanał zazwyczaj w zupełności wystarcza.

Adresy URL kanałów i ich zawartość sprawdzone na GitHub 3 listopada 2026 roku. Jeśli kanał przestanie się aktualizować, otwórz jego adres URL w przeglądarce, aby sprawdzić, czy GitHub nadal go udostępnia.