Releases: michelve/software-license-manager
Releases · michelve/software-license-manager
6.3.6
Added
- Support for
time
column asDATETIME
and newtime_only
column asTIME
. - New error and success logs for log creation functionality.
- Enhanced sanitization for input data to improve security.
- Implemented a sortable table UI for the activity log using WordPress standards.
- Added support for sorting by columns such as ID, Action, Date & Time, and Source.
- Refactored log creation logic to support new schema changes (
time
andtime_only
). - Improved sanitization and validation for user inputs.
- Enhanced error handling and logging for both UI and database operations.
Changed
- Updated
create_log
method to match the new database schema. - Improved code readability and maintainability for the log creation process.
Fixed
- Addressed potential SQL injection risks by ensuring all inputs are sanitized.
- Improved compatibility with WordPress timezone and
current_time('mysql')
.
Upgrade Notes
-
Ensure you run the database migration script to modify the
time
column and add thetime_only
column. -
Use the following SQL commands if automatic schema updates fail:
ALTER TABLE wp_lic_log_tbl MODIFY COLUMN time DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'; ALTER TABLE wp_lic_log_tbl ADD COLUMN time_only TIME NOT NULL DEFAULT '00:00:00';
6.3.5
6.3.4
feat: Add custom block category "SLM Plus" and improve shortcode blocks
- Registered a new block category "SLM Plus" for better organization.
- Updated "Forgot License" and "List Licenses" blocks to assign them to the custom category.
- Improved block editor previews for both blocks:
- "Forgot License" block displays a preview with a form placeholder.
- "List Licenses" block displays a preview with a sample list of licenses.
- Fixed issues with blocks appearing under "Uncategorized" by ensuring proper category registration.
- Ensured unique naming in block scripts to avoid conflicts.
- Added clear styles for block previews and frontend rendering in
slm-blocks.css
. - Verified shortcode functionality for rendering licenses dynamically.
How to Use the New Shortcodes and Blocks
Shortcodes:
-
Forgot License:
[slm_forgot_license]
- Displays a form where users can enter their email to retrieve license information.
- Can be added to any page or post manually.
-
List Licenses:
[slm_list_licenses]
- Dynamically displays a table of licenses associated with the logged-in user.
- Useful for pages where users manage their licenses.
Blocks:
-
Forgot License Block:
- Found under the "SLM Plus" category in the block editor.
- Provides an interactive form preview in the editor.
- On the frontend, renders the
[slm_forgot_license]
shortcode.
-
List Licenses Block:
- Found under the "SLM Plus" category in the block editor.
- Displays a placeholder list of licenses in the editor.
- On the frontend, renders the
[slm_list_licenses]
shortcode dynamically.
Additional Notes
- Ensure that
slm-blocks.js
andslm-blocks.css
are correctly enqueued for the blocks and styles to work. - Blocks and shortcodes are fully compatible with logged-in user sessions for personalized license management.
feat: New license renewal workflow and enhanced templates
Features
- New License Renewal Workflow:
- Tracks historical orders and updates the
associated_orders
column for licenses. - Ensures seamless handling of WooCommerce order IDs during renewals.
- Tracks historical orders and updates the
- Enhanced Templates:
- Added templates for license management, including:
- Renewal pages.
- License product suggestions for empty carts.
- Added templates for license management, including:
Improvements
- License Creation Enhancements:
- Refactored
wc_slm_create_new_license
to manage:- Expiration dates.
- Logging.
- Associated orders for traceability.
- Refactored
- Database Updates:
- Added missing columns (e.g.,
associated_orders
) with proper schema management. - Ensured backward compatibility and smoother upgrades.
- Added missing columns (e.g.,
- Utility Functions:
- Enhanced
SLM_Utility::slm_get_associated_orders
to retrieve well-formatted data for associated orders.
- Enhanced
Fixes
- Metadata Dependency:
- Replaced
_slm_lic_key
usage with database lookups to improve accuracy and reliability.
- Replaced
- Database Versioning:
- Fixed database version handling logic to ensure schema updates are properly applied.
Templates
- License Cart Template:
- Displays suggested license products when the cart is empty.
- Dynamically handles renewal messages and new license purchases.
Notes
- The new renewal workflow improves traceability by appending historical orders to the
associated_orders
column. - Templates integrate seamlessly with WooCommerce workflows, providing a consistent and user-friendly experience.
6.3.3
feat: Add custom block category "SLM Plus" and improve shortcode blocks
- Registered a new block category "SLM Plus" for better organization.
- Updated "Forgot License" and "List Licenses" blocks to assign them to the custom category.
- Improved block editor previews for both blocks:
- "Forgot License" block displays a preview with a form placeholder.
- "List Licenses" block displays a preview with a sample list of licenses.
- Fixed issues with blocks appearing under "Uncategorized" by ensuring proper category registration.
- Ensured unique naming in block scripts to avoid conflicts.
- Added clear styles for block previews and frontend rendering in
slm-blocks.css
. - Verified shortcode functionality for rendering licenses dynamically.
How to Use the New Shortcodes and Blocks
Shortcodes:
-
Forgot License:
[slm_forgot_license]
- Displays a form where users can enter their email to retrieve license information.
- Can be added to any page or post manually.
-
List Licenses:
[slm_list_licenses]
- Dynamically displays a table of licenses associated with the logged-in user.
- Useful for pages where users manage their licenses.
Blocks:
-
Forgot License Block:
- Found under the "SLM Plus" category in the block editor.
- Provides an interactive form preview in the editor.
- On the frontend, renders the
[slm_forgot_license]
shortcode.
-
List Licenses Block:
- Found under the "SLM Plus" category in the block editor.
- Displays a placeholder list of licenses in the editor.
- On the frontend, renders the
[slm_list_licenses]
shortcode dynamically.
Additional Notes
- Ensure that
slm-blocks.js
andslm-blocks.css
are correctly enqueued for the blocks and styles to work. - Blocks and shortcodes are fully compatible with logged-in user sessions for personalized license management.
6.3.2
feat: New license renewal workflow and enhanced templates
Features
- New License Renewal Workflow:
- Tracks historical orders and updates the
associated_orders
column for licenses. - Ensures seamless handling of WooCommerce order IDs during renewals.
- Tracks historical orders and updates the
- Enhanced Templates:
- Added templates for license management, including:
- Renewal pages.
- License product suggestions for empty carts.
- Added templates for license management, including:
Improvements
- License Creation Enhancements:
- Refactored
wc_slm_create_new_license
to manage:- Expiration dates.
- Logging.
- Associated orders for traceability.
- Refactored
- Database Updates:
- Added missing columns (e.g.,
associated_orders
) with proper schema management. - Ensured backward compatibility and smoother upgrades.
- Added missing columns (e.g.,
- Utility Functions:
- Enhanced
SLM_Utility::slm_get_associated_orders
to retrieve well-formatted data for associated orders.
- Enhanced
Fixes
- Metadata Dependency:
- Replaced
_slm_lic_key
usage with database lookups to improve accuracy and reliability.
- Replaced
- Database Versioning:
- Fixed database version handling logic to ensure schema updates are properly applied.
Templates
- License Cart Template:
- Displays suggested license products when the cart is empty.
- Dynamically handles renewal messages and new license purchases.
Notes
- The new renewal workflow improves traceability by appending historical orders to the
associated_orders
column. - Templates integrate seamlessly with WooCommerce workflows, providing a consistent and user-friendly experience.
6.1.9
6.1.8
Full Changelog: 6.1.7...6.1.8