Changelog

"All the updates that are fit to print"

Mar

2024
  • Session replay

    Session replay support added for Flutter Web

    Replay Team

    Supposedly we've had session replay on Flutter Web environments for a while, but it was actually a little broken due to a bug in RRWeb.

    Well, now we've fixed the bug.

    That means session replay is now back and working as you'd expect on Flutter Web environments. Enjoy!

  • Uncategorized

    PostHog becomes a DigitalOcean Hatch partner

    Marketing Team

    We've teamed up with DigitalOcean and joined their Hatch program for startups, meaning that eligible teams in the PostHog for Startups program can now claim an additional $25,000 of DigitalOcean infra credit in addition to the usual benefits.

    As a reminder, those usual benefits include $50,000 of PostHog credit, some amazing gifts from our merch store, and an exclusive monthly newsletter with advice for founders.

    Teams need to be less than two years old and have raised less than $5M in funding to qualify, but if that's you then you can sign up today!

  • Uncategorized

    React Native v3 and Node v4 are now GA

    Replay Team

    Manoel continues his slew of SDK updates, this time improving both our React Native v3 and Node v4 SDKs up to general availability.

    This update actually includes a lot of smaller improvements, so we recommend checking the React Native or Node repo changelogs for detailed updates.

  • Session replay

    Window visibility support added for session replays

    Replay Team

    Are you someone who generally keeps a dozen different windows open at once and is constantly bouncing between them? You'd probably get on well with several of our engineers.

    You'll also probably appreciate that we've added visibility support to session replay, meaning that replay logs will automatically capture when a window is hidden (e.g. minimized out of view) or visible (e.g. maximised into view).

    Capturing window visibility is useful if you're interested in how often users may be referring from one window to another, or other aspects of site usability. Give it a go!

  • Uncategorized

    Voting for new PostHog features now available

    Website & Docs Team

    Our Webs & Docs team has pushed a number of big changes to the site as we continue to invest in our community tooling. This week, they've updated our public roadmap so that you can now vote on upcoming features!

    Votes won't be the only thing we consider when planning our future projects, obviously. But we will be keeping a close eye on what features you want to see.

    Plus, we've created a new WIP page so you can see when we do start work on new features. You can subscribe to projects there for updates, as well as requesting early access to private betas.

  • Feature flags

    Customizable feature flag timeouts added

    Feature Success Team

    Following an incident earlier this month which briefly took down feature flags, we've added a new customizable timeout option for our Go, Ruby, Python, JS, React, and Node SDKs.

    By default, flags will now timeout after 3 seconds, except for React-native which timesout at 10 seconds.

    You can check the docs for info on how to customize timeout configs if needed, but we think the defaults will suffice and help prevent future incidents.

  • Product analytics

    Exports now available as .xlsx (Excel format)

    Product Analytics Team

    Sometimes a .csv isn't enough. Sometimes you need a .xlsx for Microsoft Excel. And now you can get it when exporting from PostHog!

  • Session replay

    Improved session replay filters and ordering

    Replay Team

    We made it easier to apply common filters to session replays by adding the ability to select any person property to act as a quick filter. You can then toggle filters more easily and we'll persist your selections on a per user basis.

    We think this change will be broadly useful for everyone, as there are common filters which teams tend to use a lot - such as country, email, or browser.

    We've also introduced a new ordering option so that you can sort filtered recordings according to their duration or number of console errors. Very handy for finding problematic recordings quickly!

  • Pricing & billing

    Introducing the Teams plan: Get more features without having to “talk to sales”

    Growth Team

    We've introduced a new pricing option which makes some advanced features available to everyone. It’s called Teams, and it's ideal for orgs which need enterprise features but also want the flexibility of a self-serve monthly plan. As always, you can see a breakdown of all plans on your billing page.

    We think the Teams plan will be especially useful for any organizations that need more teams-oriented features like project permissions and SSO or 2FA enforcement.

    In addition to advanced security features, Teams also gives you collaboration to help teams work together more effectively, like dashboard tags. You’ll also get priority customer support through the app.

    Some of these features were previously available on other plans, but we don’t want to take away features you were already. So, if you already use PostHog you’ll retain access to most features, including project permissions, dashboard tags and text cards. You’ll also keep 2FA enforcement if you’ve enabled it previously.

    Audit logs have moved wholly to the Teams plan, however, as they’re a security and compliance feature — useful for businesses of a certain size, but not really needed for early-stage orgs.

    We think Teams improves PostHog by making advanced features and an enterprise-level support experience more widely available and flexible, but as always we’d love to hear your feedback.

  • People & properties

    Exports side panel now in private beta

    Product Analytics Team

    We've launched a new closed beta which adds an export panel to the sidebar. This isn't available to most users as it's still in the early stages, but we wanted to give you a sneak peek.

    Currently, when you start an export it can take a while to prepare. It's inconvenient to just wait on the same page, so moving this to the sidebar lets you continue with other work. When your export is ready the sidepanel will automatically open and show you all your available and historic exports. This is per-user, not per-team.

    If you've got other ideas for how we can improve exports, let us know in the community!

  • Events & actions

    Autocapture now supports cut and copy events

    Replay Team

    We've seen a few feature requests which said it would be useful if we autocaptured when users cut or copy text on a page. So, we built it.

    There were some nuances to how we approached this. Some users wanted to collect events whenever text was selected on a page, for example, but we found this to be far too noisy in testing.

    Our hope is that capturing the cut and copy events directly solves the problem at its root without noticeably increasing your event volume.

Feb

2024
  • Dashboards

    Smarter tile sizing for dashboards

    Product Analytics Team

    We've updated many different tile types so that they now take up less space and are generally more flexible to resize on dashboards. Now you can have more aesthetically pleasing dashboards!

    We'd like to thank Oliver for letting us know this was an issue.

  • People & properties

    User agent detection improved

    Replay Team

    Following some reports that this wasn't working correctly for a user who had switched providers, we've improved user agent detection to give more reliable info about which users are on desktop vs. mobile.

    In addition to improving the matching for OS and devices we've also added matching for WatchOS systems too.

  • Uncategorized

    PostHog site badges released

    Website & Docs Team

    All aboard the PostHog badgewagon!

    We've released a series of new site badges you can add to the footer of your site, so everyone know you're using PostHog to build better products. It's like being in a secret club, except open source.

  • A/B testing

    Graphs and significance calculation added for secondary metrics

    Feature Success Team

    You've been able to add secondary metrics to A/B experiments in PostHog for a while, but we've now added much better reporting around them.

    The new graphs and significance calculations will help you determine if there are knock-on effects to your experiments away from the primary metric.

    For example, you may test a change to your sign-up flow to improve conversion as a primary metric, but you may also need to know about impact to activation as a secondary metric. Now you can understand both easily!

  • Events & actions

    PostHog Cloud SQL access

    Product Analytics Team

    To fully support our users on PostHog Cloud, we're working on a feature to allow direct SQL access to PostHog data, so that users may query it directly.

  • Toolbar

    Toolbar bundle size reduced by 61%

    Replay Team

    A few weeks ago Paul noticed that our toolbar was 2.2 MB of Javascript, approximately 500 kb of which was just syntax highlighting and formatting code the feature would never use. You can see what that looks above.

    So, Paul rolled up his sleeves, and set out to fix the issue. And...voila!

    The new and improved toolbar.js is -61% smaller than before, dropping 1.37 MB down to a little over 800 kb.

    Launch the toolbar
  • HogQL

    HogQL autocomplete added

    Product Analytics Team

    We've made HogQL a lot easier to use with the addition of autocomplete. You can now start building your query and we'll automatically chime in with elements we think will be helpful.

    HogQL, for the uninitiated, is a wrapper around ClickHouse SQL. We've got a few unique tweaks in there for efficiency and efficacy, but it is very accessible to anyone with existing knowledge of SQL.

    And now it's even more accessible!

    Try it out
  • SDKs

    Flutter gets support for multivariant flags and flag payloads

    Replay Team

    We've updated our Flutter SDK to v4.0.0, adding support for both multivariant flags and feature flag payloads.

    Multivariate flags are helpful because they enable a flag to return a key instead of just true or false - which makes them useful for testing or deploying complex changes where multiple variations are needed.

    Payloads, meanwhile, enable you to send additional information to your app when a flag is matched. This makes them useful for triggering simple changes, such as displaying a pop-up or notification.

    Try it out
  • Path cleaning added to web analytics

    Web Analytics Team

    The web analytics beta continues to improve with new features such as path cleaning rules, which alias URLs together to make results more digestible.

    If you're in the beta you can customize your path cleaning rules within your product analytics settings. Each rule is composed of an alias and a regex pattern, so that any URL which matches the pattern is replaced with the alias.

    Our experience is that path cleaning is incredibly useful for reducing complex common URLs in web analytics, but try the beta for yourself and let us know what you think!

    Join the beta
  • SDKs

    Session-based analytics added to iOS SDK

    Replay Team

    The latest version of our iOS SDK, v3.1.0, will now automatically set $session_id, enabling the ability to do session-based analytics.

    With $session_id set automatically it's now possible to delve into metrics such as the time a user spends on a page, or their average session duration.

  • Session replay

    Recordings added to groups view

    Replay Team

    We've added a new Recordings tab to the Groups view within the People tool, so you can effortlessly see all available recordings from a particular group.

    You can use group analytics in a number of ways, but it is typically most useful for B2B teams who want to collect multiple users into a single group that represents an organization. That's how we use it at PostHog, anyway!

    Try it out
  • Feature flags

    Relative data operators added to feature flags

    Feature Success Team

    We've added relative data operators to PostHog feature flags, meaning we now default to the correct operator type when needed.

    This means that if you start targeting a feature flag by subscription_date, for example, we'll automatically switch the operator type to a date format.

    Try it out
  • Mobile analytics template added

    Product Analytics Team

    We've done a lot of work around mobile analytics recently, including updating our Android and iOS SDKs, so we felt it was about time we added a dedicated dashboard template for them too. You'll need to use either our React Native, iOS, Android, or Flutter SDKs to use this template.

    The mobile analytics template contains a selection of mobile-focused metrics, including overviews of your most common OS, device, app version, and more. It's a great way to get an overview of your app adoption!

    Try it out
  • More

    PostHog becomes HIPAA compliant

    Sales & CS Team

    We're happy to announce that PostHog is now HIPAA compliant and offering Business Associate Agreements (BAAs) for teams on a PostHog Enterprise plan.

    Enterprise plans are an add-on for PostHog plan which cost $450 per month and include SAML and SSO enforcement, dedicated support, advanced permissioning, and other features for large orgs.

    HIPAA - or the Health Insurance Portability and Accountability Act, if you want to be fancy - is a US legislation which applies mostly to healthcare providers. It isn't something most teams need to concern themselves with, but now those who do can get in touch with us to find out more!

    Contact us
  • Canvas capture added to session replays

    Replay Team

    We've now rolled canvas recording out as an opt-in feature available to all users. This enables you to capture canvas elements within your session replays.

    It's important to note that there is currently no way to mask canvas elements, meaning you may unintentionally capture personal information or PII.

    For this reason, canvas capture is disabled by default and must be enabled via your project options page.

    Enable canvas capture
  • Product analytics

    More informative error messages added

    Product Analytics Team

    We hope you haven't ever seen the error message above, but if you have then we have good news: we've made it much more informative.

    This error usually occurs either because a query was running for too long, or because a memory limit was hit. Both issues are generally caused by a query having an excessively large scope.

    In either case, we'll now tell you exactly what the error was and give you some prompts on how to fix it. Of course, you can still raise a support request if needed!

  • SDKs

    New Android and iOS SDKs released

    Replay Team

    After a short beta period, we've now released our Android and iOS SDKs into general availability, making them available for all users as version 3.0.0.

    These SDKs are a complete rework of the old, legacy versions and are more efficient than they were previously. The Android SDK has been rewritten in Kotlin, while the iOS SDK is rewritten in Swift.

    Both SDKs offer all the same features of the legacy versions, as well as some new functionality such as feature flag payload support. The iOS SDK also supports WatchOS and macOS for teams with products on those platforms.

    Check the docs
  • React Native SDK now supports macOS target

    Replay Team

    Manoel continues to plug away at improving our React Native SDK and has now added support for the macOS target in addition to his previous work.

    There are still some things to be aware of when using the React Native SDK however, so be sure to check the docs for more information.

    Check the docs

Jan

2024
  • Session replay

    Server timing reporting added to player inspector

    Replay Team

    We now report server timings in the session replay player inspector, enabling you to see information about the request-response cycle.

    In the image above, for example, you can see that we spent 442ms waiting for the first byte, 350ms of which was spent on gather_query_parts.

    Server timings like this are helpful for going deep into performance issues and discovering where delays occur, so you know where to focus performance improvements.

    Try it out
  • Session replay

    Browser network status reporting added to replays

    Replay Team

    We've increased the amount of information session replay is able to capture about the network status of a user. You can now see the browser's reported network status while watching a replay.

    This is typically going to be helpful if you're trying to debug or investigate certain types of error which a user may report as a result of losing their connection. Previously we wouldn't explicitly identify their offline status, which could have caused confusion - but now we do!

    Try it out
  • PostHog Flutter SDK now supports macOS

    Replay Team

    We have updated our Flutter SDK to support the macOS target, which it didn't previously. This is important if you use Flutter to deploy across multiple platforms - previously it wouldn't install at all.

    Thanks to Manoel for work on this, though he believes the SDK should speak for itself in place of a longer update.

  • Configuration

    React Native SDK now supports web target

    Replay Team

    We have updated our React Native SDK to version 2.10.2, adding support for the React Native Web target. Previously if you used the React Native SDK to deploy to web, it wouldn't work and would throw errors. Now it works seamlessly!

    Thanks to Manoel for work on this SDK, who (still) believes the SDK should speak for itself.

  • Uncategorized

    Severity selector added to in-app support

    Sales & CS Team

    We're making a lot of improvements to the way we provide support at the moment. This includes publishing new FAQs to the forums, adding an automated CSAT email for closed tickets, and a new severity checker for the in-app support.

    The severity checker will help us triage tickets by giving you the ability to self-select how critical the support enquiry is.

    Is it a feature request or piece of feedback that isn't totally urgent? Or is it a critical security issue that we need to solve today? We hope it's not the latter.

    Request support
  • Session replay

    Network payload capture launched

    Replay Team

    Earlier this month we announced the first public beta of 2024, which enabled you to capture network requests and response payloads in session replay. Now, it's out of beta and available for everyone!

    Network payload capture builds on top of the network calls and performance data we already capture using PerformanceObserver, making it easier for you to understand performance issues and debug errors. Enable it in your Project Settings!

    Enable payload capture
  • Capture network requests and responses in session replay

    Replay Team

    We already capture network calls that are made and their performance data using the browsers' built-in PerformanceObserver. Adding capture of requests, responses, and status codes would allow our users to more thoroughly understand the behaviour of their applications.

  • Feature flag scheduling released

    Feature Success Team

    We've added the ability to schedule feature flags properties in PostHog, meaning you can now enable, disable, or change the rollout conditions of a flag automatically.

    Scheduled flag changes are especially useful if your release schedules fall outside of normal working hours, or if you work with remote teams in other timezones. They're also useful for coordinating product launches in line with marketing activities or announcements.

    You can even add multiple scheduled changes to a single flag, which is handy if you want to organize staggered rollouts.

    Schedule some flags
  • In-app status indicator added

    Infrastructure Team

    We try our best to make PostHog as stable and reliable as possible but, to quote our handbook, "Incidents are going to happen."

    When they do, we want to be as transparent and communicative as possible - that's why we've added a in-app status indicator to the overflow menu in the sidebar. You can click it to go to our full status page for more information.

    We hope you'll never need to check on the system status, and that the icon will never be anything other than green, but...well, the handbook is usually right.

    Check our status
  • Project-based routing added

    Infrastructure Team

    We have, after more than a year of planning and distractions, added project-based routing into both US and EU environments. Your project ID is now always stored in the URL.

    This is a major benefit for teams who have multiple PostHog projects set up because it makes links properly shareable with colleagues. You'll no longer get lost if you click a link from one project while logged in to a different project.

  • Pricing & billing

    Data pipeline add-on launched

    Growth Team

    In order to better reflect the growing scope of our export functionality, and to give you more control over your bill, we've split batch exports out into their own add-on product: data pipelines.

    If you're an existing user then we've automatically enabled the add-on to avoid disruptions for your product. Your bill won't increase as a result because of the way we've balanced the pricing for both the add-on and product analytics.

    If you're a new user you'll need to enable the add-on from your billing page. As always, pricing is based on usage.

    We originally included export functionality as part of product analytics because it made it easier to get started with both features. However, that also meant we were more expensive for users who didn't use exports. Our hope is that splitting exports into an add-on will give you more control over how you use PostHog.

    View billing
  • Session replay

    Network payload capture beta launched

    Replay Team

    We've already released the first public beta of 2024, which is now accessible via the feature previews menu in PostHog.

    Network payload capture is a beta for session replay which, as the title suggests, adds the ability to capture network request and response payload and headers. This is in addition to the network calls and performance data we already capture using PerformanceObserver.

    The idea is that capturing requests, responses, and status codes would help you understand application behaviour and performance more thoroughly.

    As always we'd love to hear your feedback and thoughts on the GitHub issue!

    Enable the beta
  • Feature flags

    Automated/scheduled rollouts of feature flags

    Feature Success Team

    With automated rollouts, you will be able to roll out a feature flag gradually based on a pre-defined schedule.