Skip to main content

Changelog

What is new in Chronik.io, and what was fixed. Written for the people using it, and kept short on purpose.

Changelog

2026-10-01

✨ New

  • "Only tags matching" takes several patterns. Separate them with spaces, and a tag gets through when it matches one of them, so v* and 20* can go to the same channel. A suggested pattern is now added to the field instead of replacing what you typed.

⚡ Improved

  • The tag preview of a rule can check your settings again. Once it has loaded, a button reads the latest releases and tags once more, and a name that matches your patterns says so even while a switch such as "Pushed tags" still keeps it out.

🐛 Fixed

  • A webhook endpoint you set up can now be chosen as the destination of a rule. It used to be listed with your webhook endpoints and offered nowhere a rule is made. Deleting a webhook endpoint also removes it from your destinations: the rules that pointed at it are paused and say that their destination is gone, instead of trying to deliver to an endpoint that no longer exists.
  • A rule pauses when your account no longer has access to its repository on GitHub, and comes back on its own once you have access again. The rule list says so beside the rule. The rule editor now says why it cannot save a rule for a repository your account no longer has access to, instead of doing nothing when you press Save.
  • A rule pauses when its repository is archived, deleted or moved to another account, or when the Chronik.io app loses access to it, and the rule list says which. Unarchiving or restoring the repository, or giving the app access again, switches the rule back on. A rule whose repository moved stays off until you switch it on, which works where you have access to the repository now.
  • A webhook endpoint you switch off under webhook endpoints now shows as disconnected on the destinations page. Its rules pause, and nothing sent to it while it is off is offered for a retry. Switch it back on and the destination and its rules return within five minutes, or at once with Reconnect.
  • A webhook destination you disconnected can be reconnected from your destinations. A successful test ping to its endpoint no longer reconnects it on its own.
  • Reconnecting a destination you disconnected switches its rules back on. After a Slack workspace, a Discord channel or a Telegram channel was connected again, its rules stayed paused until each one was switched on by hand.
  • A rule for a public repository you watch can be switched on again once the repository is back. It is paused while the repository cannot be reached, and switching it on afterwards used to be refused. When a rule cannot be switched on, the message now says why.
  • When Slack refuses a channel, the advice now brings your rule back. After inviting Chronik.io into the channel or unarchiving it, press Send a test on the rule: a test that arrives switches the rule back on. The mail and the rule list used to suggest switching the rule on or retrying, which left it stopped.
  • Messages of a rule that is switched off stay as they are when a release is edited. Corrections to a release used to reach them too.
  • Deleting one release on GitHub no longer removes the message that announced several releases at once. With a rule that collects releases into one message and marks or deletes withdrawn ones, that message was replaced or removed entirely; it now stays as it was posted.
  • A name you gave a Discord or Telegram destination stays when you reconnect it. Reconnecting a Discord channel or verifying a Telegram channel again used to replace it with the server's name or the channel's title.
  • Rules for Discord and Telegram show the channel they post to. Rules created in bulk, and some older ones, showed the name of the connection instead.
  • Rules can be assigned in bulk to a Slack workspace when you have connected more than one. The channel list stayed empty before, so the assignment could not be completed.
  • Assigning rules in bulk no longer creates rules that can never post. A batch that watches nothing, or whose destination is no longer connected, is refused with a message that says why, and nothing is written.
  • Connecting a Telegram channel when your account has no room for another destination now says so. The page used to report the channel as connected, and nothing new appeared on your destinations.
  • The rule count on the repositories page now matches your rule list. A repository could show more rules there than your rule list had for it.
  • Deleting your account no longer takes your organization's public changelog offline or removes a repository's picture while other members still hold the installation. Both stay for them. They go with your account only where nobody else holds the installation, as before.
  • Changing the passphrase of a shared changelog now asks everybody who opened it with the old one for the new passphrase. Switching the changelog off and on again under the same passphrase keeps them in.
  • Messages about paused rules and about watching a repository are translated into Spanish, French, Italian, Dutch and Portuguese. Eight of them were shown in English.

2026-09-30

⚡ Improved

  • When you delete your account, the record of what you agreed to no longer names you. It keeps the proof of which document you accepted and when, and drops your account, your IP address and your browser from it.
  • Your data export includes the change notices that have not reached you, and the pseudonym your consent records carry. A notice about changed legal texts that is still on its way, or that could not be delivered, is listed with its document, when it was queued and how often delivery failed. The pseudonym is the identifier your consent and notice records keep after an account is erased.

🐛 Fixed

  • The unsubscribe button your mail app shows on the weekly summary now works. Pressing it used to leave the summary switched on.
  • The weekly summary no longer skips accounts when many accounts ask for it. When more accounts had it switched on than one run may mail, some of them could miss their summary every week.
  • The mail saying that your subscriptions pause tomorrow now keeps its word. When an account had been quiet for longer than the notice period, the pause could follow that mail within seconds.

2026-09-29

⚡ Improved

  • A page that does not exist says that your session may have ended, and offers to sign you in. It used to say only that the page might have been moved or removed, which is not what happened when you were signed out.
  • The health page in the admin area names a background task whose last run failed. Such a task used to count as running, so a task that failed every night left the page green.

🐛 Fixed

  • A security mail to an account without a password no longer offers a password reset. An account that signs in with GitHub has no password to reset here, so the mail about a new device or a changed second factor now leads to your account settings and tells you to secure the service you sign in with and your mailbox first.
  • A notice about changed legal texts reaches you once. It could be sent a second time while the first was still on its way.

2026-09-27

⚡ Improved

  • The mails about a new sign-in, a changed password, a changed email address and two-factor authentication say when it happened, from which address, on which device and in which application. They point you to resetting your password, which also signs you out on every other device.
  • Search fields and pickers show their placeholder in your language. They used to read "Search…", "Add filter" and "Select..." whatever language you chose.

🐛 Fixed

  • Maintenance on our side no longer signs you out. You may have to sign in once more after this update.
  • Your recovery codes are shown once, right after they are created. Save them before you leave the page. Creating a new set replaces the old one.
  • On a narrow phone the six boxes of the sign-in code break into two halves of three, the way an authenticator app shows the code. They used to break after the fifth box.
  • An expired link to confirm your email address says that it expired. It used to tell you that you could not open it.
  • A destination whose name contains an apostrophe can be chosen in the rule wizard. Its button did nothing before, which also held for a Telegram chat whose title has one.
  • The screen that asks for your consent to changed terms has a heading of its own, and the notice about changed terms lines up with the rest of the page. The notice sat indented and directly on the text below it.
  • A link in a mail breaks between words on a phone instead of in the middle of one.
  • Names in our emails are shown exactly as they were written. A repository, channel or workspace name could be read as formatting, so a name with *, [ or < in it could change how an email looked or even add a link to it. Such a name is now plain text, in the HTML and in the text version of the email.

2026-09-26

✨ New

  • You can send a test from the rule editor, before you save. It posts a made-up release with the template and the summary setting chosen on the page, so you see what the rule will post, and it changes nothing about the rule. When Discord or Telegram refuses a test message, the message says why.

  • Your preferences tell you when we have stopped emailing your address. They say why and since when. If your mailbox refused our mail, you can switch it back on once a day; if a message was marked as spam, write to us at the address in the imprint.

⚡ Improved

  • Changing your email address asks for your password, and your previous address can undo it. The address you left gets an email with a link that restores it for seven days, signs you out everywhere and asks for a new password.
  • You get an email whenever two-factor sign-in changes on your account. That is when it is turned on or off, when your recovery codes are replaced, when a sign-in uses one of them, and after several wrong codes in a row.

🐛 Fixed

  • "Try again" on a failed delivery no longer announces a release that was deleted on GitHub. The row says why instead, and each retry now appears in your audit log.

2026-09-25

✨ New

  • The rule form shows, on request, which of your latest releases and tags a rule would announce. Each name is marked as it would be delivered, with the reason when it would not, and the marks follow the form as you type. Where the names follow a scheme, such as dates for staging and versions for main, the form suggests a pattern for each and sets it with a click.

2026-09-24

✨ New

  • You can create an account with your email address. The sign-in page has a Register button beside Sign in. An account made this way follows public repositories, and its password can be reset or changed in your preferences.

🐛 Fixed

  • A rule can no longer leave out every tag it lets in. With the same pattern under "Only tags matching" and "Except tags matching", or * left out and nothing let in, a rule could never post and was saved anyway. The form now names the pattern that leaves out everything, and it warns when a pattern is written for pre-releases while "Include pre-releases" is off.

  • When something is refused, the reason stays on screen until you try again. It used to disappear with the next change to a form or a filter, and on the Deliveries page within three seconds.

  • A failed test message in the template editor is shown once, as a warning. It used to appear twice, and after the next change to a field only in green, as though it had worked.

  • Emails about a repository name it in the text. When a repository was moved, archived or deleted, the email said which one only in its subject.

2026-09-23

✨ New

  • A thin bar at the top of the page shows that something is loading. When a click, a page turn or a filter takes longer than a moment, a bar runs along the top edge until the page has answered, so a slow response no longer looks like a click that did nothing.

  • Repositories that publish tags instead of releases now announce their new versions. A new rule for such a repository has "Pushed tags" switched on, the list of watched repositories marks it "Tags only", and "Include pre-releases" decides whether alpha, beta and release-candidate tags come along. Other repositories you only watch now report their tags too, to every rule that asks for them.

  • A rule can leave tags out. Next to "Only tags matching" there is now "Except tags matching". With pre-releases switched on and *-alpha* left out, a channel gets betas and release candidates but no alphas.

⚡ Improved

  • Buttons that stand on their own are easier to hit. The next step in onboarding, the way out of an empty list, a form's second action and the links in a dialog now use the regular size. Buttons that repeat on every row of a long list stay compact, so the list stays readable.

  • A message that a mail server briefly refuses is no longer lost. Twelve kinds of notice — the weekly digest, a warning that a destination stopped working, the confirmation link for deleting your account among them — were sent once and dropped if the server answered "not now". They are retried after a minute and again after five.

  • Emails arrive in the language you use the app in, even if you never picked one in your settings.

  • A watched repository announces every release, pre-releases included. When two releases went up within the same hour, only one of them was announced. Now each one is, in the order it was published, and pre-releases reach the rules that include them.

🐛 Fixed

  • The feedback button no longer covers the end of a page. Every page that shows the feedback button in its corner now leaves room below its last line, so nothing ends up hidden underneath it.

  • Your data export, account deletion and consent overview stay reachable while a new legal text is waiting for you. Accepting it was never a condition of those rights, but the gate in front of them behaved as if it were, so an account with an outstanding document was sent to the acceptance screen instead of to its own data.

  • Tags reach every destination, and only the ones a rule asked for. Tags now arrive on Telegram, Discord and webhooks, where they used to fail. A tag whose name marks it as a pre-release, such as an alpha or a release candidate, reaches a rule only when "Include pre-releases" is on, and the help page on pre-releases lists the names that count.

  • Commits pushed to a branch are offered for Slack channels only. Telegram, Discord and webhook endpoints cannot show a list of commits, so a rule there no longer offers the switch, and one that had it on stops failing on every push. Repositories you only watch no longer offer it either, because their commits could never arrive.

  • Pre-releases posted to Discord say that they are pre-releases. They used to look like finished versions there.

  • Two-factor authentication points to where it applies to you. You sign in with GitHub, so the second step of your sign-in is set up in your GitHub account. The dashboard and your preferences now link to GitHub's security settings instead of a page that asked for a password you do not have.

2026-09-22

🐛 Fixed

  • A release summary puts its emoji on the headings and lists the points under them as bullets. Every line carried an emoji of its own instead, with no bullet anywhere, because the request sent to Claude asked for both at once. Each heading now carries one emoji for the kind of change beneath it; switched off, no emoji appears, headings included.

  • A release without a title says so. The title column left an empty cell, which reads as something failing to render rather than as a release that shipped without notes.

  • An expired link answers with a page instead of a bare error. A link that has run out has always been refused; it was refused without anything to read. There is a page for it now that says what happened and what to do next.

⚡ Improved

  • The weekly summary names the week it covers. The subject line named a single day and a time of day nobody needs; it names the span it reports on instead, Monday through Sunday.

  • A security notice is no longer lost to a hiccup at the mail server. The messages about a password change, a new address, a new device, a second-factor code and a disabled webhook endpoint are retried when the send fails for a reason that passes — a timeout, a refused connection — rather than dropped on the first attempt.

  • Your data export now includes every legal document you were shown. Beside your consent history it lists which document, which version and language, and a fingerprint of the exact text you saw, so an entry can be matched against the published one. The wording itself stays out: it is the document's text, not your data.

  • An administrator can no longer lock the admin area by removing a role. Taking a protected role off your own account, or off the last account that holds it, is now refused before anything is saved, with a sentence that says why. Either change used to leave nobody able to reach the admin area, and only the console could undo it.

2026-09-20

✨ New

  • Three new screens in the admin area: backups, the outgoing-mail log, and an editor for the legal texts. Backups says what each destination holds and how the last runs went. The mail log says what was handed to a mailer and what became of it, metadata only. The editor shows every legal document in every language, and nothing reaches a reader until it is released.

⚡ Improved

  • The same thing now looks the same on every screen. A repository name, a destination, a platform and a point in time each have one shape across the whole application, so you can recognize what you are looking at before reading it — and there is a written rule saying what that shape is.

  • Every screen says when something happened the same way. A time was shown as "2 days ago" on one screen and as a full date on the next, with no way to get the other reading. Each now shows the relative one and carries the exact moment — date, time and the wording your language uses — where a pointer or a screen reader can reach it.

  • The delivery log and the rules list name what each side of a line is. A repository and a destination ran as prose with an arrow between them, so a source and a target looked like one long identifier and nothing said which kind of connection it was. Both are now set as code in two colors, behind the platform badge, the same way on both pages.

  • Each entry names its kind in words, at the size of the version beside it. It showed the stored value, so an edited release read as "release_update", set smaller than the version it belonged to.

  • Every page header takes its spacing from the same place as the rest of the interface. The title row was drawn by hand and had drifted a few pixels from the components around it, so a heading, its sentence and its buttons now sit together the same way on every screen.

  • Setting a destination for a watched repository now takes you somewhere you can choose one. The button led to the connections page, which cannot select — so the step you started could not be finished. It opens the rule wizard instead, and finishing it names the rule and where it posts.

🐛 Fixed

  • Thirty settings can be configured again. Seven on consent, six on analytics and seventeen on the feedback form were described as settable while the value written beside them won regardless, so setting one changed nothing and said nothing. Among them the caching of a rendered legal document, the request timeouts, the attachment limits and the rate limits.

  • Five more kinds of secret are stripped from a recorded address. A refresh token, an identity token, a JSON web token, an authorization code and a sign-in state parameter are now removed from the query string before a page view is stored, alongside the ones that already were.

  • A page your browser fetched ahead of your click is no longer counted as a visit you never made. A page fetched ahead by the navigation layer was already ignored; one the browser fetched on its own from a speculation rule arrives as an ordinary request and was counted right then. It is now counted when the page is actually shown to you.

  • A rule that has never delivered says nothing there, instead of showing a dash. The line meant to report the last delivery kept the words around the time when there was no time to show, so it read as a damaged value rather than an absent one.

  • The feedback panel's category picker is the same height as every other field in it. It sat shorter than its neighbors, which made the row read as misaligned and gave that one control a smaller target than the panel promises for all of them.

2026-09-18

🐛 Fixed

  • A long release arrives in chat with its notes, not just its first heading. When a release had more to say than your message template allows, everything under the first heading was dropped and the post showed a single word. The post now carries as much of the notes as the template has room for, stopping at a whole word.

  • Deleting all rules now deletes only the ones you filtered to. Narrowing the list to one platform and pressing "delete all" removed every rule on the account, including the ones the filter had just hidden. It now removes exactly what the list is showing.

  • The audit log now shows what a deletion recorded, not a dash. A deleted rule leaves an entry naming the repository, the channel and the destination — and the column meant to describe the change showed nothing, because a deletion has no before and after.

✨ New

  • Chronik tells you when a Claude summary is not happening. The release still goes out with the original notes, so nothing looked wrong. Now the rewrite switch needs a stored key, affected rules are marked on the rules list, their template card and your dashboard, and a refused key sends you an email.

⚡ Improved

  • The rules list filters by template and says when each rule last delivered. A fourth filter narrows to one template, or to the rules using none. The badges now read platform, channel, repository, state. An em dash marks a rule that has never delivered — the most common setup mistake there is.

  • The delivery list says exactly when, which template shaped it, and fits two to a row. Each entry carried only "2 days ago"; it now shows the exact moment, names the template the rule uses, and sits two across on a wide screen.

2026-09-17

🐛 Fixed

  • A webhook endpoint you switched off yourself stops being reported as a failure. Turning an endpoint off used to be read as the system having disabled it after repeated errors, so the daily health mail kept asking you to turn it back on — for a whole day, about the endpoint you had deliberately stopped. Only an endpoint the system disabled by itself is reported now.

  • Escape closes the navigation menu on a phone the first time you press it. Opening the menu and pressing Escape straight away used to be ignored for a fraction of a second, so it took two presses — most noticeable when the menu was opened by accident.

⚡ Improved

  • The refusal in the rule editor stands above the options it is about. When a rule watches neither releases nor tags, the sentence saying so used to sit between "Pushed tags" and "Commits pushed to a branch". It now stands directly under "What should it watch?", ahead of the boxes, and a screen reader hears it announced for the group as well as for the two boxes it marks.

2026-09-16

⚡ Improved

  • The audit log keeps the last two weeks. Entries used to be held for a year, which made the screen thousands of pages long; they are now removed fourteen days after they are written. The page says the period it actually applies.

🐛 Fixed

  • Signing in works however your address is capitalized. An address typed with a capital letter could leave an account that could not be signed into with its password, and a GitHub sign-in could end on an error page.

  • You can report a problem from the sign-in screens. The feedback button was missing from every page you see before signing in — which is exactly where you need it if you cannot get in.

  • The audit log lists what people did. Checking the repositories connected to GitHub used to write one entry per repository on every pass — close to eighteen thousand a day for an account with 186 — burying anything a person had actually done. A repository is now recorded only when it really is added, put back, or moved.

  • Every audit entry says what it is about. Rows named their subject by an internal number that appears on no other screen. They now carry the name, and fall back to the number only for an entry that never recorded one.

  • The audit log says what happened, in your language. Most entries showed a storage name like installation_repositories.added; they now read "Access granted", "App suspended" or "Rule deleted" in each of the seven languages. The event filter offers all of them too — it used to list three and could not select any of the rest.

  • The webhook administration page reads like the rest of the application. It has a heading and a line saying what it is for, a long endpoint address now wraps instead of pushing the status and the buttons out of view, those buttons no longer sit flush against each other, and confirming the removal of an endpoint shows the same bin symbol as the button that opens the dialog.

  • A release summary looks the same whatever project it is about. Summaries used to copy the shape of the release notes they were written from, so one arrived neatly grouped under headings and the next as a flat list with an emoji on every line. They now carry a title, group what changed under a few headings, and put the emoji on the heading instead of on each entry.

2026-09-15

✨ New

  • The nightly backup can be written off the machine. A second, S3-compatible destination with its own credentials can be switched on for any provider; until it is named, the archive stays on the host exactly as before.

  • Mails link the legal pages. The imprint, the privacy policy, the terms and the other legal pages are one click away from the footer of every mail.

  • The weekly summary groups releases by repository. Each repository has its own box with a table of its releases, and the table stacks into rows on a phone.

⚡ Improved

  • Long names now wrap wherever they appear. A repository, destination, channel or template whose name has no spaces or hyphens used to run past the edge of its card on a phone. It now wraps — on the dashboard, the rule list, the rule editor and its wizard, the repository list, the destination list, the template list and the bulk assignment.

  • The interface fits on a phone in every language. Labels that are longer in translation than in English — the button that manages repositories on GitHub, the buttons on the consent screen — wrap instead of running off the edge.

  • A summary's emoji says what kind of change a line is. Fixes, new capabilities, improvements and documentation each carry their own mark, and the same kind always carries the same one, so a channel can be skimmed instead of read. The switch that turns emoji off entirely is unchanged.

  • Rule editor messages stand where the problem is. A rule that watches nothing now says so directly under the release and tag options instead of further down the page, and a screen reader hears each message on the option it belongs to.

  • The actions on the webhook endpoint list look like the rest of the application. Send a test, Secret, Edit and Delete carry a background and an icon, like every other action.

  • The page controls under a rule's deliveries match the rest of the product. They follow the dark theme and are announced in your language.

  • Long lists turn their page in place. The users list, the audit log and a rule's delivery log move to the next page without reloading the whole screen.

  • Delete dialogs are easier to get right. The button that confirms a deletion is as large as Cancel beside it, deleting a role names the role in the question, and backing out puts the keyboard back on the Delete button you pressed instead of at the top of the list.

  • The feedback button shows a message icon instead of a plus. A plus reads like a button that creates something, and several screens already carry a New button of their own.

  • The user roles screen fits a phone. On a narrow screen the address shows under each name instead of in a column of its own, so the roles and the button to edit them stay in view.

  • The webhook pages fit a phone. Each endpoint is one compact row instead of a column of wrapped words taller than half the screen, and the delivery filters sit side by side, labeled From and Until so it is clear which date starts the range.

🐛 Fixed

  • Forms wait for the page before they send. Pressing Enter in a form before the page had finished loading used to submit it the old way. Forms now wait, as they were always meant to.

  • The terms are shown before first use in every language. An account set to Spanish, French, Italian, Dutch or Portuguese now sees them like every other account.

  • Screen readers read the terms in the right language on the consent screen. When the terms are shown in English on a page in another language, the text says that it is English.

  • Error pages carry your language, your theme and a way back. Every status — a missing page, a refused one, an expired form, too many requests, a refused sign-in — now has a page in the reader's language that follows the chosen theme and offers a link to the start page, instead of a plain white screen in English.

  • Pages no longer flash light in dark mode. Whether you chose dark or your system prefers it, every page now opens dark.

  • English no longer shows through in other languages. The greeting, the sign-off and the note under a button in mails, the message when a changelog passphrase is missing, the declaration about watching a branch and two navigation labels were all still English whatever language you had chosen.

  • French uses one form of address throughout. Every instruction in the French interface uses the informal form instead of switching between the two.

  • The line under a summary is in the summary's own language. With the language left unchanged, an English summary no longer gets a German sentence underneath it on a German installation, or the other way round. A very short summary — a couple of bullet points — may still carry the installation's default language there, because it says too little to be read.

  • Editing roles no longer fails silently. If a role or permission is deleted while you are editing, the form says so, and saving again keeps the rest of your choice.

  • Error messages no longer appear twice. A wrong passphrase, a branch name that is not valid and a refused changelog setting each showed the same message twice in a row.

  • The navigation closes where it opened. On a phone, a second tap on the menu button closes the navigation again instead of opening the dashboard.

  • The audit log keeps your filter when you turn the page. A filter by event or date also stays in the address, so a filtered view can be bookmarked or shared.

  • The weekly summary names each release once, and its names are links. A repository announced to more than one destination no longer appears twice for the same release, the count at the top counts releases, and a repository name that looks like a web address no longer turns partly into a link to that site.

  • Unsubscribing from the weekly summary opens your preferences. The link is in the footer of the mail, and your mail app's own unsubscribe button keeps working without signing in.

  • The webhook health alert reads correctly when a single endpoint or delivery is affected. One failing endpoint is now reported as "1 webhook endpoint is failing … read its recent deliveries", which is the count these alerts fire on most often.

  • Error pages survive a failed asset build. A deploy whose assets could not be built no longer drops the reader onto a bare technical page. The maintenance and server error pages keep their message, the way back to the start page stays on the first screen, the logo stays logo-sized, and the page follows your light or dark setting.

  • A notice about a change to the legal documents says what it asks of you. One that needs no action no longer offers a review, and one that takes effect unless you object says so, with the date.

  • The consents page reads as one page. It goes straight from its title to your documents instead of repeating that title in a second heading, it leaves out a Consents section with nothing in it, and its title is the size every other page uses.

  • The feedback form reports an empty message once, and reads correctly in Safari. The same complaint used to appear under the message box and again at the foot of the form; in Safari its buttons were white on white in the dark theme and the category picker was about half the height of the other fields.

  • The audit log's date filters look right in Safari. Their text sits in the middle of the field, an empty date no longer looks as if one were set, and multi-select fields match the height of the fields beside them on phones and tablets.

  • The menu on your phone names every page. It used to show only icons.

2026-09-14

⚡ Improved

  • One key takes you past the navigation. Press Tab on any screen and the first thing you reach is Skip to main content — follow it and the keyboard lands in the page itself, instead of walking the rail, the header and the account menu first.

🐛 Fixed

  • Mail to your account now arrives in the language you chose. Security notices, the weekly summary and the notices about paused rules went out in English, even when chronik showed you every screen in another language.

2026-09-13

⚡ Improved

  • A release renamed on GitHub now shows its new name in the headline of its Slack thread as well. Nothing is posted again and nobody is notified.

  • The line under an AI summary now names the model that wrote it, for example "Summarized by Claude Haiku from the original release notes.", in the language of the summary.

  • Your consents page lists contracts, acknowledged notices and consents you can withdraw separately. Each shows its version, and a screen reader announces a withdrawal as soon as it is recorded.

🐛 Fixed

  • A confirmation now gets out of its own way. After you confirm something — sending the deletion link, disconnecting a destination, forgetting a key — the dialog closes instead of standing in front of the message that says what happened. On the deletion screen that message could be a refusal, which you could not see at all.

  • The button that clears your chosen repositories now reads "Deselect all" in English, matching the "Select all" beside it. It does exactly what it did before, and the other six languages are unchanged.

  • "Sign in" shows in the header on an iPhone. On public pages such as Contact, Help and the changelog, the button sat past the right edge of the screen, so there was no way to sign in from the top of the page.

  • A change to a legal document that takes effect unless you object now shows its deadline. While you are signed in, it appears at the top of every screen, next to the notices for changes that need your acceptance and for changes that are only for your information.

  • Three layout problems on a phone are fixed. A long breadcrumb at the top of a page can be swiped sideways instead of being cut off mid-word, the setup steps on the dashboard take a second line instead of running past their buttons, and the controls above your repository list use the full width.

2026-09-12

✨ New

  • Every delivery links to the message it wrote. The log said a release had been posted and left you to find it; each entry that can be addressed now opens it in a new tab. Deliveries that never landed show no link.

⚡ Improved

  • The report form explains itself. The star on a required field now has a key, a rejected field says what is wrong right under it, and a finished report offers a way out rather than only "send another".

🐛 Fixed

  • A revoked account can no longer reload its own endpoint list. The check that ends a revoked session ran in a place a lazily-loaded list could skip on the request after it. Nothing else was reachable — the list holds no secrets, and every action on it was refused separately.

  • The report form is back on every page. It had vanished from the landing page and the public changelog pages — the button to report something was only there once you were signed in.

  • The deliveries page spaces its entries again. Every delivery sat flush against the one below it, so the log read as one block rather than as a list.

2026-09-11

✨ New

  • What you type under “Anything to add, in your own words” now appears in the message, word for word under Claude’s summary and above the line saying Claude wrote it. The preview and “Send a test” show it too. It is no longer sent to Claude, so if you used it to steer the summary, check your templates: those words now reach your channel.

🐛 Fixed

  • The line saying Claude wrote a summary, and your own words under it, are never cut off by your template’s length limit. A summary is now written to fit that limit, and if a message still runs long, it is the summary that gets shorter.

  • A rule that turns the summary on for itself keeps its template’s language and emoji setting. Such a rule used to get its summary in the language of the release notes, with emoji, whatever the template said.

  • The template editor and the help page say what “Leave the language unchanged” does. The summary keeps the language of your release notes, and the line saying Claude wrote it is in English, because chronik cannot tell which language your notes are written in.

  • A template that does not show the release notes no longer pays for a summary. Nothing would have shown it, yet the call still went to your Anthropic key. The editor now says so next to the switch, and the delivery log names the reason.

  • A rejection in the feedback form is drawn in its bordered box. The box had been announced earlier and did not appear until now.

  • Discord forum channels cannot be connected, and the destinations page now says so. Discord's connection dialog does not offer forum channels, and it is the only way to connect a Discord channel here. An earlier entry on this page said forum channels work; it described sending to one, which was never possible without a way to connect it.

2026-09-10

✨ New

  • Your repository picture no longer has to be square. Anything from a 4:1 banner to a 1:2 portrait works, and 1:1 and 16:9 are what we recommend. The width has to be at least 512 pixels and the height at least 128; a picture outside those proportions is cropped from the middle rather than turned away.

  • A summary marks each section with one emoji, so a fix is distinguishable from a new capability before you have read the sentence. A switch in the template turns it off for a channel that prefers plain text.

  • A member of an organization a destination was shared into can read its delivery log. They cannot send a delivery again from it — seeing what was sent and causing a fresh request to leave under that destination's name are different permissions.

⚡ Improved

  • The preview shows a summary exactly as it will be sent, or styled the way a chat client will show it. Its character count names the limit you set rather than the destination's own ceiling, so there is no guessing which of the two would cut the release.

  • Previews are no longer limited to three per visit. Each one is a call on your own key, and the old way around the limit was reloading the page, which threw away everything unsaved.

  • A name inside a sentence is set apart from it — a repository path, a tag pattern, a channel — so the eye finds where the name ends and the sentence goes on.

  • Screens that had nothing on them now say what the thing is and what to do about it. The rules list answered with "No rules yet." and stopped there. A filtered list that matches nothing now says your rules are still there, instead of being indistinguishable from having none.

  • Reading what the AI rewrite means for you no longer throws away the template you were writing. The link under the switch used to leave the page, and every field on that screen stays unsaved until you press Save. It opens in place now.

  • The rule screen offers all three answers — follow the template, always rewrite, never rewrite — and says what the template you picked actually does, so you do not have to open a second editor to find out. It used to show a checkbox with two, and read as "off" for a rule nobody had ever answered.

🐛 Fixed

  • A long document in a dialog scrolls inside the dialog. Opening the privacy policy from the consent screen used to stretch the dialog past the window and push its heading off the top, so the text began mid-sentence with no way back to the start — on the one screen whose purpose is that it can be read before it is accepted. On phones too.

  • The navigation bar no longer opens itself every time you load a page. If you had it open, it now arrives open, before anything is drawn. The first page you load after this update finds it closed once; open it again and it stays that way.

  • A corrected release keeps its summary. Editing a release on GitHub used to replace the message in your channel with the original notes, seconds after the summary had arrived correctly.

  • A release announcement no longer gets a follow-up saying the notes were updated when they were not. Editing anything at all — even a field that never appears in the message — used to add "The release notes were updated. Read them" underneath. It appears only when the message genuinely changes.

  • A repository you create after connecting Chronik appears on its own. With "All repositories" chosen at GitHub, a newly created one is covered from the moment it exists, but GitHub announces nothing — so it never reached this app. It is picked up within a quarter of an hour, and the repositories screen says what to do if you cannot wait.

  • A bulk assignment no longer reports itself back as "already set up". Selecting repositories and pressing the button created the rules and then announced that those repositories were being left out because they already had one — true only because the click had just made it true.

  • A confirmation appears where you made the change, and once. Changing your language or time zone also lit a confirmation further down the preferences page, beside a switch you had not touched; saving a repository picture confirmed twice on one card.

  • A message no longer says "… truncated" when you set the character limit yourself. That limit is your choice, so honoring it needs no apology. Where a platform's own ceiling cuts a message you expected whole, the note still tells you — and a short limit now spends all of itself on your release notes instead of on the note.

  • A long release note with a code block no longer risks losing the whole Telegram message. Where the note has to be shortened, the block is dropped cleanly instead of being cut open.

  • The delivery log says when nothing asked for a rewrite, instead of leaving that line blank. That was the one case it stayed silent about, and it is the case people ask about.

  • A link inside a summary leads where it points. A release note mentioning a file in its own repository showed that path as plain text in the preview instead of a working link.

  • The preview button says what is missing instead of answering with a warning. While you are writing your first template there is no release for it to run over yet, and it used to tell you to pick a rule — on a screen that offers no way to pick one.

  • The "Short and to the point" preset no longer claims to answer in the release notes' language. The language selector below it decides that, and always did.

  • Backup mail arrives only when a backup failed. The nightly no longer writes to say it worked.

  • The logo in the sidebar no longer highlights when you point at it. It was drawing the same filled block a selected navigation row draws, which made it look like something you could pick rather than the product's own mark. Tabbing to it still shows the focus ring.

  • The imprint and privacy notice name our current company. The registered details are unchanged: same legal person, new name.

  • A rejected attempt to tamper with a page no longer shows up as an application error. The attempt is still rejected.

2026-09-09

✨ New

  • Claude can write your release notes, and the privacy notice and terms say what that involves — what is sent, that nothing is sent until you switch it on, whose key and contract it runs under, and that the summary carries no warranty. If your key is refused, the release notes go out unchanged rather than the announcement failing.

  • A summary written by Claude says that it was. The line appears on every destination, in the language the summary is in, and only when a summary actually went out — release notes that reached a channel unchanged carry nothing, because the text is then their author's own.

  • A new help page: "When Claude writes your release notes". What Chronik does, the narrow case where publishing a summary puts a duty on you as the publisher, and how narrow the human-review exception really is. In German and English.

  • The rewrite switch, the key screen and the rule editor say what turning it on sets off — where the release note goes, whose bill the call lands on, and that the summary is marked as written by a model. Three sentences at the control rather than a paragraph in the privacy notice.

  • A webhook event says whether its notes were written by a model. The release payload carries an ai object with the model, the preset and the timestamp, or null when the notes are the ones their author published. It is optional and nullable, so a consumer written against the earlier shape keeps working.

🐛 Fixed

  • A rejection in the feedback widget reads as a rejection. A failed screenshot, a file too large or of the wrong type, a submit that did not go through: each now sits in a bordered box instead of looking like the hint above it. Discarding a screenshot also clears the message that asked you to deal with it.

  • The note under a delivery reads in your own language. "The post could not be edited, so the updated notes were added as a reply" and its two neighbors were stored in English by the job that wrote them and shown unchanged, whatever language the rest of the interface was in. Deliveries that already carry the old wording are translated too.

  • The default template is recognizable on the templates page. The card called Compact now carries a Default badge, since that is what the wizard calls it. The wizard also explains the difference: choosing Compact by name pins it, while "Use the default" follows the shipped default if that ever changes.

  • The cookie policy lists the one thing stored on your device that is not a cookie — your theme choice, written only if you use the switch. There is still no cookie banner, and the reasoning is now written down: analytics runs server-side, no third-party host is embedded, and everything stored is strictly necessary or triggered by something you did.

2026-09-07

⚡ Improved

  • The repository list and bulk assignment stay quick as an organization grows. Both asked the server the same permission question once for every repository on the screen, so a connection with a few dozen repositories spent most of a click waiting for the same answer over and over.

🐛 Fixed

  • Signing in now asks you to accept the terms and the privacy notice, as it was meant to. Both documents were written and in place, but never activated — so the step that should have asked let everyone straight through.

  • A release you delete on GitHub is withdrawn everywhere it was announced. On installations that had been upgrading since the early versions, the withdrawal for webhook destinations failed quietly and was never retried, so a webhook consumer kept believing a deleted release still existed.

  • Clearing the cache no longer signs everyone out. Where Redis holds the cache next to queues and sessions, a cache clear emptied all of them — dropping queued work and ending every session along with it.

  • Uploads are refused when the name ends in .svg, .html, .htm or .xhtml, alongside the names that were already refused. These are files a browser executes rather than displays.

  • Every control on a repository row and on the dashboard's delivery list stays reachable on a phone. The rightmost button was cut off at the card edge on a narrow screen with no way to scroll to it, and the controls affected are the ones only an administrator sees.

  • Deleting a rule, a template or a destination puts the keyboard back where you were. Focus jumped to the top of the page instead, so anyone using a keyboard or a screen reader had to travel the whole page to get back to the list.

  • Three places stayed English whatever language you chose, and they follow it now. The help pages carry translated titles and their own summaries, the contact page's search-result snippet follows the reader, and the character limits in the template editor are written the way your language writes numbers. A page served in English because no translation exists for it now says so to a screen reader, rather than being read aloud with the wrong pronunciation.

  • Four settings screens announce their sections at the right outline level to a screen reader, and the dashboard chart says what it shows instead of announcing itself as "Chart".

  • The free-text field in the template editor no longer zooms the page on an iPhone. Every other field on that form already behaved; this one did not.

  • Spacing on the rules page is even again. The rules were touching each other, and the box for deleting them all sat much further away than anything else on the page. Every separation is now the same distance as the one above the footer.

2026-09-06

✨ New

  • The rules page can be filtered. By platform, by whether a rule is running, or by part of a repository's name. With more than ten rules you can also clear them all at once, from its own box at the bottom, after a confirmation that names the number.

  • Templates can be deleted. A template rules are using can go too — those rules keep running and fall back to the one Chronik.io ships, and you are told how many that is before you decide.

  • The repository list can be filtered. By part of a name, and by whether anything is routed from it yet.

  • Public repositories you watch have their own place in the list. They are not installed into, so they never appeared under an account — now they are grouped together, with whether a rule points at each one.

⚡ Improved

  • Every "are you sure?" is part of the application now, instead of a browser pop-up, and the keyboard lands somewhere sensible afterwards.

  • The feedback widget loads 263 KB less on every page. The part that draws a screenshot is fetched when you take one.

  • The changelog is grouped by date. Everything that shipped on a day is under that day, in the three headings you already know — what is new, what got better, what was fixed.

  • The watch form takes the address from the Code button. owner/repository, the address in the browser bar, and the clone address ending in .git all work, and the field says so instead of naming one shape and leaving the rest to guesswork. It also says up front when watching is switched off on this installation, rather than accepting an address and refusing it afterwards.

  • The template's character limit says what each channel accepts, and warns when a number is past what any of them delivers.

  • The three message previews are tabs, so a Slack reading and a Telegram reading are one click apart instead of a screen apart.

🐛 Fixed

  • The feedback button in the corner works again. It rendered but did nothing when clicked.

  • Confirming a destructive action keeps your place. On the watched-repositories screen, saying yes moved the keyboard to the top of the page; it now returns to the section you were in.

  • The privacy notice and the cookie policy show their tables again, rather than the lists they carried while tables could not be rendered.

  • A page that used to hang now answers. A request waiting on the database gave up only when something else timed out, so the tab kept loading with nothing to explain it.

  • A Slack announcement that hits a rate limit is retried again.

  • A custom session length is spelled out in every language, instead of showing a placeholder.

  • A single failing rule reads "1 meldet einen Fehler" rather than "1 melden einen Fehler". The number decides the wording, in every language, and two other messages that counted rules say it properly now.

  • The test-send list shows each channel once, with how many rules use it, instead of one line per rule. A test that arrives also releases every rule on that channel that had stopped after a delivery failure.

  • Saving a long form confirms it where you pressed the button, as well as at the top of the page.

  • A field no longer stays outlined in red after the thing you asked for worked. On the watch-a-repository screen, a message from an earlier attempt stayed on the field while the new one succeeded.

2026-09-05

✨ New

  • A rule can be deleted. Until now it could be switched off but never removed. What it already delivered is kept as statistics; the rule itself, its settings and its delivery log go.

⚡ Improved

  • The templates page is easier to read. The rules using a template are two columns now, ten at a time, with a button for the rest.

  • The repository list shows an icon where a picture is stored, and clicking it opens the page where the picture is set.

  • The destinations list has room between its cards, and its filters are multi-selects rather than two columns of checkboxes.

  • The formatting buttons above the headline field are all icons.

  • In German, a template that ships with Chronik.io reads "Integriert".

2026-09-04

✨ New

  • Claude can rewrite a release note before it is posted, and each rule decides for itself whether it does. It runs on your own Anthropic key, which the screen says out loud.

  • You can report a problem from the page you are on, with a picture of what you were looking at.

🐛 Fixed

  • A rule that hit one failure had stopped posting for good, and nothing said so. It says so now, names the real cause, and does it in the language you are using.

  • "Try again" left the page standing still.

  • A rule made through the wizard recorded the wrong channel name.

  • The filters on the destinations page did nothing while looking like they worked.

  • Registering with a capital letter produced an account nobody could sign into.

  • A personal-data export listed one account's sign-in history twice.

2026-09-03

✨ New

  • Whoever holds the admin role gets an email when somebody registers.

🐛 Fixed

  • A large logo is no longer turned away for having too many pixels, and a picture whose file was cut short says so instead of failing quietly.

2026-09-02

✨ New

  • You can watch a public repository without installing anything into it. Chronik.io checks it for new releases and routes them through the same rules as any other repository. Watching pauses if nobody signs in for 90 days, and one sign-in brings it back.

  • A repository can have a picture, and it travels with the announcement.

  • There is a page that says what changed, at /changelog.

  • Discord forum channels work.

  • A deleted release is withdrawn everywhere, not only on Slack.

  • A template's headline can be formatted from buttons above the field.

  • The destinations page can be filtered.

⚡ Improved

  • A rule whose repository disappears tells you why it stopped.

  • The numbered steps in the rule wizard are the way back.

  • The rule editor says how long things wait.

  • A template can be opened straight from the rule editor.

  • The dashboard separates its suggestions from its status.

  • Small checkboxes are easier to hit on a phone.

🐛 Fixed

  • The releases page shows what was actually published last.

  • The dashboard chart's tooltip shows the date again.

  • Switching the interface language no longer writes an error into the browser console.

  • Pages without a breadcrumb start at the top.

2026-09-01

✨ New

  • The repository list can be ordered, and it tells you which repositories nothing is watching yet.

  • You can connect a second GitHub account or organization.

  • The release chart says how many arrived on each day.

  • The help pages are available in German.

⚡ Improved

  • Every screen says what it is for.

  • A rule can be changed without rebuilding it.

  • Bulk assignment works with Discord, Telegram and webhooks, not only Slack.

  • The light and dark switch is the same control on every page, and the page title is the largest heading on its page.

🐛 Fixed

  • A release reaches Discord, Telegram and webhook destinations again.

  • Test messages reach Discord and Telegram, not only Slack.

  • The templates you saved are listed again, with the rules that use each one.

  • A destination you renamed keeps its name.

  • Deleting a destination did nothing on the live site.

  • Picking a repository in the rule wizard works again, and the template editor is reachable again.

  • There is a health mail only when something is wrong.

2026-08-31

✨ New

  • A destination can be renamed. Discord names every incoming webhook after the application, so every Discord target arrived called Chronik.io — you can type what you mean instead.

⚡ Improved

  • Announcements read the same on every platform, and a release with no notes says so rather than arriving empty.

2026-08-30

✨ New

  • Telegram and plain webhooks join Slack and Discord as destinations.

  • A rule can watch a branch for commits, not only releases.

2026-08-29

✨ New

  • Message templates. A rule can post in a shape you decide rather than the one Chronik.io ships, and the same template can be used by as many rules as you like.

2026-08-27

✨ New

  • Chronik.io is live. Connect GitHub, choose the repositories worth announcing, and send their releases to Slack or Discord. A rule decides what goes where; the rest happens on its own.