rybbit-io/rybbit
🐸 Rybbit - open-source and privacy-friendly alternative to Google Analytics that is 10x more intuitive.
📦 Rollup view for all sites within an orgaization/team
- https://github.com/user-attachments/assets/ad7624fb-1dcb-4d04-9b2e-84b9726fdf66
📦 Improvements to the chart, name the ability to drag-select a region
- https://github.com/user-attachments/assets/42a59faf-dd93-46ea-9ca3-fc8641a04a29
✨ New time filter that allows filtering down to the minute
- (shown in clip above)
📦 Embeddable widget to share an analytics counter on your sites
- https://github.com/user-attachments/assets/711327a3-9f29-49e3-b2fc-1b2023855d96
✨ Updated filter UI is quicker to edit and create new filters in
- https://github.com/user-attachments/assets/a20e165c-503e-468c-9338-bf1d493febb3
📦 Reworked settings dialog
- <img width="1728" height="926" alt="image" src="https://github.com/user-attachments/assets/ae57bb8b-f1d8-43bf-945a-0fd208bd8661" />
📋 Changes
- Improved bot blocking capabilities
- Added teams to further subdivide organizations into groups of users and sites https://rybbit.com/docs/teams
- Added tagging that allows easy slicing of analytics into different cohorts, similar to an existing feature from Umami https://rybbit.com/docs/tagging
- Various minor performance improvements
✨ Added 4 new event types - Button Click, Form Submission, Copy, and Input Change
- See https://rybbit.com/docs/autocapture
- <img width="1728" height="992" alt="image" src="https://github.com/user-attachments/assets/98237518-9195-4fbb-94e5-ef57fccc46ce" />
📦 Revamped events page
- <img width="1728" height="992" alt="image" src="https://github.com/user-attachments/assets/f121b127-76be-410a-ac64-28408e2753fc" />
- Thank you for @rockinrimmer for the custom events timeseries chart
📦 Revamped journeys page
- <img width="1728" height="992" alt="image" src="https://github.com/user-attachments/assets/58ea48f8-b9b2-449c-891e-875512f57040" />
✨ Added user traits explorer
- <img width="1728" height="992" alt="image" src="https://github.com/user-attachments/assets/dd7f0774-7a06-4e8b-ad0e-cece5dadc56a" />
📦 Reworked funnels UI
- <img width="1728" height="992" alt="image" src="https://github.com/user-attachments/assets/52b4cf1e-fb65-420c-ae7d-e47f8114528b" />
✨ Added ability to check if script is correctly installed on target site
- <img width="1430" height="666" alt="image" src="https://github.com/user-attachments/assets/270680eb-25d1-481f-b30f-68c03b221573" />
📦 Other updates
- Added more filtering options to sessions and users page. Clicking on the country/device/browser/OS icons now adds a filter.
- Minor improvements and bug fixes to the errors page
- Added event property filters for goals and funnels. Thank you @stijnie2210
- Exposed more rrweb configuration options for session replays in tracking script. See https://rybbit.com/docs/script#session-replay-attributes
Fixes bug where globe information doesn't load
✨ Add official API and interactive API query builder
- <img width="1727" height="991" alt="image" src="https://github.com/user-attachments/assets/a287fba8-7b05-425b-85c3-8da1ac8f7dec" />
📦 Revamped user profiles page
- <img width="1728" height="992" alt="image" src="https://github.com/user-attachments/assets/6210b7df-9c3c-4f3b-8c29-a28d19984489" />
✨ Added much better user identification
- <img width="351" height="207" alt="image" src="https://github.com/user-attachments/assets/921de9f5-433f-40d7-9773-530a4809e212" />
- https://rybbit.com/docs/identify-users
✨ Added data exports from dashboard
- <img width="282" height="174" alt="image" src="https://github.com/user-attachments/assets/26b85cad-07fb-476a-9b28-560771e7a3f4" />
✨ Added larger session replay player
- <img width="1728" height="992" alt="image" src="https://github.com/user-attachments/assets/30571e5c-4105-4d93-94fb-48d6b335aeaa" />
✨ Added imports for SimpleAnalytics and Umami
- <img width="844" height="890" alt="image" src="https://github.com/user-attachments/assets/5f507009-bdb8-426d-a332-defed4864adb" />
✨ Added live user sessions view
- <img width="1726" height="992" alt="image" src="https://github.com/user-attachments/assets/94a000ec-4fc0-440d-867b-4080fe51ff17" />
✨ Added timezone picker
- <img width="1726" height="992" alt="image" src="https://github.com/user-attachments/assets/494e3069-f4fe-46e2-936f-6b6526a34db5" />
Update Next.js to 15.5.9 to fix [security vulnerabilities](https://nextjs.org/blog/security-update-2025-12-11)
Update Next.js to 16.0.7 to fix CVE-2025-66478
📋 Changes
- Fixes bug where you get taken to the subscription page after the creation of a self-hosted account.
- Fixes bug where URL doesn't update when switching sites
✨ Added light mode
- <img width="1728" height="991" alt="image" src="https://github.com/user-attachments/assets/9cedcf1b-ca48-47e9-8619-d673aff40b6d" />
📦 See relevant sessions under goals
- <img width="1728" height="991" alt="image" src="https://github.com/user-attachments/assets/1813f61f-c6e5-4fb2-9d42-1a587319553d" />
📦 See reached/dropped sessions under funnels
- <img width="1728" height="991" alt="image" src="https://github.com/user-attachments/assets/c0a1e822-96f9-4d00-b14d-e0ba92034006" />
Fixes bug where self-hosted users are not able to see session replays if they aren't an owner account.
📦 Generate private links for your team
- <img width="424" height="211" alt="image" src="https://github.com/user-attachments/assets/44428e9c-c046-4454-8bd5-6f805f02ab1d" />
📦 Bounce rate column
- <img width="1019" height="523" alt="image" src="https://github.com/user-attachments/assets/84ce5044-564b-4b43-b302-4aa5d764c968" />
📦 Country-level IP blocking (by @stijnie2210)
- <img width="723" height="254" alt="image" src="https://github.com/user-attachments/assets/51028093-dc67-4b21-8bcb-802913d3adde" />
📦 Cross-domain attribution for funnels
- <img width="1319" height="584" alt="image" src="https://github.com/user-attachments/assets/dbd3d8a4-216a-4e92-b0a3-fcf0d5660157" />
- +various bugfixes
Added support for 3D Mapbox globe in self-hosted release. Add the `MAPBOX_TOKEN` to you environment variables on the backend server (the .env at root if you're using the standard configuration)
📦 **Map/Globe Rework**
- The Map and Realtime pages have been replaced with the Globe page. There isn't a straight up 1-to-1 replacement of the Realtime page yet, but I might add it in a future release.
- <img width="1457" height="990" alt="image" src="https://github.com/user-attachments/assets/dfd5e263-b495-4f42-9a25-f6eb817a1cfe" />
📦 Timeline view where you can see and replay visits over time
- <img width="1457" height="990" alt="image" src="https://github.com/user-attachments/assets/a399024c-45eb-412b-a55d-fe3c8042e0dd" />
📦 Coordinates view where you can see the approximate location of sessions
- <img width="1457" height="990" alt="image" src="https://github.com/user-attachments/assets/ad60e47a-288e-40d9-8005-539fba457452" />
📦 Country and subdivision layers are largely the same
- <img width="1457" height="990" alt="image" src="https://github.com/user-attachments/assets/1d2bf72f-7726-4194-a03f-bc6de5103e1f" />
📦 **Journeys Page Rework**
- General UI redesign
- Added step path filter
- Hover interactions on nodes and connections now make more sense
- <img width="1416" height="990" alt="image" src="https://github.com/user-attachments/assets/1c980a0c-30f2-4b13-9eb2-749c5db0182c" />
📦 **Goal and Funnel Improvements**
- Added ability to clone goals and funnels
- Added search filter to goals and funnels
- <img width="1302" height="799" alt="image" src="https://github.com/user-attachments/assets/9ea92da5-5958-4728-8336-48931d069b32" />
📦 **User Identification Improvements**
- Changed user avatar
- Now displays a random name for each user instead of the raw ID (ID is still available)
- <img width="246" height="203" alt="image" src="https://github.com/user-attachments/assets/01af3b95-a964-4ff5-8128-1b1f048b1c35" />
📦 **Script Configs are now Server-side**
- *This is technically the breaking change of this 2.x release*
- For anyone currently setting fields on the tracking script, just head over to your site settings and toggle stuff on.
- <img width="776" height="553" alt="image" src="https://github.com/user-attachments/assets/9036322c-ea28-4ccb-ac93-07cf893985fa" />
📦 Filter Improvements
- Fixed the "Event Name" filter. This was always broken in the past
- In the main tab you can now filter by events by clicking on them
- Added more filters to more pages, most notably the Hostname filter
✨ Optional IP address collection
- You can now toggle visitor IP addresses. IP address collection is off by default because it is very privacy unfriendly, but it can be useful for debugging or blocking bots/spammers.
- <img width="776" height="437" alt="image" src="https://github.com/user-attachments/assets/e68726a4-2d05-4162-8153-6ba4ac0e8ffe" />
📦 Channel Information
- Added channel information to the Sessions, Users, and Globe pages
- <img width="734" height="394" alt="image" src="https://github.com/user-attachments/assets/c92d52a2-b865-4a0a-9289-3cdd23854bef" />
- <img width="754" height="448" alt="image" src="https://github.com/user-attachments/assets/03bce495-3f20-4287-b5b4-c2d548140673" />
Remove Redis connection error log spam in backend container
✨ Key Features
- Add tracking outbound links
- Removed header and moved everything into the sidebar
- Add IP exclusion
- Add ability to track custom errors
- Moved Clickhouse configs inside docker-compose file.
- A bunch of bug fixes
📦 Commit log
- Use the total event count to calculate the percentage of each event type by @rockinrimmer in https://github.com/rybbit-io/rybbit/pull/490
- Signup refactor by @goldflag in https://github.com/rybbit-io/rybbit/pull/491
- Update AdminPage and Organizations components for improved tab manage… by @goldflag in https://github.com/rybbit-io/rybbit/pull/486
- Handle errors in the session timeline. These were previously treated … by @rockinrimmer in https://github.com/rybbit-io/rybbit/pull/505
- Uptime by @goldflag in https://github.com/rybbit-io/rybbit/pull/496
- Add a "Source Information" section to the "Session Info" tab when vie… by @rockinrimmer in https://github.com/rybbit-io/rybbit/pull/504
- Custom Event Fixes & Tweaks by @rockinrimmer in https://github.com/rybbit-io/rybbit/pull/501
- Allow subdomains on origin validation by @stijnie2210 in https://github.com/rybbit-io/rybbit/pull/493
- + 11 more
✨ New Contributors
- @rockinrimmer made their first contribution in https://github.com/rybbit-io/rybbit/pull/490
- @stijnie2210 made their first contribution in https://github.com/rybbit-io/rybbit/pull/493
- @SmartArray made their first contribution in https://github.com/rybbit-io/rybbit/pull/529
- Full Changelog: https://github.com/rybbit-io/rybbit/compare/v1.5.1...v1.6.0
Fixes session replays
✨ Key Features
- 1. Add support for adding organization members on self-hosted instances
- 2. Add support for multiple organizations
- 3. Session replay performance improvements
- 4. Bug fixes
📦 Commit Log
- Fix `update.sh` "Please commit your changes or stash them before you merge. by @Mr-Technician in https://github.com/rybbit-io/rybbit/pull/438
- producthunt button by @goldflag in https://github.com/rybbit-io/rybbit/pull/440
- Landing refactor by @goldflag in https://github.com/rybbit-io/rybbit/pull/447
- Update session replay configuration and improve event handling by @goldflag in https://github.com/rybbit-io/rybbit/pull/455
- R2 by @goldflag in https://github.com/rybbit-io/rybbit/pull/457
- bump better auth by @goldflag in https://github.com/rybbit-io/rybbit/pull/458
- improve r2 perf by @goldflag in https://github.com/rybbit-io/rybbit/pull/459
- Replace tracking with track to fix #474 by @didyouexpectthat in https://github.com/rybbit-io/rybbit/pull/475
- + 2 more
✨ New Contributors
- @Mr-Technician made their first contribution in https://github.com/rybbit-io/rybbit/pull/438
- @didyouexpectthat made their first contribution in https://github.com/rybbit-io/rybbit/pull/475
- Full Changelog: https://github.com/rybbit-io/rybbit/compare/v1.4.1...v1.5.0
Fixes bug where session replay script was gated behind auth
✨ Key Features
- 1. Session Replay
- <img width="1727" alt="Screenshot 2025-06-29 at 10 10 05 PM" src="https://github.com/user-attachments/assets/d9f038ad-4fe5-4bf5-b7c5-78a2fb12b687" />
- 2. Error tracking
- <img width="1728" alt="Screenshot 2025-06-29 at 10 13 01 PM" src="https://github.com/user-attachments/assets/6da059ea-f7d9-446d-9c0b-f95c83d62c15" />
📦 Commit Log
- Add error tracking feature and update documentation by @goldflag in https://github.com/rybbit-io/rybbit/pull/418
- Implement session replay feature and enhance analytics script by @goldflag in https://github.com/rybbit-io/rybbit/pull/424
- Test by @goldflag in https://github.com/rybbit-io/rybbit/pull/429
- Update viewport dimensions to use screen size for tracking data by @goldflag in https://github.com/rybbit-io/rybbit/pull/431
- Refactor Docker configuration and update Caddyfile for Rybbit services by @goldflag in https://github.com/rybbit-io/rybbit/pull/411
- Fix rrweb by @goldflag in https://github.com/rybbit-io/rybbit/pull/434
- Full Changelog: https://github.com/rybbit-io/rybbit/compare/v1.3.0...v1.4.0
✨ Key Features
- 1. Added API keys for tracking events/pageviews via[ http endpoint](https://www.rybbit.io/docs/api)
- 2. API keys can also be used for tracking events on [localhost](https://www.rybbit.io/docs/localhost-tracking)
- 3. Bug fixes
📦 Commit Log
- localhost tracking by @goldflag in https://github.com/rybbit-io/rybbit/pull/415
- api key by @goldflag in https://github.com/rybbit-io/rybbit/pull/416
- Full Changelog: https://github.com/rybbit-io/rybbit/compare/v1.2.0...v1.3.0
📋 What's Changed
- Add more integrations by @goldflag in https://github.com/rybbit-io/rybbit/pull/377
- Fix docs by @goldflag in https://github.com/rybbit-io/rybbit/pull/379
- shared package by @goldflag in https://github.com/rybbit-io/rybbit/pull/380
- Enhance API utility functions to use axios for HTTP requests by @goldflag in https://github.com/rybbit-io/rybbit/pull/387
- fix optout- original commit messed up the && vs || operator, meaning v1.0.0 and v1.1.0 require both to opt out. apologies this was missed by @davidfiala in https://github.com/rybbit-io/rybbit/pull/389
- adding blog by @JMeng1 in https://github.com/rybbit-io/rybbit/pull/385
- Blog post - adding pictures by @JMeng1 in https://github.com/rybbit-io/rybbit/pull/393
- Remove deprecated analytics hooks and refactor API structure for funn… by @goldflag in https://github.com/rybbit-io/rybbit/pull/394
- + 5 more
✨ New Contributors
- @JMeng1 made their first contribution in https://github.com/rybbit-io/rybbit/pull/385
- Full Changelog: https://github.com/rybbit-io/rybbit/compare/v1.1.0...v1.2.0
✨ 3. Added support for tracking subdomains within the same site
- 
📋 What's Changed
- Debug pg by @goldflag in https://github.com/rybbit-io/rybbit/pull/352
- Apple debug by @goldflag in https://github.com/rybbit-io/rybbit/pull/354
- fix(healthcheck): v1.0.0 now requires /api prefix in base path by @nktnet1 in https://github.com/rybbit-io/rybbit/pull/355
- Update README.md by @smileBeda in https://github.com/rybbit-io/rybbit/pull/236
- Create CONTRIBUTE.md by @smileBeda in https://github.com/rybbit-io/rybbit/pull/235
- Create SECURITY.md by @smileBeda in https://github.com/rybbit-io/rybbit/pull/234
- support rybbit opt-out extension and add explicit terser packing script to package.json by @davidfiala in https://github.com/rybbit-io/rybbit/pull/363
- Comparison by @goldflag in https://github.com/rybbit-io/rybbit/pull/369
- + 2 more
✨ New Contributors
- @davidfiala made their first contribution in https://github.com/rybbit-io/rybbit/pull/363
- Full Changelog: https://github.com/rybbit-io/rybbit/compare/v1.0.0...v1.1.0
📦 Migration
- There are breaking changes if you used a custom reverse proxy to host Rybbit - We have removed the `/api` rewrite and you will need to modify you reverse proxy config
- [Migration guide](https://www.rybbit.io/docs/v1-migration)
📦 Browser Versions
- 
📦 Operation System Versions
- 
📋 What's Changed
- Free by @goldflag in https://github.com/rybbit-io/rybbit/pull/313
- fix og by @goldflag in https://github.com/rybbit-io/rybbit/pull/320
- Update self-hosting-advanced.mdx by @smileBeda in https://github.com/rybbit-io/rybbit/pull/323
- fix: healthcheck log level silent by @nktnet1 in https://github.com/rybbit-io/rybbit/pull/317
- feat(filters): add support for browser and OS version filters by @goldflag in https://github.com/rybbit-io/rybbit/pull/326
- blog by @goldflag in https://github.com/rybbit-io/rybbit/pull/269
- doc: add optional section on rewriting the tracking script. by @rexwangcc in https://github.com/rybbit-io/rybbit/pull/328
- feat(api): implement organization-specific site retrieval and subscri… by @goldflag in https://github.com/rybbit-io/rybbit/pull/333
- + 2 more
✨ New Contributors
- @rexwangcc made their first contribution in https://github.com/rybbit-io/rybbit/pull/328
- @mezotv made their first contribution in https://github.com/rybbit-io/rybbit/pull/337
- Full Changelog: https://github.com/rybbit-io/rybbit/compare/v0.4.2...v1.0.0
📋 What's Changed
- feat(tracking): add user identification methods and enhance event tra… by @goldflag in https://github.com/rybbit-io/rybbit/pull/310
- Full Changelog: https://github.com/rybbit-io/rybbit/compare/v0.4.1...v0.4.2
📋 What's Changed
- v0.4.0 by @goldflag in https://github.com/rybbit-io/rybbit/pull/307
- feat(postgres,server): added healthcheck by @nktnet1 in https://github.com/rybbit-io/rybbit/pull/261
- feat(analytics): refactor time parameters to use pastMinutesStart and… by @goldflag in https://github.com/rybbit-io/rybbit/pull/309
✨ New Contributors
- @nktnet1 made their first contribution in https://github.com/rybbit-io/rybbit/pull/261
- Full Changelog: https://github.com/rybbit-io/rybbit/compare/v0.4.0...v0.4.1
📋 What's Changed
- fix: update NoData component link and enhance script for hash-based r… by @goldflag in https://github.com/rybbit-io/rybbit/pull/281
- Pages by @goldflag in https://github.com/rybbit-io/rybbit/pull/284
- Paginate single col by @goldflag in https://github.com/rybbit-io/rybbit/pull/291
- refactor: update AdminPage layout and remove unused components by @goldflag in https://github.com/rybbit-io/rybbit/pull/294
- Full Changelog: https://github.com/rybbit-io/rybbit/compare/v0.3.1...v0.4.0
📋 What's Changed
- Script test by @goldflag in https://github.com/rybbit-io/rybbit/pull/256
- Fix disable signup by @goldflag in https://github.com/rybbit-io/rybbit/pull/260
- fix: resolve styling issues on settings page for mobile devices by @ruibaby in https://github.com/rybbit-io/rybbit/pull/268
- Time format by @goldflag in https://github.com/rybbit-io/rybbit/pull/254
- feat: add bot blocking feature to site settings and API by @goldflag in https://github.com/rybbit-io/rybbit/pull/274
- email organization invites by @goldflag in https://github.com/rybbit-io/rybbit/pull/272
- feat: update middleware and layout for admin route handling by @goldflag in https://github.com/rybbit-io/rybbit/pull/276
- password reset by @goldflag in https://github.com/rybbit-io/rybbit/pull/277
✨ New Contributors
- @ruibaby made their first contribution in https://github.com/rybbit-io/rybbit/pull/268
- Full Changelog: https://github.com/rybbit-io/rybbit/compare/v0.2.0...v0.3.1
📦 Last 24 Hours Filter
- 
📦 Smaller time buckets to multi-day views
- 
📋 What's Changed
- feat(client): Use version from `package.json` file by @LWJerri in https://github.com/rybbit-io/rybbit/pull/212
- fix(client): Solve issues with small activity calendar on mobile screens by @LWJerri in https://github.com/rybbit-io/rybbit/pull/215
- chore(client): Add `Back to Users` button by @LWJerri in https://github.com/rybbit-io/rybbit/pull/214
- feat: Implement past-24-hours mode for analytics by @goldflag in https://github.com/rybbit-io/rybbit/pull/210
- fix(mockdata): Generate actual lock file by @LWJerri in https://github.com/rybbit-io/rybbit/pull/211
- Add Framer integration by @ECuiDev in https://github.com/rybbit-io/rybbit/pull/220
- Add Shopify integration by @ECuiDev in https://github.com/rybbit-io/rybbit/pull/221
- Add Webflow integration by @ECuiDev in https://github.com/rybbit-io/rybbit/pull/222
- + 6 more
📋 What's Changed
- docs: fix incorrect nginx configuration by @aaa1115910 in https://github.com/rybbit-io/rybbit/pull/171
- Add dashed line style for incomplete chart data by @poliroid in https://github.com/rybbit-io/rybbit/pull/176
- ci: full refacto (native workers, seperate build, etc) by @poliroid in https://github.com/rybbit-io/rybbit/pull/185
- feat: Disable Sign Up page by @LWJerri in https://github.com/rybbit-io/rybbit/pull/196
- remove vestigial username by @goldflag in https://github.com/rybbit-io/rybbit/pull/199
- Improve journeys by @goldflag in https://github.com/rybbit-io/rybbit/pull/204
- feat: Use `cn` function by @LWJerri in https://github.com/rybbit-io/rybbit/pull/198
✨ New Contributors
- @aaa1115910 made their first contribution in https://github.com/rybbit-io/rybbit/pull/171
- @LWJerri made their first contribution in https://github.com/rybbit-io/rybbit/pull/196
- Full Changelog: https://github.com/rybbit-io/rybbit/compare/v0.1.3...v0.1.4
📋 What's Changed
- ci: fix broken amd64 images build, use QEMU for multi-arch build by @POLIROID in https://github.com/rybbit-io/rybbit/pull/165
- unpin pinned sha by @POLIROID in https://github.com/rybbit-io/rybbit/pull/166
- improve favicon and docs by @goldflag in https://github.com/rybbit-io/rybbit/pull/169
- Full Changelog: https://github.com/rybbit-io/rybbit/compare/v0.1.2...v0.1.3
