Dashboard on a TV in your office? Want to have a public stats page? Share a dashboard with someone who doesn't have a PostHog account? You can now publicly share a dashboard. Just click "Share Dashboard" and enable sharing. You'll get a link that's publicly accesible.
Changed your mind? You can always disable sharing.
Want to know the average revenue per user? Want to know the lowest browser version anyone is using? You can now do Sum, Max, Min and Avg calculations on any event property and graph them in trends!
Digging through git commits to find out what changed to make the graphs go hay-wire? No more! You can now annotate when something happened (a big release, a bugfix or a launch) and make it super easy for your team-mates to figure out what's going on. Now global.
As part of this, you can now also manage, add and delete annotations from a central screen.
Regex master? Put those skills to use on any property with regex filtering
- Retention Table Improvements
Previously the retention table was hardcoded to only recognize the `$pageview` event as a retention event. Now, you can select any action or event to measure retention on.
Clicking on any section in the retention table will tell you exactly what users fall in that item.
#### Bug Fixes and Performance Improvements
* We've added a button [to easily launch the toolbar](https://github.com/PostHog/posthog/pull/1186)
* We've made line charts more precise by [straightening the lines.](https://github.com/PostHog/posthog/pull/1238)
* We've enabled interval selection for sessions [too](https://github.com/PostHog/posthog/pull/1241)
* We're now using Typescript ([1](https://github.com/PostHog/posthog/pull/1297), [2](https://github.com/PostHog/posthog/pull/1286))
* We've [fixed various issues with annotations(https://github.com/PostHog/posthog/pull/1291)
* We don't refresh the Events table if you [don't select a property](https://github.com/PostHog/posthog/pull/1285)
* "All time" date filter [works on funnels again](https://github.com/PostHog/posthog/pull/1252)
* You can now [delete users from your team(https://github.com/PostHog/posthog/pull/1274)
* Fixed an issue where timestamps [were displayed incorrectly on sessions](https://github.com/PostHog/posthog/pull/1294)
* Fixed a bug where selecting "last 48 hours" [wouldn't return results](https://github.com/PostHog/posthog/pull/1264)
* Fixed issues with funnels loading [on dashboards](https://github.com/PostHog/posthog/pull/1266)
* [UUIDs are ugly](https://github.com/PostHog/posthog/pull/1255), so we just cut them off rather than wrapping entire lines in the events table
* [Samcaspus](https://github.com/samcaspus) contributed a little bit of magic: we now automatically adjust your date range if [you change the interval](https://github.com/PostHog/posthog/pull/1253)
* We added a button to dashboard that allows users to [easily add a new item(https://github.com/PostHog/posthog/pull/1242)
* enhanced ctrl + click new tab opening feature [](https://github.com/PostHog/posthog/pull/1248)
* Massively speed up [loading live actions](https://github.com/PostHog/posthog/pull/1182)
* Closes #1180 worker fails if timestamp is invalid [](https://github.com/PostHog/posthog/pull/1181)
* (abhijitghate)[https://github.com/abhijitghate] contributed an improvement to the way we display DAU's in the graph
* Fix an issue where [loading sessions would do an entire table scan](https://github.com/PostHog/posthog/pull/1221), and then throw it away
* [Automatically bind docker-compose 2to port 80](https://github.com/PostHog/posthog/pull/1257) for production deployments
* + a bunch of improvements to make local development better! ([1](https://github.com/PostHog/posthog/pull/1290), [2](https://github.com/PostHog/posthog/pull/1288), [3](https://github.com/PostHog/posthog/pull/1272), [4](https://github.com/PostHog/posthog/pull/1293))
#### Other exciting, enthralling and invigorating features
- Flutter Integration. You asked for it and now [it's here](https://posthog.com/docs/integrations/flutter-integration)!
- Retention page. PostHog already had stickiness, but now there is a table that demonstrates perhaps more clearly how your users are coming back (or not!)
- Better onboarding. We've had a go at redoing how our set up flow works, and will be tracking if it helps more people get through PostHog's own funnel!
- Platform.sh deployment. A very simple, new and trendy way to get up and running!
- Porter development. Join the cool kids and do web development in the cloud. Thank you so much to [porter-dev](https://github.com/porter-dev) for creating this PR.
- Event name filtering. By popular demand, you can now filter the events table by the event name. Happy debugging your implementations!
![filter by event name](https://user-images.githubusercontent.com/1727427/84702990-c7f59f00-af57-11ea-8455-92fb89d9c9ae.png)
#### Bug fixes and performance improvements
* We are now more privacy friendly - you can [discard IP address data](https://github.com/PostHog/posthog/pull/1081)
* Added the offer of a [free pairing session](https://github.com/PostHog/posthog/pull/1028) to the contributing guide - ask us!!
* We fixed a bug with [the start times for the session view](https://github.com/PostHog/posthog/pull/1077)
* We [improved the ./bin/test command](https://github.com/PostHog/posthog/pull/1074)
* We now let you [break down users by their properties](https://github.com/PostHog/posthog/pull/1070) (it wasn't working before!)
* We [sped up the people page](https://github.com/PostHog/posthog/pull/1056) - pro tip: don't load stuff you don't need!
* We [disabled batching in the snippet](https://github.com/PostHog/posthog/pull/1049), since this helps prevent data loss
* Fixed a weird bug with [moving from sessions to trends](https://github.com/PostHog/posthog/pull/1039)
* Fixed [person properties being selected](https://github.com/PostHog/posthog/pull/1040), which was causing some issues with the stats.
* We now [automatically select hourly](https://github.com/PostHog/posthog/pull/1057) if you're looking at data from just today or yesterday - it was weird otherwise!
* We turned [today into the last 24 hours](https://github.com/PostHog/posthog/pull/1054) - you can now think of yourself as Jack Bauer
* The people modal now [has pagination](https://github.com/PostHog/posthog/pull/1042)
* We [now copy array.js.map](https://github.com/PostHog/posthog/pull/1047) as well as everything else to better debug errors
* We now [show a warning for old browsers](https://github.com/PostHog/posthog/pull/1046), and feel bad for those in big enterprises that must use them!
* [Black now added](https://github.com/PostHog/posthog/pull/1043) to post commit hooks, so we don't get crazy all-file reformatting
* Fixed an issue with [force refreshes for cache](https://github.com/PostHog/posthog/pull/1035) in certain places
* We [fixed a failing test problem](https://github.com/PostHog/posthog/pull/1036) with team_id
* Improved [person properties and pagination](https://github.com/PostHog/posthog/pull/976)
* Solved [a Sentry error](https://github.com/PostHog/posthog/pull/1029) with overly long text
* We [cleaned the configs for release-drafter](https://github.com/PostHog/posthog/pull/1088)
* Enabled [running cypress in parallel](https://github.com/PostHog/posthog/pull/959), which saved a minute.
* [Fixed cypress linting errors and sped up tests further](https://github.com/PostHog/posthog/pull/865)
* [Cached PostHog's yarn builds](https://github.com/PostHog/posthog/pull/927), which took e2e tests down by around 30%.
* Finally, we now [wait for PostHog to start serving requests](https://github.com/PostHog/posthog/pull/920) rather than the 60 second sleep when running Cypress.
[Develop PostHog with Porter](https://posthog.com/docs/developing-locally#using-porter)
[Management command for millions of events](https://github.com/PostHog/posthog/pull/475)
[Set properties to anonymous users](https://github.com/PostHog/posthog-js/pull/43)
#### Bug fixes and performance improvements
* We worked hard on improving caching to speed things up. We [fixed cache refreshing](https://github.com/PostHog/posthog/pull/1035) in a few areas, we made a few [caching adjustments](https://github.com/PostHog/posthog/pull/1023) to fix #1022. Finally, we now use [redis to cache results](https://github.com/PostHog/posthog/pull/972).
* Save time! You can now [create actions from the trends page](https://github.com/PostHog/posthog/pull/990).
* [Upgrade to posthog-js 1.2.0 to support dynamic params](https://github.com/PostHog/posthog/pull/957).
* We fixed long href inserts - the href [can now go up to 2048 characters](https://github.com/PostHog/posthog/pull/1027) before truncation. Someone must have had some funky urls going on...
* [We prevented intermittent issues with yarn build](https://github.com/PostHog/posthog/pull/1026)
* We [fixed a bug](https://github.com/PostHog/posthog/pull/1021) that caused cohorts to fail when actions were deleted
* We [solved a problem](https://github.com/PostHog/posthog/pull/980) with comparing trend sessions distribution
* We [added a limit to number of returned entities for breakdowns](https://github.com/PostHog/posthog/pull/1008) so queries don't time out
* We [created a fix](https://github.com/PostHog/posthog/pull/1013) for an issue with heartbeats
* We [made it clearer](https://github.com/PostHog/posthog/pull/1014) that PostHog SaaS users are on the latest version
* We [slashed CPU consumption for VSCode](https://github.com/PostHog/posthog/pull/1007) by excluding a folder
* Generated a [performance improvement for element stats](https://github.com/PostHog/posthog/pull/991)
* We [stopped giving way too many decimal points](https://github.com/PostHog/posthog/pull/984) on our graphs!
* [Improved filtering](https://github.com/PostHog/posthog/pull/986) on elements
* We fixed [a race condition](https://github.com/PostHog/posthog/pull/973/commits/953af2326dff94e8ae1d75cd6ea0fc2c64567857)
* [We don't rely](https://github.com/PostHog/posthog/pull/949) on \$ to separate PostHog's events
* We [removed the redundant math selector](https://github.com/PostHog/posthog/pull/950) on funnels - it didn't do anything!
* [Django upgraded to 3.0.7](https://github.com/PostHog/posthog/pull/932)
* We [made HTTPS work locally](https://github.com/PostHog/posthog/pull/910) - we had lots of community issues raised, so that should make it easier to get started with!
* We [improved the setup overlay layout](https://github.com/PostHog/posthog/pull/904)
* We [sped up the events endpoint](https://github.com/PostHog/posthog/pull/903) by just hitting the current week's partitions
* We solved a problem [with temporary tokens](https://github.com/PostHog/posthog/pull/909)
* We added [webpack HMR](https://github.com/PostHog/posthog/pull/878) and hashes to chunk filenames. (#878)
* We cleaned up descriptions in the [breakdown filter](https://github.com/PostHog/posthog/pull/886).
* The [UX is nicer](https://github.com/PostHog/posthog/pull/863) for selection a URL on creating an action.
* We made it simpler to understand [how to use custom events](https://github.com/PostHog/posthog/pull/873) during the setup process.
* The token issues, oh the token issues. [Fixed](https://github.com/PostHog/posthog/pull/909) and [fixed](https://github.com/PostHog/posthog/pull/894).
* It was time for our events table [to become Ant Designed](https://github.com/PostHog/posthog/pull/895).
* Pre-2020 events [won't affect partitions](https://github.com/PostHog/posthog/pull/875) any more.
* [Better debugging](https://github.com/PostHog/posthog/pull/854) with Sentry.
* Scrollbar [small issue be gone](https://github.com/PostHog/posthog/pull/900).
* We [improved](https://github.com/PostHog/posthog/pull/885) how empty funnels work.
* Events are [40ms faster to process](https://github.com/PostHog/posthog/pull/833) - 25% quicker!
* The sidebar [works properly on mobile](https://github.com/PostHog/posthog/pull/839) - no more squished interface on your cell phone.
* Fix a bug with [selecting filters](https://github.com/PostHog/posthog/pull/844)
* [Funnels are simpler](https://github.com/PostHog/posthog/pull/881).
* [Solved](https://github.com/PostHog/posthog/pull/874) a tricky bug on app.posthog.com caused by URLs with non-utf8 or raw binary query parameters.
* Nothing to do with [dubious cheese](https://www.babybel.com/welcome), we [fixed errors with babel](https://github.com/PostHog/posthog/pull/861)
* [Improved toolbar UX](https://github.com/PostHog/posthog/pull/890) for actions to fix a small [issue](https://github.com/PostHog/posthog/issues/889).
* PostHog will now [cache SQL and parameters between events processing](https://github.com/PostHog/posthog/pull/845). This speeds things up by a further 40%.
* We [refactored more classes to hooks](https://github.com/PostHog/posthog/pull/898), fixing a bug with event name labels along the way.
* Developing PostHog is now a bit less tedious. We [halved the time](https://github.com/PostHog/posthog/pull/826) it takes to install python dependencies for any deployment.
* We've written [a lot of front end tests](https://github.com/PostHog/posthog/pull/802), as well as a [regression test](https://github.com/PostHog/posthog/pull/819) for single step funnels, where there was a bug - [now fixed](https://github.com/PostHog/posthog/pull/817).
* We neatened dashboard items so they're [closer together](https://github.com/PostHog/posthog/pull/846) in the navigation.
* We [improved our Sentry setup](https://github.com/PostHog/posthog/pull/842).
* Marius [fixed the way tables display](https://github.com/PostHog/posthog/pull/838) when they're on a dashboard.
* Eric [slayed a bug](https://github.com/PostHog/posthog/pull/832) when the People page wouldn't load with entity specific filters applied.
* We've had several users with very high scale pushing the limits of redis. We have more work to do here, but we've [improved the way we handle filled up servers](https://github.com/PostHog/posthog/pull/825).
* A little [header spring cleaning](https://github.com/PostHog/posthog/pull/831).
* We [fixed a bug](https://github.com/PostHog/posthog/pull/835) with suggestions loading, and another with [EditAppUrls null check](https://github.com/PostHog/posthog/pull/829).
* Cohort property filters had a small issue, [now fixed](https://github.com/PostHog/posthog/pull/828).
* AntD's gradual takeover of our app and website continued - it was [added to more dropdowns](https://github.com/PostHog/posthog/pull/814) this week.
* We prevented requests to update server for those who have opted out, and [added fine grained control](https://github.com/PostHog/posthog/pull/821) to the opt out flow.
- [Dashboard mobile support](https://github.com/PostHog/posthog/pull/775)
- [Microsoft Teams support](https://posthog.com/docs/integrations/microsoft-teams)
- [You can now use](https://github.com/PostHog/posthog/pull/768) the django-debug-toolbar to diagnoze performance issues better
- We added [ES Lint](https://eslint.org/), for JavaScript linting.
- We fixed [property filter array issue](https://github.com/PostHog/posthog/pull/769)
- [Optimize funnel rendering](https://github.com/PostHog/posthog/pull/792) is a major improvement in speed for those with many events - now 1 order of magnitude faster.
- [Multiple filters with same key](https://github.com/PostHog/posthog/pull/738), fixed a bug that means you can now have multiple filters that are the same ie $current_url doesn't equal A and $current_url doesn't equal B
- [Event partioning](https://github.com/PostHog/posthog/pull/733), which speeds up trends and paths pages in particular. Learn more about [scaling PostHog](/docs/scaling-posthog).
- The component Deletewithundo wasn't working because of property mixup, [now it is](https://github.com/PostHog/posthog/pull/750)!
- [Funnels](https://github.com/PostHog/posthog/pull/751) and [Actions](https://github.com/PostHog/posthog/pull/757) now use Ant Design
- We temporarily [removed stickiness breakdowns](https://github.com/PostHog/posthog/pull/774), as they were causing issues.
- [Better handling of breakdown views](https://github.com/PostHog/posthog/pull/758) when users don't have the property.
- [Fixed an issue](https://github.com/PostHog/posthog/pull/725) with viewing certain queries over all time.
- [Resolved an issue](https://github.com/PostHog/posthog/pull/748) with sessions where null conditions were missing
- Fixed the [cohort input search](https://github.com/PostHog/posthog/pull/785) bug
- Solved [a bug with navigating to users](https://github.com/PostHog/posthog/issues/794)
- [Big refactor of how we do routing in the app](https://github.com/PostHog/posthog/pull/717) which means going backwards and forwards should work a lot smoother
- [Faster loading of paths](https://github.com/PostHog/posthog/pull/729)
- [More accurate DAU/uniques count](https://github.com/PostHog/posthog/pull/734)
- [Fix dotted line appearing on completed days](https://github.com/PostHog/posthog/pull/735). Thanks [Jujhar](https://github.com/Jujhar)!
- We have added an Android library so you can now capture events in your Android app and send them to PostHog, we can automatically capture screen changes, and send any other events that you like
- We have added an iOS library so you can now capture events in your iOS app and send them to PostHog, we can automatically capture screen changes, and send any other events that you like
- We have added Sessions to /trends with two modes: “Average session length”, which shows you how long sessions are and how many, and “distribution” which makes it super easy to spot whether sessions are uniformly distributed or whether there are outliers
- Added indexes so loading /trends is super fast, even with millions of events
- We have offloaded storing events to workers, so that calls to our events API are non-blocking, and you can scale insertion of events independently from the rest of PostHog
- Removed drf-yasg in favor of our own hosted docs
- Added layout/header components of Ant design
- Updated property filters to be "tokenized"
- Updated the way we display actions/events in trend graphs if those action/events have no data in a given timeframe
- Updated property filters so that they 'AND' rather than 'OR' if you filter multiples
#### Bug Fixes
- Fixed unable to sign up to teams
- Fixed stickniess not loading
- Fixed property filter bug that would break when multiples were applied in some circumstances
Important! We've added Celery workers. We'll move tasks to workers to speed up a lot of actions in PostHog. [See update instructions](https://posthog.com/docs/deployment/upgrading-posthog#upgrading-from-before-1011) on how to enable workers.
- Changed the way we store events properties, we now store all event names and property names against the Team
- Refactored PropertyFilters into a function
- Added filter by event name to event properties
- Added mypy rules
- Using dateutil for datetime
- Added timestamp index to allow event tables to load at large volumes
- Updated helm charts to work with redis and workers
- Added a Babel plugin to reduce antd module load
- We now use offset instead of timestamp of posthog-js to avoid the wrong user time - previously if your local machine had a time set different to your location (or if the time was just off) we would have displayed that time.
- Using npm instead of yarn in copy command as Heroku doesn't have yarn
- We now use posthog-js to get array.js
- Removed unused indexes from migrations
- Updated PostHog snippet
#### Bug Fixes
- Removed unused future import to prevent Heroku deployments breaking
- Fixed dupliucated users in Cohorts
- Type Migration to prevent /trend bug when navigating to a url from a dashboard
- Added missing type in initial dahsboard element creattion to fix the same bug as above
- Fixed collectstatic on fresh Heroku updates
- Fixed network timeout yarn for antd
- Fixed npm command to copy array.js
- Fixed date filter not detecting moment
- Fixed redis error when upgrading Heroku
- Stopped throwing an error if a user doesn't have a distinct id
- Fixed a trends people bug that ignored the time interval selected
Important! We've added Celery workers. We'll move tasks to workers to speed up a lot of actions in PostHog. [See update instructions](https://posthog.com/docs/deployment/upgrading-posthog#upgrading-from-before-1011) on how to enable workers.