Stream is the easiest and safest way to track content changes happening to your WordPress site and then view them in beautifully organized detail.
Contributors: lukecarbis, fjarrett, shadyvb, westonruter, stream, x-team
Tags: actions, activity, admin, analytics, dashboard, log, notification, stream, users
Requires at least: 3.7
Tested up to: 4.0
Stable tag: trunk (master)
License: GPLv2 or later
Note: This plugin requires PHP 5.3 or higher to be activated.
Never be in the dark about WP Admin activity again.
Stream allows you to know exactly when changes to your site have been made, and more importantly, who did them.
Every logged-in user action is logged in an activity stream and organized for easy filtering by user, role, context, action and IP address.
Built with performance in mind, Stream won't slow down content querying on your site.
Built-In Tracking For Popular Plugins:
- Advanced Custom Fields
- bbPress
- BuddyPress
- Easy Digital Downloads
- Gravity Forms
- Jetpack
- WooCommerce
- WordPress SEO by Yoast
Plus Core Tracking For:
- 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:
- Dashboard widget of most recent user activity
- Limit who can view user activity records by user role
- Set exclude rules to ignore certain kinds of user activity
- Live update of user activity records in the Stream
- Private RSS and JSON feeds of user activity records
- Support for IPv6 addresses
Coming Soon:
- Multisite view of all activity records on a network
Languages Supported:
- English
- French (France)
- German
- Indonesian
- Polish
- Portuguese (Brazil)
- Spanish (Spain)
See room for improvement?
Great! There are several ways you can get involved to help make Stream better:
- 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.
- 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.
- 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! We salute you.
Every logged-in user action is logged in the activity stream and organized for easy filtering and searching.
Enable live updates in Screen Options to watch your site activity flow into the Stream in real-time.
Enable private feed access for your activity Stream, determine how long records should live before being purged, or purge them from the database manually at any time.
- 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.
- Fix: Revert delayed log mechanism for post transition (#585)
- Fix: Revert usage of get_taxonomy() (#586)
- Fix: Notices not firing on correct action (#589)
- 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
- 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
- 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
- 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
- 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
- New: Introducing the Stream Extensions screen! (#396)
Props jonathanbardo, lukecarbis, shadyvb, c3mdigital, fjarrett
- 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
- Fix: Scripts and styles not using Stream version number (#440)
- Fix: WP-CLI incorrectly referenced in records (#441)
Props westonruter, fjarrett
- 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 compability issue (#416)
- Fix: Stream Feeds Key not being automatically generated (#420)
Props fjarrett, lukecarbis, c3mdigital, westonruter, shadyvb, powelski, johnregan3, jonathanbardo, desaiuditd
- 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 Addressees 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
- 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
Fixes bug that caused media uploads to fail on new posts. Props fjarrett
Use attachment type as context in Media connector. Bug fixes. Props lukecarbis, powelski, fjarrett
Pagination added to Stream Activity dashboard widget. Bug fixes. Props chacha, fjarrett
Improved context names in Users connector. Props powelski
Use sidebar area names as context in Widgets connector. Bug fixes. Props desaiuditd, shadyvb, fjarrett, bordoni
Use post type names as context in Comments connector. German translation update. Bug fixes. Props powelski, kucrut, pascalklaeres, shadyvb, fjarrett
Replacement function for filter_input family to avoid PHP bug. Filter added to main Stream query. Bug fixes. Props shadyvb, powelski, fjarrett
Prevent records of disabled connectors from appearing in the Stream. Bug fixes. Props kucrut, johnregan3
Translation updates. Langage packs for pt_BR and id_ID. Bug fixes. Props kucrut, shadyvb, bordoni, powelski, omniwired, fjarrett
Awesome datepicker styles. Performance optimizations. Bug fixes. Props johnregan3, shadyvb, fjarrett, jonathanbardo
Load authors filter using AJAX if there are more than 50. Props powelski
Bug fixes. Props shadyvb
Upgrade routine for IPv6 support. Persist tab selection after saving Stream Settings. Props shadyvb, dero
Sortable columns bug fix on the records screen. Props powelski, fjarrett
Fixed a class scope bug reported in the support forum that was causing a fatal error on some installs. Props shadyvb
Highlight changed settings field feature. DB upgrade routine for proper utf-8 charset. Various bug fixes. Props powelski, johnregan3, shadyvb, fjarrett
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
Bug fix for list table notice on new installations. Props shadyvb
Disable terms in dropdown filters for which records do not exist. Props johnregan3
Several important bug fixes. Props shadyvb
Bug fix for sites using BuddyPress. Props johnregan3
Code efficiency improvements when fetching admin area URLs. Props fjarrett
Query improvements, default connector interface, hook added for general settings fields. Bug fixes. Props dero, jonathanbardo, shadyvb, fjarrett
Bug fix for live updates breaking columns when some are hidden via Screen Options. Props johnregan3
Language pack for Polish. Bug fixes. Props powelski, fjarrett, johnregan3, kucrut
Language pack for Spanish. Bug fixes. Props omniwired, shadyvb
Ensure the dashboard widget repects the Role Access setting. Props fjarrett
Require nonce for generating a new user feed key. Props johnregan3
Allow list table to be exensible. Hook added to prevent tables from being created, if desired. Props johnregan3, fjarrett, jonathanbardo
Updated screenshot assets and descriptions. Props fjarrett
Support for live updates in the Stream. Bug fixes. Props jonathanbardo, johnregan3, fjarrett
Plugin version available as a constant. Bug fixes. Props jonathanbardo, fjarrett
Use menu name as context in Menus connector. Warning if required DB tables are missing. Bug fixes. Props jonathanbardo, fjarrett, topher1kenobe
WordPress context added to Installer connector for core updates. Props shadyvb
Replacing Chosen library with Select2. Bug fixes. Props kucrut, shadyvb, fjarrett
Added support for private feeds in JSON format. Flush rewrite rules automatically for feeds when enabled/disabled. Bug fixes. Props jonathanbardo, fjarrett
Specify which roles should have their activity logged. Delete all options on uninstall. Bug fixes. Props jonathanbardo, fjarrett
Added connector for Comments. Stream activity dashboard widget. UI enhancements. Bug fixes. Props jonathanbardo, fjarrett, shadyvb, topher1kenobe
Language packs for French and German. Option to uninstall database tables. Bug fixes. Props jonathanbardo, fjarrett, topher1kenobe, pascalklaeres
Setting to enable/disable private feeds functionality. Additional record logged when a user's role is changed. Bug fixes. Props fjarrett, kucrut, topher1kenobe, justinsainton
Ability to query Stream records in a private RSS feed. Bug fixes. Props fjarrett, shadyvb
Bug fix for Role Access option. Props fjarrett
Bug fixes for the Installer connector. Props shadyvb
Hotfix to remove PHP 5.4-only syntax. Role Access option added to Settings. Props kucrut
Added connectors for Taxonomies and Settings. Bug fixes. Props shadyvb, fjarrett
UX improvements to manual DB purge. Cron event for user-defined TTL of records. Bug fixes. Props shadyvb, fjarrett
Require PHP 5.3 to activate plugin. Provide action links for records when applicable. Bug fixes. Props shadyvb, fjarrett
Improved support for pages and custom post types. Chosen for filter dropdowns. Pagination support in screen options. Bug fixes. Props shadyvb, fjarrett
Improved actions for Users context. Action for edited images in Media context. Bug fixes in Menus context. Props shadyvb, fjarrett, akeda
Second iteration build using custom tables data model. First public release. Props shadyvb, fjarrett
Initial concept built using custom post type/taxonomies as the data model. Props shadyvb