Simple History - Version 2.5.5

Version Description

(March 2016) =

  • Changed: The logger for Enable Media Replace required the capability edit_files to view the logged events, but since this also made it impossible to view events if the constant DISALLOW_FILE_EDIT was true. Now Enable Media Replace requires the capability upload_files instead. Makes more sense. Fixes https://wordpress.org/support/topic/simple-history-and-disallow_file_edit.
  • Changed: No longer log spam trackbacks or comments. Before this version these where logged, but not shown.
  • Fixed: Translations was not loaded for Select2. Fixes https://wordpress.org/support/topic/found-a-string-thats-not-translatable-v-254.
  • Fixed: LogQuery date_to-argument was using date_from.
  • Changed: The changelog for 2015 and earlier are now moved to CHANGELOG.md.
Download this release

Release Info

Developer eskapism
Plugin Icon 128x128 Simple History
Version 2.5.5
Comparing to
See all releases

Code changes from version 2.5.4 to 2.5.5

CHANGELOG.md ADDED
@@ -0,0 +1,578 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ # Changelog for 2015 an earlier
3
+
4
+ = 2.5 (December 2015) =
5
+
6
+ - Added: Category edits are now logged, so now you can see terms, categories and taxonomies that are added, changed, and deleted. Fixes for example https://wordpress.org/support/topic/view-changes-to-categories and https://twitter.com/hmarafi/status/655994402037362688.
7
+ - Fixed: The media logger now shows the width and height of uploaded images again.
8
+ - Fixed: IP Lookup using ipinfo.io would fail if your site was using HTTPS (pro account on ipinfo.io required for that), so now falls back to opening a link to ipinfo.io in a new tab instead.
9
+ - Fixed: If there was a server error while loading the log, the error would be shown, to help you debug any errors. The error would however not go away if you successfully loaded the log again. Now it does.
10
+ - Changed: The search/filter now falls back to showing events for the last 14 days, if 30 days would return over 1000 pages of events. This change is to try to make the log fail to load in less scenarios. If a site got a bit spike if brute force attacks (yes, it's always those attacks!) then there could be a big jump in the number of events and pages between 14 days and 30 days.
11
+ - Changed: Failed login attempts now use shorter messages and shorter variable names. Not really the fault of this plugin, but sites can get a huge amount of failed login attempts logged. Sites with almost 2 million logged rows just in the last 60 days for example. And that will cause the database tables with the history to grow to several hundreds of megabyte. So to make those tables a bit smaller the plugin now uses shorter messages for failed login attempts, shorter variable names, and it stores less data. If you want to stop hackers from attacking your site (resulting in big history logs) you should install a plugin like [Jetpack and its BruteProtect module](https://jetpack.me/support/security-features/).
12
+ - Updated: Added date filter to show just events from just one day. Useful for sites that get hammered by brute force login attempts. On one site where I had 166434 login attempts the last 7 days this helped to make the log actually load :/.
13
+ - Updated: New French translation
14
+
15
+ = 2.4 (November 2015) =
16
+
17
+ - Added: Now logs when a user changes their password using the "reset password" link.
18
+ - Added: Now logs when a user uses the password reset form.
19
+ - Added: New method `register_dropin` that can be used to add dropins.
20
+ - Added: New action `simple_history/add_custom_dropin`.
21
+ - Added: Example on how to add an external dropin: [example-dropin.php](https://github.com/bonny/WordPress-Simple-History/blob/master/examples/example-dropin.php).
22
+ - Added: "Last day" added to filter, because a brute force attack can add so many logs that it's not possible to fetch a whole week.
23
+ - Changed: Filter `simple_history/log/do_log` now pass 5 arguments instead of 3. Before this update in was not possible for multiple add_action()-calls to use this filter, because you would not now if any other code had canceled it and so on. If you have been using this filter you need to modify your code.
24
+ - Changed: When hovering the time of an event in the log, the date of the event displays in both local time and GMT time. Hopefully makes it easier for admins in different timezones that work together on a site to understand when each event happened. Fixes https://github.com/bonny/WordPress-Simple-History/issues/84.
25
+ - Fixed: Line height was a bit tight on the dashboard. Also: the margin was a tad to small for the first logged event on the dashboard.
26
+ - Fixed: Username was not added correctly to failed login attempts when using plugin Captcha on Login + it would still show that a user logged out sometimes when a bot/script brute force attacked a site by only sending login and password and not the captcha field.
27
+
28
+ = 2.3.1 (October 2015) =
29
+
30
+ - Fixed: Hopefully fixed the wrong relative time, as reported here: https://wordpress.org/support/topic/wrong-reporting-time.
31
+ - Changed: The RSS-feed with updates is now disabled by default for new installs. It is password protected, but some users felt that is should be optional to activate it. And now it is! Thanks to https://github.com/guillaumemolter for adding this feature.
32
+ - Fixed: Failed login entries when using plugin [Captcha on Login](https://wordpress.org/plugins/captcha-on-login/) was reported as "Logged out" when they really meant "Failed to log in". Please note that this was nothing that Simple History did wrong, it was rather Captcha on Login that manually called `wp_logout()` each time a user failed to login. Should fix all those mystery "Logged out"-entried some of you users had.
33
+ - Added: Filter `simple_history/log/do_log` that can be used to shortcut the log()-method.
34
+ - Updated: German translation updated.
35
+
36
+ = 2.3 (October 2015) =
37
+
38
+ - Added: The title of the browser tab with Simple History open will now show the number of new and unread events available. Nice feature to have if you keep a tab with the Simple History log open but in the background: now you can see directly in the title if new events are available. Such small change. Very much nice.
39
+ - Added: If the AJAX call to fetch the log failed, a message now appears telling the user that something went wrong. Also, the output from the server is displayed so they can get a hint of what's going wrong. Hopefully this will reduce the number of support requests that is caused by other plugins.
40
+ - Fixed: Edited posts/pages/custom post types does not get a linked title unless the user viewing the log has edit rights.
41
+ - Fixed: Another try to fix the notice error here: https://wordpress.org/support/topic/simplehistoryphp-creates-debug-entries.
42
+ - Updated: Danish translation updated.
43
+ - Updated: POT file updated.
44
+
45
+ = 2.2.4 (September 2015) =
46
+
47
+ - Added: Basic support for plugin [Ultimate Member](https://wordpress.org/plugins/ultimate-member/), so users logging in using the plugin will now be logged in Simple History. Fixes https://wordpress.org/support/topic/compatibility-with-ultimate-member.
48
+ - Added: Filter `simple_history/logger/interpolate/context` that can be used to modify the variables sent to the message template.
49
+ - Changed: Remove "type" key from context detail table, because it's an old an unused column.
50
+ - Changed: During a first install the plugin now creates a few less columns than before (some columns where left from version 1 of the plugin).
51
+ - Changed: Don't show the "translate this plugin" metabox for any english talking locale.
52
+ - Changed: Don't show the GitHub metabox.
53
+ - Fixed: If the plugin is deleted (but why?!) then the context table is also removed now.
54
+ - Behind the scenes: More unit tests! Hopefully more nasty things will get caught before releasing new versions of the plugin.
55
+
56
+ = 2.2.3 (September 2015) =
57
+
58
+ - Fixed: On new installs the database tables was not created correctly and new events could not be logged.
59
+
60
+ = 2.2.2 (September 2015) =
61
+
62
+ - Fixed: Logging stopped working for languages other then English. Sorry about that!
63
+ - Fixed: When running unit tests for a site where Simple History is a must use plugin it sometimes tried to create tables and add columns more then once. Now uses `if not exists` and similar to only try to create the tables if they not already exists.
64
+
65
+ = 2.2.1 (September 2015) =
66
+
67
+ - Fixed: Missed to log users switching back on using the User Switching plugin. Fixes https://github.com/bonny/WordPress-Simple-History/issues/89.
68
+
69
+ = 2.2 (September 2015) =
70
+
71
+ - Added: Support for plugin [User Switching](https://wordpress.org/plugins/user-switching/). The event log will show when a user switched to another user, when they switched back, or when they switched off.
72
+ - Added: Support for plugin [Enable Media Replace](https://wordpress.org/plugins/enable-media-replace/). Whenever a user replaces an attachment with a new, you will now know about it and also see the name of both the old and the new attachment. Awesome!
73
+ - Fixed: Mouse over (:hover state) on buttons no longer use blue background. Now works much better with admin themes other than the standard one. Fixes https://wordpress.org/support/topic/pagination-button-design.
74
+
75
+ = 2.1.7 (September 2015) =
76
+
77
+ - Fixed: Date and time in the log was using GMT time rather than local time. Could be confusing. Even very confusing if living in a time zone far far away from the GMT zone.
78
+
79
+ = 2.1.6 (August 2015) =
80
+
81
+ - Updated: Danish translation updated. Thanks translator!
82
+ - Fixed: Icon on settings page was a bit unaligned on WordPress not running the latest beta version (hrm, which I guess most of you were..)
83
+ - Fixed: Possible php notice. Should fix https://wordpress.org/support/topic/simplehistoryphp-creates-debug-entries.
84
+ - Changed: Logged messages are now trimmed by default (spaces and new lines will be removed from messages).
85
+ - Updated: When installing and activating the plugin it will now add the same "plugin installed" and "plugin activated" message that other plugins get when they are installed. These events where not logged before because the plugin was not installed and could therefor not log its own installation. Solution was to log it manually. Works. Looks good. But perhaps a bit of cheating.
86
+ - Added: A (hopefully) better welcome message when activating the plugin for the first time. Hopefully the new message makes new users understand a bit better why the log may be empty at first.
87
+
88
+ = 2.1.5 (August 2015) =
89
+
90
+ - Fixed: It was not possible to modify the filters `simple_history/view_settings_capability` and `simple_history/view_history_capability` from the `functions.php`-file in a theme (filters where applied too early - they did however work from within a plugin!)
91
+ - Changed: Use `h1` instead of `h2` on admin screens. Reason for this the changes in 4.3: https://make.wordpress.org/core/2015/07/31/headings-in-admin-screens-change-in-wordpress-4-3/.
92
+ - Removed: the constant `VERSION` is now removed. Use constant `SIMPLE_HISTORY_VERSION` instead of you need to check the current version of Simple History.
93
+
94
+ = 2.1.4 (July 2015) =
95
+
96
+ - Fixed: WordPress core updates got the wrong previous version.
97
+ - Updated: Updated German translations.
98
+ - Added: GHU header added to plugin header, to support [GitHub Updater plugin](https://github.com/afragen/github-updater).
99
+
100
+ = 2.1.3 (July 2015) =
101
+
102
+ - Fixed: Ajax error when loading a log that contained uploaded images.
103
+ - Fixed: Removed some debug log messages.
104
+
105
+ = 2.1.2 (July 2015) =
106
+
107
+ - Changed: By default the log now shows events from the last week, last two weeks or last 30 days, all depending on how many events you have in your log. The previous behavior was to not apply any filtering what so ever during the first load. Anyway: this change makes it possible to load the log very quickly even for very large logs. A large amount of users + keeping the log forver = millions of rows of data. Previously this could stall the log or make it load almost forever. Now = almost always very fast. I have tried it with over 5.000 users and a million row and yes - zing! - much faster. Fixes https://wordpress.org/support/topic/load-with-pagination-mysql.
108
+ - Added: Finnish translation. Thanks a lot to the translator!
109
+ - Updated: Swedish translation updated
110
+ - Added: Cache is used on a few more places.
111
+ - Added: Plugin now works as a ["must-use-plugin"](https://codex.wordpress.org/Must_Use_Plugins). Props [jacquesletesson](https://github.com/jacquesletesson).
112
+ - Added: Filter `SimpleHistoryFilterDropin/show_more_filters_on_load` that is used to control if the search options should be expanded by default when the history page is loaded. Default is false, to have a less cluttered GUI.
113
+ - Added: Filter `SimpleHistoryFilterDropin/filter_default_user_ids` that is used to search/filter specific user ids by default (no need to search and select users). Should fix https://wordpress.org/support/topic/how-to-pass-array-of-user-ids-to-history-query.
114
+ - Added: Filter `SimpleHistoryFilterDropin/filter_default_loglevel` that is used to search/filter for log levels by default.
115
+ - Fixed: if trying to log an array or an object the logger now automagically runs `json_encode()` on the value to make it a string. Previously is just tried to run `$wpdb->insert() with the array and that gave errors. Should fix https://wordpress.org/support/topic/mysql_real_escape_string.
116
+ - Fixed: The function that checks for new rows each second (or actually each tenth second to spare resources) was called an extra time each time the submit button for the filter was clicked. Kinda stupid. Kinda fixed now.
117
+ - Fixed: The export feature that was added in version 2.1 was actually not enabled for all users. Now it is!
118
+ - Fixed: Image attachments that is deleted from file system no longer result in "broken image" in the log. (Rare case, I know, but it does happen for me that local dev server and remote prod server gets out of "sync" when it comes to attachments.)
119
+
120
+ = 2.1.1 (May 2015) =
121
+
122
+ - Removed: filter `simple_history/dropins_dir` removed.
123
+ - Changed: Dropins are not loaded from a `glob()` call anymore (just like plugins in the prev release)
124
+ - Updated: Brazilian Portuguese translation updated.
125
+ - Fixed: POT file updated for translators.
126
+ - Fixed: Better sanitization of API arguments.
127
+
128
+ = 2.1 (May 2015) =
129
+
130
+ - Added: Export! Now it's possible to export the events log to a JSON or CSV formatted file. It's your data so you should be able to export it any time you want or need. And now you can do that. You will find the export function in the Simple History settings page (Settings -> Simple History).
131
+ - Added: Filter `simple_history/add_custom_logger` and function `register_logger` that together are used to load external custom loggers. See [example-logger.php](https://github.com/bonny/WordPress-Simple-History/blob/master/examples/example-logger.php) for usage example.
132
+ - Added: Filter `simple_history/header_initiator_use_you`.
133
+ - Fixed: Fixed an undefined variable in get_avatar(). Fixes https://github.com/bonny/WordPress-Simple-History/issues/74.
134
+ - Fixed: When using [HyperDB](https://wordpress.org/support/plugin/hyperdb) only one event was returned. Fixed by using [adding `NO_SELECT_FOUND_ROWS` to the query](https://plugins.trac.wordpress.org/browser/hyperdb/trunk/db.php?#L49). Should fix problems for users using HyperDB and also users using for example [wpengine.com](http://wpengine.com) (that probably also is using HyperDB or a similar approach).
135
+ - Changed: Loggers now get default capability "manage_options" if they have no capability set.
136
+ - Changed: Misc internal cleanup.
137
+ - Removed: filter `simple_history/loggers_dir` removed, because loggers are loaded from array instead of file listing generated from `glob()`. Should be (however to the eye non-noticable) faster.
138
+
139
+ = 2.0.30 (May 2015) =
140
+
141
+ - Added: Username of logged events now link to that user's profile.
142
+ - Fixed: When expanding ocassions the first loaded occasion was the same event as the one you expanded from, and the last ocassion was missing. Looked extra stupid when only 1 occasion existed, and you clicked "show ocassions" only to just find the same event again. So stupid. But fixed now!
143
+ - Fixed: If an event had many similar events the list of similar events could freeze the browser. ([17948 failed login attempts overnight](https://twitter.com/eskapism/status/595478847598002176) is not that uncommon it turns out!)
144
+ - Fixed: Some loggers were missing the "All"-message in the search.
145
+ - Changed: Hide some more keys and values by default in the context data popup.
146
+ - Changed: Use `truncate` instead of `delete` when clearing the database. Works much faster on large logs.
147
+
148
+ = 2.0.29 (April 2015) =
149
+
150
+ - Added: Introducing [Post "Quick Diff"](http://eskapism.se/blog/2015/04/quick-diff-shows-post-changes-in-wordpress/) – a very simple and efficient way to quickly see what’s been changed in a post. With Quick Diff you will in a glance see the difference between the title, permalink, content, publish date, post status, post author, or the template of the post. It's really a super simple and fast way to follow the work of your co-editors.
151
+ - Added: Filter to add custom HTML above and after the context data table. They are named `simple_history/log_html_output_details_single/html_before_context_table` and `simple_history/log_html_output_details_single/html_after_context_table` (and yes, I do fancy really long filter names).
152
+ - Added: Filters to control what to output in the data/context details table (the popup you see when you click the time of each event): `simple_history/log_html_output_details_table/row_keys_to_show` and `simple_history/log_html_output_details_table/context_keys_to_show`. Also added [two usage examples](https://github.com/bonny/WordPress-Simple-History/blob/master/examples/examples.php) for the filters.
153
+ - Added: Filter `simple_history/log_insert_context` to control what gets saved to the context table. Example on usage for this is also available in the [example file](https://github.com/bonny/WordPress-Simple-History/blob/master/examples/examples.php).
154
+ - Added: data attribute `data-ip-address-multiple` and class `SimpleHistoryLogitem--IPAddress-multiple` added for events that have more than one IP address detected. Happens when `http_x_forwarded_for` or similar headers are included in response.
155
+ - Updated: Danish translation updated.
156
+ - Fixed: Images in GitHub readme files are now displayed correctly.
157
+ - Fixed: Readme files to GitHub repositories ending with slash (/) now works correctly too.
158
+ - Fixed: IP Info popup is now again closeable with `ESC` key or with a click outside it.
159
+ - Fixed: Some enqueued scripts had double slashes in them.
160
+ - Fixed: Make sure [URLs from add_query_arg() gets escaped](https://make.wordpress.org/plugins/2015/04/20/fixing-add_query_arg-and-remove_query_arg-usage/).
161
+ - Fixed: Some other small things.
162
+
163
+ = 2.0.28 (April 2015) =
164
+
165
+ - Fixed: Do not try to load the Translation Install API if using WordPress before 4.0. Fixes https://github.com/bonny/WordPress-Simple-History/issues/67.
166
+ - Updated: German translation updated.
167
+
168
+ = 2.0.27 (April 2015) =
169
+
170
+ - Fixed: Even better support for plugins from GitHub with the `GitHub Plugin URI` header. Plugin install, deactivations, and activations should have correct view-info-links now.
171
+ - Updated: German translation updated.
172
+ - Updated: Swedish translation updated.
173
+
174
+ = 2.0.26 (March 2015) =
175
+
176
+ - Fixed: Plugin installs from wordpress.org would show "wordpress plugin directory" as their source file. Looked stupid. Fixed now!
177
+ - Added: `composer.json` added, so Simple History can be pulled in to other projects via [Composer](https://getcomposer.org/). Actually untested, but at least the file is there. Please let me know if it works! :)
178
+
179
+ = 2.0.25 (March 2015) =
180
+
181
+ - Added: Plugin installs now shows the source of the plugin. Supported sources are "WordPress plugin repository" and "uploaded ZIP archives".
182
+ - Added: Plugin installs via upload now shows the uploaded file name.
183
+ - Added: Support for showing plugin info-link for plugins from GitHub, installed with uploaded ZIP-archive. Only tested with a few plugins. Please let me know if it works or not!
184
+ - Fixed: Messages for disabled loggers was not shown.
185
+ - Fixed: An error when trying to show edit link for deleted comments.
186
+ - Fixed: Use a safer way to get editable roles. Hopefully fixes https://wordpress.org/support/topic/php-warnings-simpleloggerphp-on-line-162.
187
+ - Fixed: Some notice warnings from the comments logger.
188
+ - Changed: Some other small things too.
189
+
190
+ = 2.0.24 (March 2015) =
191
+
192
+ - Fixed: Plugin installs from uploaded ZIP files are now logged correctly. Fixes https://github.com/bonny/WordPress-Simple-History/issues/59.
193
+ - Fixed: Check that JavaScript variables it set and that the object have properties set. Fixes https://wordpress.org/support/topic/firefox-37-js-error-generated-by-simplehistoryipinfodropinjs.
194
+ - Updated: German translation updated.
195
+ - Changed: Loading of loggers, dropins, and so one are moved from action `plugins_loaded` to `after_setup_theme` so themes can actually use for example the load_dropin_*-filters...
196
+ - Changed: Misc small design fixes.
197
+
198
+ = 2.0.23 (March 2015) =
199
+
200
+ - Added: Filter `simple_history/rss_item_link`, so plugins can modify the link used in the RSS feed.
201
+ - Added: Links for changed posts and attachments in RSS feed now links directly to WordPress admin, making is easier to follow things from your RSS reeder.
202
+ - Added: Filters to hide history dashboard widget and history dashboard page. Filters are `simple_history/show_dashboard_widget` and `simple_history/show_dashboard_page`.
203
+ - Fixed: A missing argument error when deleting a plugin. Fixes https://wordpress.org/support/topic/warning-missing-argument-1-for-simplepluginlogger.
204
+
205
+ = 2.0.22 (February 2015) =
206
+
207
+ - Fixed: Deleted plugins were not logged correctly (name and other info was missing).
208
+ - Added: Filter `simple_history/logger/load_logger` and `simple_history/dropin/load_dropin` that can be used to control the loading of each logger or dropin. See [example file](https://github.com/bonny/WordPress-Simple-History/blob/master/examples/examples.php) for usage examples.
209
+ - Fixed: modal window with context data now works better on small screens.
210
+ - Changed: Misc internal changes.
211
+
212
+ = 2.0.21 (February 2015) =
213
+
214
+ - Added: Updates via XML RPC are now logged, for example when using the WordPress app for iOS or Android. Supported actions for now is post/page created, edited, deleted, and media uploads.
215
+ - Added: `_xmlrpc_request` is added to context of event when an event is initiated through a XML-RPC all.
216
+ - Changed: RSS feed now has loglevel of event prepended to the title.
217
+ - Changed: Options logger now only shows the first 250 chars of new and old option values. Really long values could make the log look strange.
218
+ - Added: If constant `SIMPLE_HISTORY_LOG_DEBUG` is defined and true automatically adds `$_GET`, `$_POST`, and more info to each logged event. Mostly useful for the developer, but maybe some of you are a bit paranoid and want it too.
219
+ - Updated: German translation updated.
220
+
221
+ = 2.0.20 (February 2015) =
222
+
223
+ - Added: changes via [WP-CLI](http://wp-cli.org) is now detected (was previously shown as "other").
224
+ - Added: severity level (info, warning, debug, etc.) of event is includes in the RSS output.
225
+ - Changed the way user login is logged. Should fix https://github.com/bonny/WordPress-Simple-History/issues/40 + possible more related issues.
226
+ - Added: filter `simple_history/simple_logger/log_message_key` added, that can be used to shortcut log messages. See [example file](https://github.com/bonny/WordPress-Simple-History/blob/master/examples/examples.php) for usage. Fixes https://wordpress.org/support/topic/stop-logging-certain-types-of-activity.
227
+ - Added: now uses object caching at some places. Should speed up some parts of the plugin for users with caching enabled.
228
+ - Fixed: IP info popup can now be closed with `esc`.
229
+ - Fixed: works better on small screens (like mobile phones) + misc other style related fixes.
230
+
231
+ = 2.0.19 (February 2015) =
232
+
233
+ - Added: Dutch translation by [https://github.com/niknetniko](https://github.com/niknetniko). Thanks!
234
+ - Changed: better compatibilty with plugins like [WP User Avatar](https://wordpress.org/plugins/wp-user-avatar/).
235
+ - Updated: German translation update.
236
+
237
+ = 2.0.18 (January 2015) =
238
+
239
+ - Fixed: really correctly show the version number of the previous version!
240
+
241
+ = 2.0.17 (January 2015) =
242
+
243
+ - Added: messages added using for example `SimpleLogger()->info( __("My log message") )` that have translations now auto translated the message back to english before storing the message (together with the text domain). Then upon retrieval it uses the english message + the text domain to translate the message to the currently selected language. This makes it easier to make multilingual log entries. (Yeah, I know its hard to understand what the heck this does, but it's something good and cool, trust me!)
244
+ - Added: A sidebar with text contents on the history page.
245
+ - Changed: Search now shows only the search box by default, with a link to show all search options.
246
+ - Fixed: Search is now available at the dashboard again. Hooray!
247
+ - Fixed: Old entries were not cleared automatically. Now it correctly removes old events, so your database will not risk growing to large.
248
+ - Fixed: Quick stats could show two messages sometimes.
249
+ - Fixed: When headers like `HTTP_X_FORWARDED_FOR` exists all valid IPs in that header is now stored.
250
+ - Fixed: Plugin updates via third party software like [InfiniteWP](http://infinitewp.com/) should now correctly show the version number of the previous version.
251
+ - Updated: German translation updated.
252
+ - Notice: Do you read these messages? Then you must love this plugin! Come on then, [go and give it a nice review](https://wordpress.org/support/view/plugin-reviews/simple-history).
253
+
254
+ = 2.0.16 (January 2015) =
255
+
256
+ - Fixed: Use the [X-Forwarded-For header](http://en.wikipedia.org/wiki/X-Forwarded-For), if it is set, to determine remote IP address. Should now correctly store IP addresses for servers behind load balancers or for clients going through proxies. Fixes https://wordpress.org/support/topic/use-x-forwarded-for-http-header-when-logging-remote_addr.
257
+ - Changed: Failed login attempts from unknown and known users are now grouped together. This change was made because a hacker could make many login attempts to a site and rotate the logins, so they would try with both existing and non existing user names, which would make the log flood with failed login attempts.
258
+ - Changed: use "n similar events" instead of "n more", to more cleary mark that the grouped events are not necessary exactly the same kind.
259
+ - Changed: Quick stats text changed, to also include other sources. Previous behavior was to only include events from WordPress users, but now also events from anonymous users and WordPress (like from WP-Cron) are included.
260
+
261
+ = 2.0.15 (January 2015) =
262
+
263
+ - Fixed: Widget changes where not always translated.
264
+ - Fixed: More RSS fixes to make feed valid. Maybe even for real this time.
265
+ - Updated: German translation updated.
266
+
267
+ = 2.0.14 (January 2015) =
268
+
269
+ - Added: Danish translation added. Thanks [ThomasDK81](https://github.com/ThomasDK81)!
270
+ - Misc translation fixes, for example the log levels where not translateable (it may be a good idea to keep the original English ones however because they are the ones that are common in other software).
271
+
272
+ = 2.0.13 (January 2015) =
273
+
274
+ - Fixed: RSS feed is now valid according to http://validator.w3.org/. Fixes https://wordpress.org/support/topic/a-feed-which-was-valid-under-v206-is-no-longer-under-v209-latest.
275
+ - Translation fixes. Thanks [ThomasDK81](https://github.com/ThomasDK81)!
276
+
277
+ = 2.0.12 (January 2015) =
278
+
279
+ - Fixed: Deleted attachments did not get translations.
280
+ - Fixed: A notice when showing details for a deleted attachment.
281
+
282
+ = 2.0.11 (January 2015) =
283
+
284
+ - Fixed: Comments where not logged correctly.
285
+ - Fixed: Comments where not translated correctly.
286
+ - Updated: German translation updated.
287
+
288
+ = 2.0.10 (January 2015) =
289
+
290
+ - Updated: Polish translation updated. Thanks [https://github.com/m-czardybon](m-czardybon)!
291
+ - Updated: German translation updated. Thanks [http://klein-aber-fein.de/](Ralph)!
292
+ - Updated: Swedish translation updated.
293
+
294
+ = 2.0.9 (December 2014) =
295
+
296
+ - Actually enable IP address lookup for all users. Sorry for missing to do that! ;)
297
+
298
+ = 2.0.8 (December 2014) =
299
+
300
+ - Added: IP addresses can now be clicked to view IP address info from [ipinfo.io](http://ipinfo.io). This will get you the location and network of an IP address and help you determine from where for example a failed login attempt originates from. [See screenshot of IP address info in action](http://glui.me/?d=y89nbgmvmfnxl4r/ip%20address%20information%20popup.png/).
301
+ - Added: new action `simple_history/admin_footer`, to output HTML and JavaScript in footer on pages that belong to Simple History
302
+ - Added: new trigger for JavaScript: `SimpleHistory:logReloadStart`. Fired when the log starts to reload, like when using the pagination or using the filter function.
303
+ - Fixed: use Mustache-inspired template tags instead of Underscore default ones, because they don't work with PHP with asp_tags on.
304
+ - Updated: Swedish translation updated
305
+
306
+ = 2.0.7 (December 2014) =
307
+
308
+ - Fix: no message when restoring page from trash
309
+ - Fix: use correct width for media attachment
310
+ - Add: filter `simple_history/logrowhtmloutput/classes`, to modify HTML classes added to each log row item
311
+
312
+ = 2.0.6 (November 2014) =
313
+
314
+ - Added: [WordPress 4.1 added the feature to log out a user from all their sessions](http://codex.wordpress.org/Version_4.1#Users). Simple History now logs when a user is logged out from all their sessions except the current browser, or if an admin destroys all sessions for a user. [View screenshot of new session logout log item](https://dl.dropboxusercontent.com/s/k4cmfmncekmfiib/2014-12-simple-history-changelog-user-sessions.png)
315
+
316
+ - Added: filter to shortcut loading of a dropin. Example that completely skips loading the RSS-feed-dropin:
317
+ `add_filter("simple_history/dropin/load_dropin_SimpleHistoryRSSDropin", "__return_false");`
318
+
319
+ = 2.0.5 (November 2014) =
320
+
321
+ - Fix undefined variable in plugin logger. Fixes https://wordpress.org/support/topic/simple-history-201-is-not-working?replies=8#post-6343684.
322
+ - Made the dashboard smaller
323
+ - Misc other small GUI changes
324
+
325
+ = 2.0.4 (November 2014) =
326
+
327
+ - Make messages for manually updated plugins and bulk updated plugins more similar
328
+
329
+ = 2.0.3 (November 2014) =
330
+
331
+ - Show the version of PHP that the user is running, when the PHP requirement of >= 5.3 is not met
332
+
333
+ = 2.0.2 (November 2014) =
334
+
335
+ - Fixed wrong number of arguments used in filter in RSS-feed
336
+
337
+ = 2.0.1 (November 2014) =
338
+
339
+ - Removed anonymous function in index file causing errors during install on older versions of PHP
340
+
341
+ = 2.0 (November 2014) =
342
+
343
+ Major update - Simple History is now better and nicer than ever before! :)
344
+ I've spend hundreds of hours making this update, so if you use it and like it please [donate to keep my spirit up](http://eskapism.se/sida/donate/) or [give it a nice review](https://wordpress.org/support/view/plugin-reviews/simple-history).
345
+
346
+ - Code cleanup and modularization
347
+ - Support for log contexts
348
+ - Kinda PSR-3-compatible :)
349
+ - Can handle larger logs (doesn't load whole log into memory any more)
350
+ - Use nonces at more places
351
+ - More filters and hooks to make it easier to customize
352
+ - Better looking! well, at least I think so ;)
353
+ - Much better logging system to make it much easier to create new loggers and to translate logs into different languages
354
+ - Features as plugins: more things are moved into modules/its own file
355
+ - Users see different logs depending on their capability, for example an administrator will see what plugins have been installed, but an editor will not see any plugin related logs
356
+ - Much much more.
357
+
358
+ = 1.3.11 =
359
+ - Don't use deprecated function get_commentdata(). Fixes https://wordpress.org/support/topic/get_commentdata-function-is-deprecated.
360
+ - Don't use mysql_query() directly. Fixes https://wordpress.org/support/topic/deprecated-mysql-warning.
361
+ - Beta testers wanted! I'm working on the next version of Simple History and now I need some beta testers. If you want to try out the shiny new and cool version please download the [v2 branch](https://github.com/bonny/WordPress-Simple-History/tree/v2) over at GitHub. Thanks!
362
+
363
+ = 1.3.10 =
364
+ - Fix: correct usage of "its"
365
+ - Fix: removed serif font in log. Fixes https://wordpress.org/support/topic/two-irritations-and-pleas-for-change.
366
+
367
+ = 1.3.9 =
368
+ - Fixed strict standards warning
369
+ - Tested on WordPress 4.0
370
+
371
+ = 1.3.8 =
372
+ - Added filter for rss feed: `simple_history/rss_feed_show`. Fixes more things in this thread: http://wordpress.org/support/topic/more-rss-feed-items.
373
+
374
+ = 1.3.7 =
375
+ - Added filter for rss feed: `simple_history/rss_feed_args`. Fixes http://wordpress.org/support/topic/more-rss-feed-items.
376
+
377
+ = 1.3.6 =
378
+ - Added Polish translation
379
+ - Added correct XML encoding and header
380
+ - Fixed notice warnings when media did not exist on file system
381
+
382
+ = 1.3.5 =
383
+ - Added a reload-button at top. Click it to reload the history. No need to refresh page no more!
384
+ - Fixed items being reloaded when just clicking the dropdown (not having selected anything yet)
385
+ - Fixed bug with keyboard navigation
386
+ - Added Portuguese translation by [X6Web](http://x6web.com)
387
+ - Use less SQL queries
388
+
389
+ = 1.3.4 =
390
+ - Changed the way post types show in the dropdown. Now uses plural names + not prefixed with main post type. Looks better I think. Thank to Hassan for the suggestion!
391
+ - Added "bytes" to size units that an attachment can have. Also fixes undefined notice warning when attachment had a size less that 1 KB.
392
+
393
+ = 1.3.3 =
394
+ - Capability for viewing settings changed from edit_pages to the more correct [manage_options](http://codex.wordpress.org/Roles_and_Capabilities#manage_options)
395
+
396
+ = 1.3.2 =
397
+ - Could get php notice warning if rss secret was not set. Also: make sure both public and private secret exists.
398
+
399
+ = 1.3.1 =
400
+ - Improved contrast for details view
401
+ - Fix sql error on installation due to missing column
402
+ - Remove options and database table during removal of plugin
403
+ - Added: German translation for extender module
404
+
405
+ = 1.3 =
406
+ - Added: history events can store text description with a more detailed explanation of the history item
407
+ - Added: now logs failed login attempts for existing username. Uses the new text description to store more info, for example user agent and remote ip address (REMOTE_ADDR)
408
+ - Fixed: box did not change height when clicking on occasions
409
+ - Fixed: use on() instead of live() in JavaScript
410
+
411
+ = 1.2 =
412
+ - Fixed: Plugin name is included when plugins is activated or deactivated. Previosuly only folder name and name of php file was included.
413
+ - Added: Attachment thumbnails are now visible if history item is an attachment. Also includes some metadata.
414
+ - Changed: Filters now use dropdowns for type and user. When a site had lots of users and lots of post types, the filter section could be way to big.
415
+ - Added keyboard navigation. Use right and left arrow when you are on Simple History's own page to navigation between next and previous history page.
416
+ - Added loading indicator, so you know it's grabbing your history, even if it's taking a while
417
+ - Misc JS and CSS fixes
418
+ - Arabic translation updated
419
+ - POT-file updated
420
+
421
+ = 1.1 =
422
+ - Added the Simple History Extender-module/plugin. With this great addon to Simple History it is very easy for other developers to add their own actions to simple history, including a settings panel to check actions on/off. All work on this module was made by Laurens Offereins (lmoffereins@gmail.com). Super thanks!
423
+ - With the help of Simple History Extender this plugin also tracks changes made in bbPress, Gravity Forms and in Widges. Awesome!
424
+ - Added user email to RSS feed + some other small changed to make it compatible with IFTTT.com. Thanks to phoenixMagoo for the code changes. Fixes http://wordpress.org/support/topic/suggestions-a-couple-of-tweaks-to-the-rss-feed.
425
+ - Added two filters for the RSS feed: simple_history_rss_item_title and simple_history_rss_item_description.
426
+ - Changed the way the plugin directory was determined. Perhaps and hopefully this fixes some problems with multi site and plugin in different locations and stuff like that
427
+ - Style fixes for RTL languages
428
+ - Small fixes here and there, for example changing deprecated WordPress functions to not deprecated
429
+ - Added new filter: simple_history_db_purge_days_interval. Hook it to change default clear interval of 60 days.
430
+
431
+ = 1.0.9 =
432
+ - Added French translation
433
+
434
+ = 1.0.8 =
435
+ - Added: filter simple_history_allow_db_purge that is used to determine if the history should be purged/cleaned after 60 days or not. Return false and it will never be cleaned.
436
+ - Fixed: fixed a security issue with the RSS feed. User who should not be able to view the feed could get access to it. Please update to this version to keep your change log private!
437
+
438
+ = 1.0.7 =
439
+ - Fixed: Used a PHP shorthand opening tag at a place. Sorry!
440
+ - Fixed: Now loads scripts and styles over HTTPS, if that's being used. Thanks to "llch" for the patch.
441
+
442
+ = 1.0.6 =
443
+ - Added: option to set number of items to show, per page. Default i 5 history log items.
444
+
445
+ = 1.0.5 =
446
+ - Fixed: some translation issues, including updated POT-file for translators.
447
+
448
+ = 1.0.4 =
449
+ - You may want to clear the history database after this update because the items in the log will have mixed translate/untranslated status and it may look/work a bit strange.
450
+ - Added: Option to clear the database of log items.
451
+ - Changed: No longer stored translated history items in the log. This makes the history work even if/when you switch langauge of WordPress.
452
+ - Fixed: if for example a post was editied several times and during these edits it changed name, it would end up at different occasions. Now it's correctly stored as one event with several occasions.
453
+ - Some more items are translateable
454
+
455
+ = 1.0.3 =
456
+ - Updated German translation
457
+ - Some translation fixes
458
+
459
+ = 1.0.2 =
460
+ - Fixed a translation bug
461
+ - Added updated German translation
462
+
463
+ = 1.0.1 =
464
+ - The pagination no longer disappear after clickin "occasions"
465
+ - Fixed: AJAX loading of new history items didn't work.
466
+ - New filter: simple_history_view_history_capability. Default is "edit_pages". Modify this to change what cabability is required to view the history.
467
+ - Modified: styles and scripts are only added on pages that use/show Simple History
468
+ - Updated: new POT file. So translators my want to update their translations...
469
+
470
+ = 1.0 =
471
+ - Added: pagination. Gives you more information, for example the number of items, and quicker access to older history items. Also looks more like the rest of the WordPress GUI.
472
+ - Modified: search now searches type of action (added, modified, deleted, etc.).
473
+
474
+ = 0.8.1 =
475
+ - Fixed some annoying errors that slipt through testing.
476
+
477
+ = 0.8 =
478
+ - Added: now also logs when a user saves any of the built in settings page (general, writing, reading, discussion, media, privacy, and permalinks. What more things do you want to see in the history? Let me know in the [support forum](http://wordpress.org/support/plugin/simple-history).
479
+ - Added: gravatar of user performing action is always shown
480
+ - Fixed: history items that was posts/pages/custom post types now get linked again
481
+ - Fixed: search is triggered on enter (no need to press search button) + search searches object type and object subtype (before it just searched object name)
482
+ - Fixed: showing/loading of new history items was kinda broken. Hopefully fixed and working better than ever now.
483
+ - Plus: even more WordPress-ish looking!
484
+ - Also added donate-links. Tried to keep them discrete. Anyway: please [donate](http://eskapism.se/sida/donate/?utm_source=wordpress&utm_medium=changelog&utm_campaign=simplehistory) if you use this plugin regularly.
485
+
486
+ = 0.7.2 =
487
+ - Default settings should be to show on page, missed that one. Sorry!
488
+
489
+ = 0.7.1 =
490
+ - Fixed a PHP shorttag
491
+
492
+ = 0.7 =
493
+ - Do not show on dashboard by default to avoid clutter. Can be enabled in settings.
494
+ - Add link to settings from plugin list
495
+ - Settings are now available as it's own page under Settings -> Simple Fields. It was previosly on the General settings page and some people had difficulties finding it there.
496
+ - Added filters: simple_history_show_settings_page, simple_history_show_on_dashboard, simple_history_show_as_page
497
+
498
+ = 0.6 =
499
+ - Changed widget name to just "History" instead of "Simple History". Keep it simple. Previous name implied there also was an "Advanced History" somewhere.
500
+ - Made the widget look a bit WordPress-ish by borrwing some of the looks from the comments widget.
501
+ - Fix for database that didn't use UTF-8 (sorry international users!)
502
+ - Some security fixes
503
+ - Updated POT-file
504
+
505
+ = 0.5 =
506
+ - Added author to RSS
507
+ - Added german translation, thanks http://www.fuerther-freiheit.info/
508
+ - Added swedish translation, thanks http://jockegustin.se
509
+ - Better support for translation
510
+
511
+ = 0.4 =
512
+ - Added: Now you can search the history
513
+ - Added: Choose if you wan't to load/show more than just 5 rows from the history
514
+
515
+ = 0.3.11 =
516
+ - Fixed: titles are now escaped
517
+
518
+ = 0.3.10 =
519
+ - Added chinese translation
520
+ - Fixed a variable notice
521
+ - More visible ok-message after setting a new RSS secret
522
+
523
+ = 0.3.9 =
524
+ - Attachment names were urlencoded and looked wierd. Now they're not.
525
+ - Started to store plugin version number
526
+
527
+ = 0.3.8 =
528
+ - Added chinese translation
529
+ - Uses WordPress own human_time_diff() instead of own version
530
+ - Fix for time zones
531
+
532
+ = 0.3.7 =
533
+ - Directly after installation of Simple History you could view the history RSS feed without using any secret. Now a secret is automatically set during installation.
534
+
535
+ = 0.3.6 =
536
+ - Made the RSS-feature a bit easier to find: added a RSS-icon to the dashboard window - it's very discrete, you can find it at the bottom right corner. On the Simple History page it's a bit more clear, at the bottom, with text and all. Enjoy!
537
+ - Added POT-file
538
+
539
+ = 0.3.5 =
540
+ - using get_the_title instead of fetching the title directly from the post object. should make plugins like qtranslate work a bit better.
541
+ - preparing for translation by using __() and _e() functions. POT-file will be available shortly.
542
+ - Could get cryptic "simpleHistoryNoMoreItems"-text when loading a type with no items.
543
+
544
+ = 0.3.4 =
545
+ - RSS-feed is now valid, and should work at more places (could be broken because of html entities and stuff)
546
+
547
+ = 0.3.3 =
548
+ - Moved JavaScript to own file
549
+ - Added comments to the history, so now you can see who approved a comment (or unapproved, or marked as spam, or moved to trash, or restored from the trash)
550
+
551
+ = 0.3.2 =
552
+ - fixed some php notice messages + some other small things I don't remember..
553
+
554
+ = 0.3.1 =
555
+ - forgot to escape html for posts
556
+ - reduced memory usage... I think/hope...
557
+ - changes internal verbs for actions. some old history items may look a bit weird.
558
+ - added RSS feed for recent changes - keep track of changes via your favorite RSS-reader
559
+
560
+ = 0.3 =
561
+ - page is now added under dashboard (was previously under tools). just feel better.
562
+ - mouse over on date now display detailed date a bit faster
563
+ - layout fixes to make it cooler, better, faster, stronger
564
+ - multiple events of same type, performed on the same object, by the same user, are now grouped together. This way 30 edits on the same page does not end up with 30 rows in Simple History. Much better overview!
565
+ - the name of deleted items now show up, instead of "Unknown name" or similar
566
+ - added support for plugins (who activated/deactivated what plugin)
567
+ - support for third party history items. Use like this:
568
+ simple_history_add("action=repaired&object_type=starship&object_name=USS Enterprise");
569
+ this would result in somehting like this:
570
+ Starship "USS Enterprise" repaired
571
+ by admin (John Doe), just now
572
+ - capability edit_pages needed to show history. Is this an appropriate capability do you think?
573
+
574
+ = 0.2 =
575
+ * Compatible with 2.9.2
576
+
577
+ = 0.1 =
578
+ * First public version. It works!
inc/SimpleHistory.php CHANGED
@@ -1145,6 +1145,14 @@ class SimpleHistory {
1145
  }
1146
  // end add timeago
1147
 
 
 
 
 
 
 
 
 
1148
  /**
1149
  * Fires when the admin scripts have been enqueued.
1150
  * Only fires on any of the pages where Simple History is used
1145
  }
1146
  // end add timeago
1147
 
1148
+ // Load Select2 locale
1149
+ $locale_url_path = SIMPLE_HISTORY_DIR_URL . 'js/select2/select2_locale_%s.js';
1150
+ $locale_dir_path = SIMPLE_HISTORY_PATH . 'js/select2/select2_locale_%s.js';
1151
+ if ( file_exists( sprintf( $locale_dir_path, $locale ) ) ) {
1152
+ wp_enqueue_script( 'select2-locale', sprintf( $locale_url_path, $locale ), array("jquery"), '3.5.1', true );
1153
+ }
1154
+
1155
+
1156
  /**
1157
  * Fires when the admin scripts have been enqueued.
1158
  * Only fires on any of the pages where Simple History is used
inc/SimpleHistoryLogQuery.php CHANGED
@@ -292,7 +292,7 @@ class SimpleHistoryLogQuery {
292
  $date_to = strtotime( $date_to );
293
  }
294
 
295
- $inner_where .= "\n" . sprintf(' AND date <= "%1$s"', date( 'Y-m-d H:i:s', $date_from ) );
296
 
297
  }
298
 
292
  $date_to = strtotime( $date_to );
293
  }
294
 
295
+ $inner_where .= "\n" . sprintf(' AND date <= "%1$s"', date( 'Y-m-d H:i:s', $date_to ) );
296
 
297
  }
298
 
index.php CHANGED
@@ -5,7 +5,7 @@ Plugin URI: http://simple-history.com
5
  Text Domain: simple-history
6
  Domain Path: /languages
7
  Description: Plugin that logs various things that occur in WordPress and then presents those events in a very nice GUI.
8
- Version: 2.5.4
9
  Author: Pär Thernström
10
  Author URI: http://simple-history.com/
11
  License: GPL2
@@ -42,7 +42,7 @@ if ( version_compare( phpversion(), "5.3", ">=") ) {
42
  // register_activation_hook( trailingslashit(WP_PLUGIN_DIR) . trailingslashit( plugin_basename(__DIR__) ) . "index.php" , array("SimpleHistory", "on_plugin_activate" ) );
43
 
44
  if ( ! defined( 'SIMPLE_HISTORY_VERSION' ) ) {
45
- define( 'SIMPLE_HISTORY_VERSION', '2.5.4' );
46
  }
47
 
48
  if ( ! defined( 'SIMPLE_HISTORY_PATH' ) ) {
5
  Text Domain: simple-history
6
  Domain Path: /languages
7
  Description: Plugin that logs various things that occur in WordPress and then presents those events in a very nice GUI.
8
+ Version: 2.5.5
9
  Author: Pär Thernström
10
  Author URI: http://simple-history.com/
11
  License: GPL2
42
  // register_activation_hook( trailingslashit(WP_PLUGIN_DIR) . trailingslashit( plugin_basename(__DIR__) ) . "index.php" , array("SimpleHistory", "on_plugin_activate" ) );
43
 
44
  if ( ! defined( 'SIMPLE_HISTORY_VERSION' ) ) {
45
+ define( 'SIMPLE_HISTORY_VERSION', '2.5.5' );
46
  }
47
 
48
  if ( ! defined( 'SIMPLE_HISTORY_PATH' ) ) {
loggers/PluginEnableMediaReplaceLogger.php CHANGED
@@ -23,7 +23,7 @@ class PluginEnableMediaReplaceLogger extends SimpleLogger {
23
  "name" => _x("Enable Media Replace Logger", "PluginEnableMediaReplaceLogger", "simple-history"),
24
  "description" => _x("Logs media updates made with the Enable Media Replace Plugin", "PluginEnableMediaReplaceLogger", "simple-history"),
25
  "name_via" => _x("Using plugin Enable Media Replace", "PluginUserSwitchingLogger", "simple-history"),
26
- "capability" => "edit_files",
27
  "messages" => array(
28
  'replaced_file' => _x('Replaced attachment "{prev_attachment_title}" with new attachment "{new_attachment_title}"', "PluginEnableMediaReplaceLogger", "simple-history"),
29
  ),
23
  "name" => _x("Enable Media Replace Logger", "PluginEnableMediaReplaceLogger", "simple-history"),
24
  "description" => _x("Logs media updates made with the Enable Media Replace Plugin", "PluginEnableMediaReplaceLogger", "simple-history"),
25
  "name_via" => _x("Using plugin Enable Media Replace", "PluginUserSwitchingLogger", "simple-history"),
26
+ "capability" => "upload_files",
27
  "messages" => array(
28
  'replaced_file' => _x('Replaced attachment "{prev_attachment_title}" with new attachment "{new_attachment_title}"', "PluginEnableMediaReplaceLogger", "simple-history"),
29
  ),
loggers/SimpleCommentsLogger.php CHANGED
@@ -409,9 +409,10 @@ class SimpleCommentsLogger extends SimpleLogger
409
 
410
  }
411
 
412
- public function on_delete_comment($comment_ID) {
413
 
414
- $context = $this->get_context_for_comment($comment_ID);
 
415
  if ( ! $context ) {
416
  return;
417
  }
@@ -423,7 +424,11 @@ class SimpleCommentsLogger extends SimpleLogger
423
  // if not added, spam comments can easily flood the log
424
  // Deletions of spam easiy flood log
425
  if ( isset( $comment_data->comment_approved ) && "spam" === $comment_data->comment_approved ) {
426
- $context["_occasionsID"] = __CLASS__ . '/' . __FUNCTION__ . "/anon_{$context["comment_type"]}_deleted/type:spam";
 
 
 
 
427
  }
428
 
429
  $this->infoMessage(
@@ -455,9 +460,10 @@ class SimpleCommentsLogger extends SimpleLogger
455
  * 'approve', 'spam', 'trash', or false.
456
  * do_action( 'wp_set_comment_status', $comment_id, $comment_status );
457
  */
458
- public function on_wp_set_comment_status($comment_ID, $comment_status) {
459
 
460
  $context = $this->get_context_for_comment($comment_ID);
 
461
  if ( ! $context ) {
462
  return;
463
  }
@@ -473,7 +479,6 @@ class SimpleCommentsLogger extends SimpleLogger
473
  hold
474
  comment was un-approved
475
  */
476
- // sf_d($comment_status);exit;
477
  $message = "{$context["comment_type"]}_status_{$comment_status}";
478
 
479
  $this->infoMessage(
@@ -486,14 +491,19 @@ class SimpleCommentsLogger extends SimpleLogger
486
  /**
487
  * Fires immediately after a comment is inserted into the database.
488
  */
489
- public function on_comment_post($comment_ID, $comment_approved) {
490
 
491
- $context = $this->get_context_for_comment($comment_ID);
492
 
493
  if ( ! $context ) {
494
  return;
495
  }
496
 
 
 
 
 
 
497
  $comment_data = get_comment( $comment_ID );
498
 
499
  $message = "";
409
 
410
  }
411
 
412
+ public function on_delete_comment( $comment_ID ) {
413
 
414
+ $context = $this->get_context_for_comment( $comment_ID );
415
+
416
  if ( ! $context ) {
417
  return;
418
  }
424
  // if not added, spam comments can easily flood the log
425
  // Deletions of spam easiy flood log
426
  if ( isset( $comment_data->comment_approved ) && "spam" === $comment_data->comment_approved ) {
427
+
428
+ // since 2.5.5: don't log deletion of spam comments
429
+ return;
430
+ // $context["_occasionsID"] = __CLASS__ . '/' . __FUNCTION__ . "/anon_{$context["comment_type"]}_deleted/type:spam";
431
+
432
  }
433
 
434
  $this->infoMessage(
460
  * 'approve', 'spam', 'trash', or false.
461
  * do_action( 'wp_set_comment_status', $comment_id, $comment_status );
462
  */
463
+ public function on_wp_set_comment_status( $comment_ID, $comment_status ) {
464
 
465
  $context = $this->get_context_for_comment($comment_ID);
466
+
467
  if ( ! $context ) {
468
  return;
469
  }
479
  hold
480
  comment was un-approved
481
  */
 
482
  $message = "{$context["comment_type"]}_status_{$comment_status}";
483
 
484
  $this->infoMessage(
491
  /**
492
  * Fires immediately after a comment is inserted into the database.
493
  */
494
+ public function on_comment_post( $comment_ID, $comment_approved ) {
495
 
496
+ $context = $this->get_context_for_comment( $comment_ID );
497
 
498
  if ( ! $context ) {
499
  return;
500
  }
501
 
502
+ // since 2.5.5: no more logging of spam comments
503
+ if ( isset( $comment_approved ) && "spam" === $comment_approved ) {
504
+ return;
505
+ }
506
+
507
  $comment_data = get_comment( $comment_ID );
508
 
509
  $message = "";
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: http://eskapism.se/sida/donate/
4
  Tags: history, log, changes, changelog, audit, trail, pages, attachments, users, cms, dashboard, admin, syslog, feed, activity, stream, audit trail, brute-force
5
  Requires at least: 3.6.0
6
  Tested up to: 4.4
7
- Stable tag: 2.5.4
8
 
9
  View changes made by users within WordPress. See who created a page, uploaded an attachment or approved an comment, and more.
10
 
@@ -144,6 +144,14 @@ initiated by a specific user.
144
 
145
  ## Changelog
146
 
 
 
 
 
 
 
 
 
147
  = 2.5.4 (March 2016) =
148
 
149
  - Added: Support for new key in info array from logger: "name_via". Set this value in a logger and the string will be shown next to the date of the logged event. Useful when logging actions from third party plugins, or any kind of other logging that is not from WordPress core.
@@ -173,579 +181,3 @@ initiated by a specific user.
173
  - Added: Filter `simple_history/row_header_date_output`.
174
  - Added: Filter `simple_history/log/inserted`.
175
  - Added: Filter `simple_history/row_header_date_output`.
176
-
177
- = 2.5 (December 2015) =
178
-
179
- - Added: Category edits are now logged, so now you can see terms, categories and taxonomies that are added, changed, and deleted. Fixes for example https://wordpress.org/support/topic/view-changes-to-categories and https://twitter.com/hmarafi/status/655994402037362688.
180
- - Fixed: The media logger now shows the width and height of uploaded images again.
181
- - Fixed: IP Lookup using ipinfo.io would fail if your site was using HTTPS (pro account on ipinfo.io required for that), so now falls back to opening a link to ipinfo.io in a new tab instead.
182
- - Fixed: If there was a server error while loading the log, the error would be shown, to help you debug any errors. The error would however not go away if you successfully loaded the log again. Now it does.
183
- - Changed: The search/filter now falls back to showing events for the last 14 days, if 30 days would return over 1000 pages of events. This change is to try to make the log fail to load in less scenarios. If a site got a bit spike if brute force attacks (yes, it's always those attacks!) then there could be a big jump in the number of events and pages between 14 days and 30 days.
184
- - Changed: Failed login attempts now use shorter messages and shorter variable names. Not really the fault of this plugin, but sites can get a huge amount of failed login attempts logged. Sites with almost 2 million logged rows just in the last 60 days for example. And that will cause the database tables with the history to grow to several hundreds of megabyte. So to make those tables a bit smaller the plugin now uses shorter messages for failed login attempts, shorter variable names, and it stores less data. If you want to stop hackers from attacking your site (resulting in big history logs) you should install a plugin like [Jetpack and its BruteProtect module](https://jetpack.me/support/security-features/).
185
- - Updated: Added date filter to show just events from just one day. Useful for sites that get hammered by brute force login attempts. On one site where I had 166434 login attempts the last 7 days this helped to make the log actually load :/.
186
- - Updated: New French translation
187
-
188
- = 2.4 (November 2015) =
189
-
190
- - Added: Now logs when a user changes their password using the "reset password" link.
191
- - Added: Now logs when a user uses the password reset form.
192
- - Added: New method `register_dropin` that can be used to add dropins.
193
- - Added: New action `simple_history/add_custom_dropin`.
194
- - Added: Example on how to add an external dropin: [example-dropin.php](https://github.com/bonny/WordPress-Simple-History/blob/master/examples/example-dropin.php).
195
- - Added: "Last day" added to filter, because a brute force attack can add so many logs that it's not possible to fetch a whole week.
196
- - Changed: Filter `simple_history/log/do_log` now pass 5 arguments instead of 3. Before this update in was not possible for multiple add_action()-calls to use this filter, because you would not now if any other code had canceled it and so on. If you have been using this filter you need to modify your code.
197
- - Changed: When hovering the time of an event in the log, the date of the event displays in both local time and GMT time. Hopefully makes it easier for admins in different timezones that work together on a site to understand when each event happened. Fixes https://github.com/bonny/WordPress-Simple-History/issues/84.
198
- - Fixed: Line height was a bit tight on the dashboard. Also: the margin was a tad to small for the first logged event on the dashboard.
199
- - Fixed: Username was not added correctly to failed login attempts when using plugin Captcha on Login + it would still show that a user logged out sometimes when a bot/script brute force attacked a site by only sending login and password and not the captcha field.
200
-
201
- = 2.3.1 (October 2015) =
202
-
203
- - Fixed: Hopefully fixed the wrong relative time, as reported here: https://wordpress.org/support/topic/wrong-reporting-time.
204
- - Changed: The RSS-feed with updates is now disabled by default for new installs. It is password protected, but some users felt that is should be optional to activate it. And now it is! Thanks to https://github.com/guillaumemolter for adding this feature.
205
- - Fixed: Failed login entries when using plugin [Captcha on Login](https://wordpress.org/plugins/captcha-on-login/) was reported as "Logged out" when they really meant "Failed to log in". Please note that this was nothing that Simple History did wrong, it was rather Captcha on Login that manually called `wp_logout()` each time a user failed to login. Should fix all those mystery "Logged out"-entried some of you users had.
206
- - Added: Filter `simple_history/log/do_log` that can be used to shortcut the log()-method.
207
- - Updated: German translation updated.
208
-
209
- = 2.3 (October 2015) =
210
-
211
- - Added: The title of the browser tab with Simple History open will now show the number of new and unread events available. Nice feature to have if you keep a tab with the Simple History log open but in the background: now you can see directly in the title if new events are available. Such small change. Very much nice.
212
- - Added: If the AJAX call to fetch the log failed, a message now appears telling the user that something went wrong. Also, the output from the server is displayed so they can get a hint of what's going wrong. Hopefully this will reduce the number of support requests that is caused by other plugins.
213
- - Fixed: Edited posts/pages/custom post types does not get a linked title unless the user viewing the log has edit rights.
214
- - Fixed: Another try to fix the notice error here: https://wordpress.org/support/topic/simplehistoryphp-creates-debug-entries.
215
- - Updated: Danish translation updated.
216
- - Updated: POT file updated.
217
-
218
- = 2.2.4 (September 2015) =
219
-
220
- - Added: Basic support for plugin [Ultimate Member](https://wordpress.org/plugins/ultimate-member/), so users logging in using the plugin will now be logged in Simple History. Fixes https://wordpress.org/support/topic/compatibility-with-ultimate-member.
221
- - Added: Filter `simple_history/logger/interpolate/context` that can be used to modify the variables sent to the message template.
222
- - Changed: Remove "type" key from context detail table, because it's an old an unused column.
223
- - Changed: During a first install the plugin now creates a few less columns than before (some columns where left from version 1 of the plugin).
224
- - Changed: Don't show the "translate this plugin" metabox for any english talking locale.
225
- - Changed: Don't show the GitHub metabox.
226
- - Fixed: If the plugin is deleted (but why?!) then the context table is also removed now.
227
- - Behind the scenes: More unit tests! Hopefully more nasty things will get caught before releasing new versions of the plugin.
228
-
229
- = 2.2.3 (September 2015) =
230
-
231
- - Fixed: On new installs the database tables was not created correctly and new events could not be logged.
232
-
233
- = 2.2.2 (September 2015) =
234
-
235
- - Fixed: Logging stopped working for languages other then English. Sorry about that!
236
- - Fixed: When running unit tests for a site where Simple History is a must use plugin it sometimes tried to create tables and add columns more then once. Now uses `if not exists` and similar to only try to create the tables if they not already exists.
237
-
238
- = 2.2.1 (September 2015) =
239
-
240
- - Fixed: Missed to log users switching back on using the User Switching plugin. Fixes https://github.com/bonny/WordPress-Simple-History/issues/89.
241
-
242
- = 2.2 (September 2015) =
243
-
244
- - Added: Support for plugin [User Switching](https://wordpress.org/plugins/user-switching/). The event log will show when a user switched to another user, when they switched back, or when they switched off.
245
- - Added: Support for plugin [Enable Media Replace](https://wordpress.org/plugins/enable-media-replace/). Whenever a user replaces an attachment with a new, you will now know about it and also see the name of both the old and the new attachment. Awesome!
246
- - Fixed: Mouse over (:hover state) on buttons no longer use blue background. Now works much better with admin themes other than the standard one. Fixes https://wordpress.org/support/topic/pagination-button-design.
247
-
248
- = 2.1.7 (September 2015) =
249
-
250
- - Fixed: Date and time in the log was using GMT time rather than local time. Could be confusing. Even very confusing if living in a time zone far far away from the GMT zone.
251
-
252
- = 2.1.6 (August 2015) =
253
-
254
- - Updated: Danish translation updated. Thanks translator!
255
- - Fixed: Icon on settings page was a bit unaligned on WordPress not running the latest beta version (hrm, which I guess most of you were..)
256
- - Fixed: Possible php notice. Should fix https://wordpress.org/support/topic/simplehistoryphp-creates-debug-entries.
257
- - Changed: Logged messages are now trimmed by default (spaces and new lines will be removed from messages).
258
- - Updated: When installing and activating the plugin it will now add the same "plugin installed" and "plugin activated" message that other plugins get when they are installed. These events where not logged before because the plugin was not installed and could therefor not log its own installation. Solution was to log it manually. Works. Looks good. But perhaps a bit of cheating.
259
- - Added: A (hopefully) better welcome message when activating the plugin for the first time. Hopefully the new message makes new users understand a bit better why the log may be empty at first.
260
-
261
- = 2.1.5 (August 2015) =
262
-
263
- - Fixed: It was not possible to modify the filters `simple_history/view_settings_capability` and `simple_history/view_history_capability` from the `functions.php`-file in a theme (filters where applied too early - they did however work from within a plugin!)
264
- - Changed: Use `h1` instead of `h2` on admin screens. Reason for this the changes in 4.3: https://make.wordpress.org/core/2015/07/31/headings-in-admin-screens-change-in-wordpress-4-3/.
265
- - Removed: the constant `VERSION` is now removed. Use constant `SIMPLE_HISTORY_VERSION` instead of you need to check the current version of Simple History.
266
-
267
- = 2.1.4 (July 2015) =
268
-
269
- - Fixed: WordPress core updates got the wrong previous version.
270
- - Updated: Updated German translations.
271
- - Added: GHU header added to plugin header, to support [GitHub Updater plugin](https://github.com/afragen/github-updater).
272
-
273
- = 2.1.3 (July 2015) =
274
-
275
- - Fixed: Ajax error when loading a log that contained uploaded images.
276
- - Fixed: Removed some debug log messages.
277
-
278
- = 2.1.2 (July 2015) =
279
-
280
- - Changed: By default the log now shows events from the last week, last two weeks or last 30 days, all depending on how many events you have in your log. The previous behavior was to not apply any filtering what so ever during the first load. Anyway: this change makes it possible to load the log very quickly even for very large logs. A large amount of users + keeping the log forver = millions of rows of data. Previously this could stall the log or make it load almost forever. Now = almost always very fast. I have tried it with over 5.000 users and a million row and yes - zing! - much faster. Fixes https://wordpress.org/support/topic/load-with-pagination-mysql.
281
- - Added: Finnish translation. Thanks a lot to the translator!
282
- - Updated: Swedish translation updated
283
- - Added: Cache is used on a few more places.
284
- - Added: Plugin now works as a ["must-use-plugin"](https://codex.wordpress.org/Must_Use_Plugins). Props [jacquesletesson](https://github.com/jacquesletesson).
285
- - Added: Filter `SimpleHistoryFilterDropin/show_more_filters_on_load` that is used to control if the search options should be expanded by default when the history page is loaded. Default is false, to have a less cluttered GUI.
286
- - Added: Filter `SimpleHistoryFilterDropin/filter_default_user_ids` that is used to search/filter specific user ids by default (no need to search and select users). Should fix https://wordpress.org/support/topic/how-to-pass-array-of-user-ids-to-history-query.
287
- - Added: Filter `SimpleHistoryFilterDropin/filter_default_loglevel` that is used to search/filter for log levels by default.
288
- - Fixed: if trying to log an array or an object the logger now automagically runs `json_encode()` on the value to make it a string. Previously is just tried to run `$wpdb->insert() with the array and that gave errors. Should fix https://wordpress.org/support/topic/mysql_real_escape_string.
289
- - Fixed: The function that checks for new rows each second (or actually each tenth second to spare resources) was called an extra time each time the submit button for the filter was clicked. Kinda stupid. Kinda fixed now.
290
- - Fixed: The export feature that was added in version 2.1 was actually not enabled for all users. Now it is!
291
- - Fixed: Image attachments that is deleted from file system no longer result in "broken image" in the log. (Rare case, I know, but it does happen for me that local dev server and remote prod server gets out of "sync" when it comes to attachments.)
292
-
293
- = 2.1.1 (May 2015) =
294
-
295
- - Removed: filter `simple_history/dropins_dir` removed.
296
- - Changed: Dropins are not loaded from a `glob()` call anymore (just like plugins in the prev release)
297
- - Updated: Brazilian Portuguese translation updated.
298
- - Fixed: POT file updated for translators.
299
- - Fixed: Better sanitization of API arguments.
300
-
301
- = 2.1 (May 2015) =
302
-
303
- - Added: Export! Now it's possible to export the events log to a JSON or CSV formatted file. It's your data so you should be able to export it any time you want or need. And now you can do that. You will find the export function in the Simple History settings page (Settings -> Simple History).
304
- - Added: Filter `simple_history/add_custom_logger` and function `register_logger` that together are used to load external custom loggers. See [example-logger.php](https://github.com/bonny/WordPress-Simple-History/blob/master/examples/example-logger.php) for usage example.
305
- - Added: Filter `simple_history/header_initiator_use_you`.
306
- - Fixed: Fixed an undefined variable in get_avatar(). Fixes https://github.com/bonny/WordPress-Simple-History/issues/74.
307
- - Fixed: When using [HyperDB](https://wordpress.org/support/plugin/hyperdb) only one event was returned. Fixed by using [adding `NO_SELECT_FOUND_ROWS` to the query](https://plugins.trac.wordpress.org/browser/hyperdb/trunk/db.php?#L49). Should fix problems for users using HyperDB and also users using for example [wpengine.com](http://wpengine.com) (that probably also is using HyperDB or a similar approach).
308
- - Changed: Loggers now get default capability "manage_options" if they have no capability set.
309
- - Changed: Misc internal cleanup.
310
- - Removed: filter `simple_history/loggers_dir` removed, because loggers are loaded from array instead of file listing generated from `glob()`. Should be (however to the eye non-noticable) faster.
311
-
312
- = 2.0.30 (May 2015) =
313
-
314
- - Added: Username of logged events now link to that user's profile.
315
- - Fixed: When expanding ocassions the first loaded occasion was the same event as the one you expanded from, and the last ocassion was missing. Looked extra stupid when only 1 occasion existed, and you clicked "show ocassions" only to just find the same event again. So stupid. But fixed now!
316
- - Fixed: If an event had many similar events the list of similar events could freeze the browser. ([17948 failed login attempts overnight](https://twitter.com/eskapism/status/595478847598002176) is not that uncommon it turns out!)
317
- - Fixed: Some loggers were missing the "All"-message in the search.
318
- - Changed: Hide some more keys and values by default in the context data popup.
319
- - Changed: Use `truncate` instead of `delete` when clearing the database. Works much faster on large logs.
320
-
321
- = 2.0.29 (April 2015) =
322
-
323
- - Added: Introducing [Post "Quick Diff"](http://eskapism.se/blog/2015/04/quick-diff-shows-post-changes-in-wordpress/) – a very simple and efficient way to quickly see what’s been changed in a post. With Quick Diff you will in a glance see the difference between the title, permalink, content, publish date, post status, post author, or the template of the post. It's really a super simple and fast way to follow the work of your co-editors.
324
- - Added: Filter to add custom HTML above and after the context data table. They are named `simple_history/log_html_output_details_single/html_before_context_table` and `simple_history/log_html_output_details_single/html_after_context_table` (and yes, I do fancy really long filter names).
325
- - Added: Filters to control what to output in the data/context details table (the popup you see when you click the time of each event): `simple_history/log_html_output_details_table/row_keys_to_show` and `simple_history/log_html_output_details_table/context_keys_to_show`. Also added [two usage examples](https://github.com/bonny/WordPress-Simple-History/blob/master/examples/examples.php) for the filters.
326
- - Added: Filter `simple_history/log_insert_context` to control what gets saved to the context table. Example on usage for this is also available in the [example file](https://github.com/bonny/WordPress-Simple-History/blob/master/examples/examples.php).
327
- - Added: data attribute `data-ip-address-multiple` and class `SimpleHistoryLogitem--IPAddress-multiple` added for events that have more than one IP address detected. Happens when `http_x_forwarded_for` or similar headers are included in response.
328
- - Updated: Danish translation updated.
329
- - Fixed: Images in GitHub readme files are now displayed correctly.
330
- - Fixed: Readme files to GitHub repositories ending with slash (/) now works correctly too.
331
- - Fixed: IP Info popup is now again closeable with `ESC` key or with a click outside it.
332
- - Fixed: Some enqueued scripts had double slashes in them.
333
- - Fixed: Make sure [URLs from add_query_arg() gets escaped](https://make.wordpress.org/plugins/2015/04/20/fixing-add_query_arg-and-remove_query_arg-usage/).
334
- - Fixed: Some other small things.
335
-
336
- = 2.0.28 (April 2015) =
337
-
338
- - Fixed: Do not try to load the Translation Install API if using WordPress before 4.0. Fixes https://github.com/bonny/WordPress-Simple-History/issues/67.
339
- - Updated: German translation updated.
340
-
341
- = 2.0.27 (April 2015) =
342
-
343
- - Fixed: Even better support for plugins from GitHub with the `GitHub Plugin URI` header. Plugin install, deactivations, and activations should have correct view-info-links now.
344
- - Updated: German translation updated.
345
- - Updated: Swedish translation updated.
346
-
347
- = 2.0.26 (March 2015) =
348
-
349
- - Fixed: Plugin installs from wordpress.org would show "wordpress plugin directory" as their source file. Looked stupid. Fixed now!
350
- - Added: `composer.json` added, so Simple History can be pulled in to other projects via [Composer](https://getcomposer.org/). Actually untested, but at least the file is there. Please let me know if it works! :)
351
-
352
- = 2.0.25 (March 2015) =
353
-
354
- - Added: Plugin installs now shows the source of the plugin. Supported sources are "WordPress plugin repository" and "uploaded ZIP archives".
355
- - Added: Plugin installs via upload now shows the uploaded file name.
356
- - Added: Support for showing plugin info-link for plugins from GitHub, installed with uploaded ZIP-archive. Only tested with a few plugins. Please let me know if it works or not!
357
- - Fixed: Messages for disabled loggers was not shown.
358
- - Fixed: An error when trying to show edit link for deleted comments.
359
- - Fixed: Use a safer way to get editable roles. Hopefully fixes https://wordpress.org/support/topic/php-warnings-simpleloggerphp-on-line-162.
360
- - Fixed: Some notice warnings from the comments logger.
361
- - Changed: Some other small things too.
362
-
363
- = 2.0.24 (March 2015) =
364
-
365
- - Fixed: Plugin installs from uploaded ZIP files are now logged correctly. Fixes https://github.com/bonny/WordPress-Simple-History/issues/59.
366
- - Fixed: Check that JavaScript variables it set and that the object have properties set. Fixes https://wordpress.org/support/topic/firefox-37-js-error-generated-by-simplehistoryipinfodropinjs.
367
- - Updated: German translation updated.
368
- - Changed: Loading of loggers, dropins, and so one are moved from action `plugins_loaded` to `after_setup_theme` so themes can actually use for example the load_dropin_*-filters...
369
- - Changed: Misc small design fixes.
370
-
371
- = 2.0.23 (March 2015) =
372
-
373
- - Added: Filter `simple_history/rss_item_link`, so plugins can modify the link used in the RSS feed.
374
- - Added: Links for changed posts and attachments in RSS feed now links directly to WordPress admin, making is easier to follow things from your RSS reeder.
375
- - Added: Filters to hide history dashboard widget and history dashboard page. Filters are `simple_history/show_dashboard_widget` and `simple_history/show_dashboard_page`.
376
- - Fixed: A missing argument error when deleting a plugin. Fixes https://wordpress.org/support/topic/warning-missing-argument-1-for-simplepluginlogger.
377
-
378
- = 2.0.22 (February 2015) =
379
-
380
- - Fixed: Deleted plugins were not logged correctly (name and other info was missing).
381
- - Added: Filter `simple_history/logger/load_logger` and `simple_history/dropin/load_dropin` that can be used to control the loading of each logger or dropin. See [example file](https://github.com/bonny/WordPress-Simple-History/blob/master/examples/examples.php) for usage examples.
382
- - Fixed: modal window with context data now works better on small screens.
383
- - Changed: Misc internal changes.
384
-
385
- = 2.0.21 (February 2015) =
386
-
387
- - Added: Updates via XML RPC are now logged, for example when using the WordPress app for iOS or Android. Supported actions for now is post/page created, edited, deleted, and media uploads.
388
- - Added: `_xmlrpc_request` is added to context of event when an event is initiated through a XML-RPC all.
389
- - Changed: RSS feed now has loglevel of event prepended to the title.
390
- - Changed: Options logger now only shows the first 250 chars of new and old option values. Really long values could make the log look strange.
391
- - Added: If constant `SIMPLE_HISTORY_LOG_DEBUG` is defined and true automatically adds `$_GET`, `$_POST`, and more info to each logged event. Mostly useful for the developer, but maybe some of you are a bit paranoid and want it too.
392
- - Updated: German translation updated.
393
-
394
- = 2.0.20 (February 2015) =
395
-
396
- - Added: changes via [WP-CLI](http://wp-cli.org) is now detected (was previously shown as "other").
397
- - Added: severity level (info, warning, debug, etc.) of event is includes in the RSS output.
398
- - Changed the way user login is logged. Should fix https://github.com/bonny/WordPress-Simple-History/issues/40 + possible more related issues.
399
- - Added: filter `simple_history/simple_logger/log_message_key` added, that can be used to shortcut log messages. See [example file](https://github.com/bonny/WordPress-Simple-History/blob/master/examples/examples.php) for usage. Fixes https://wordpress.org/support/topic/stop-logging-certain-types-of-activity.
400
- - Added: now uses object caching at some places. Should speed up some parts of the plugin for users with caching enabled.
401
- - Fixed: IP info popup can now be closed with `esc`.
402
- - Fixed: works better on small screens (like mobile phones) + misc other style related fixes.
403
-
404
- = 2.0.19 (February 2015) =
405
-
406
- - Added: Dutch translation by [https://github.com/niknetniko](https://github.com/niknetniko). Thanks!
407
- - Changed: better compatibilty with plugins like [WP User Avatar](https://wordpress.org/plugins/wp-user-avatar/).
408
- - Updated: German translation update.
409
-
410
- = 2.0.18 (January 2015) =
411
-
412
- - Fixed: really correctly show the version number of the previous version!
413
-
414
- = 2.0.17 (January 2015) =
415
-
416
- - Added: messages added using for example `SimpleLogger()->info( __("My log message") )` that have translations now auto translated the message back to english before storing the message (together with the text domain). Then upon retrieval it uses the english message + the text domain to translate the message to the currently selected language. This makes it easier to make multilingual log entries. (Yeah, I know its hard to understand what the heck this does, but it's something good and cool, trust me!)
417
- - Added: A sidebar with text contents on the history page.
418
- - Changed: Search now shows only the search box by default, with a link to show all search options.
419
- - Fixed: Search is now available at the dashboard again. Hooray!
420
- - Fixed: Old entries were not cleared automatically. Now it correctly removes old events, so your database will not risk growing to large.
421
- - Fixed: Quick stats could show two messages sometimes.
422
- - Fixed: When headers like `HTTP_X_FORWARDED_FOR` exists all valid IPs in that header is now stored.
423
- - Fixed: Plugin updates via third party software like [InfiniteWP](http://infinitewp.com/) should now correctly show the version number of the previous version.
424
- - Updated: German translation updated.
425
- - Notice: Do you read these messages? Then you must love this plugin! Come on then, [go and give it a nice review](https://wordpress.org/support/view/plugin-reviews/simple-history).
426
-
427
- = 2.0.16 (January 2015) =
428
-
429
- - Fixed: Use the [X-Forwarded-For header](http://en.wikipedia.org/wiki/X-Forwarded-For), if it is set, to determine remote IP address. Should now correctly store IP addresses for servers behind load balancers or for clients going through proxies. Fixes https://wordpress.org/support/topic/use-x-forwarded-for-http-header-when-logging-remote_addr.
430
- - Changed: Failed login attempts from unknown and known users are now grouped together. This change was made because a hacker could make many login attempts to a site and rotate the logins, so they would try with both existing and non existing user names, which would make the log flood with failed login attempts.
431
- - Changed: use "n similar events" instead of "n more", to more cleary mark that the grouped events are not necessary exactly the same kind.
432
- - Changed: Quick stats text changed, to also include other sources. Previous behavior was to only include events from WordPress users, but now also events from anonymous users and WordPress (like from WP-Cron) are included.
433
-
434
- = 2.0.15 (January 2015) =
435
-
436
- - Fixed: Widget changes where not always translated.
437
- - Fixed: More RSS fixes to make feed valid. Maybe even for real this time.
438
- - Updated: German translation updated.
439
-
440
- = 2.0.14 (January 2015) =
441
-
442
- - Added: Danish translation added. Thanks [ThomasDK81](https://github.com/ThomasDK81)!
443
- - Misc translation fixes, for example the log levels where not translateable (it may be a good idea to keep the original English ones however because they are the ones that are common in other software).
444
-
445
- = 2.0.13 (January 2015) =
446
-
447
- - Fixed: RSS feed is now valid according to http://validator.w3.org/. Fixes https://wordpress.org/support/topic/a-feed-which-was-valid-under-v206-is-no-longer-under-v209-latest.
448
- - Translation fixes. Thanks [ThomasDK81](https://github.com/ThomasDK81)!
449
-
450
- = 2.0.12 (January 2015) =
451
-
452
- - Fixed: Deleted attachments did not get translations.
453
- - Fixed: A notice when showing details for a deleted attachment.
454
-
455
- = 2.0.11 (January 2015) =
456
-
457
- - Fixed: Comments where not logged correctly.
458
- - Fixed: Comments where not translated correctly.
459
- - Updated: German translation updated.
460
-
461
- = 2.0.10 (January 2015) =
462
-
463
- - Updated: Polish translation updated. Thanks [https://github.com/m-czardybon](m-czardybon)!
464
- - Updated: German translation updated. Thanks [http://klein-aber-fein.de/](Ralph)!
465
- - Updated: Swedish translation updated.
466
-
467
- = 2.0.9 (December 2014) =
468
-
469
- - Actually enable IP address lookup for all users. Sorry for missing to do that! ;)
470
-
471
- = 2.0.8 (December 2014) =
472
-
473
- - Added: IP addresses can now be clicked to view IP address info from [ipinfo.io](http://ipinfo.io). This will get you the location and network of an IP address and help you determine from where for example a failed login attempt originates from. [See screenshot of IP address info in action](http://glui.me/?d=y89nbgmvmfnxl4r/ip%20address%20information%20popup.png/).
474
- - Added: new action `simple_history/admin_footer`, to output HTML and JavaScript in footer on pages that belong to Simple History
475
- - Added: new trigger for JavaScript: `SimpleHistory:logReloadStart`. Fired when the log starts to reload, like when using the pagination or using the filter function.
476
- - Fixed: use Mustache-inspired template tags instead of Underscore default ones, because they don't work with PHP with asp_tags on.
477
- - Updated: Swedish translation updated
478
-
479
- = 2.0.7 (December 2014) =
480
-
481
- - Fix: no message when restoring page from trash
482
- - Fix: use correct width for media attachment
483
- - Add: filter `simple_history/logrowhtmloutput/classes`, to modify HTML classes added to each log row item
484
-
485
- = 2.0.6 (November 2014) =
486
-
487
- - Added: [WordPress 4.1 added the feature to log out a user from all their sessions](http://codex.wordpress.org/Version_4.1#Users). Simple History now logs when a user is logged out from all their sessions except the current browser, or if an admin destroys all sessions for a user. [View screenshot of new session logout log item](https://dl.dropboxusercontent.com/s/k4cmfmncekmfiib/2014-12-simple-history-changelog-user-sessions.png)
488
-
489
- - Added: filter to shortcut loading of a dropin. Example that completely skips loading the RSS-feed-dropin:
490
- `add_filter("simple_history/dropin/load_dropin_SimpleHistoryRSSDropin", "__return_false");`
491
-
492
- = 2.0.5 (November 2014) =
493
-
494
- - Fix undefined variable in plugin logger. Fixes https://wordpress.org/support/topic/simple-history-201-is-not-working?replies=8#post-6343684.
495
- - Made the dashboard smaller
496
- - Misc other small GUI changes
497
-
498
- = 2.0.4 (November 2014) =
499
-
500
- - Make messages for manually updated plugins and bulk updated plugins more similar
501
-
502
- = 2.0.3 (November 2014) =
503
-
504
- - Show the version of PHP that the user is running, when the PHP requirement of >= 5.3 is not met
505
-
506
- = 2.0.2 (November 2014) =
507
-
508
- - Fixed wrong number of arguments used in filter in RSS-feed
509
-
510
- = 2.0.1 (November 2014) =
511
-
512
- - Removed anonymous function in index file causing errors during install on older versions of PHP
513
-
514
- = 2.0 (November 2014) =
515
-
516
- Major update - Simple History is now better and nicer than ever before! :)
517
- I've spend hundreds of hours making this update, so if you use it and like it please [donate to keep my spirit up](http://eskapism.se/sida/donate/) or [give it a nice review](https://wordpress.org/support/view/plugin-reviews/simple-history).
518
-
519
- - Code cleanup and modularization
520
- - Support for log contexts
521
- - Kinda PSR-3-compatible :)
522
- - Can handle larger logs (doesn't load whole log into memory any more)
523
- - Use nonces at more places
524
- - More filters and hooks to make it easier to customize
525
- - Better looking! well, at least I think so ;)
526
- - Much better logging system to make it much easier to create new loggers and to translate logs into different languages
527
- - Features as plugins: more things are moved into modules/its own file
528
- - Users see different logs depending on their capability, for example an administrator will see what plugins have been installed, but an editor will not see any plugin related logs
529
- - Much much more.
530
-
531
- = 1.3.11 =
532
- - Don't use deprecated function get_commentdata(). Fixes https://wordpress.org/support/topic/get_commentdata-function-is-deprecated.
533
- - Don't use mysql_query() directly. Fixes https://wordpress.org/support/topic/deprecated-mysql-warning.
534
- - Beta testers wanted! I'm working on the next version of Simple History and now I need some beta testers. If you want to try out the shiny new and cool version please download the [v2 branch](https://github.com/bonny/WordPress-Simple-History/tree/v2) over at GitHub. Thanks!
535
-
536
- = 1.3.10 =
537
- - Fix: correct usage of "its"
538
- - Fix: removed serif font in log. Fixes https://wordpress.org/support/topic/two-irritations-and-pleas-for-change.
539
-
540
- = 1.3.9 =
541
- - Fixed strict standards warning
542
- - Tested on WordPress 4.0
543
-
544
- = 1.3.8 =
545
- - Added filter for rss feed: `simple_history/rss_feed_show`. Fixes more things in this thread: http://wordpress.org/support/topic/more-rss-feed-items.
546
-
547
- = 1.3.7 =
548
- - Added filter for rss feed: `simple_history/rss_feed_args`. Fixes http://wordpress.org/support/topic/more-rss-feed-items.
549
-
550
- = 1.3.6 =
551
- - Added Polish translation
552
- - Added correct XML encoding and header
553
- - Fixed notice warnings when media did not exist on file system
554
-
555
- = 1.3.5 =
556
- - Added a reload-button at top. Click it to reload the history. No need to refresh page no more!
557
- - Fixed items being reloaded when just clicking the dropdown (not having selected anything yet)
558
- - Fixed bug with keyboard navigation
559
- - Added Portuguese translation by [X6Web](http://x6web.com)
560
- - Use less SQL queries
561
-
562
- = 1.3.4 =
563
- - Changed the way post types show in the dropdown. Now uses plural names + not prefixed with main post type. Looks better I think. Thank to Hassan for the suggestion!
564
- - Added "bytes" to size units that an attachment can have. Also fixes undefined notice warning when attachment had a size less that 1 KB.
565
-
566
- = 1.3.3 =
567
- - Capability for viewing settings changed from edit_pages to the more correct [manage_options](http://codex.wordpress.org/Roles_and_Capabilities#manage_options)
568
-
569
- = 1.3.2 =
570
- - Could get php notice warning if rss secret was not set. Also: make sure both public and private secret exists.
571
-
572
- = 1.3.1 =
573
- - Improved contrast for details view
574
- - Fix sql error on installation due to missing column
575
- - Remove options and database table during removal of plugin
576
- - Added: German translation for extender module
577
-
578
- = 1.3 =
579
- - Added: history events can store text description with a more detailed explanation of the history item
580
- - Added: now logs failed login attempts for existing username. Uses the new text description to store more info, for example user agent and remote ip address (REMOTE_ADDR)
581
- - Fixed: box did not change height when clicking on occasions
582
- - Fixed: use on() instead of live() in JavaScript
583
-
584
- = 1.2 =
585
- - Fixed: Plugin name is included when plugins is activated or deactivated. Previosuly only folder name and name of php file was included.
586
- - Added: Attachment thumbnails are now visible if history item is an attachment. Also includes some metadata.
587
- - Changed: Filters now use dropdowns for type and user. When a site had lots of users and lots of post types, the filter section could be way to big.
588
- - Added keyboard navigation. Use right and left arrow when you are on Simple History's own page to navigation between next and previous history page.
589
- - Added loading indicator, so you know it's grabbing your history, even if it's taking a while
590
- - Misc JS and CSS fixes
591
- - Arabic translation updated
592
- - POT-file updated
593
-
594
- = 1.1 =
595
- - Added the Simple History Extender-module/plugin. With this great addon to Simple History it is very easy for other developers to add their own actions to simple history, including a settings panel to check actions on/off. All work on this module was made by Laurens Offereins (lmoffereins@gmail.com). Super thanks!
596
- - With the help of Simple History Extender this plugin also tracks changes made in bbPress, Gravity Forms and in Widges. Awesome!
597
- - Added user email to RSS feed + some other small changed to make it compatible with IFTTT.com. Thanks to phoenixMagoo for the code changes. Fixes http://wordpress.org/support/topic/suggestions-a-couple-of-tweaks-to-the-rss-feed.
598
- - Added two filters for the RSS feed: simple_history_rss_item_title and simple_history_rss_item_description.
599
- - Changed the way the plugin directory was determined. Perhaps and hopefully this fixes some problems with multi site and plugin in different locations and stuff like that
600
- - Style fixes for RTL languages
601
- - Small fixes here and there, for example changing deprecated WordPress functions to not deprecated
602
- - Added new filter: simple_history_db_purge_days_interval. Hook it to change default clear interval of 60 days.
603
-
604
- = 1.0.9 =
605
- - Added French translation
606
-
607
- = 1.0.8 =
608
- - Added: filter simple_history_allow_db_purge that is used to determine if the history should be purged/cleaned after 60 days or not. Return false and it will never be cleaned.
609
- - Fixed: fixed a security issue with the RSS feed. User who should not be able to view the feed could get access to it. Please update to this version to keep your change log private!
610
-
611
- = 1.0.7 =
612
- - Fixed: Used a PHP shorthand opening tag at a place. Sorry!
613
- - Fixed: Now loads scripts and styles over HTTPS, if that's being used. Thanks to "llch" for the patch.
614
-
615
- = 1.0.6 =
616
- - Added: option to set number of items to show, per page. Default i 5 history log items.
617
-
618
- = 1.0.5 =
619
- - Fixed: some translation issues, including updated POT-file for translators.
620
-
621
- = 1.0.4 =
622
- - You may want to clear the history database after this update because the items in the log will have mixed translate/untranslated status and it may look/work a bit strange.
623
- - Added: Option to clear the database of log items.
624
- - Changed: No longer stored translated history items in the log. This makes the history work even if/when you switch langauge of WordPress.
625
- - Fixed: if for example a post was editied several times and during these edits it changed name, it would end up at different occasions. Now it's correctly stored as one event with several occasions.
626
- - Some more items are translateable
627
-
628
- = 1.0.3 =
629
- - Updated German translation
630
- - Some translation fixes
631
-
632
- = 1.0.2 =
633
- - Fixed a translation bug
634
- - Added updated German translation
635
-
636
- = 1.0.1 =
637
- - The pagination no longer disappear after clickin "occasions"
638
- - Fixed: AJAX loading of new history items didn't work.
639
- - New filter: simple_history_view_history_capability. Default is "edit_pages". Modify this to change what cabability is required to view the history.
640
- - Modified: styles and scripts are only added on pages that use/show Simple History
641
- - Updated: new POT file. So translators my want to update their translations...
642
-
643
- = 1.0 =
644
- - Added: pagination. Gives you more information, for example the number of items, and quicker access to older history items. Also looks more like the rest of the WordPress GUI.
645
- - Modified: search now searches type of action (added, modified, deleted, etc.).
646
-
647
- = 0.8.1 =
648
- - Fixed some annoying errors that slipt through testing.
649
-
650
- = 0.8 =
651
- - Added: now also logs when a user saves any of the built in settings page (general, writing, reading, discussion, media, privacy, and permalinks. What more things do you want to see in the history? Let me know in the [support forum](http://wordpress.org/support/plugin/simple-history).
652
- - Added: gravatar of user performing action is always shown
653
- - Fixed: history items that was posts/pages/custom post types now get linked again
654
- - Fixed: search is triggered on enter (no need to press search button) + search searches object type and object subtype (before it just searched object name)
655
- - Fixed: showing/loading of new history items was kinda broken. Hopefully fixed and working better than ever now.
656
- - Plus: even more WordPress-ish looking!
657
- - Also added donate-links. Tried to keep them discrete. Anyway: please [donate](http://eskapism.se/sida/donate/?utm_source=wordpress&utm_medium=changelog&utm_campaign=simplehistory) if you use this plugin regularly.
658
-
659
- = 0.7.2 =
660
- - Default settings should be to show on page, missed that one. Sorry!
661
-
662
- = 0.7.1 =
663
- - Fixed a PHP shorttag
664
-
665
- = 0.7 =
666
- - Do not show on dashboard by default to avoid clutter. Can be enabled in settings.
667
- - Add link to settings from plugin list
668
- - Settings are now available as it's own page under Settings -> Simple Fields. It was previosly on the General settings page and some people had difficulties finding it there.
669
- - Added filters: simple_history_show_settings_page, simple_history_show_on_dashboard, simple_history_show_as_page
670
-
671
- = 0.6 =
672
- - Changed widget name to just "History" instead of "Simple History". Keep it simple. Previous name implied there also was an "Advanced History" somewhere.
673
- - Made the widget look a bit WordPress-ish by borrwing some of the looks from the comments widget.
674
- - Fix for database that didn't use UTF-8 (sorry international users!)
675
- - Some security fixes
676
- - Updated POT-file
677
-
678
- = 0.5 =
679
- - Added author to RSS
680
- - Added german translation, thanks http://www.fuerther-freiheit.info/
681
- - Added swedish translation, thanks http://jockegustin.se
682
- - Better support for translation
683
-
684
- = 0.4 =
685
- - Added: Now you can search the history
686
- - Added: Choose if you wan't to load/show more than just 5 rows from the history
687
-
688
- = 0.3.11 =
689
- - Fixed: titles are now escaped
690
-
691
- = 0.3.10 =
692
- - Added chinese translation
693
- - Fixed a variable notice
694
- - More visible ok-message after setting a new RSS secret
695
-
696
- = 0.3.9 =
697
- - Attachment names were urlencoded and looked wierd. Now they're not.
698
- - Started to store plugin version number
699
-
700
- = 0.3.8 =
701
- - Added chinese translation
702
- - Uses WordPress own human_time_diff() instead of own version
703
- - Fix for time zones
704
-
705
- = 0.3.7 =
706
- - Directly after installation of Simple History you could view the history RSS feed without using any secret. Now a secret is automatically set during installation.
707
-
708
- = 0.3.6 =
709
- - Made the RSS-feature a bit easier to find: added a RSS-icon to the dashboard window - it's very discrete, you can find it at the bottom right corner. On the Simple History page it's a bit more clear, at the bottom, with text and all. Enjoy!
710
- - Added POT-file
711
-
712
- = 0.3.5 =
713
- - using get_the_title instead of fetching the title directly from the post object. should make plugins like qtranslate work a bit better.
714
- - preparing for translation by using __() and _e() functions. POT-file will be available shortly.
715
- - Could get cryptic "simpleHistoryNoMoreItems"-text when loading a type with no items.
716
-
717
- = 0.3.4 =
718
- - RSS-feed is now valid, and should work at more places (could be broken because of html entities and stuff)
719
-
720
- = 0.3.3 =
721
- - Moved JavaScript to own file
722
- - Added comments to the history, so now you can see who approved a comment (or unapproved, or marked as spam, or moved to trash, or restored from the trash)
723
-
724
- = 0.3.2 =
725
- - fixed some php notice messages + some other small things I don't remember..
726
-
727
- = 0.3.1 =
728
- - forgot to escape html for posts
729
- - reduced memory usage... I think/hope...
730
- - changes internal verbs for actions. some old history items may look a bit weird.
731
- - added RSS feed for recent changes - keep track of changes via your favorite RSS-reader
732
-
733
- = 0.3 =
734
- - page is now added under dashboard (was previously under tools). just feel better.
735
- - mouse over on date now display detailed date a bit faster
736
- - layout fixes to make it cooler, better, faster, stronger
737
- - multiple events of same type, performed on the same object, by the same user, are now grouped together. This way 30 edits on the same page does not end up with 30 rows in Simple History. Much better overview!
738
- - the name of deleted items now show up, instead of "Unknown name" or similar
739
- - added support for plugins (who activated/deactivated what plugin)
740
- - support for third party history items. Use like this:
741
- simple_history_add("action=repaired&object_type=starship&object_name=USS Enterprise");
742
- this would result in somehting like this:
743
- Starship "USS Enterprise" repaired
744
- by admin (John Doe), just now
745
- - capability edit_pages needed to show history. Is this an appropriate capability do you think?
746
-
747
- = 0.2 =
748
- * Compatible with 2.9.2
749
-
750
- = 0.1 =
751
- * First public version. It works!
4
  Tags: history, log, changes, changelog, audit, trail, pages, attachments, users, cms, dashboard, admin, syslog, feed, activity, stream, audit trail, brute-force
5
  Requires at least: 3.6.0
6
  Tested up to: 4.4
7
+ Stable tag: 2.5.5
8
 
9
  View changes made by users within WordPress. See who created a page, uploaded an attachment or approved an comment, and more.
10
 
144
 
145
  ## Changelog
146
 
147
+ = 2.5.5 (March 2016) =
148
+
149
+ - Changed: The logger for Enable Media Replace required the capability `edit_files` to view the logged events, but since this also made it impossible to view events if the constant `DISALLOW_FILE_EDIT` was true. Now Enable Media Replace requires the capability `upload_files` instead. Makes more sense. Fixes https://wordpress.org/support/topic/simple-history-and-disallow_file_edit.
150
+ - Changed: No longer log spam trackbacks or comments. Before this version these where logged, but not shown.
151
+ - Fixed: Translations was not loaded for Select2. Fixes https://wordpress.org/support/topic/found-a-string-thats-not-translatable-v-254.
152
+ - Fixed: LogQuery `date_to`-argument was using `date_from`.
153
+ - Changed: The changelog for 2015 and earlier are now moved to [CHANGELOG.md](https://github.com/bonny/WordPress-Simple-History/blob/master/CHANGELOG.md).
154
+
155
  = 2.5.4 (March 2016) =
156
 
157
  - Added: Support for new key in info array from logger: "name_via". Set this value in a logger and the string will be shown next to the date of the logged event. Useful when logging actions from third party plugins, or any kind of other logging that is not from WordPress core.
181
  - Added: Filter `simple_history/row_header_date_output`.
182
  - Added: Filter `simple_history/log/inserted`.
183
  - Added: Filter `simple_history/row_header_date_output`.