← All migration guides

Migrate from AnnounceKit to Fizlog

AnnounceKit publishes your changelog as an RSS, Atom and JSON feed. Feed the RSS or Atom version to the importer and your posts land in Fizlog with their original dates.

About 30 minutes · keeps your entries and their original dates · no credit card

Why teams switch from AnnounceKit

Full side-by-side: Fizlog vs AnnounceKit.

Step by step

1

Create your Fizlog project

Sign up (free for one project), create a project and open it. You need two values from the project page: the public key used in the embed snippet and the API key under "API access".

2

Get your changelog out of AnnounceKit

Open your public AnnounceKit changelog page and copy its RSS or Atom feed link (AnnounceKit offers RSS, Atom and JSON Feed for every changelog). The importer reads both RSS and Atom. If your feed is private or password-protected, download it while signed in and pass the saved file instead of the URL.

php fizlog-import.php rss https://YOUR-ANNOUNCEKIT-FEED-URL

AnnounceKit doesn't document a fixed feed URL pattern, so take the link from your changelog page. If a feed only contains excerpts, the importer brings over the excerpt — edit the full text in the Fizlog dashboard where it matters.

3

Preview, then import

Run the importer with --dry-run first to see every entry it found, then run it again without the flag. Entries keep their original dates and are imported silently, so no webhook or subscriber email fires for old posts.

The importer is a single PHP file with no dependencies — download fizlog-import.php or read it on the guides page.

export FIZLOG_API_KEY=your_project_api_key php fizlog-import.php rss https://YOUR-ANNOUNCEKIT-FEED-URL --dry-run php fizlog-import.php rss https://YOUR-ANNOUNCEKIT-FEED-URL
4

Swap the embed snippet

Replace the AnnounceKit widget code in your app with the Fizlog script tag. Without data-selector the widget shows as a small button in the corner; with it, the bell renders inside an element you choose.

BEFORE — AnnounceKit embed
<script> window.announcekit = (window.announcekit || { queue: [], push: function (x) { window.announcekit.queue.push(x); } }); announcekit.push({ widget: "https://announcekit.co/widgets/v2/XXXXX", selector: ".announcekit-widget" }); </script> <script async src="https://cdn.announcekit.app/widget-v2.js"></script>
AFTER — Fizlog
<script src="https://fizlog.com/widget/widget.js" data-project="YOUR_PUBLIC_KEY" data-selector="#whats-new" async></script>
5

Point old links at your new changelog

Your Fizlog public page is fizlog.com/p.php?key=YOUR_PUBLIC_KEY, with an RSS feed alongside it. Fizlog doesn't host custom domains — if your AnnounceKit changelog sat on your own subdomain, redirect it to the Fizlog page and update links in your app and docs.

6

Check, then cancel AnnounceKit

Open your app and the public page, confirm the entries look right, and only then cancel your AnnounceKit subscription.

FAQ

Will my subscribers get dozens of emails?

No. The importer marks every entry "silent", so no subscriber email or webhook fires for imported posts.

What about multiple languages?

Fizlog entries are single-language. Import the feed of your main language; the widget UI itself is available in English and Czech (data-lang).

Do labels and segments carry over?

Labels map to Fizlog types only when they contain words like "fix" or "improvement"; everything else becomes New. Segment targeting has no Fizlog equivalent.

Can I keep my email digest?

Fizlog emails subscribers when you publish (tick Notify subscribers). There's no scheduled digest — each post is its own email.

Export options per AnnounceKit's own documentation, checked September 2026: AnnounceKit features, AnnounceKit docs. Vendors change their products — if a step no longer matches, check your plan's export options.

Ready to move?

Free for one project, $0.99/mo flat for unlimited.

Start free on Fizlog — no credit card