Welcome to The PostHog Array 1.24.0! Quite a lot has changed since we last talked...
This release cycle's Community MVP goes to...
Adrien has been submitting PRs left and right, helping us improve the core PostHog platform, as well as our libraries and documentation!
As of writing, Adrien is by far the top contributor to PostHog in April, with 11 PRs merged over these first two weeks:
Thank you so much Adrien! Hope you've been enjoying the PostHog merch you accumulated.
If you haven't seen it yet, we have a new page dedicated to our contributors. Every contributor gets their own digital card, and we provide a leaderboard with stats on the contributions made by each contributor. We also have a bot that sends a gift card for PostHog merch to contributors for every PR merged, and we welcome all types of contributions!
In this release:
- New: IP location data available to all PostHog users
- New: Display a list of cohorts a given user is in on their person page
- New: Custom data attributes support for the toolbar
- New: Advanced dashboard collaboration features
- New: S3 export plugin
- New: Snowflake export app
- Improvement: Session recording support for heavy websites
- Improvement: Multiple new configuration options for
posthog-js
- Improvement: First Time Event Tracker plugin now tracks session starts
Ready to find out more?
If you're self-hosting and want to upgrade for a better experience and new features, remember to update your PostHog instance.
Apps are now live on PostHog Cloud, and, as a bonus, we have now added out-of-the-box support for the PostHog GeoIP enricher, which adds location properties to your events, such as country and city, as well as a dozen other values!
The app works on both cloud and self-hosted installations (1.24.0
minimum).
When viewing a person's page in PostHog, you can now toggle between a view of their properties and a view of the cohorts this person is in, giving you a lot more context on the user you're looking at.
To make the experience of using the PostHog toolbar better, we have recommended that you set data-attr
on your elements, so that the toolbar can leverage it for finding elements. However, since a lot of our users already used their own data attributes, we now support adding a list of your own data attributes for the toolbar to look for.
You can configure this in 'Project Settings'.
Our dashboards keep getting better with every new release, and this one is no different!
Dashboards now support descriptions and tags, making it easier for teams to collaborate when creating internal analytics reports.
These are enterprise features available to our paying Cloud customers, and to enterprise self-hosted users.
If you're interested in having these features on your self-hosted PostHog instance, contact us on sales@posthog.com.
We have new apps to send PostHog events to S3 buckets and Snowflake instances!
You have Marius to thank for these - and you really should. Our resident progressive urbanite had to work hard to get around all sorts of hurdles to get these out.
The apps work on both PostHog Cloud and self-hosted installations (1.24.0
minimum) - check it out here.
If you tell Karl you found an issue with session recording, he will fix it.
Such was the case with session recording for heavy websites (e.g. those with a lot of images/CSS). We were failing to process large snapshots, leading users of these websites unable to get many session recordings.
This is now fixed - expect a lot more recordings available to you from now on!
Following user requests, there are now 10 new config options for posthog-js
, allowing you to use autocapture with greater privacy for your users, as well as tailor session recording configuration.
The new options are:
mask_all_text
: Specifies if PostHog should capture thetextContent
of autocaptured elementsmask_all_attributes
: Specifies if PostHog should capture the attributes of autocaptured elementssession_recording
: Accepts an object that lets you configure the followingrrweb
options:blockClass
blockSelector
ignoreClass
maskAllInputs
maskInputOptions
maskInputFn
slimDOMOptions
collectFonts
See our JS library page for more details.
Our First Time Event Tracker now also tracks session starts. By enabling it you will get session_started
events in PostHog, as well as events that started a session will be tagged with property is_first_event_in_session
set to true
.
We'd love to hear anything you have to say about PostHog, good or bad. As a thank you, we'll share some awesome PostHog merch.
Want to get involved? Email us to schedule a 30 minute call with one of our teams to help us make PostHog even better!
Big thanks to the following members of our community who have contributed to PostHog over this release cycle:
- adrienbrault
- jeduden
- leggetter
- rethab
- lharress
- jeduden
- bard
- jonathanclarke
- shogunpurple
- samcaspus
- well-balanced
- gempain
- bronsonavila
- joesaunderson
- wushaobo
If you'd love to help us build PostHog, we have a lot of openings available!
We're looking for:
- Full Stack Engineers
- Senior Full Stack Engineers
- Sales Engineer
- Senior Mobile Engineer
- Senior Product Designer
- Product Marketer
- Any role you think you'd be a great fit for
Check out our Careers page for more info.
In addition to the highlights listed above, we also merged a bunch of PRs improving PostHog's performance and fixing bugs:
- Update plugin server to 0.16.10 #3976 (posthog-bot)
- Rename redefined variables #3975 (mariusandra)
- Three small UX fixes #3972 (Twixes)
- Fix persons search #3971 (yakkomajuri)
- Update plugin server to 0.16.9 #3970 (posthog-bot)
- Fix display of plugin error seconds #3965 (mariusandra)
- Update plugin server to 0.16.8 #3959 (posthog-bot)
- Update plugin server to 0.16.7 #3958 (posthog-bot)
- Remove fixed typescript errors #3956 (paolodamico)
- Update plugin server to 0.16.6 #3955 (posthog-bot)
- Update plugin server to 0.16.5 #3954 (posthog-bot)
- Fixes project settings not loading #3950 (paolodamico)
- Update plugin server to 0.16.4 #3945 (posthog-bot)
- Update plugin server to 0.16.3 #3944 (posthog-bot)
- Remove 'string, parsable as datetime' #3942 (Twixes)
- Use default axes on line graphs #3940 (kpthatsme)
- Bump cryptography to 3.4.7 and add macosx_arm64 install script #3935 (samwinslow)
- Update posthog-js to 1.9.7 #3933 (posthog-bot)
- Update plugin server to 0.16.2 #3932 (posthog-bot)
- Renames Active users to Unique users #3930 (paolodamico)
- Fix navigation to insights from dashboards #3928 (paolodamico)
- Resizable table columns in Sessions #3927 (samwinslow)
- Update autocapture label to be more descriptive #3925 (kpthatsme)
- Log to sentry when migrations are out of date #3924 (fuziontech)
- Update plugin server to 0.16.1 #3920 (posthog-bot)
- Run Automerge as posthog-bot #3919 (Twixes)
- Are migrations safe to run on cloud? #3917 (mariusandra)
- Minimum PostHog version in plugins #3916 (mariusandra)
- Add cypress dependency installation #3914 (EDsCODE)
- Increase Element model varchar limits #3912 (Twixes)
- Fix commandpallet test #3911 (timgl)
- Fix action with same name #3909 (timgl)
- Always show event stats and add warnings #3908 (timgl)
- Update plugin server to 0.16.0 (AKA plugins no longer opt-in) #3903 (posthog-bot)
- Fix events with spaces and only add URL for pageviews #3902 (timgl)
- Fix Continent Name property description #3900 (Twixes)
- Support GeoLite2 City event properties in UI (AKA GeoIP out of the box with our new plugin) #3894 (Twixes)
- Fix property popover arrow placement on cohorts page #3893 (adrienbrault)
- Fix Cypress tests on forks #3892 (Twixes)
- Make docker apt version pinning less strict #3889 (adrienbrault)
- Fix shared dashboard rendering with multiline descriptions #3885 (paolodamico)
- Update plugin server to 0.15.5 #3884 (posthog-bot)
- Round table rows in system status #3883 (mariusandra)
- Fix cypress dependencies #3881 (paolodamico)
- Reduce visual weight for dashboard placeholders #3880 (kpthatsme)
- Fix 0143 migration unique index #3876 (paolodamico)
- set platform when footer chosen #3875 (kpthatsme)
- Don't render Signup component if logged in #3874 (Twixes)
- Get rid of DATABASE_URL and REDIS_URL construction in bin/plugin-server #3873 (Twixes)
- Add filters to lifecycle #3870 (timgl)
- User V2 Part II - Frontend changes #3866 (paolodamico)
- Fix feature flags insight link #3865 (timgl)
- Format label property key #3864 (Twixes)
- Update plugin server in ee/docker-compose.* to 0.15.4 #3863 (Twixes)
- Fix charts in dashboards #3862 (paolodamico)
- Fix docker dev environment #3861 (adrienbrault)
- Ingestion - framework grid #3860 (kpthatsme)
- Fix cached trends on dashboards not loading #3856 (paolodamico)
- User V2 API endpoint #3855 (paolodamico)
- Resolves #3801 - Test users filters #3854 (samwinslow)
- New env: UPDATE_CACHED_DASHBOARD_ITEMS_INTERVAL_SECONDS #3853 (mariusandra)
- Release remove-shownas #3851 (EDsCODE)
- Release trend-legend #3850 (EDsCODE)
- Improve clarity of main nav hotkeys #3849 (Twixes)
- Clarify "Filter Out ..." settings copy #3847 (Twixes)
- Fix Team.data_attributes default #3846 (Twixes)
- Make
.text-muted
half opacity black instead of solid light gray #3845 (Twixes) - Remove IS_DOCKER env var #3843 (Twixes)
- Delete docker-preview script #3842 (Twixes)
- Clarify project settings filter wording #3839 (leggetter)
- Update plugin server to 0.15.4 #3838 (posthog-bot)
- Add PostHog version to system status #3837 (mariusandra)
- Minor improvements to persons #3834 (paolodamico)
- Fix apt-get install error when building docker images #3833 (adrienbrault)
- Fix API/HTTP instructions json syntax #3832 (adrienbrault)
- Swap out person_distinct_id in queries with subquery #3828 (EDsCODE)
- Bump y18n from 4.0.0 to 4.0.1 #3827 (dependabot[bot])
- Less dancing in dashboards #3824 (paolodamico)
- Fix 2K0 #3823 (paolodamico)
- Allow math filter on $time property #3821 (paolodamico)
- change created_at to _timestamp #3820 (EDsCODE)
- add test account filter to people endpoints #3815 (EDsCODE)
- Add descriptions of insights in menu #3814 (timgl)
- added redirection to posthogs website #3812 (samcaspus)
- Update plugin server to 0.15.3 #3810 (posthog-bot)
- Env for async event property usage calculation interval #3809 (mariusandra)
- Bumped cffi so that pip will install deps for M1 chip #3808 (buwilliams)
- Default set debug=1 to bin/start #3807 (timgl)
- Fix skip ci for bot #3806 (yakkomajuri)
- Update posthog-js to 1.9.6 #3804 (posthog-bot)
- Add localhost:3000 into excluded urls #3803 (well-balanced)
- Display when actions were last calculated #3796 (paolodamico)
- Fix POSTHOG-DW #3794 (paolodamico)
- Reply to inviting user on invite emails #3792 (paolodamico)
- Skip CI for posthog-contributions-bot #3789 (yakkomajuri)
- Fix .all-contributorsrc #3788 (yakkomajuri)
- 3589 breakdown #3782 (EDsCODE)
- Hide login link from signup if instance is not initiated #3781 (paolodamico)
- Add warning to breakdown that we only show top 20 values #3779 (timgl)
- Update app favicon #3778 (paolodamico)
- removed app.posthog.com for the url #3777 (samcaspus)
- Update plugin server to 0.15.2 #3776 (posthog-bot)
- Backend tests refactor #3774 (paolodamico)
- Update plugin server to 0.15.1 #3772 (posthog-bot)
- Make sure the proper math is applied when calculating top elements for breakdown #3771 (EDsCODE)
- Misc instrumentation & tiny tweaks #3769 (paolodamico)
- Fix multiple people same distinct id #3768 (timgl)
- Add index to events.created_at #3767 (mariusandra)
- Support multiple entries for selector and tag_name filter for EE #3766 (mariusandra)
- Don't show legend if nothing to show #3763 (macobo)
- Custom Data Attributes in the toolbar #3761 (mariusandra)
- Fix get_available_timezones_with_offsets DST change edge case #3760 (Twixes)
- Update plugin server to 0.15.0 #3758 (posthog-bot)
- Hotkeys UI Improvement #3757 (paolodamico)
- Description & tagging on dashboards #3756 (paolodamico)
- Handle event capture edge cases #3755 (Twixes)
- Fix TestAccountFiltersConfig description #3754 (Twixes)
- Fix boolean breakdown on postgres #3752 (EDsCODE)
- Another null check for persons #3750 (EDsCODE)
- Fix #3747 #3748 (paolodamico)
- Fix feature flags default rollout #3745 (paolodamico)
- Add 'cohorts' tab to Person page #3744 (macobo)
- Add some data-attr for plugins #3742 (macobo)
- Update plugin server to 0.14.8 #3741 (posthog-bot)
- Global hotkey navigation #3740 (paolodamico)
- Add element matching for multiple values on text/href #3739 (EDsCODE)
- Add setup for contributions bot #3738 (yakkomajuri)
- Update plugin server to 0.14.7 #3737 (posthog-bot)
- Update plugin server to 0.14.6 #3736 (posthog-bot)
- Dockerfile non-root user in production #3735 (paolodamico)
- reduce width so button isn't covered #3734 (kpthatsme)
- Clarify test accounts β internal users #3733 (Twixes)
- Allow for non-plugin config-keyed plugin attachments #3732 (Twixes)
- [retention table] Use utc on dates without hours for consistency #3731 (EDsCODE)
- Add "test account filters" filter to trends #3729 (macobo)
- Fix filtering breakdown queries #3727 (timgl)
- Bump lxml from 4.6.2 to 4.6.3 #3725 (dependabot[bot])
- Update plugin server to 0.14.5 #3724 (posthog-bot)
- Increment version #3721 (jaredsilver)
- Update changelog for 1.23.1 #3719 (mariusandra)
- Fix linting-breaking import #3718 (Twixes)
- Async event action mapping to 5 min, add warning #3717 (mariusandra)
- Update plugin server to 0.14.3 #3716 (posthog-bot)
- Update plugin server to 0.14.2 #3715 (posthog-bot)
- Update react-rrweb-player #3714 (paolodamico)
- Fix hotkeys in textarea #3713 (paolodamico)
- Fix unmounted logic bug on shared dashboards #3712 (paolodamico)
- Temporarily bring back individual refresh in dashboard items #3708 (paolodamico)
- Speed up filtering by events in sessions #3707 (macobo)
- Solidify plugins on Cloud rollout #3706 (Twixes)
- Chunk session recording events #3705 (macobo)
- add beta tag to trends, center title #3704 (kpthatsme)
- Better plugin globalization UX #3702 (Twixes)
- New login & signup (React) #3701 (paolodamico)
- Lower the bar to report bugs in plugins #3699 (yakkomajuri)
- Timezone handling UX #3698 (paolodamico)
- bump version, update changelog #3697 (yakkomajuri)
- Plugins page tiny fixes #3694 (Twixes)
- Update plugin server to 0.14.1 #3693 (posthog-bot)
- 3682 Various annotation fixes #3689 (EDsCODE)
- Update plugin server to 0.14.0 #3687 (posthog-bot)
- funnel trend fix white screen and remove description #3686 (EDsCODE)
- Enable PLUGIN_SERVER_INGESTION #3684 (Twixes)
- Update plugin server to 0.13.1 #3683 (posthog-bot)
- Update plugin server to 0.13.0 #3681 (posthog-bot)
- Different async action mapping approach #3678 (Twixes)
- Feature Flags Revamp (UX & Code) #3675 (paolodamico)
- Use the correct boolean on cohort update #3673 (EDsCODE)
- Shared dashboards fix #3672 (paolodamico)
- Update plugin server to 0.12.0 #3669 (posthog-bot)
- Dashboard empty & error states + mobile support #3666 (paolodamico)
- Fix rounding for weekly and monthly intervals #3665 (timgl)
- Enable event property usage env vars #3664 (timgl)
- Lint Dockerfiles #3663 (Twixes)
- Expire Celery tasks after 4 days instead of 1 #3662 (Twixes)
- Fix system status page plugin metrics #3658 (paolodamico)
- Default event property usage to false #3655 (timgl)
- Fix proxy config #3654 (paolodamico)
- fixed y axis color issue #3653 (samcaspus)
- Add support for SOCIAL_AUTH_REDIRECT_IS_HTTPS #3652 (Twixes)
- Update plugin server to 0.11.9 #3651 (posthog-bot)
- Update docker compose dev port #3650 (yakkomajuri)
- Notice in toolbar if could not get a unique selector for the element #3635 (mariusandra)
- Dashboard hotkeys #3623 (paolodamico)
- Improve formulas UI/input #3620 (timgl)
- Explain premium feature in upgrade modal #3619 (Twixes)
- Automatically enable debug mode for posthog-js on SELF_CAPTURE #3613 (paolodamico)
- Dashboard Improvements I #3608 (paolodamico)
- Make events search more prominent #3587 (yakkomajuri)
- Insight session entities #3582 (EDsCODE)
- Support custom identifier for person name #3581 (paolodamico)
- Show toast on API errors #3561 (mariusandra)
- Enable plugins for everyone #3557 (Twixes)
- Introduce Dayjs #3490 (timgl)
- Plugins access control #3486 (Twixes)
Ready to find out more?