=== axanet Tools ===
Contributors: axanet
Tags: tools, essentials, maintenance
Requires at least: 6.2
Tested up to: 7.1
Requires PHP: 8.0
Stable tag: 1.1.7
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

axanet Tools are the essentials for visibility control

== Description ==
Essential tools to edit login logo and login security, disable comments site-wide with optional deletion, disable system pages, manage admin bar visibility, search & replace database strings, clean up database and control maintenance mode.

Features include:
* Login Logo
* Login Security
* Disable Comments
* WP Pages
* Admin Bar
* Search & Replace
* Clean-Up Database
* Maintenance Mode

== Installation ==
1. Upload the plugin files to the `/wp-content/plugins/axanet-tools` directory, or install the plugin through the WordPress plugins screen directly.
2. Activate the plugin through the 'Plugins' screen in WordPress.
3. Use the plugin settings page to configure options.

== Frequently Asked Questions ==

= Is this plugin free? =
Yes, this plugin is free for life.

= Are there any annoying in-app paid features? =
Absolutely not.

== Screenshots ==
1. Main settings screen showing the tabbed interface for managing plugin features.

== Changelog ==

= 1.1.7 =
* Fixed: Database Cleanup's "Trashed Posts & Pages" option only ever cleaned up posts; trashed pages and other post types are now included as the label always said.
* Fixed: Database Cleanup's orphaned post meta/comment meta cleanup could delete legitimate data some plugins store under post/comment ID 0 as a global key-value store; that data is no longer treated as orphaned.
* Fixed: Search & Replace could silently corrupt data on tables with a composite (multi-column) primary key by updating on only the first key column; such tables are now safely skipped, matching the existing no-primary-key protection.
* Fixed: Search & Replace no longer overwrites a value with a raw string replace when it looks serialized but fails to unserialize; the row is left untouched instead.
* Added: Search & Replace now shows a confirmation prompt before a real (non-preview) run, matching the other destructive actions in the plugin.
* Fixed: Login Security's blocked IP list is no longer autoloaded and is pruned continuously, preventing site-wide slowdown from a large, sustained brute-force attack.
* Fixed: Disabling comments with "delete all existing comments" selected could leave the plugin's own enabled/disabled state out of sync with the site's comment settings if the request timed out partway through a very large deletion; bulk comment deletion also now uses less memory.
* Fixed: Uninstalling the plugin now also removes its login-logo reachability cache instead of leaving it behind.

= 1.1.6 =
* Security: Login Security no longer trusts spoofable client headers (X-Forwarded-For / Client-IP) for IP blocking by default, and blocked IPs can no longer have their block indefinitely renewed by repeated attempts.
* Fixed: Search & Replace could corrupt PHP-serialized values (widgets, theme mods, plugin settings); replacements are now serialization-aware and applied per-row via each table's primary key, with unsafe tables skipped and flagged instead of modified.
* Fixed: Maintenance Mode could enter a redirect loop when the redirect URL matched the currently requested page.
* Fixed: Login page logo reachability was checked on every single login page view; now cached to reduce load time.
* Fixed: Database Cleanup item counts could show stale numbers after running a cleanup, and the results message wasn't fully translatable.
* Fixed: Confirmation dialogs no longer appear on safe actions (Save, Enable) that don't need one.
* Changed: Tab navigation no longer relies on an expiring nonce, so bookmarked or shared links to a specific tab keep working.

= 1.1.5 =
* Fixed: Bug fixes

= 1.1.4 =
* Fixed: Bug fixes

= 1.1.3 =
* Optimised: Clean-up script optimised

= 1.1.2 =
* Fixed: Login security improvements

= 1.1.1 =
* Fixed: Login security improvements

= 1.1.0 =
* Added: Database Cleanup
* Change: Removed tabs for better display and added breadcrumbs

= 1.0.1 =
* Fixed: Version missmatch.
* Fixed: Text corrections.

= 1.0.0 =
* Initial release with features for disabling comments, customizing login logo and login security, disabling WP pages, managing admin bar, search & replace and maintenance mode.