Aug 29, 2022

Array 1.39.0: Betas, persons, events and libraries

Want to know more about what we're up to? Subscribe to our new newsletter, which we send once every two weeks!

Running a self-hosted instance? Check out our guide to upgrading PostHog.

PostHog 1.39.0 release notes

Release highlights:

Beta: Improving query performance by combining persons and events

We're getting ready to make a substantial change to the way persons and events work by essentially combining them and adding person ids and properties onto events. 1.39.0 gives you the chance to try the feature ahead of the full release. Here's how:

  • PostHog Cloud: No action is needed, as we're rolling this test out steadily behind a feature flag. If you're eager to be included from the start, let us know to see about joining our beta group.
  • Self-hosted users: First, you need to run async migration number 0006. Afterwards, change your PERSON_ON_EVENTS_ENABLED instance setting to true. As with other instance settings, you'll need to be a Staff user to make changes.

Why are we doing this? Firstly, it makes queries significantly faster because we no longer have to join tables to get a result; we can just look up everything in the events table instead. One query in our internal tests showed a 400x increase in speed...but this beta will help us understand the improvement in real-world conditions.

Secondly, feedback showed that users weren't able to create queries based on person properties at the time of an event. By putting person properties on events, this becomes the new default, while still enabling you to filter insights based on the latest properties using cohorts.

There'll be some slight changes to how filtering by unique users or person properties work as a result of this change. For more information on this and to find out how we've implemented the change behind the scenes, check out our overview of the ingestion pipeline.

New: Added features for client and server-side libraries

While we continue to recommend using Javascript if possible, we've made significant updates to our other client libraries so that Android, iOS, Flutter and React Native now all support feature flags.

We've also updated our server-side libraries with local feature flag evaluation. This is huge because you can now use feature flags in your backend without worrying about latency. Evaluating locally reduces the computation time from an average of 400ms to 10ms!

Check our library docs to find out more about what each library supports and how to deploy.

Want to upgrade your libraries? The minimum version requirement is PostHog 1.38.0

New: Expo-compatible React Native library

We've rewritten the React Native library completely, in Typescript. That brings it up to a 2.0 which has no external iOS or Android library dependencies and is fully expo-compatible. The upgraded library now support PostHog autocapture, as well as the feature flags and group analytics upgrades mentioned above.

Want to upgrade your library? The minimum version requirement is PostHog 1.38.0. Check the React Native library docs for more info.

New: Format your insights to show durations

formatting an insight as a duration

Do your event properties contain milliseconds or seconds? Then you can now make things easier by changing your Y-axis unit to show durations instead of the default none. It's a small addition, but one which makes insights much easier to read and share with others.

New: Big, bold number chart type

the big bold number insight formatted as a duration

This new, much requested and very exciting big bold number insight type does exactly what it says: simplifies a query result down to a single number. And it works great with durations too!

New: Choose attribution touchpoint when breaking down funnels

the attribution touchpoint selection menu

When adding breakdown by property to a funnel you can now choose where the property can appear in the funnel of events. Before this the property had to appear on the first event. Learn more in our docs.

Improved: New person deletion flow

delete karl oh no

Deleting persons from PostHog just got a lot easier, thanks to a new person deletion flow which also enables you to delete event data at the same time.

This is especially handy for those times when you need to delete an individual for GDPR reasons - though, if you need to, you can choose to keep the events and just delete the person.

Improved: Turbo properties

Frustrated that it was taking a few seconds to load properties? You weren't the only one.

Thankfully, version 1.39.0 addresses this by adding a limit so that PostHog doesn't always search through hundreds of thousands of properties for each query. The result? Properties now load much faster. On PostHog Cloud we saw a 75% reduction in API call time.

Improved: History log now shows changes to insights

a view of the insights activity tab

We've had feedback from several users that they enjoy tracking changes to their feature flags in the history logs. So, we added the same functionality to insights too! Now you can snoop on who has been changing your insights and giving them funny names.

Apps: Census integration

Census, a reverse ETL platform which syncs your data warehouse with your operational tools, has created a new PostHog integration. Now you can easily sync events data such as sales or marketing activity into PostHog. Check the Census docs to find out more!

Interested in building your own app? Here's how to get started!

Other improvements & fixes

Version 1.39 also adds hundreds of other improvements and fixes, including...

View the commit log in GitHub for a full history of changes: release-1.38.0...release-1.39.0.

Share your feedback

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!

Contributions from the community

We always welcome contributions from our community and this time we want to thank the following people...

Do you want to get involved in making PostHog better? Check out our contributing resources to get started, or head to our Slack group. We also have a list of Good First Issues for ideas on where you can contribute!

Open roles at PostHog

Want to join us in helping make more products successful? We're currently hiring for remote candidates in any of the following roles:

Curious about what it's like to work at PostHog? Check out our careers page for more info about our all-remote team and transparent culture. Don’t see a specific role listed? That doesn't mean we won't have a spot for you. Send us a speculative application!


Follow us on Twitter or LinkedIn for more PostHog goodness!


Ready to find out more?