LogPulse / integrations

Add a changelog widget to Angular in 3 minutes

Turn shipped work into updates your Angular users actually see. Add a <15kb, zero-dependency widget with unread badges, markdown release notes, emoji reactions and dark mode—without rebuilding your site.

  1. 1

    Create your workspace and first release

    Sign up for LogPulse, choose a workspace slug and publish an update. The example uses acme: replace it with your own workspace slug before publishing.

  2. 2

    Open Your repository → src/index.html → closing body tag

    Place the one-line embed before the closing body tag. Keep it out of route templates so Angular navigation does not add duplicate scripts.

  3. 3

    Publish and verify on your live site

    Deploy and inspect the browser page after hydration. If your CSP restricts scripts, allow your LogPulse origin according to your security policy. Open the widget, read an update and check the unread badge. Your hosted changelog lives at /your-workspace and your roadmap at /your-workspace/roadmap on the LogPulse origin.

Your installation code

Replace acme with your workspace slug. Install one loader only; the custom-trigger example below replaces the default embed, rather than adding another copy.

Angular installation
<script src="https://release-ripple-roadmap.lovable.app/widget.js" data-workspace="acme" data-mode="popover" data-position="bottom-right" data-theme="auto" async></script>

Use your own What's new button

Give a real button the ID whats-new and connect data-trigger to it. In a framework, add the same data-trigger attribute to your loader and render the button in your component. Keep the target present when the widget initializes.

Custom trigger · replace the default embed
<button id="whats-new" type="button">What's new</button>
<script src="https://release-ripple-roadmap.lovable.app/widget.js" data-workspace="acme" data-mode="popover" data-position="bottom-right" data-theme="auto" data-trigger="#whats-new" async></script>

Prefer the JavaScript API?

Initialize only after the script loads. The manual example is an alternative to the automatic loader.

Manual initialization for plain HTML
<script src="https://release-ripple-roadmap.lovable.app/widget.js" data-manual async
  onload="LogPulse.init({ workspace: 'acme', mode: 'popover', theme: 'auto' })"></script>
<button type="button" onclick="if (window.LogPulse) LogPulse.open()">What's new</button>
<!-- After the script loads: LogPulse.close() or LogPulse.toggle() -->

Common questions

More ways to connect

Less setup. More shipping.

Give your next release an audience.

Up to 10 releases and 100 subscribers, with the ⚡ Powered by LogPulse badge. Pro is €12/month or €99/year.