Stream

Description

With real-time notifications and third-party integrations, Stream can proactively alert you when something goes wrong with your WordPress site.

Designed for debugging and compliance purposes, Stream is useful for keeping tabs on your WordPress users: From activating plugins to deleting posts, to login attempts and new user creation, you can see what’s changed, who changed it and when.

The plugin records WordPress user and system action to the Stream logs. Every logged-in user action is displayed in an activity stream and organized for easy filtering by User, Role, Context, Action or IP address. Admins can highlight entries in the Stream log—such as suspicious user activity—to investigate what’s happening in real time. Stream also allows you to configure email alerts and webhooks for integrations like Slack and IFTTT to notify you and your team when something has gone wrong.

For advanced users, Stream also supports a network view of all activity records on your Multisite, the ability to set exclude rules to ignore certain kinds of user activity, and a WP‑CLI command for querying records.

With Stream’s powerful logging, you’ll have the valuable information you need to responsibly manage your WordPress sites.

Built-In Tracking Integrations For Popular Plugins:

  • Advanced Custom Fields
  • bbPress
  • BuddyPress
  • Easy Digital Downloads
  • Gravity Forms
  • Jetpack
  • User Switching
  • WooCommerce
  • Yoast SEO

Built-In Tracking For Core Actions:

  • Posts
  • Pages
  • Custom Post Types
  • Users
  • Themes
  • Plugins
  • Tags
  • Categories
  • Custom Taxonomies
  • Settings
  • Custom Backgrounds
  • Custom Headers
  • Menus
  • Media Library
  • Widgets
  • Comments
  • Theme Editor
  • WordPress Core Updates

Other Noteworthy Features:

  • Multisite view of all activity records on a network
  • Limit who can view user activity records by user role
  • Set exclude rules to ignore certain kinds of user activity
  • Live updates of user activity records in the Stream
  • Export your Activity Stream as a CSV or JSON file
  • WP-CLI command for querying records

Configuration

Most of the plugin configuration is available under the “Stream” “Settings” page in the WordPress dashboard.

Request IP Address

The plugin expects the $_SERVER['REMOTE_ADDR'] variable to contain the verified IP address of the current request. On hosting environments with PHP processing behind reverse proxies or CDNs the actual client IP is passed to PHP through request HTTP headers such as X-Forwarded-For and True-Client-IP which can’t be trusted without an additional layer of validation. Update your server configuration to set the $_SERVER['REMOTE_ADDR'] variable to the verified client IP address.

As a workaround, you can use the wp_stream_client_ip_address filter to adapt the IP address:

add_filter(
    'wp_stream_client_ip_address',
    function( $client_ip ) {
        // Trust the first IP in the X-Forwarded-For header.
        // ⚠️ Note: This is inherently insecure and can easily be spoofed!
        if ( ! empty( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
            $forwarded_ips = explode( ',' $_SERVER['HTTP_X_FORWARDED_FOR'] );

            if ( filter_var( $forwarded_ips[0], FILTER_VALIDATE_IP ) ) {
                return $forwarded_ips[0];
            }
        }

        return $client_ip;
    }
);

⚠️ WARNING: The above is an insecure workaround that you should only use when you fully understand what this implies. Relying on any variable with the HTTP_* prefix is prone to spoofing and cannot be trusted!

Known Issues

  • We have temporarily disabled the data removal feature through plugin uninstallation, starting with version 3.9.3. We identified a few edge cases that did not behave as expected and we decided that a temporary removal is preferable at this time for such an impactful and irreversible operation. Our team is actively working on refining this feature to ensure it performs optimally and securely. We plan to reintroduce it in a future update with enhanced safeguards.

Contribute

There are several ways you can get involved to help make Stream better:

  1. Report Bugs: If you find a bug, error or other problem, please report it! You can do this by creating a new topic in the plugin forum. Once a developer can verify the bug by reproducing it, they will create an official bug report in GitHub where the bug will be worked on.

  2. Translate into Your Language: Use the official plugin translation tool to translate Stream into your language.

  3. Suggest New Features: Have an awesome idea? Please share it! Simply create a new topic in the plugin forum to express your thoughts on why the feature should be included and get a discussion going around your idea.

  4. Issue Pull Requests: If you’re a developer, the easiest way to get involved is to help out on issues already reported in GitHub. Be sure to check out the contributing guide for developers.

Thank you for wanting to make Stream better for everyone!

Past Contributors: fjarrett, shadyvb, chacha, westonruter, johnregan3, jacobschweitzer, lukecarbis, kasparsd, bordoni, dero, faishal, rob, desaiuditd, DavidCramer, renovate-bot, marcin-lawrowski, JeffMatson, Powdered-Toast-Man, johnolek, johnbillion, greguly, pascal-klaeres, szepeviktor, rheinardkorf, frozzare, khromov, dkotter, bhubbard, stipsan, stephenharris, omniwired, kopepasah, joehoyle, eugenekireev, barryceelen, valendesigns, tlovett1, tareiking, stayallive, sayedtaqui, robbiet480, oscarssanchez, kidunot89, johnwatkins0, javorszky, jamesgol, desrosj, davelozier, davefx, cfoellmann, JustinSainton, JJJ, postphotos, schlessera

Screenshots

  • Every logged-in user action is displayed in an activity stream and organized for easy filtering and searching.
  • Enable live updates in Screen Options to watch your site activity appear in near real-time.
  • Create rules for excluding certain kinds of records from appearing in Stream.

Reviews

26 de julio, 2023
Helpful and nicely done. Especially the integration of logging and notification features makes a lot of sense and sets this plugin apart from others. On the other hand: The information provided in email notifications is not always sufficient and only in parts customizable. And it looks like the developers do not care about answering questions in the support forum.
18 de mayo, 2022
This is a great plugin that records almost everything except the video plays of my revolution video player Wordpress plugin. I wish it could record when a user plays a video and when he stops on one. Otherwise I love it already! Thanks for considering this.
5 de marzo, 2021
Have been using this plugin for many years now, very useful as an audit trail when a site “just broke itself” 😛
21 de septiembre, 2019
Great UX design. It contains everything, very useful plugin, one of the best.
Read all 77 reviews

Contributors & Developers

“Stream” is open source software. The following people have contributed to this plugin.

Contributors

“Stream” has been translated into 6 locales. Thank you to the translators for their contributions.

Translate “Stream” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

4.0.2 – August 22, 2024

Security update

  • Fix vulnerability which allowed logged in users to update some site options in certain configurations. Props to @sybrew for responsibly disclosing this issue.

4.0.1 – July 30, 2024

Bug fixes

  • Fix PHP Type error in CLI (in #1475) props @Soean
  • Fix Uncaught ValueError in Gravity Forms and WordPress SEO connectors (in #1508) props @krokodok
  • Fix dynamic callback method detection for custom connectors (in #1469) props @shadyvb
  • Fix PHP warning in PHP 8 by adjusting exclude rules filtering to avoid passing null to strlen() (in #1513) props @ocean90
  • Fix adding multiple columns to the stream table using filters only displays the last column correctly (in #1519) props @thefrosty
  • Fix offset warning in Slack alert when there is no custom logo (in #1522) props @benerd
  • Fix BuddyPress Connector, check for BuddyPress dependencies before using (in #1517) props @dd32
  • Fix [Security] Update select2 to 4.0.13 (in #1495)

Development

  • Update local development environment to use Docker (in #1423)
  • Update wp-coding-standards/wpcs and fix all linting issues
  • Require PHP ≥ 7.0 and WordPress ≥ 4.6
  • Allow switching between PHP 7.4 and PHP 8.2
  • Document Connectors (in #1518)
  • Update dependencies
    • eslint to ^8.57.0 (in #1480)
    • @babel/traverse from 7.20.10 to 7.23.2 (in #1463)
    • braces from 3.0.2 to 3.0.3 (in #1487)
    • composer/composer from 2.2.21 to 2.2.24 (in #1488)
    • @wordpress/eslint-plugin to v19 (in #1452)
    • @wordpress/eslint-plugin to ^19.2.0 (in #1490)

Deprecations

  • Deprecate PHP 5.6 (in #1499)
  • Deprecate wp_stream_register_column_defaults filter (in #1519)

4.0.0 – January 9, 2024

  • Fix: Use only $_SERVER['REMOTE_ADDR'] as the reliable client IP address for event logs. This might cause incorrectly reported event log IP addresses on environments where PHP is behind a proxy server or CDN. Use the wp_stream_client_ip_address filter to set the correct client IP address (see readme.txt for instructions) or configure the hosting environment to report the correct IP address in $_SERVER['REMOTE_ADDR'] (issue #1456, props @calvinalkan).
  • Tweak: fix typos in message strings and code comments (fixed in #1461 by @szepeviktor).
  • Development: use Composer v2 during CI runs (fixed in #1465 by @szepeviktor).

3.10.0 – October 9, 2023

  • Fix: Improve PHP 8.1 compatibility by updating filter_*() calls referencing FILTER_SANITIZE_STRING (issue #1422).
  • Fix: prevent PHP deprecation warning when checking for the Stream settings page requests (issue #1440).
  • Fix: Add the associated post title to comment events (issue #1430).
  • Fix: Use the user associated with a comment instead of the current logged-in user when logging comments (issue #1429).
  • Fix: Prevent PHP warnings when no Lead ID present for a Gravity Forms submission (issue #1447).
  • Fix: Remove support for legacy WordPress VIP user attribute helpers get_user_attributes(), delete_user_attributes() and update_user_attributes() (issue #1425).
  • Development: Document the process for reporting security vulnerabilities (issue #1433).
  • Development: Mark as tested with WordPress version 6.3.

3.9.3 – April 25, 2023

  • Fix: [Security] CVE-2022-43490: Temporarily remove uninstall flow to avoid inadvertent uninstallation of the plugin, props @Lucisu via Patchstack.
  • Fix: [Security] CVE-2022-43450: Check for capabilities in ‘wp_ajax_load_alerts_settings’ AJAX action before loading alert settings, props @Lucisu via Patchstack.
  • Development: Mark as tested with the latest version 6.2 of WordPress.

3.9.2 – January 10, 2023

  • Fix: [Security] Check authorization on ‘save_new_alert’ AJAX action #1391, props marcS0H (WPScan)
  • Development: Mark as tested with the latest version 6.1 of WordPress.
  • Development: Update development dependencies.

3.9.1 – August 23, 2022

  • Fix: PHP 8 compatibility for widget connector #1294, props @ParhamG
  • Development: Mark as tested with the latest version 6.0 of WordPress.
  • Development: Update development dependencies.

3.9.0 – March 8, 2022

  • Fix: Track changes to posts when using the block editor by making the Posts connector to run on both frontend and backend requests since block editor changes happen over the REST API #1264, props @coreymckrill.
  • Fix: Don’t store empty log event parameters #1307, props @lkraav.
  • Development: Adjust the local development environment to use MariaDB containers for ARM processor compatibility.

3.8.2 – October 12, 2021

  • Security fix: Ensure the value of order query parameter forwarded to the database query when viewing the Stream records in the WordPress admin (for authenticated users) is only ASC or DESC. Previously it passed the whole value of the order parameter filtered through esc_sql().

3.8.1 – September 17, 2021

  • Fix: Ensure Stream database tables are present on all WP admin requests to help with installations where the plugin activate hook never runs #1286, props @tomjn.

3.8.0 – August 31, 2021

3.7.0 – May 11, 2021

  • Fix: Exclude records when all conditions match instead of just one #1242, props @kidunot89 and @esausaravia
  • Fix: Store the correct blog ID on the network admin exclude screen #1259, props @dd32
  • Fix: Ensure all blogs on the network are listed instead of just the top 100 #1258, props @dd32
  • Fix: Add highlight color in list table #1246, props @ocean90
  • Fix: Settings page defaults repatched #1236, props @kidunot89
  • Development: Added unit tests for BuddyPress #1211, WooCommerce #1199, Media #1154, Jetpack #1153, Gravity Forms #1139 abd bbPress connector classes #1120, props @kidunot89

3.6.2 – January 12, 2020

  • Fix: revert #1159 which caused a PHP error in the previous release.

3.6.1 – January 12, 2020

  • New: Action add for when a blog is deleted #1177, props @kidunot89
  • Fix: Refactored Stream’s Records table custom column functionality to output the correct column values #1185, props @Nikschavan, @kidunot89, and @derekherman
  • Fix: Refactored deprecated SQL statement for retrieving the result count #1203, props @kidunot89
  • Fix: Fixed a namespace of a call to the Closure class #1215, props @szepeviktor
  • Fix: The default options are made available during the “wp_stream_auto_purge” callback #1159, props @kidunot89
  • Fix: Expensive functions removed #1201, props @kidunot89
  • Tweak: Remove redundant textdomain initialization #1213, props @szepeviktor
  • Tweak: Cleaned up PHP version check #1212, props @szepeviktor
  • Development: Unit test added for Menu connector class #1164, props @kidunot89
  • Development: Unit test added for Blog connector class #1177, props @kidunot89
  • Development Fix: Micro patch provided for Mercator actions register to deprecated hooks #1217, props @kidunot89
  • Development: Unit test added for Mercator connector class #1180, props @kidunot89
  • Development: Unit test added for Settings connector class #1165, props @kidunot89
  • Development: Unit test added for Installer connector class #1155, props @kidunot89
  • Development: Unit test added for User connector class #1151, props @kidunot89
  • Development: Unit test added for Editor connector class #1138, props @kidunot89
  • Development: Unit test added for Comments connector class #1134, props @kidunot89

3.6.0 – October 14, 2020

3.5.1 – August 14, 2020

  • Fix: Use the correct timestamp format when saving Stream records to ensure correct dates on newer versions of MySQL #1149, props @kidunot89.
  • Development: Include composer.json file in the release bundles to ensure they can be pulled using Composer from the Stream distribution repository.
  • Development: Automatically store plugin release bundles when tagging a new release on GitHub #1074.
  • Development: Update the local development environment to support multisite installs for testing #1136.

3.5.0 – July 8, 2020

  • Fix: Stream records now show the correct timestamp instead of dates like -0001/11/30 #1091, props @kidunot89.
  • Fix: Searching Stream records is now more performant as we throttle the amount of search requests #1081, props @oscarssanchez.
  • Tweak: Inline PHP documentation updates and WordPress coding standard fixes, props @kidunot89.

3.4.3 – March 19, 2020

  • Fix: Stream records can be filtered by users again #929, props @tareiking.
  • New: Composer releases now include the built assets #1054.

3.4.2 – September 26, 2019

  • Fix: Visiting the plugin settings page no longer produces PHP warnings for undefined variables #1031.
  • Fix: The IP address based exclude rules now stay with the same ruleset when saving #1035. Previously IP addresses would jump to the previous rule which didn’t have an IP address based conditional.

3.4.1 – July 25, 2019

  • Fix: Allow tracking cron events even when the default WordPress front-end cron runner is disabled via DISABLE_WP_CRON. See [#959], props @khromov and @tareiking.

3.4.0 – July 13, 2019

3.3.0 – June 18, 2019

  • New: Filter for allow WP network-like behaviour (#1003).
  • Fix: Sanitize instead of escape the request method (#987).
  • Fix: Escape the last page link as an HTML attribute value (#999).
  • Fix: streamAlertTypeHighlight error on the Stream Records page (#1007).

Props @dkotter, @fklein-lu, @joehoyle

3.2.3 – April 23, 2018

  • New: Use minimized assets (#973)
  • New: Alert type – Slack alerts! (#970 #962)
  • Fix: PHP 7.1 compatibility fix (#974)
  • Fix: Make reset nonce unique (#972)
  • Fix: Stripped settings and alerts inputs (#968)
  • Fix: Update Datetime extension (#966)
  • Fix: WP CLI Namespace collision (#944)
  • Tweak: Coding standards updates (#975)
  • Tweak: Show real client IP (if available) when in reverse-proxy mode (#969 #963)
  • Tweak: Performance improvement when listing roles (#964)

Props @DavidCramer, @lukecarbis, @frozzare, @fjarrett, @shadyvb, @valendesigns, @robbiet480, @cfoellmann

3.2.2 – September 13, 2017

  • Fix: Prevent fatal error when attempting to store an Object in the database.

3.2.1 – September 8, 2017

  • New: Support for the ACF Options page. (#931)
  • New: Added minimal composer file. (#932
  • Tweak: Remove dependence on serializing functions. (#939)
  • Tweak: Add wp_stream_is_record_excluded filter. (#921)
  • Fix: Readme spelling fixes (localised [sic] for en_US). (#928)
  • Fix: Undefined index ID issue when trashing post with customize-posts. (#936)
  • Fix: Stream fails to install properly (sometimes) due to database error. (#934)
  • Fix: Stream is network activated if it’s a must-use plugin on a multisite (#956)

3.2.0 – March 15, 2017

  • New: Stream now support alternate Database Drivers. (#889)
  • Fix: Exclude dropdown menus (e5c8677, 3626ba8, e923a92)
  • Fix: Prevent loading of connectors on frontend (ed3a635)
  • Fix: Customizer performance issue (#898)
  • Fix: Various Network Admin bugs (#899)
  • Tweak: Codeclimate & Editorconfig support (#896)
  • Tweak: Better DB migration support (#905)

3.1.1 – October 31, 2016

  • Fix: Hotfix for Error Updating Stream DB.

3.1 – October 31, 2016

  • New: Stream Alerts is here! Get notified when something happens in your WP-Admin, so that you don’t miss a thing. (#844)
  • Tweak: Better support for the latest version of Yoast SEO (#838)
  • Tweak: Better support for the latest version of WooCommerce (#851#864)
  • Tweak: Better taxonomy labeling (#859)
  • Fix: Fatal error caused by conflict with Yoast SEO (#879)
  • Fix: Activating Stream through WP CLI now works (#880)
  • Fix: Custom roles track properly (#836)

Props @chacha, @lukecarbis, @johnbillion, @rheinardkorf, @frozzare, @johnregan3, @jacobschweitzer, @wrongware

3.0.7 – June 14, 2016

  • Tweak: Use get_sites instead of wp_get_sites when available (#856)
  • Tweak: More stable record actions (like exporting) (71e6ac1)
  • Tweak: Better multisite support (cfab041)
  • Fix: Exclude rule settings have been restored and enhanced (#855)
  • Fix: Loading users via ajax (#854)
  • Fix: Use the correct label for events relating to taxonomies which are registered late (#859)

Props @chacha, @lukecarbis, Eugene Kireev, @johnbillion

3.0.6 – May 31, 2016

  • New: Better support for default themes (#831)
  • New: Upgrade filter menus to Select2 4 (c3f6c65)
  • Fix: Security Fixes
  • Fix: Cron for purging old records has been fixed (#843)
  • Fix: Better at storing records for Super Admins (#835)
  • Fix: Allow Super Admins to be ignored and filtered (#835)

Props @chacha, @lukecarbis, @marcin-lawrowski

3.0.5 – March 15, 2016

  • New: Export your Stream records as CSV or JSON. (#823)
  • Tweak: More mobile responsive list table (#810)
  • Tweak: Better Javascript conflict prevention (#812)
  • Tweak: Minor styling updates. It’s about attention to detail. (#826)
  • Fix: Gravity Forms error when adding a note (#811)
  • Fix: In some instances, custom roles weren’t being logged by Stream (#824)
  • Fix: The Customizer fix you’ve been waiting for! Stream now properly records changes made from the Customizer. (#827)

Props @chacha, @lukecarbis, @Stayallive, @barryceelen, Jonathan Desrosiers, @marcin-lawrowski

3.0.4 – November 27, 2015

  • Tweak: Better descriptions when a post changes status (0eada10)
  • Fix: Stream no longer crashes every time it tries to use a Jetpack (#798)
  • Fix: You may now actually choose an item from the filter dropdown menus, instead of having everything greyed out (#800)
  • Fix: Logging in / out of a Multisite install is now possible (#801)
  • Fix: The Settings connector now works with WP CLI (78a56b2)

Props @lukecarbis

3.0.3 – November 6, 2015

  • Tweak: Better compatibility with upcoming WordPress 4.4 (2b2493c)
  • Tweak: Minor security improvements
  • Fix: New and improved Gravity Forms connector, works much better (#780) (thanks Rob!)
  • Fix: Stream no longer explodes on < PHP 5.3, when trying to tell you that it explodes on < PHP 5.3 (#781)
  • Fix: Fixed a small typo (62455c5)
  • Fix: Multiple Multisite Mistakes Mended (#788)
  • Fix: Internet Explorer 8 fix!! IE8!? Come on, people, it’s 2015. (#789)
  • Fix: EDD connector bug (#790)

Props @lukecarbis, @rob, greguly

3.0.2 – October 2, 2015

  • Tweak: Helper function for running Stream queries added (#774)
  • Tweak: Migration dialog removed (76e809f)
  • Tweak: Better handling of draft saving and auto-saving (#775)
  • Tweak: Records page title size now matches other admin pages (afcced8)
  • Fix: Database update dialog is now displayed correctly (#773)
  • Fix: The record’s connector was being incorrectly stored as the connector name (#773)
  • Fix: Record action links are back (#773)
  • Fix: Jetpack is now able to connect without error while Stream is active (#768)
  • Fix: Reset Filters text no longer wraps to a second line (#765)

Props @lukecarbis, Props @sirjonathan

3.0.1 – September 2, 2015

  • New: Stream and User Switching are now besties (#744)
  • New: You can now choose to keep your records indefinitely (probably not a good idea) (#748)
  • Tweak: We’re now using local styles for our datepicker, instead of loading them externally (#751)
  • Fix: Updating from version 1.4.9 no longer breaks your records (#749)
  • Fix: Stream now works with custom wp-content folder locations (#745)
  • Fix: Live updates work again (#739)

Props @lukecarbis, @johnbillion, @rob

3.0.0 – August 25, 2015

  • New: Activity logs are now stored locally in WordPress. No data is sent externally and no registration required.
  • New: Migration process for Stream 2 users to move records out of the cloud, and into your local database.
  • New: Various measures and database schema changes to improve Stream’s performance.
  • Removed: Notifications and Reports have been removed to be reworked for an upcoming release.

Props @fjarrett, @lukecarbis

2.0.5 – April 23, 2015

  • Tweak: Compatibility with split terms introduced in WordPress 4.2 (#702)
  • Tweak: Add support for future and pending post transitions (#716)
  • Tweak: Match new default admin colors introduced in WordPress 4.2 (#718)
  • Fix: Compatibility issues with WP-Cron Control plugin and system crons (#715)
  • Fix: Broken date range filter on Reports screen (#717)

Props @fjarrett

2.0.4 – April 16, 2015

  • New: Add reset button to reset search filters (#144)
  • Tweak: WP-CLI command output improvements via --format option for table view, JSON and CSV (#705)
  • Tweak: Add link to https://wp-stream.com in README (#709)
  • Tweak: Better highlighting on multiple live update rows
  • Tweak: Limit custom range datepickers based on the Stream plan type
  • Tweak: Limit legacy record migrations based on the Stream plan type
  • Fix: Allow properties with values of zero to be included in queries (#698)
  • Fix: Properly return record success/failure in log and store methods (#711)

Props @fjarrett, @szepeviktor

2.0.3 – January 23, 2015

  • New: WP-CLI command now available for querying records via the command line (#499)
  • Tweak: Silently disable Stream during content import (#672)
  • Tweak: Search results now ordered by date instead of relevance (#689)
  • Fix: Handle boolean values appropriately during wp_stream_log_data filter (#680)
  • Fix: Hook into external class load methods on init rather than plugins_loaded (#686)
  • Fix: N/A user not working in exclude rules (#688)
  • Fix: Prevent Notification Rule meta from being saved to all post types (#693)
  • Fix: PHP warning shown for some users when deleting plugins (#695)

Props @fjarrett

2.0.2 – January 15, 2015

  • New: Full record backtrace now available to developers for debugging (#467)
  • New: Unread count badge added to Stream menu, opt-out available in User Profile (#588)
  • New: Stream connector to track Stream-specific contexts and actions (#622)
  • Tweak: Inherit role access from Stream Settings for Notifications and Reports (#641)
  • Tweak: Opt-in required for Akismet tracking (#649)
  • Tweak: Ignore comments deleted when deleting parent post (#652)
  • Tweak: Opt-in required for comment flood tracking (#656)
  • Tweak: Opt-in required for WP Cron tracking (#673)
  • Fix: Post revision action link pointing to wrong revision ID (#585)
  • Fix: PHP warnings caused by Menu connector (#663)
  • Fix: Non-static method called statically in WPSEO connector (#668)
  • Fix: Prevent live updates from tampering with filtered results (#675)

Props @fjarrett, @lukecarbis, @shadyvb, @jonathanbardo, @westonruter

2.0.1 – September 30, 2014

  • Tweak: Improved localization strings throughout the plugin (#644)
  • Tweak: Improved tooltip text explaining WP.com sign in
  • Fix: ACF Pro doesn’t save custom field values when Stream enabled (#642)

Props @lukecarbis, @fjarrett

2.0.0 – September 27, 2014

  • All activity is now stored only in the cloud over SSL, local MySQL storage dependence is over!
  • Connector and Context have merged in the UI, now just called Contexts
  • The Exclude Rules UI has been completely revamped
  • Notifications and Reports are now conveniently built into Stream for Pro subscribers
  • Connectors for tracking other popular plugins are now built into Stream, like BuddyPress, Jetpack, Gravity Forms, and more…
  • You create an account for Stream simply by signing in with your WordPress.com ID

NOTE: Multisite view of all activity records in the Network Admin has been removed in this release. If you require this feature, please do not update Stream until version 2.1.0 is released.

Props @fjarrett, @lukecarbis, @shadyvb, @chacha, @jonathanbardo, @bordoni, @dero, @jeffmatson, @stipsan, @c3mdigital, @adamsilverstein, @westonruter, @japh, @solace, @johnbillion

1.4.9 – July 23, 2014

  • Fix: Revert delayed log mechanism for post transition (#585)
  • Fix: Revert usage of get_taxonomy() (#586)
  • Fix: Notices not firing on correct action (#589)

Props @shadyvb, @fjarrett

1.4.8 – July 18, 2014

  • New: Greatly improved widget tracking, including changes performed in Customizer (#391)
  • New: Now tracking when Akismet automatically marks comments as spam (#587)
  • Tweak: Log WP-CLI details to Stream author meta (#470)
  • Tweak: Track changes to options more deeply (#573)
  • Fix: Labels not seen for CPT registered on init with default priority (#565)
  • Fix: Stream menu appearing in Network menu when not network activated (#582)
  • Fix: Post Revision ID associated to record is not the most recent one (#585)
  • Fix: Incorrect action label for comment throttling (#591)

Props @westonruter, @fjarrett, @shadyvb, @lukecarbis, @chacha

1.4.7 – June 27, 2014

  • New: Comment Type support added to the Comments connector (#558)
  • Fix: Datepicker opens again with each paged view (#568)
  • Fix: PHP warning when deleting network users (#579)
  • Fix: Track user count setting changes (#583)
  • Fix: .po and .pot files out-of-date for translators (#584)

Props @lukecarbis, @fjarrett, @bordoni, @shadyvb

1.4.6 – May 30, 2014

  • Tweak: Actions provided for trashed posts are irrelevant (#523)
  • Tweak: Use core language pack translations where possible (#534)
  • Tweak: Consolidate show filter and show column screen options (#542)
  • Tweak: Stop tracking failed login attempts (#547)
  • Tweak: Remove all uses of extract() from Stream (#556)
  • Fix: Excluding roles is not handled properly (#527)
  • Fix: Stream runs install routine twice (#528)
  • Fix: Widget records show sidebar slug instead of label (#531)
  • Fix: Fatal error when PHP version is less than 5.3 (#538)
  • Fix: Cannot exclude Custom Background context (#543)
  • Fix: Conflict with Jetpack body class in WP Admin (#545)
  • Fix: Stream settings exclude error for big wp_users table (#551)

Props @fjarrett, @lukecarbis, @shadyvb, @barryceelen, @japh

1.4.5 – May 15, 2014

  • New: Lightweight frontend indicator for sites using Stream (#507)
  • Tweak: Add filterable method for excluded comment types (#487)
  • Tweak: Rename “ID” column label to “Record ID” (#490)
  • Tweak: One admin notice for any missing DB tables (#506)
  • Fix: Custom authentication schemes not tracking user logins correctly (#434)
  • Fix: Taxonomy connector conflicts with Edit Flow plugin (#498)
  • Fix: Switching user is incorrectly tracked (#501)
  • Fix: Extension activation links broken when plugin folders are renamed (#502)
  • Fix: Author info showing up incorrectly (#505)
  • Fix: Incompatibility with multi-server environments (#517)
  • Fix: Warnings seen when Show Avatars is disabled (#518)
  • Fix: Notices for non-existent extension data after timeout (#529)

Props @fjarrett, @shadyvb, @lukecarbis, @japh

1.4.4 – May 6, 2014

  • New: Admin pointers to highlight when new admin screens are introduced (#466)
  • Tweak: Filter introduced to allow the Stream admin menu position to be changed (#99)
  • Tweak: Provide option label for records that show when the Stream database has updated (#444)
  • Tweak: Better handling of authors in the list table (#448)
  • Tweak: Way for developers to set their Stream Extensions affiliate ID on links from the Extensions screen (#482)
  • Fix: Extensions screen CSS bug in Firefox (#464)
  • Fix: Error when installing extensions from the Network Admin (#491)
  • Fix: Undefined notice in admin.php (#468)

Props @westonruter, @fjarrett, @japh, @lukecarbis, @jonathanbardo, @bordoni

1.4.3 – April 26, 2014

  • New: Introducing the Stream Extensions screen! (#396)

Props @jonathanbardo, @lukecarbis, @shadyvb, @c3mdigital, @fjarrett

1.4.2 – April 24, 2014

  • Fix: Update Database button redirecting to previous screen (#443)
  • Fix: Update routine hotfix that was causing records to disappear (#447)

Props @jonathanbardo, @lukecarbis, @westonruter, @fjarrett

1.4.1 – April 24, 2014

  • Fix: Scripts and styles not using Stream version number (#440)
  • Fix: WP-CLI incorrectly referenced in records (#441)

Props @westonruter, @fjarrett

1.4.0 – April 24, 2014

  • New: Multisite is now fully supported, activate Stream network-wide (#65)
  • New: Separate API for handling DB update routines (#379)
  • New: WP-CLI compatibility, Stream now tracks changes made via WP-CLI (#423)
  • Tweak: Deprecate functions and hooks in favor of consistent naming conventions (#267)
  • Tweak: Use icon link instead of clicking the summary to filter by object ID (#380)
  • Tweak: Save additional author meta for better records (#389)
  • Tweak: More compact search filters for smaller screens (#403)
  • Fix: Fix AJAX loading of authors in dropdown filters (#49)
  • Fix: Custom capability conflict with W3 Total Cache plugin (#296)
  • Fix: Live updates remove last item in activity table (#386)
  • Fix: Live updates screen option checkbox not persisting (#392)
  • Fix: IP validator not respecting zero (#394)
  • Fix: Non-Administrator users seeing errors in Settings records (#406)
  • Fix: Uninstall confirmation message doesn’t display (#411)
  • Fix: TTL purge schedule is never setup (#412)
  • Fix: NextGen compatibility issue (#416)
  • Fix: Stream Feeds Key not being automatically generated (#420)

Props @fjarrett, @lukecarbis, @c3mdigital, @westonruter, @shadyvb, @powelski, @johnregan3, @jonathanbardo, @desaiuditd

1.3.1 – April 3, 2014

  • New: Theme Editor connector for tracking changes made to theme files (#313)
  • New: Additional screen options to show/hide only the filters you care about (#329)
  • New: Visibility option in Exclude settings to hide past records from view (#355)
  • New: Stream Activity dashboard widget now supports live updates (#356)
  • New: Hover authors to reveal a tooltip with helpful user meta (#338)
  • New: Hover roles to reveal a tooltip with the number of authors assigned to that role (#377)
  • Tweak: Future dates now disabled in Start date field datepicker (#334)
  • Tweak: Now showing user Gravatars in Exclude Authors & Roles settings field (#333)
  • Tweak: ID column is now hidden by default in Screen Options (#348)
  • Tweak: Widget updated summary message improvement (8818976)
  • Fix: Autocomplete not working correctly in Exclude IP Addresses settings field (#335)
  • Fix: Reset Stream Database link not clearing everything in all cases (#347)
  • Fix: PHP 5.3.3 compatibility issue with filter constant (#351)
  • Fix: Predefined date range intervals not honoring the site timezone setting (#353)
  • Fix: wpdb::prepare() notice appearing in WordPress 3.9 (#354)
  • Fix: Invalid argument warning thrown on fresh installations of WordPress (#358)
  • Fix: Record TTL purge not functioning correctly (#371)
  • Fix: Small CSS bug in jQuery UI datepicker skins (04c80af)

Props @powelski, @fjarrett, @jonathanbardo, @faishal, @desaiuditd, @lukecarbis, @johnregan3, @Powdered-Toast-Man

1.3.0 – March 12, 2014

  • New: Exclude tab in Settings to prevent specific types of activity from being tracked (#251)
  • New: Now logging Custom Background and Custom Header changes (#309)
  • New: Predefined date intervals now available when filtering records (#320)
  • Tweak: Action links are now available for Stream Settings records (#305)
  • Tweak: User avatars now displayed in Authors dropdown filter (#311)
  • Tweak: Live updates are enabled by default for new installs (#312)
  • Fix: Fallback to the term slug if a label does not exist in list-table (#214)
  • Fix: Widget sorting is now being tracked properly as well as Inactive widgets (#283)
  • Fix: Superfluous auto-draft posts are now prevented from being logged (#293)

Props @powelski, @faishal, @fjarrett, @desaiuditd, @lukecarbis, @shadyvb

1.2.9 – March 8, 2014

Fixes bug that caused media uploads to fail on new posts. Props @fjarrett

1.2.8 – March 7, 2014

Use attachment type as context in Media connector. Bug fixes. Props @lukecarbis, @powelski, @fjarrett

1.2.7 – March 4, 2014

Pagination added to Stream Activity dashboard widget. Bug fixes. Props @chacha, @fjarrett

1.2.6 – February 28, 2014

Improved context names in Users connector. Props @powelski

1.2.5 – February 27, 2014

Use sidebar area names as context in Widgets connector. Bug fixes. Props @desaiuditd, @shadyvb, @fjarrett, @bordoni

1.2.4 – February 25, 2014

Use post type names as context in Comments connector. German translation update. Bug fixes. Props @powelski, @kucrut, @pascalklaeres, @shadyvb, @fjarrett

1.2.3 – February 21, 2014

Replacement function for filter_input family to avoid PHP bug. Filter added to main Stream query. Bug fixes. Props @shadyvb, @powelski, @fjarrett

1.2.2 – February 19, 2014

Prevent records of disabled connectors from appearing in the Stream. Bug fixes. Props @kucrut, @johnregan3

1.2.1 – February 17, 2014

Translation updates. Language packs for pt_BR and id_ID. Bug fixes. Props @kucrut, @shadyvb, @bordoni, @powelski, omniwired, @fjarrett

1.2.0 – February 12, 2014

Awesome datepicker styles. Performance optimizations. Bug fixes. Props @johnregan3, @shadyvb, @fjarrett, @jonathanbardo

1.1.9 – February 10, 2014

Load authors filter using AJAX if there are more than 50. Props @powelski

1.1.8 – February 9, 2014

Bug fixes. Props @shadyvb

1.1.7 – February 6, 2014

Upgrade routine for IPv6 support. Persist tab selection after saving Stream Settings. Props @shadyvb, dero

1.1.6 – February 6, 2014

Sortable columns bug fix on the records screen. Props @powelski, @fjarrett

1.1.5 – February 5, 2014

Fixed a class scope bug reported in the support forum that was causing a fatal error on some installs. Props @shadyvb

1.1.4 – February 5, 2014

Highlight changed settings field feature. DB upgrade routine for proper utf-8 charset. Various bug fixes. Props @powelski, @johnregan3, @shadyvb, @fjarrett

1.1.3 – February 4, 2014

Upgrade routine for IP column in DB. Serialized option parsing for Stream Settings records. Purge records immediately when TTL is set backwards in Stream Settings. Various bug fixes. Props @shadyvb, @powelski, @fjarrett

1.1.2 – February 2, 2014

Bug fix for list table notice on new installations. Props @shadyvb

1.1.0 – January 31, 2014

Disable terms in dropdown filters for which records do not exist. Props @johnregan3

1.0.9 – January 31, 2014

Several important bug fixes. Props @shadyvb

1.0.8 – January 30, 2014

Bug fix for sites using BuddyPress. Props @johnregan3

1.0.7 – January 29, 2014

Code efficiency improvements when fetching admin area URLs. Props @fjarrett

1.0.6 – January 28, 2014

Query improvements, default connector interface, hook added for general settings fields. Bug fixes. Props dero, @jonathanbardo, @shadyvb, @fjarrett

1.0.5 – January 27, 2014

Bug fix for live updates breaking columns when some are hidden via Screen Options. Props @johnregan3

1.0.4 – January 23, 2014

Language pack for Polish. Bug fixes. Props @powelski, @fjarrett, @johnregan3, @kucrut

1.0.3 – January 19, 2014

Language pack …