Empezar

Changelog widget

Un bell de notificaciones estilo Canny: punto rojo cuando hay novedades, click para abrir un panel con los últimos cambios del producto. Pensado para vivir embebido en tu app o landing.

Instalación rápida (auto-init)

Usá el script con data-mode="changelog" para que el bell se monte automáticamente en bottom-right:

index.html
html
<script
  src="https://cdn.iterar.io/iterar.js"
  data-project-key="lpbk_pub_xxxxxxxxxxxx"
  data-mode="changelog">
</script>

Montaje manual (inline)

Si querés renderizar el bell dentro de un container específico (por ejemplo en tu navbar), usá Iterar.changelog.mount:

JS
html
<div id="cl-bell"></div>

<script src="https://cdn.iterar.io/iterar.js"></script>
<script>
  Iterar.changelog.mount('#cl-bell', {
    projectKey: 'lpbk_pub_xxxxxxxxxxxx',
    limit: 5,
    position: 'inline'
  });
</script>

Props

PropDefaultDescripción
projectKeyObligatorio. Tu widget_public_key (lpbk_pub_…).
limit5Cuántas entradas pedimos al backend (máx 20).
positionbottom-rightbottom-right = floating fijo en la esquina | inline = inline dentro del target
apiUrlhttps://api.iterar.ioOverride del backend (útil para staging).

Comportamiento

  • Al montarse, hace GET /v1/widget/changelog?limit=N con header X-Iterar-Project-Key. El endpoint está cacheado en CDN por 5 min.
  • Lee localStorage[lpbk:cl:lastSeen:<projectKey>]. Si hay alguna entry publicada después de esa fecha, muestra un punto rojo de 8px en la campana.
  • Al abrir el panel, escribe el timestamp actual en lpbk:cl:lastSeen y el punto desaparece hasta la próxima entry.
  • Click afuera o tecla Escape cierran el panel.
  • El panel renderiza un markdown mínimo (párrafos, listas, links, bold/italic). No interpreta HTML inline para evitar XSS.
Bundle size
El SDK completo (feedback widget + changelog) está bajo el budget de 25 kb gzipped. No agrega dependencias externas — todo es vanilla TS + Shadow DOM.

Requisitos del proyecto

  • El proyecto tiene que ser público (is_public = true) para que el endpoint exponga el changelog.
  • Sólo se devuelven entries publicadas (published_at IS NOT NULL), ordenadas por fecha descendente.