All Versions
Latest Version
Avg Release Cycle
22 days
Latest Release
896 days ago

Changelog History
Page 2

  • v1.25.0 Changes

    May 13, 2021
    • 🆓 100x more, for free

    🆓 We have increased our free volume on [PostHog Cloud]( to 1 million events per month for free, instead of the previous 10k.

    That means your next PostHog Cloud bill will be up to 225\$/month cheaper!

    It's important to us that you have enough room to determine if PostHog is the right fit for you, before committing to the platform.

    This change is also retroactive, so existing PostHog users have already had this change applied to their accounts.


    🍱 Legends

    ✅ This feature isn't new to all of you, because we've been testing it out with a feature flag. However, legends for charts in 'Trends' are now enabled for everyone!

    👀 With legends, you're able to determine with more clarity the different sections/lines you see on a graph, see the exact values for each datapoint, and disable sections with one click. You can find them under your graph in 'Trends'.

    🍱 Plugin Logs

    🔌 Plugins are now able to use the JavaScript console API to specify errors that will be shown to users in the PostHog UI. This makes it easier to both debug your own plugins as a developer, and understand what's wrong about your configuration as a plugin user.

    🍱 Lifecycle Toggles

    Li joined us this cycle and started making an impact from day 1!

    As a result of her work, you can now toggle different sections of lifecycle graphs on and off, in order to dig into the metrics that matter most to you.

    This change also came with an addition of more in-product hints about the lifecycle functionality.

    🍱 Resizable Columns

    Sam is another one of our new team members who's been smashing it from the moment he joined!

    🛠 This cycle, in addition to picking up a variety of product fixes and improvements, he also shipped resizable columns for our tables, allowing you to easily get more details from an event, session, or feature flag without having to click on it.

    🔌 Plugins keep getting more and more powerful every new release, and this cycle was no exception.

    🔌 Plugin developers can now leverage job queues to implement a variety of asynchronous tasks, including retry mechanisms.

    🔌 In addition, plugins can now leverage have two more functions: onEvent and onSnapshot.

    🔌 These are read-only functions that run on processed events and are particularly useful for export plugins. onSnapshot handles session recording events while onEvent handles all other events.

    🏗 For more information about this, check our Building Your Own Plugin page.

    In addition to making significant changes to improve the experience of users with massive amounts of event names and properties, we have also implemented fuzzy search for properties.

    This means that to find a property on a filter, you no longer have to type an exact subset of its name, as our search mechanism will still be able to identify what you mean even if you have a few typos or forgot the exact name of the property.

  • v1.24.0 Changes

    April 14, 2021

    🍱 GeoIP

    🔌 Plugins are now live on PostHog Cloud, and, as a bonus, we have now added out-of-the-box support for the PostHog GeoIP plugin, which adds location properties to your events, such as country and city, as well as a dozen other values!

    🔌 The plugin works on both cloud and self-hosted installations (1.24.0 minimum).

    🍱 Cohorts tab

    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.

    🍱 Data attr

    👍 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'.

    🍱 Dashboard collab

    🚀 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 [email protected].

    🔌 We have a new plugin that sends PostHog events to an S3 bucket.

    🔌 The plugin works 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 the textContent of autocaptured elements
    • mask_all_element_attributes: Specifies if PostHog should capture the attributes of autocaptured elements
    • 🔧 session_recording: Accepts an object that lets you configure the following rrweb options:
      • blockClass
      • blockSelector
      • ignoreClass
      • maskAllInputs
      • maskInputOptions
      • maskInputFn
      • slimDOMOptions
      • collectFonts

    👀 See our JS Integration page for more details.

    Our First Time Event Tracker plugin 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.

  • v1.23.1 Changes

    March 22, 2021

    🔧 We've made the interval between background action calculations configurable, with a default of 5 minutes. Previously the interval was set in stone at 30 seconds, which could cause unmanageable database load in some conditions.

  • v1.23.0 Changes

    March 18, 2021

    🍱 Toolbar Date Filter

    Following a fierce battle with Webpack, Marius brought us the heatmap date filters.

    👀 Our heatmaps are now on a whole new level as they are no longer set to show only the last 7 days but allow you to pick any date range. You can now see heatmaps of yesterday, the last 30 days, or any range you like!

    🍱 Filter test accounts

    If you've ever found yourself looking at a graph and wondering: "how much do events from me and my team affect this data?", well, your days of wondering are over.

    🔧 We now provide you with a toggle in 'Insights' to automatically filter out test accounts and your team's accounts your team from your graphs. Out of the box we provide you with some basic relevant filters, but you can also configure this yourself in 'Settings'.

    🍱 Webhooks

    🚀 Members of our community pointed out to us that our latest release caused some issues with webhooks on self-hosted FOSS installations. Largley with help from various community members who provided us with context and feedback, we have now addressed these issues and webhooks should work as normal on 1.23.0.

    However, we made sure to throw in a little treat to make up for it. You can now access all event properties in your webhook messages, which opens up a whole new realm of possibilities for creating useful alerts and notifications for when certain actions are triggered in PostHog.

    🍱 Gravatars

    PostHog now has an 'Organization Settings' page that lets you rename and delete your organization, as well as manage invites.

    Oh, and don't we all love gravatars?

    Well, if you have one set for your email, PostHog will now display it on your profile and the 'Organization Settings' page.


    🔌 Based on user requests, we have now built a plugin that adds two boolean properties to your events:

    • is_event_first_ever: tells you if the event if the first event of its kind
    • is_event_first_for_user: tells you if the event is the first event of its kind for the user

    📈 By enabling it you are then able to add a filter for those properties on all your analytics, to determine things like conversion rates from first touch.

    Important: This plugin will only work on events ingested after the plugin was enabled. This means it will register events as being the first if there were events that occurred before it was enabled.

  • v1.22.0 Changes

    March 03, 2021
    Important Announcement for Self-Hosted Users

    🔌 If you're self hosting PostHog, make sure you have your plugin server up and running correctly. You can check that this is the case by looking at the color of the middle circle on the top left of the PostHog UI.

    🔌 If your plugin server is running, this will be a green checkmark, and hovering over it will give the message "All systems operational", like so:

    🍱 Plugin server

    🔌 From this version (1.22.0) onwards, if your plugin server is not running, this circle will turn orange/yellow. You can click on the server to verify if your plugin server is indeed the problem.

    This is important because from the next release onwards we will move our event ingestion to the plugin server, meaning that you will not be able to ingest events if your plugin server isn't running.

    🍱 Bar chart by values

    Before this change, our bar charts would always be time-based, meaning that if you had multiple graph series (values), these would just all be stacked into one bar for each time period.

    👀 However, we now support two different types of bar charts! When selecting a chart type, you will see the options 'Time' and 'Value' under 'Bar Chart'. Selecting 'Value' will give you the view from the image above, where each graph series is represented in a separate bar, with the value consisting of the aggregate value for the time period specified.

    🍱 UTM Tags

    🔌 PostHot now automatically sets user properties from UTM tags. You can now filter and create cohorts of users much more easily based on what campaign, source, or medium brought them to your product or landing page. This is a big feature for us as it gives our users an automatic way of connecting marketing and product to have a more complete view of your business. We're very excited for our community to start using this feature and extending it through plugins.

    🍱 Multiple equality selector

    Writing complex filters is now easier than ever before. You can now select multiple values for Equality Filters instead of just one - this will simplify filter creation and debugging and just save people a lot of time!

    🍱 Dashboards New UX

    It's now easier to work through your key metrics in Dashboards:

    • 👀 All dashboard panels can be refreshed at the same time to ensure you're not seeing cached results
    • Time ranges for all dashboard panels can be changed at the same time
    • The dashboard author and creation time are displayed below the title

    • 💻 A Much Better UI for Person Pages

    🍱 Persons New UX

    💻 The UI of our person pages just got a whole lot better! As is often the case with our larger features, this isn't news to all of you. We had this behind a feature flag and have now decided to roll it out for everyone.

    💻 Now you can visualize user properties alongside a user's events, and most of the context you need on a person is available to you in a sleek UI without you needing to scroll.

    👍 Oh, and the code got much better as a result too...

    🍱 Set properties on any event

    The event properties $set and $set_once can now be used on any event to set properties directly to the user associated with that event.

    Previously, this would only work on $identify events, making it so that you needed to call multiple methods in order to send an event and set user properties based on the same data. But now, you can do it all in one, as shown in the image above.

    🍱 Event Sequence Timer Plugin

    Our users requested a way to measure the time passed between certain events, and this is it!

    🔌 By installing the Event Sequence Timer Plugin, you can specify as many sets of events as you want and the plugin will track the time between them, either using a first touch or last touch mechanism.

    🏗 It will then add a property to your events that allows you to easily build visualizations in PostHog of the average, minimum, and maximum time between events, as well as all the other mathematical operations we support.

    🍱 Property Flattener Plugin

    🔌 The new Property Flattener Plugin allows you to convert event properties contained in a nested structure into a flat structure, allowing you to set filters based on the nested properties.

    🍱 Docs Token Autofill

    📄 If you're a user of PostHog Cloud, we now autofill your Project API Key and API Host automatically in the Docs for you, meaning you can copy-paste snippets and use them directly with no manual changes!

    This key will be based on the last project you used in PostHog, and you can check what project that is by simply hovering your cursor over the highlighted key.

  • v1.21.0 Changes

    February 17, 2021

    🍱 New Nav

    🚀 While this might not be news to all of you, we have now released our new navigation to everyone.

    We had this behind a feature flag, but now all our users have access to our fresh spaceship-like navigation. What do you think? 🚀

    🍱 Refreshing Insights

    To provide a smooth user experience, we cache query results so that you don't have to wait for a query to run every time you go back to a chart you've recently looked at.

    ⚡️ However, this might mean you're sometimes looking at slightly outdated results. As such, we now clearly indicate to you if you're looking at a cached result, how long ago this result was computed, and allow you to refresh it any time you want to see an updated result.

    🍱 Session filters

    Our session recording filters just got so much more powerful.

    👀 Filter by session duration, user properties, unseen recordings, actions performed in a session, and so much more.

    You can now get a lot more out of your session recording sessions by tailoring the recordings to specific areas of your product you're looking into.

    👻 For a start, how about integrating PostHog with Sentry and watching all recordings with an $exception event in them?

    🍱 Feature Flag Multiple Groups

    🔋 Feature flags can now be rolled out to multiple different groups that use distinct settings, unlocking a whole new world of opportunities for your A/B testing and feature rollout processes.

    For example, you can now determine a feature flag to be rolled out to all of the following:

    • ✅ 100% of users in the 'Beta Testers' cohort
    • 40% of all your users
    • All users in a specific team that requested the feature from you

    You can then adjust the filters and rollout percentage for each individually, giving you an even greater degree of flexibility with how you leverage our flags in your workflows.

    🍱 Plugins UI

    🚀 A lot has happened to our plugins feature since the last release, including:

    • 💻 An improved UI
    • 🔌 The ability to reorder plugins
    • ⬆️ The ability to upgrade plugins (and see exactly what changed between plugin versions)
    • 🔧 Autofill on commonly used plugin configuration fields
    • 🏗 A new plugin configuration field type, letting plugin builders specify pre-determined choices for the user to select from
    • 🐎 A ton of performance improvements

    • 🔌 Taxonomy Plugin

    🍱 Taxonomy Plugin

    Standardize your event names into a single naming pattern by converting the names of your events that don't match your desired pattern into the chosen format, such as camelCase or snake_case.

    🚀 Bitbucket Plugin

    🚀 Get your Bitbucket release tags into PostHog as annotations on your graphs, so you can track the impact of releases on your metrics.

  • v1.20.0 Changes

    January 19, 2021

    🍱 Plugin Library Screenshot

    🔌 A lot has been happening on our Plugins front.

    🐎 Besides a whole bunch work to deliver performance improvements and mature the PostHog Plugins ecosystem, we have two major changes being introduced with this new PostHog version:

    🔌 A shiny new plugin library

    🚀 We have released a plugin library where you can browse through all the plugins built by our core team and community, and made sure the library is populated with plugins! Thus, we now have integrations that support getting data from GitHub and GitLab, or sending data over to BigQuery and Hubspot, for example.

    🔌 We're working to make plugins available on Cloud, but, in the meanwhile, if you're self-hosting, do check out our plugins and let us know what you think!

    🔌 Plugins can now access persistent storage

    🏗 Up until now, plugin builders would have noticed that the cache could have been used to store data in-memory using Redis, but we now also support storage, which allows plugins to store data in a persistent form, opening up a lot of new use cases for you to explore.

    🍱 Static Cohorts Screenshot

    ⚡️ In addition to our standard dynamic cohorts (periodically updated based on the definition), PostHog now support static cohorts - groups of users that don't update.

    To create a static cohort, head over to 'People' -> 'Cohorts' and, when creating a new cohort, select 'Upload CSV'. This CSV file should have a single column with either the user's distinct_id or email.

    This way, you can import data from outside sources into a PostHog cohort more easily, as well as turn your dynamic cohorts into static ones by first exporting them. You could, for example, add your Mailchimp subscribers list as a static cohort.

    🍱 Sortable Funnels Screenshot

    🚀 As of this new release, when you head over to Funnels in PostHog, you will see 3 dots next to each funnel step. By dragging these 3 dots up and down you can now re-order your funnel's steps, for example if you made a mistake, or want to explore different funnel structures.

    🏗 This was a feature that was consistently requested by the PostHog community, and we'd like to also shoutout @glmaljkovich for helping us build it!

    🍱 Bookmarklet Gif

    ⚡️ To try out the PostHog snippet without having to update anything on your codebase, you can make use of our bookmarklet, which you can find over in 'Project Settings'.

    This lets you capture events in your website without any code, and we've been using it actively during our demos!

    🐎 Since joining us, Karl has been submitting performance improvement after performance improvement.

    This time, as session recordings are being used more and more by our users, it was time to speed up the loading of the sessions list, which now loads 10x faster!

  • v1.19.0 Changes

    December 15, 2020

    🔌 Plugin Editor Screenshot

    ⏱ We now support scheduled plugins that run periodically on a specified time cycle (e.g. minute, hour, day), as well as have a built-in code editor for plugins right into the PostHog UI.

    🔌 With the ability to run tasks in specified time intervals, you can now setup plugins that, for example, keep track of external metrics and add this data to PostHog via new events. This is possible because we now support posthog.capture calls inside plugins as well.

    🐎 Some metrics you might want to keep track of are, for example, server performance, GitHub activities (e.g. stars ⭐ ), engagement with your project's social media profiles, and anything else you can think of!

    ⏱ You can learn more about scheduled plugins on the PR that created them, as well as our docs for building your own plugin.

    Note: Plugins are a Beta feature currently only available on self-hosted instances. We are working to make it available on PostHog Cloud soon.

    Lifecycle Screenshot

    Our 'Trends' tab just got an awesome new feature: lifecycle graphs!

    Lifecycle analysis digs deeper into your events and shows you a breakdown of the users who performed the event into new, returning, and resurrecting users. In addition, it also shows you the churn on for the specified time period.

    To use it, select 'Shown As' -> 'Lifecycle' when in the 'Trends' tab.

    Gzip Session Recording Screenshot

    👀 See the image above? That's our event processing time before and after the new compression scheme!

    🐎 By using gzip-based compression, we have now significantly improved performance both on the client and server, making event processing faster, as well as decreasing the number of session recordings that are lost. Be on the lookout for more green play buttons on your 'Sessions' page now.

    ⚡️ > If you installed posthog-js via npm, you should update to version 1.8.0 to get access to this update. Snippet users have access to the latest version by default.

    New Actions UX Screenshot

    📄 This might not be news to all of you, since we have been experimenting with our actions UX using feature flags. However, we're now rolling out a new UX for creating actions to all PostHog users, so try it out let us know what you think!

    👍 In addition to the average, sum, maximum, and minimum operations available to numerical properties in trends, we now also support median, and 90th, 95th, and 99th percentiles.

    🚀 Full Release Notes
  • v1.18.0 Changes

    November 30, 2020

    🚀 Our primary goals for this release were to iron out bugs and improve the user experience of our Beta features.

    As a result, we fixed a whole lot of stuff. We merged dozens of PRs with session recording fixes and improvements, and a dozen more with updates to our plugins functionality. We also improved things like event ingestion, the UX for feature flags, and our settings for both organizations and projects. You can read through the entire list of fixes on our website, but beware: it's quite long.

    Events Box Screenshot

    ⬆️ We upgraded our event selection box to include actions and events in one, as well as provide smarter recommendations of events and actions you might want to use of based frequently used in queries by you or your team.

    ⚡️ A new version of posthog-js is available and we recommend you to update if you've installed it via npm. Snippet users have access to the latest version by default.

    🛠 The new version includes a lot of bugfixes that improve our session recording feature, as well as is significantly lighter, having had a lot of legacy code removed.

    🚚 R.I.P. to the hundreds of lines of JavaScript that were removed - you will not be missed.

    🔌 Following feedback from a user, we have now added support for PostHog Plugins to our Helm chart.

    🚀 If you're using the chart to deploy PostHog, upgrading to the latest version will give you access to the new plugin server (Beta).

    Out of the many improvements to session recording, there are some worth mentioning specifically:

    • Keyboard shortcuts for the session recording player (spacebar to pause/play, f to open player in full screen)
    • Ability to jump back/forward 8 seconds with the keyboard arrows (or player button)
    • 👍 Full-screen support for the session recording player without losing the controls bar
    • Pause/Play recording when clicking on the video
    • Skipping inactivity made clearer with an overlay over the player
    • 📱 The session recording player is now responsive to the client's screen size
    • Incomplete session recordings (i.e. "blank screens") are now hidden from the list
  • v1.17.0 Changes

    November 17, 2020

    Sentry Screenshot

    An important part of developing a great user experience is identifying, tracking, and fixing bugs.

    👀 With our new Sentry integration, you can (i) leverage PostHog data to help your debugging (ie to see the user's event history or to watch a session recording), and (ii) use Sentry exception data to quickly spot if errors are affecting your product metrics (ie to see if errors are causing churned users).

    As a two-way integration, it:

    • Adds a direct link in Sentry to the profile of the person affected in PostHog
    • 👻 Sends an $exception event to PostHog with a direct link to Sentry

    If you're unfamiliar with Sentry, we highly recommend you to check it out - it is an awesome application monitoring platform of which we're avid users at PostHog.

    📄 To set up the integration you can read the step-by-step instructions on the dedicated Sentry Integration page.

    📈 RudderStack is an open-source, warehouse-first, customer data platform for developers. It allows you to collect and deliver customer event data to a variety of destinations such as data warehouses and analytics platforms.

    📈 As of last week, PostHog is now available as a destination on RudderStack, allowing you to send your event data from various sources into PostHog for performing product analytics.

    📄 You can read more about RudderStack on their website, and learn how to integrate PostHog through their comprehensive integration docs.

    🔌 MaxMind Plugin Page Screenshot

    🔌 Over the past two weeks, our Plugins feature was extensively worked on to improve the experience of using and developing plugins for PostHog.

    🔧 One of the main changes was the addition of plugin attachments, which allow you to upload files that are used in the configuration of the plugin, vastly expanding the realm of possibilities of what plugins can do.

    🔧 As a result of this, we built the PostHog MaxMind Plugin, leveraging attachments to allow GeoIP data to be used for enriching your events. Once configured, the plugin adds IP-based location information as properties on your events, such as what country and city your users are located in, making it possible to create charts and tables filtered based on the location of your users.

    Note: Plugins are currently only available on self-hosted instances. If you're self-hosting and want to use the PostHog MaxMind Plugin, please follow these instructions. If you want to build your own plugin, check out our fresh new guide on how to do so.

    Retention Panel Screenshot

    Dashboards are a key part of PostHog, so it's important to us that you can have an overview of as many as possible of your metrics in them.

    As such, the user paths graph and the retention table can now be added as panels on dashboards, making it so that every single chart, table, funnel, and graph you create in PostHog can make it to your dashboards now.

    First Time Retention Screenshot

    Following some feedback from our own Growth Engineer on what functionality we need for ourselves at PostHog, we have now extended the functionality of our 'Retention' view, adding first time retention and differentiating between 'Cohortizing' and 'Retaining' events.

    In short, first time retention cohortizes users based on when they did an event for the first time, rather than adding a user to each cohort they had the event in. Additionally, by being able to have different target events for the cohort and the retention, you are able to track the impact of 'Event A' on the retention of 'Event B', exploring hypotheses such as how users who read your documentation retain on product pageviews when compared to other users.

    Manage Events View Screenshot

    In an effort to make it easier to filter through your events in PostHog and tag events that you find useful, we have now consolidated 'Events' and 'Actions' into one single view, found on the left sidebar as 'Events & Actions'.

    ⚡️ On this page, you'll be able to manage everything related to your events, from inspecting their properties, to tagging them as actions. In addition, we have also added stats for your event and property volumes, so you can dig deeper into your analytics data collection, and optimize it to your needs.

    🚀 Following a lot of great user feedback, we have now significantly improved our AWS CloudFormation Deployment.

    🚀 We have now added configuration for relevant alerts and RDS disk size, as well as improved the setup flow and added automatic SECRET_KEY generation. If you're happy with the standard config, deploying with AWS is now just a matter of "click, click, click", as described by Karl, one of our engineers.