1. Home
  2. Knowledge Base
  3. Uncanny Groups for LearnDash
  4. Uncanny Groups for LearnDash – Changelog

Uncanny Groups for LearnDash – Changelog

6.1 [2024-07-11]

New Feature:

  • Group Management – Upload users – Support to add custom user meta added #1008


  • Group Course Report – Time column for courses #829
  • Group Management – Upload Users – Add support for user_login column #708


  • Group Edit page – “Send enrollment key” email template override #1020
  • Group Management – Password message updates #1014
  • Group Quiz Report – Ability to programatically show/hide report columns #1016


  • Edit user page – PHP 8.1 warning when adding or removing user in group #1028
  • Group Course Report – Additional validation if the Group leader has access to the group #1021
  • Group Management – Add users – CSV upload formatting #1005
  • Group Management and Licenses – Purchasing additional seats is creating a new group instead #1037
  • Group Management and Pooled Seats – Adding a user to any group in hierarchy with pooled seats could create a loop #1032
  • Group Management and Pooled seats – Adding a user with “Send enrollment key” option to any group in a hierarchy causes the user to be added to all groups in hierarchy #1031
  • Group Quiz Report – PHP warning related to statistic_ref_id #1026
  • Multisite – #ResetPassword token – Now uses home_url() to generate the password reset link #1042
  • Progress Report – Sort order not working for Group Leaders #1011
  • Woo License – Keep the application of WP filter ‘ulgm_group_name’ consistent #1034
  • Group License – add/update/get_post_meta for $order replaced with Woo’s internal methods for HPOS compatibility #1036
  • Woo Subscriptions – PHP Error on My account’s Subscriptions page in a specific situation #1040

Under the hood:

  • Added cron event to validate DB upgrade changes #1018
  • Declare Woo block incompatibility #1044
  • Hide other plugin notices on Groups pages #1041
  • Improved compatibility with Woo’s HPOS #821
  • Move license box to Settings page #1046
  • WP Action uo_before_manual_group_created  to allow custom code before manual groups gets created #1023

6.0.4 [2024-05-06]


  • Group Management – Add Multiple Users – Filter ulgm_bulk_add_new_user_validation preventing multiple users from being added to groups #1009

6.0.3 [2024-04-25]


  • Group Management – Add Multiple Users – New WP Filter ulgm_bulk_add_new_user_validation to allow custom validations #1002


  • License Subscriptions – Groups losing course access on renewal #999

6.0.2 [2024-04-17]


  • WP Filter ulgm_maybe_send_welcome_email – Added $group_id parameter #986


  • Group Course Report [uo_groups_course_report] – Custom defined columns default visibility #988
  • Groups Essay Report [uo_groups_essays] – Selected quiz in quiz dropdown not retaining value on page reload #990
  • Group Registration and Group Redemption – Native forms not redeeming codes properly #994

Under the hood:

  • Various PHP Notices #996

6.0.1 [2024-04-04]


  • Licensing – Allow plugin to be pre-activated by defining UNCANNY_GROUPS_LICENSE_KEY in wp-config.php #976


  • Group Management – Added ‘super_admin’ user role to allowed roles #950
  • Checkout – “Group Name” heading on checkout – Added context to the Name string for translation clarity #958


  • Essay Report – The points awarded cannot exceed the points available #962
  • Essay Report – Fix undefined var $quiz_score_difference when saving the essay data #978
  • Group Management & Simple Subscription License – Group Name field not appearing on cart and checkout pages #967
  • Groups Management – Student only taking one seat when added to different child groups in hierarchy #965
  • PHP error when adding Group Leader role to an existing user in a particular situation #980
  • Quiz & Group Essay Report – Display singular labels in drop-down #971
  • Woo Subscriptions – PHP ERROR when attempting to assign property “post_status” on null #953

Under the hood:

  • Buy Courses – Add a filter ulgm_create_license_redirect_target to override default checkout redirect behaviour #973
  • Licensing – Updated license check endpoints #977 [2024-02-27]


  • Groups Course Report – Added a WP Filter ulgm_course_parent_enrolled_hierarchy_disable to optionally enable child group records #935


  • Group Assignment / Essay Reports – 403 error when downloading the assignment/essay #947
  • Group License – Group Name(s) fields appearing for some non-Groups related products #937
  • Group Management – Additional validation if WooCommerce is active before calling a specific function #933
  • Group Quiz Report – Assets Enqueue Issue in some situations #945
  • Group User Query & Multisite – User viewing from the main site with non-unique Group IDs is getting users from other sites #930
  • User Progress Report – User AJAX search field loses focus when opened #931
  • User Progress Report – User Query conflict resolution #942

6.0 [2024-01-31]

New Feature:

  • Group License – Support for multiple licenses in a single transaction #265


  • Uncanny Groups Settings for Woo  #144  #926
    • Group License product type – Default Tax status
    • Group License product type – Default Tax class
    • Hide “Group Name” field(s) on checkout page
    • Hide “Group Name” field on product page
    • Do not make the “Group Name” field editable on cart page
  • Group Course Report – Transcript URL (transcript-page-id attribute) to view user’s transcript from Uncanny Toolkit Pro 4.2+ #837


  • Bulk discount – Now discounts the license price instead of adding a negative fee to the order #925
  • Group Essays – load_on_render attribute for [uo_groups_essays] shortcode to prevent initial load #905
  • Group Management & Reports – Improved Web Content Accessibility Guidelines (WCAG) compatibility #839
  • Group Management – Email users – Improved performance of child group lookup #899
  • Manage Progress – Updated to searchable drop-down list #704


  • Bulk discount & AffiliateWP – Referral amount now applies to the order total after the discount #258
  • Group Management – Email Users – “From Name” is not using the logged-in Group Leader details  #921
  • Group Management – New/Existing user added message will no longer show “email is sent” if relevant email setting is not enabled #912

Under the hood:

  • “Try Automator” menu renamed to “Automation” #810
  • Group Assignment – JS syntax update from array to [] #910
  • Group Management – Added missing ulgm_is_hierarchy_setting_enabled WP filter when fetching children users #917
  • Groups Essays – WP Filter ulgm_rest_api_should_get_essays_data to prevent unwanted data load #907
  • Update LIKE clause to = to reduce query timings #901 [2023-11-22]


  • Manage Progress – Added a “read-only” attribute to make the report read-only #792
  • Course and Quiz reports – Restored behaviour to show export options by default #3a33


  • Course & Quiz Reports – Export buttons – uo_groups_course_report & uo_groups_quiz_report shortcode params fix #893 [2023-11-09]


  • Blocks – Removed lodash dependency for WordPress v6.4+ #892 [2023-11-07]


  • Group Management – Add Multiple Users – WP Filter ulgm_multiple_add_users_error_separator to override the error separator for when mod security is enabled #886


  • Group Management – Email Users – “Include students in child group” checkbox only appears for the top level group #890
  • Group Management – Erroneously showing Group Leader permission issue #888 [2023-11-02]


  • Group Management – WP Filter ulgm_show_show_remove_group_leader_button to hide the option “Remove Group Leader” #880
  • Group Management – Update Email users count text #878


  • Bulk Discount – PHP Error in a specific situation on some sites when a payment is made via WooCommerce PayPal Payments #881
  • Group Management – Showing Group Leader permission error on some sites when group is switched #876

5.4 [2023-10-31]

New Features:

  • Groups & WooCommerce License – Remove seats when a related order in WooCommerce is refunded #857  #852
  • Edit Group & Create a group Wizards – Add “Parent group” option when LearnDash Group Hierarchy is enabled #859


  • Groups Edit Page – Added support to Upgrade/Downgrade any LearnDash group #838
  • Group Management – Email users – Allow Group Leaders to also email users in child groups #827
  • Manage Progress – Allow easy reset of quiz attempts #789


  • Course and Quiz reports – Shortcode attribute for CSV/Excel download buttons not working as expected #868
  • Group Management – Check if user ID is numeric #867
  • Fix PHP Error in PHP 8.0 and WARNING in < 8.0 when Group Management and TinCanny shortcodes are on the page  #855
  • Group Management Block – Page not rendering when block is embedded into another block (ex WP Column) #847
  • WooCommerce – Groups product type & LearnDash WooCommerce Integration conflict #846
  • Group Management – Seat count not correct when group has 1 user #844
  • Group Management – Email #Course variable returning all courses when group has none #840
  • Group Management – Group created in non-default language and viewed in that language – Added user permissions #819
  • My Account / Subscriptions page – Do not show the list of courses if turned off by ulgm_woocommerce_hide_course_title_in_product or ulgm_woocommerce_hide_course_title_in_subscription filters #874


  • Removing old transients are now done via cron to improve performance #832
  • Improved PHP 8.2 compatibility #865

5.3 [2023-08-15]

New Feature:

  • Edit group wizard #714


  • Group Management – Upload users – “Add and invite users” checked as a default option #824
  • Group Management – Add user – Show custom error message if passed via WP filter ulgm_add_new_user_data #814
  • Manage Progress – RTL language now lists the contents on the correct side #811


  • Group License – Courses are not showing on checkout page #828
  • Group Management – Fix for jQuery Modal plugin #54201 #822
  • Assignment Report – Assigned course, Assigned Lesson columns are not working as expected #802
  • Groups – Products added to cart show duplicate course info on cart page #799
  • Group Upgrade script – Migration script code quality updated #796
  • Groups – Group Course Report – Do not show users of child groups when parent group/course is selected #795 [2023-06-20]


  • Group Management – Edit user – WordPress filter to disallow email field editing #778


  • Group Management Reports – Child group user data not appearing in some reports #788
  • Translation – String case to render proper translation #786
  • WooCommerce License – Edit product – Missing General tab #784
  • Group Assignments – Student column not appearing #782
  • Group Assignments – Column resizing issue #782
  • Group Assignments – Column defaults not working as expected #782
  • Gravity Forms – PHP Error in a certain situation  #780 [2023-05-31]


  • Group Management – Use Course Order set by the LearnDash setting #756
  • Group Management – Randomly generated passwords now include special chars and are 18 characters long #722
  • Load static assets from inside the plugin #776


  • Groups License Product – PHP Warning when creating a product #771
  • Group Quiz Report – Not loading quiz data in a specific situation #766
  • Group Management – Incorrect group info appears for the Group Leader of a child group #765
  • Group Management – Email Users – Not displaying number of email count when site language is not English #764
  • Gravity Forms – Key redemption field not working when create a new user feed is added #763


  • Groups License Product – WP Action ulgm_after_license_product_is_created #775
  • Group Management – WP Filter ulgm_rest_api_allow_display_name_update to let the group leader update display_name field of the user when they update First or last name #773

5.2 [2023-04-27]


  • Group Management – Email Users – Now shows number of recipients #725
  • Group Management – Add Users forms now supports RTL #729


  • Group License & WooCommerce Payments – Licenses purchased via WooCommerce are not getting correct group names #751
  • Assignments report – Dates are ordered alphabetically #749
  • Group Management – Remove arrow added to dropdown by Astra #746
  • WooCommerce – Edit product – Conflict with WooCommerce Store Credit #744
  • Group management – Child group getting pre-selected on page load when hierarchies are enabled #741
  • Edit groups – Group-specific email drop-downs not expanding #737
  • Essay report – Student attribute not working #730
  • Security hardening for Uncanny Automator installer #707


  • Group Management – WP filter added to force check and hide the student child data checkbox #739

5.1 [2023-03-09]

New feature:

  • Subscription License – Now supports fixed price and min/max quantities #664
  • Buy Courses (Build a license) – Now supports minimum and maximum quantity attributes  #690


  • Group License – Remove index & follow directives when adding noindex & nofollow to license products #723
  • Group Quiz Report – Group, courses, quizzes drop-down lists now use Ajax to populate values  #689


  • WooCommerce Group Product type – PHP Error in a certain situation #720
  • LearnDash Custom Labels – PHP error in a certain situation when LearnDash v4.5+ is installed #718
  • WooCommerce – The “Create account” option during checkout will not be hidden if the cart products do not include groups  #715
  • Bulk discounts – Fix PHP Warning related on admin page #709
  • Progress Report – ajax_url variable renamed to prevent conflicts with other plugins #695
  • Group Management – Fixed price license – “Add seats” now adds the minimum seats set for the license #685


  • WPML config file #702
  • Load main backend JS file only where it’s required to prevent issues with other plugins #686


  • Group courses – ulgm_courses_is_purchasable filter added for woocommerce_is_purchasable product type option #691
  • Group Management – Filter ulgm_groups_management_send_emails_group_user_course_statuses to add/remove “Course status” options in Send email model #683

5.0.1 [2022-11-17]


  • Group Management page – If a group has no courses then the Status column shows ‘N/A’ #672
  • Group Reports – Columns now use LearnDash custom labels (if populated) for Course, Lesson and Topic #663
  • Fixed Price License – Now displays ‘/ Group’ instead of ‘/ Seat’ when users are purchasing a group with a fixed number of seats at a fixed price #660
  • Group Management – Inverted direction of button drop-down if an RTL language is active #651


  • Group Essay Report – Essay submission was not including paragraph breaks in modal #679
  • Course Report – Discrepancy in course progress percentage #677
  • Fix – [uo_groups] shortcode breaks Elementor’s layout in a certain situation #670
  • Bulk discount settings – PHP Type Error #653
  • Group License – Duplicate group was created when WooCommerce Order status switched from Completed to another status and back to Completed #649


  • Add in-plugin notifications #636


  • Group Management – Bulk add & Invite users – Added actions to allow custom fields #659
    • do_action( 'ulgm_before_add_bulk_users_columns', $current_group_id );
    • do_action( 'ulgm_after_add_bulk_users_columns', $current_group_id );
    • do_action( 'ulgm_before_add_bulk_users_form_fields', $current_group_id );
    • do_action( 'ulgm_after_add_bulk_users_form_fields', $current_group_id );
  • Group Management – Add Group Leader Form – Added new do_action hooks #655
    • do_action( 'ulgm_after_add_group_leader_form_fields', $current_group_id );
    • do_action( 'ulgm_before_add_group_leader_form_fields', $current_group_id );

5.0 [2022-10-04]

New Feature:

  • Group Management – Shared/pooled seat system for group hierarchies #597
  • WooCommerce – Set Minimum/Maximum Group product quantities and fixed prices #531


  • Enrollment Key redemption form block #602
  • Group management & reports – Option to change default sort column #608


  • Progress Report – Search box now displays loading animation when searching users #232
  • Group Management – Removing a group leader does not add the currently logged in user as a new group leader #610
  • Group Management – Group leaders of parent groups can now manage group members and group leaders of child groups #605
  • Access mode of new LearnDash groups now set to closed for manual group creation and group license orders #581
  • Group License purchase & WPML – Now adds required WPML details #573
  • WooCommerce – Course selection box now select2 on edit product screen #527
  • WPML – Add seats link is now WPML friendly #633


  • Bulk discount & PayPal checkout – Fixed decimal precision issue when the bulk discount is applied to a license price #586
  • Groups Quiz report – LD_QuizPro::showModalWindow conflict with SEO plugins #624
  • Edit group – PHP Error on some sites – ngettext changed to _n() #41608 #583

Under the hood:

  • Blocks – Migrate blocks to WordPress library #626
  • ulgm_permissions_callback_message filter to modify “You do not have permission to manage groups” message #525
  • “Add and invite user” form – Actions to add custom fields before or after the form #613
    • ulgm_before_add_invite_form_fields
    • ulgm_after_add_invite_form_fields
  • Create a Group – Filter to make Course selection optional #635
    • ulgm_create_group_courses_required
  • Group Management – Filter to manipulate user group ids #621
    • ulgm_user_group_ids
  • Group Management – Filter to hide total and available seats #618
    • ulgm_show_remaining_total_seats
  • Group License subscription – Filter to hide course title in subscription product #619
    • ulgm_woocommerce_hide_course_title_in_subscription
  • Group License – Filter to force update license price #603
    • ulgm_force_calculate_license_price
  • BuddyBoss Sync – New do_action added for Automator #599
  • Several do_actions added #637
    • ulgm_code_group_created
    • ulgm_keys_added_to_group
    • ulgm_seats_added
    • ulgm_user_redeemed_key
    • ulgm_key_status_changed
    • ulgm_seat_key_deleted
    • ulgm_seat_key_replaced
    • ulgm_seats_removed [2022-06-30]


  • Group Management – Filter populate_management_features #567


  • CSS snippet hiding other admin notices #576

4.4 [2022-06-16]


  • Welcome emails now customizable for each group #543
  • Added ‘Swap course product’ option to Subscription products #562
  • Email Group Users: “Reply-to” now enables choosing a different group leader if the group has more than one #564
  • Email Group Users: Group Leaders can now send email to group users based on status in a specific course #545
  • Uncanny Automator 1-click installer – Easily add automation capabilities to Uncanny Groups #110


  • Bulk Add users: Option to make user first and last name mandatory when adding multiple users #554
  • WooCommerce – Swap course product: Product title format adjusted to %product_title% (#%product_id%) #539
  • Improved PHP 8.1+ compatibility #355


  • Buttons no longer use generic class .button for color #519
  • JS issues fixed with targets when adding custom fields to tables using PHP filters #511
  • Group Quiz Report – Updated filtering logic for quiz dropdown #524
  • Group DB – datetime changed to TIMESTAMP for sites running MySQL < 5.5 #521
  • Group Essay Report – Date column not sorting correctly #504
  • Group Progress Report – PHP Error when viewing report on some sites #502
  • Group Management & Group Reports – Hidden columns now appear in exported CSV/Excel files #490
  • PHP Error when Group Leader role does not exist #510
  • WPML – Group dropdown on Quiz Report is now consistent with group dropdown on Course Report when WPML is activated #547
  • WooCommerce Subscriptions – Uncaught Error: Call to a member function get_id() on bool #514


  • Group Course Report – Filter ulgm_is_hierarchy_setting_enabled to override hierarchy check #505
  • Group Management – Filter ulgm_populate_management_features to override management features #542
  • Course Report Table – Filter ulgm_group_course_report_user_data added to modify user course data #557
  • WooCommerce License – Filter ulgm_woocommerce_hide_course_title_in_product to hide course title in cart #535

4.3 [2022-04-20]

New Feature:


  • Group Management & Reports – Excel export button #422
  • Group Quiz Report – New optional shortcode attribute score-type to view points instead of %age #481
  • Group Course Report – Course enrolled date and Group name columns #475
  • Group Management – Update seat count when Automator action removes a user from a group #457
  • Group License/Course products – Now supports product attributes and linked products #256
  • Gravity Forms – Filter added ulgm_redeem_code_for_current_logged_in_user to optionally not redeem code when Uncanny Key field is in registration form #460
  • Group management – ulgm_group_management_header action #491


  • Subscription License – “Pending Cancellation” status no longer automatically removes user access #421
  • Progress Report – Mark a lesson complete if all topics of a lesson are completed. Mark a course complete if all lessons are completed (including course level quiz, if any) #473
  • Assignments Report – Improved translation of the column headings #468
  • Custom Group license details are no longer exposed publicly when Yoast SEO is enabled #380


  • Group Management – PHP Error when deleting user on PHP 8.x+ #466
  • Group Management – Group courses limit – nopaging parameter added #462
  • Upgrade groups – Bulk upgrade now works reliably #458
  • Group Key – Allow hyphen in key redemption #454
  • Group Management – Improved logic to list groups when basic group setting is not on #452
  • Improved translatable strings #470

4.2.3 [2022-03-08]


  • Group Management – Add & Invite User – Filters added to make first and last name fields optional #441
    • ulgm_add_invite_user_first_name_required
    • ulgm_add_invite_user_last_name_required


  • Group Management – Multisite: Users are now listed reliably #443
  • Group Management – Sometimes, the string “Not started” can’t be translated #439
  • LearnDash/BuddyBoss sync – Fixed login behaviour in some situations #447

4.2.2 [2022-02-28]


  • Group Registration & Key Redemption Form – Several do_action() added for developers #420


  • Upload users – Now autogenerates nickname by combining first and last name without any space #346
  • Group Management & Reports – Updated search field placeholders to better indicate search options #294
  • Progress Report: Group dropdown removed; search now finds all matching users in all groups accessible to the group leader #218


  • Group Management – Invite a user – Fixed permission issue for admins (“You do not have permission to manage this group.”) #431
  • Group Management – The Users menu is no longer displayed if it has no items in some situations #347
  • Group Management – Multisite: Users from one subsite no longer erroneously show up in another subsite #425
  • Group Management – WPML: Translated courses no longer appear in unrelated Groups in some situations #419
  • Group Management – Export CSV no longer includes hidden checkbox column #407
  • Group Management – Uncanny group info erroneously shows for basic groups #403
  • Group Course Report – Permission Issue when Groups hierarchy is enabled #410
  • Updated text-domains for some translatable strings #416

4.2.1 [2022-02-09]


  • New filter: ulgm_key_suffix To add suffix when auto-generating keys #394
  • New filter: ulgm_key_prefix To add prefix when auto-generating keys #393
  • New do_action: ulgm_user_redeems_group_key when the user redeems a key #387
  • New filters – ulgm_group_management_enrolled_user_status and ulgm_management_enrolled_user_status_id Optionally change user status #362
  • New filter: Group Management – ulgm_group_management_enrolled_user_data Enrolled user data  #360
  • New filters: Reset Password ulgm_reset_password_url and ulgm_reset_password_text #36083 #358


  • Group Management page – ‘Users’ menu is no longer displayed when empty
  • Progress report – Lessons completed now fire the learndash_lesson_completed hook #370
  • Course report – Timestamps now excluded from CSV export #364
  • Download Keys – Changed file type text/plain to text/csv #384
  • Group Course products that are converted to Group License products now drop previously associated courses #372
  • Improved compatibility with Twentytwentytwo theme #368
  • Improved code quality #389, #392


  • Terms & Conditions – Links and other markup are no longer removed from description #381
  • Course report – Removed duplicate id attribute on course dropdown #378
  • Course report – Fixed typo ‘Deails’ #356
  • Quiz Report – Slow query preventing results from loading on some sites #375
  • Quiz Report – Fixed Sort By Date issue #351
  • New group purchase email – Password reset key conflict with WooCommerce #373
  • BuddyBoss group now automatically created when a new Uncanny Group created via Uncanny Automator “Everyone” recipe and sync is enabled #363

4.2 [2021-12-15]


  • Added a way to swap products based on quantity #321
  • Improved compatibility with WPML #308


  • Group Keys – Enforce alpha-numeric enrollment keys #318


  • Progress report – Completion of courses now works consistently on LD 3.5+ #314
  • Group management page – Permission fix for Admin users #319
  • Course report – Permission fix for Admin users when loading child groups in a Group hierarchy #337
  • Course report – Performance improvements for larger sites #241

For Developers:

  • New action: WooCommerce License purchase – ulgm_before_license_group_is_inserted #324
  • New action: WooCommerce License purchase – ulgm_after_license_group_is_inserted #325
  • New filter: WooCommerce License purchase – ulgm_license_group_linked_course_id #327
  • New filter: WooCommerce License purchase – ulgm_license_group_courses_linked_in_order #326
  • New filter: Group Progress Report: ulgm_include_user_direct_enrolled_courses #332

4.1.1 [2021-11-19]


  • ulgm_bulk_discount_table – shortcode to allow Groups Bulk Pricing table to be displayed on any page #302


  • Changes/fixes to ticket submission data #306
  • Gravity Forms – Code redemption for existing users now works more reliably  #304


  • Fatal error on failed remote get #301

4.1 [2021-11-04]


  • Optional group hierarchy support to reports in order to include child group data
  • Group Management page – CSV export button #250
  • Essay Report – Ability to pre-populate a search using ?search=query #246
  • New setting: Do not free up a seat when a student with “Completed” status is removed #260
  • Added current action argument to ulgm_gdpr_is_group_leader_allowed filter #285


  • Group Course Reports – Improved performance #241
  • Associated WooCommerce orders displayed on Edit Group page limited to 15 #224


  • Date Complete column now sorts properly on different date formats #269
  • Back to Group Management buttons now work consistently across different site configurations #263
  • Back to Group Management button no longer incorrectly adds -1 as group-id #249
  • Password reset URL not visible in send password reset email on some sites #248
  • Outgoing emails now formatted correctly when sent via WP Mail SMTP #238
  • Emails with HTML entities now render correctly #230
  • Unable to checkout using PayPal Payments by WooCommerce Plugin when bulk discounts are enabled #225
  • PHP error when WooCommerce briefly unavailable during plugin update process #240
  • PHP error if $product->get_id() is called without validation #296


  • New filter: Progress Report – ulgm_progress_report_courses #276
  • New filter: Progress Report – ulgm_progress_report_user_quizzes #275
  • New filter: Progress Report – ulgm_progress_report_user_courses #274
  • New filter: Group Management – ulgm_is_reconcile_required to optionally bail front end reconciliation #271
  • New filter: Group Course Report – ulgm_group_course_report_user_course_data #252
  • New filter: ulgm_other_similar_orders_limit limit # of orders on edit group page #226

4.0.5 [2021-09-10]


  • New #ResetPasswordLink token for emails generates a 1-click password reset link #198


  • Group name field on WooCommerce checkout page no longer shows confusing field description #221
  • WooCommerce guest checkout no longer throws an error #186
  • Uncanny Codes and Uncanny Groups field conflict with Theme My Login #211
  • Uncanny Codes and Uncanny Groups field conflict with WPForms #204
  • Seat assignment not calculated properly in certain situations #206
  • Seat count disparity when users are added or removed on edit group page #193
  • Course Report – Permission issues in some instances #200
  • Email body now supports full HTML templates #192
  • Fixed PHP warning trim() expects parameter 1 to be string, array given #210

4.0.4 [2021-08-18]


  • Quiz Report: Now includes users that have not yet attempted the selected quiz #156
  • Woocommerce – Group subscription license purchases are now autocompleted #162


  • Group management – Add user: Nickname is now set to First Name Last Name instead of username #174


  • No longer using block_categories filter as it was deprecated in WordPress 5.8 #170
  • Added ulgm_group_management role to the list of allowed roles for the create group shortcode #140
  • Previously stored transient causing issues for new group purchases on multisites #177
  • “Pay with PayPal” payment gateway now works reliably with custom group purchase and group name #167
  • Upload users: Semicolon-delimited CSVs now work more reliably #166
  • Code redemption autoload options from wp_options table #164
  • Uncanny Groups/Codes Key field conflict on some sites running Uncanny Codes #159
  • WooCommerce Subscription reactivation now properly restores user and course access to the group #158
  • “Not Started” in the Group Management table is now translatable #155
  • Restored Course column to the individual course report #154
  • Extraneous character suffixed to true #153
  • Assignment Report: Trashing the assignment is now working consistently #150
  • Assignment Report: Unapproved assignments not showing up in some situations #149
  • CSV upload no longer breaks when a field contains an apostrophe #145
  • Responsive mode showing [object Object] under Key column on group management page #141
  • Irrelevant UI elements are no longer being displayed to basic (non-upgraded) groups #118

For developers:

  • ulgm_learndash_group_enrolled_users filter to modify group enrolled users #182
  • ulgm_quiz_report_hide_unattempted_users filter to hide users that have not completed a quiz on the quiz report #181
  • ulgm_quiz_report_user_data filter to modify quiz report data #180

4.0.3 [2021-07-12]


  • ulgm_groups_management_selected_group_id filter to set selected group on Group Management page #121
  • ulgm_user_registered action after user is registered with native form #136


  • Checkboxes now appear more consistently for all groups in user list on Group Management page #132
  • Back to Group Management button now appears on all reports when Group Management page is set #123
  • PHP error: Class uncanny_learndash_groups\WoocommerceLicenseSubscription not found on some sites #129
  • Group Progress Report: JS file version changed to avoid cached file #133
  • Reactivating an expired or cancelled subscription license now restores course and user access as expected #125
  • Group hierarchy in group selector on Group Management page now renders correctly when users do not have access to a top-level group #121
  • Group Name field now displays consistently on checkout when a subscription license is in the cart #135

4.0.2 [2021-07-05]


  • CSS classes to front end group creation form #105


  • Group Management page now displays more than 5 courses per group #113
  • Basic groups are no longer enabled by default on the front end #118
  • Simple subscription products now retain mapped groups/courses on save #111
  • Assignment Report no longer appears in dropdown if Assignment Report page is set to “None” in settings #108
  • Transient issue causing a newly added group leader to replace a previously added group leader #107

4.0.1 [2021-06-24]


  • Group Progress Report: Admins can now bypass group selection #96


  • Group Progress Report: Group drop down selection missing for group leaders #95
  • PHP Error no longer displayed when group’s WooCommerce license product is trashed #94
  • PHP Error no longer displayed when plugin is deactivated #101
  • Plugin’s .pot file now loads consistently #98

4.0 [2021-06-22]


  • Formidable: Uncanny Groups Key field type #86
  • WP Forms: Uncanny Groups Key field type #87
  • Seat counts on group list page for admins #41
  • “Download keys” button on group list page for admins #42
  • Bulk discounts now apply to WooCommerce subscription licenses #11
  • “Invited users” list on edit group page for admins #77
  • Show expired license notice when license expires #83
  • Option to “downgrade” a group to unlink it from WooCommerce #9
  • Group Progress Report: Group selection dropdown if group leader has multiple groups #73
  • “System status” page for easy debugging #72
  • ulgm_allow_assets_for_custom_uo_groups filter to allow non-groups pages to load assets #66
  • ulgm_learndash_group_enrolled_courses filter on groups enrolled courses #65
  • ulgm_group_name filter to modify group title when custom group is created from frontend


  • Gravity Forms: Uncanny Groups Key field name #88
  • Reduce password complexity for auto-generated passwords #69
  • All Uncanny Groups outgoing emails now support shortcodes #54
  • Group management shortcode – Improve compatibility with Divi #46
  • Group Progress Report: Group leaders can now update user progress only if the course is assigned to the group #73
  • Updated field description for the course selection field on edit product screen #39
  • Email settings cleanup #5
  • Added filters for quiz report header drop downs #61
  • Key generation method that caused issues on some environments
  • Group leader details are now optional for admins when creating a custom group from Uncanny Groups > Create group
  • Code quality improvements


  • Enrolled users count on group management page #32
  • Total / Available seats count on edit group page #32
  • Inconsistent seat count where a user has been assigned two seats but the front end count shows one (only visible in database) #32
  • Group management phantom seat issue #32
  • Seat count when a user is a member but added as a group leader (takes an extra seat which shouldn’t and results in phantom seat) #32
  • Seat count when a member is removed but is a group leader that has been assigned 2 seats but removal of the user only restored 1 seat count #32
  • Seat count when an “In Progress” user is dropped from group by the group leader when “Allow Group Leaders to remove students at any time” is checked #32
  • Group leaders can edit users more reliably #60
  • LearnDash notification conflict #58
  • Group Management: Add hyphen when first or last name is empty when “Allow group leaders to edit users” is enabled #57
  • Added support of WPML lang in URL on Group Management page #26880 #38
  • Group Licence products are no longer searchable by the public #26792 #33
  • A single User ID is assigned multiple codes #32
  • Ajax call for Quiz Reports doesn’t get triggered #30
  • Add multiple users – password column class no longer same as email column #27
  • PHP notice on WooCommerce product when selecting courses #25
  • Group Management report User label string setting doesn’t exist but expected in code leading to i18n issue #22
  • Group Management reports shows users as ‘in progress’ when they should be ‘completed’ #20
  • Group/Product not resetting when multiple groups are selected #17
  • Order prematurely completing when PayPal IPN payment method is used #14
  • Data on Course Report is incorrect in some situations #25030 #13
  • All users in a group show the same progress percent in some situations #12
  • PHP fatal error when when duplicating groups in some situations#10
  • Fix num parameter to per_page #8
  • Groups not working as expected for group purchases and abandoned orders #4
  • Using $_POST parameters directly in insert statement on protected form #45
  • PHP: Notices and errors

3.10.1 [2021-02-25]


  • Internal code updates


  • Conflict with WooCommerce Admin plugin that prevented uses from purchasing group license products
  • Removed unnecessary debug logging

3.10 [2021-02-17]


  • New Password field in the Add Users options of the Group Management page allow Group Leaders to set passwords for new users
  • Optional setting to autocomplete WooCommerce orders with Uncanny Groups products
  • Groups are linked from the order when viewed on the WooCommerce edit order page
  • WooCommerce orders are linked from the group when viewed on the LearnDash edit group page


  • Changed the author of groups created with our wizard to the creator of the group rather than the Group Leader initially assigned to the group
  • New filters to modify author of custom group license product and LearnDash Group created by Uncanny Groups
    apply_filters( 'ulgm_custom_license_post_author', $user->ID, get_current_user_id(), 'license-purchase' );
    apply_filters( 'ulgm_custom_group_post_author', $user->ID, get_current_user_id(), 'license-purchase' );
  • New filter to show group license product thumbnail in cart if the thumbnail exists
    apply_filters( 'ulgm_license_product_thumbnail_in_cart', false, $product_get_image, $product );


  • Resolved an incompatibility with the Yoast SEO 15.8 release that blocked purchases from the Buy Courses/Groups page
  • Added the username column to the Group Quiz Report CSV export file
  • PHP 8.x error on /wp-admin/ pages
  • Restored support for the category and tag attribute in the Buy Courses shortcode
  • PHP 8.x error when the plugin confirms the installed version
  • Restored CSS classes for tables that were removed with the recent change to datatables
  • Fixed width of seat input fields on edit group page for some screen sizes

3.9 [2021-02-02]


  • BuddyBoss: New LearnDash Groups to sync with Social Groups if setting is enabled
  • User upload: Support for semicolon-delimited .csv files when bulk uploading users in the front-end Group Management page
  • LearnDash: Setting to use LearnDash’s “legacy” data to show user progress on the Group Management page
  • LearnDash: Setting to show/hide group courses/users count for admins on LearnDash Groups page for improved performance
  • Filter to let users add/remove roles that can access the Group Management page
    apply_filters( 'ulgm_gm_allowed_roles', array( 'administrator', 'group_leader' ) )


  • Improved performance of Group Management page
  • Improved performance of key generation for large groups
  • Assignment report now shows “View” link instead of filename to avoid table formatting issues with long LearnDash-formatted filenames
  • The course list on the Group Management page is now ordered alphabetically
  • Someone LearnDash functions to use internal functions
  • Cleaned up old jPlist CSS classes
  • Improved strings for translation


  • Status attribute for the [uo_groups_assignments] shortcode now displays the assignments with the specified status (all | ungraded | graded)
  • Quiz report Gutenberg block no longer shows as a “Course report” block when added in the editor
  • Group keys are now deleted when a group is deleted even if WooCommerce is not active
  • If a user update fails because the username or email is already in use, an error message is now displayed
  • Users are no longer added to incorrect groups due to group transients in some situations
  • PHP Warning: The magic method uncanny_learndash_groups\Boot::__wakeup() must have public visibility

3.8.1 [2020-12-10]


  • [uo_groups_buy_courses] shortcode now supports product_cat and product_tag attributes to display only Group Courses in specific categories or with specific tags


  • Running actions on users selected across multiple pages now works as expected
  • PHP error: Cannot declare class Walker_GroupDropdown with WordPress 5.6
  • Email filters being applied multiple times
  • “Automatically include Group Course products in Group License purchases” price of Group Course products now set to $0 in cart

3.8 [2020-11-16]


  • “Username” column on Course and Quiz reports
  • Ability to customize columns on Course and Quiz reports
  • More detailed results are now displayed after group leaders bulk upload users via .csv
  • Shortcode [uo_groups_button] to output a button to the Group Management page
  • Shortcode [uo_groups_link] to output an unstyled link to the Group Management page
  • Support for display of hierarchical groups in the group selection dropdown on the Group Management page
  • Attributes enrolled_users_page_length enrolled_users_length_menu, group_leaders_page_length, group_leaders_length_menu for [uo_groups] shortcode for setting default and available rows displayed per page
  • Support for third-party WooCommerce discount plugins on initial license purchase
  • Support for email addresses containing apostrophes when bulk uploading users
  • Additional filter to override Group Management link
    apply_filters( 'ulgm_group_management_page_link', $permalink, (int) self::$group_management_page_id );
  • Additional filters on endpoints used for getting data via REST API
    apply_filters( 'ulgm_rest_api_get_user_course_data', $data, $_POST );
    apply_filters( 'ulgm_rest_api_get_group_courses', $data, $_POST );
    apply_filters( 'ulgm_rest_api_get_essays_data', $essays_table, $_POST );
    apply_filters( 'ulgm_rest_api_get_quiz_data', $quiz_table, $_POST );
    apply_filters( 'ulgm_rest_api_get_assignments_data', $assignments_table, $_POST );
  • Ability to search for users via enrollment key in progress report


  • Improved compatibility of front-end assignment and essay approval with newer versions of LearnDash
  • After initial creation, the cost of a group license product is now independent of the included group course products, and will not change if the price of the included products changes
  • Added methods for developers to manually enqueue JS and CSS assets when using shortcodes in a non-standard way
  • Added custom classes to target specific columns in the Essay report


  • Reports button no longer appears when no reports are available
  • JavaScript conflict on Essay report when only one course is available
  • Progress data no longer limited to 20 courses
  • Essay/Assignment approval modals select dropdown height fix for some browsers
  • String: “User(s) have been removed.” is now translatable

3.7.4 [2020-10-09]

  • Fixed: Loading indicator stuck when approving assignments due to learndash_assignment_bulk_actions_approve() function moved in LearnDash v3.2.3.3
  • Fixed: Fatal error accessing Assignment report due to learndash_assignment_approval_link() function removed in LearnDash v3.2.3.4
  • Fixed: User edit modal now appears when editing users after the first page of results

3.7.3 [2020-09-10]

  • Added: Filter for redirect on after creating a group on the front end  using the shortcode [uo_groups_create_group] (uo_redirect_after_group_created)
  • Added: status=”all|graded|ungraded” attribute added to Assignment report ([uo_groups_assignments]) to specify what is displayed on initial load
  • Updated: Changed minimum seats from 2 to 1 when creating new groups and setting bulk discounts
  • Updated: Yellow highlight indicating sorted column changed to grey
  • Updated: JS and CSS source files now included in distribution along with map files
  • Fixed: Added additional error handling when user is inserted to avoid warnings and errors
  • Fixed: Detailed quiz reports now working consistently on LearnDash 3.2+
  • Fixed: All strings in report tables are now translatable
  • Fixed: Users no longer able to add empty product to cart if no courses are checked on [uo_groups_buy_courses] page
  • Fixed: Users with status Not Enrolled can now be consistently removed from groups
  • Fixed: Loading animation on essay report no longer hangs if no lesson/course exists for an essay
  • Fixed: Adding seats to a group no longer creates a duplicate group in some situations
  • Fixed: Adding a group leader no longer increments group leader count by 2
  • Fixed: PHP warning: count(): no longer appears on Essay report if no essays are in the system

3.7.2 [2020-08-10]

  • Added: Filters and CSS classes to datatables implementation on [uo_groups] for improved customizability
  • Updated: Improved consistency of dropdowns on assignment and essay reports, especially when using shared course steps
  • Updated: Renamed Lesson dropdown on course and quiz reports to Lesson/Topic
  • Updated: register_rest_route’s permission_callback will return WP_Error on failed permission
  • Updated: User and Report dropdowns no longer displayed if no options are available
  • Updated: Added CSS class to Not Enrolled status in Group Management table
  • Fixed: key_options attribute now hides the key column in the Group Management table
  • Fixed: Removed error_reporting flag
  • Fixed: Removed ob_clean() from [uo_groups] that modified HTML Doctype on Groups Management page

3.7.1 [2020-08-07]

  • Fixed: Edit User and mailto links missing on Group Management page
  • Fixed: Assignments/Essays table width on mobile devices
  • Fixed: Save Changes button not working on settings page
  • Fixed: Square icon appearing on topics in Progress Report

3.7 [2020-08-06]

  • Added: Ability to access reporting functions (course, progress, essay, assignment) for “basic” groups in front end
  • Added: Gutenberg block for Progress Report
  • Added: Sorting on Date Completed column in Course Report
  • Updated: Replaced deprecated jPList JavaScript library with DataTables JavaScript library
  • Updated: Improved sanitization of variables (CVE-2020-9439)
  • Updated: Improved translation support
  • Updated: Added permission_callback to all Rest API calls for WordPress v5.5 compatibility
  • Updated: Added error handling on new user if site returns WP Error
  • Updated: Add seats / courses checkout now uses order meta to store information instead of transients for reliability
  • Updated: Essay Report – Questions that support uploads now display a download link in the “Content” column
  • Fixed: Add seats or add courses no longer results in an incorrect group seat count or creates a duplicate group when the order is completed or a previous order for add seats or courses was not marked complete
  • Fixed: Capitalization of WooCommerce product types
  • Fixed: Styling conflict with LearnDash on Create Group page in /wp-admin
  • Fixed: Uploading users with “Send Enrollment Key” selected now properly processes existing users

3.6.3 [2020-06-30]

  • Fixed: User count/Seat count wrapping issue on some themes
  • Fixed: Detailed Quiz reports now working for Group Leaders on sites running LearnDash v3.1.8

3.6.2 [2020-06-23]

  • Fixed: PHP fatal error when manually creating a group via wp-admin

3.6.1 [2020-06-19]

  • Added: #Courses token for email templates that outputs list of courses assigned to the group
  • Added: #GroupLeaderInfo token for email templates that outputs list of Group Leaders with email addresses
  • Fixed: Group name is required no longer appears on checkout when adding seats or courses to an existing group

3.6 [2020-06-17]

  • Added: Essay Report – Attribute to determine what to show only initial load – status=”all|graded|ungraded”
  • Added: Option to use Progress Report instead of Course Report when viewing individual user status
  • Added: Support for username column in front end CSV upload for Group Leaders
  • Added: Filter for developers to modify sort order of courses on the Buy Courses page (ulgm_buy_courses_qry_args)
  • Updated: Replaced learndash_post_args_groups with register_post_type_args for upcoming LearnDash 3.2 compatibility
  • Updated: Added check for updated quiz statistic AJAX function call for upcoming LearnDash 3.2 compatibility
  • Updated: Improved user search on Progress Report
  • Updated: Improved consistency of results displayed in Course Report
  • Updated: Improved compatibility with MySQL 8
  • Updated: Added indexes to Groups database tables for improved performance
  • Updated: Improved translation support
  • Updated: Added note to Group Name field on checkout page: “If left blank, the group name will be [First name] [Last name] – [Company name]”
  • Fixed: PHP Notice: register_rest_route was called incorrectly in WordPress 5.4.2 and newer
  • Fixed: PHP warnings when installed on empty sites
  • Fixed: Price entered manually on LearnDash Group License product now overrides price automatically generated from included LearnDash Group Course products
  • Fixed: If “Group Leaders Don’t Use Seats” is checked, a Group Leader that purchases a Group License no longer occupies a seat in the group


  • Updated: Permissions for certain operations changed from upload_plugins to manage_options for consistency
  • Updated: Removed unused function wcs_get_users_subscriptions and cleaned up logging code
  • Fixed: License cost on checkout based on the store tax settings (product price entered including v/s excluding tax)
  • Fixed: HTML formatting was being removed from emails on save


  • Added: redirect and role attributes to uo_groups_redemption_form shortcode
  • Added: Filters for Subject and Message for outgoing emails (ld_group_email_users_personalize_subject, ld_group_email_users_personalize_message)
  • Added: Filter for course list on buy courses page (ulgm_buy_courses_qry_args)
  • Added: Support for email addresses with apostrophes
  • Updated: Improved consistency of completion statistics on Course Report
  • Fixed: Administrators can remove users and send password reset emails from the front end Group Management interface
  • Fixed: Sorting on course report now works in both directions
  • Fixed: Changes to Group Purchase Email could not be saved
  • Fixed: Authenticated XSS vulnerability on Group Management page
  • Fixed: eCommerce settings missing from Settings page
  • Fixed: When “Enable association of products and groups” was checked, purchases of any product would associate users with a non-existent group with group ID = 0
  • Fixed: License cost on checkout when “Display prices during cart and checkout” is set to “Excluding tax”
  • Fixed: PHP warnings on add_shortcode
  • Fixed: Removed debug code from rest-api-end-points.php


  • Added: New shortcode [uo_groupleader_restrict_content] – Shows information to group leaders only, supports user_groups attribute for showing content to leaders of specific group(s) only
  • Added: Edit User dialog for Group Leaders with First Name, Last Name, Email and Username fields.  Username field can be disabled in settings
  • Added: Group Purchase Email: Customizable email that can be sent to users after a WooCommerce group purchase is completed
  • Added: #EmailEncoded variable for adding email addresses to URLs in email templates
  • Updated: Seats are now assigned to users added to groups by admins from the Edit User page
  • Updated: Permissions made more consistent for admins across Group Management and Group Report pages
  • Updated: Required attribute added to form fields when adding a new user
  • Updated: Most special characters no longer allowed in first and last name fields
  • Updated: When adding courses to an existing group, cost for courses already purchased shows as $0.00
  • Updated: Removed checkbox on hide/show customize columns toggle on BuddyBoss theme
  • Updated: Admins can now always manage user progress on the Progress Report even if Allow Group Leaders to Manage Progress is not checked
  • Updated: Improved translation support
  • Fixed: Email Users dialog was not sending email when all checkboxes under “Email Users with status:” were checked
  • Fixed: Reconcile Seat Count button now respects “Group Leaders don’t use seats” setting
  • Fixed: Group Management page no longer automatically scrolls to user table on load
  • Fixed: PHP warning: Invalid argument supplied for foreach() in cart for non-group-license subscription products
  • Fixed: Duplicate field ID on email settings page
  • Fixed: Language folder renamed to Languages
  • Fixed: Group Name field on checkout page is no longer editable when adding seats or courses to a group
  • Fixed: Cost on single product page now shows cost/month/seat instead of cost/month
  • Fixed: Uncaught Error: Class ‘uncanny_learndash_groups\stdClass’ not found


  • Fixed: In-progress users were showing 0% complete


  • Fixed: General tab missing on non-group license products
  • Fixed: “Select Course” option appearing in wrong position in dropdown on Quiz report
  • Fixed: “Group ID was not received. Reload page and try again.” error showing on course report for some Group Leaders
  • Fixed: Individual progress report not rendering for some users
  • Fixed: Completion percentage displayed was greater than 100% when steps were removed from courses
  • Fixed: Total cost/month incorrectly shown as cost/month/seat in cart for subscription license products


  • Added: Ability to send an email to users with “Not Enrolled” status (users that were sent an enrollment code but have not yet registered)
  • Updated: Reconcile seat count button now handles additional cases
  • Updated: When a user is sent an enrollment code more than once, they now receive the same code that was initially sent and are not added to the users table again
  • Updated: Improved theme compatibility of Group Management page CSS
  • Updated: Tax Status and Tax Class fields now available on group license products
  • Fixed: When WooCommerce orders were not autocompleted and Group Leaders occupy seats, checkout would display “Error processing checkout” as there were no seats available to add the Group Leader to the group until after the order was completed
  • Fixed: When adding seats to a group, changing the license product in the cart prior to checkout resulted in the new license seats being applied to the original group
  • Fixed: Course progress percentage was being displayed differently on different reports
  • Fixed: Apostrophes were not allowed in first or last name fields when adding users
  • Fixed: Users may now add multiple subscription products to their cart even if one of the products is a subscription license
  • Fixed: The Back to Group Management button was not appearing on the Progress Report after selecting a user


  • Added: “Reconcile seat count” button on the Edit Group page that assigns a seat to every member of the group that is not currently assigned a seat and restores missing seats
  • Updated: Group Member email addresses on Group Management page now mailto links
  • Updated: Course selection field on Create Group page now uses select2 pillbox for easier searching and selection of courses
  • Updated: Pressing [Enter] now submits Add new user form
  • Fixed: Users sent an enrollment key were unable to join their group if the group displayed 0 available seats
  • Fixed: Group Leaders were able to view/manage progress of non-group courses on the Progress Report
  • Fixed: Group member pagination buttons jumped to the top of the page when clicked
  • Fixed: File missing (learndash_template_script.js) error on quiz report
  • Fixed: Group Leaders sent welcome email even if email disabled when creating a new group on the Uncanny Groups > Create Group page


  • Updated: EDD updater class
  • Updated: Improved theme compatibility of checkboxes in Email Users dialog
  • Updated: When Send Enrollment Key email is disabled on Email Settings page, “Send Enrollment Key” option is removed from Add User dialog
  • Updated: When Add and invite (new user) and Add and invite (existing user) emails are disabled on Email Settings page, text in Add User dialog is changed from “Add and invite user” to “Add user”
  • Updated: Manage Progress page now supports topic-level quizzes
  • Fixed: Checkboxes to disable emails on Email Settings page
  • Fixed: Error on Buy Courses page when Event Tickets Plus is installed


  • Fixed: Group Name field didn’t appear on checkout page when purchasing a subscription-based group license product
  • Fixed: Checkout allowed subscription group license to be added to cart along with other non-subscription group licenses
  • Fixed: Column sorting arrows not showing up on users table on Group Management page
  • Fixed: Marking courses or lessons complete or incomplete on Progress Report page resulted in stuck progress spinner if lessons contained topics
  • Fixed: Certificate button not working on quizzes that were marked complete by a Group Leader or Administrator (button removed because data necessary to generate certificate not stored)


  • Updated: Added containing div and ID attribute to [uo_groups_url] to make it easier to target with CSS
  • Updated: Added progress indicator for .csv uploads
  • Fixed: Conflict with Uncanny LearnDash Enrollment Codes – When Uncanny LearnDash Groups was active, registration form for Uncanny Codes could not be submitted
  • Fixed: Typo in [uo_groups_manage_progress] shortcode on Manage Progress page created on initial activation
  • Fixed: Not Enrolled users assigned a key whose first character was numeric could not be removed using the “Remove User(s)” button on the Group Management page
  • Fixed: PHP fatal error creating a group when WooCommerce not active
  • Fixed: “Course” type products missing “General” tab when WooCommerce Subscriptions not active
  • Fixed: Uploading a .csv file containing many users would time out and fail to add some of the users on some systems
  • Fixed: Added workaround for issue where Send Enrollment Key shows an error but user is still added to table


  • Updated: User table on group management page will now show first and last names of users invited with “Send enrollment key” option in Add User dialog
  • Updated: Improved performance of Progress Report when marking items complete/incomplete
  • Fixed: Group dropdown on Group Management page not displaying all groups


  • Updated: Improved messaging when a user has purchased group access but their order is still in processing status
  • Updated: Deleting a group permanently from the trash now removes the associated group data from ulgm_group_details and ulgm_group_codes tables
  • Updated: Front End Assignment Management – “Select course” now appears at the top of the course dropdown instead of alphabetically
  • Fixed: General tab sometimes not available on Edit Product page of LearnDash Group Course type products
  • Fixed: Unable to remove users with status “Not Enrolled”
  • Fixed: PHP Notice on some sites: Object of class WP_Post could not be converted to int


  • Added: Button to enable group leaders to send a password reset email to selected users
  • Added: Filter ulgm_gdpr_is_group_leader_allowed that enables custom validation of user before user is added to group
  • Added: “Customize Columns” toggle to show/hide column checkboxes on front-end assignments and
  • Added: Approved/Not Approved filter on front-end Group Assignment Report page
  • Updated: Email templates renamed for clarity
  • Updated: Numbers are now permitted in name fields when adding new users
  • Updated: Switched to custom icon font instead of FontAwesome
  • Updated: Group Leaders that occupy seats now show an assigned key in the users table
  • Updated: Updated titles of pages created on initial plugin activation to match  dropdowns on settings page
  • Updated: preopopulate_field_setting, label_placement_setting, error_message_setting added to the field settings array for Gravity Form integration
  • Updated: Download keys filename now updated when Group slug is changed
  • Fixed: Users menu no longer hidden if seats remaining is 0
  • Fixed: “Add and Invite User” now the default selection when opening the Add One modal from the Users menu
  • Fixed: Formatting of label for Assignment Management Page dropdown on Settings page
  • Fixed: Increased width of email token containers to prevent text from being slightly cut off
  • Fixed: Path to help icon image no longer dependent on LearnDash installation folder
  • Fixed: #Email token returning username
  • Fixed: Rare PHP fatal error on is_type function
  • Fixed: Vertical alignment of group selector dropdown on group management page
  • Fixed: 500 error when atempting to register into a group with no seats available


  • Changes to Group Management page:
    • Added: Attribute to hide Group Courses section (group_courses_section=”hide|show”)
    • Updated: All buttons reorganized into two menus: Users and Reports
    • Updated: Improved performance
    • Updated: Page is no longer set to draft status when the plugin is deactivated
    • Updated: Add Courses button moved and resized to match Add Seats button
    • Updated: Course Report and Quiz Report buttons now hidden automatically when “None” is selected for the corresponding pages in settings
  • Changes to front-end Assignment and Essay management:
    • Added: Ability for users to show/hide columns
    • Added: Ability for admins to specify default columns
    • Added: Ability to drag and drop to reorder columns
    • Added: Ability to drag to resize columns
    • Added: Table responsiveness (columns are auto-collapsed on narrow screen widths)
    • Added: First Name and Last Name columns
    • Added (Essays only): Graded/Ungraded/All filter (Ungraded is the default)
    • Added: (Essays only): Question and Content columns
    • Updated (Essays only): Renamed “Submitted by” column to “Student”
    • Updated (Assignments only): Renamed “Author” column to “Student”
    • Updated: Filters that cannot be used without first selecting a parent filter are now disabled until the parent filter is selected
  • Added: Filters for Group Name field label (ulgm_group_name_text) and Group Name field placeholder (ulgm_group_name_placeholder) on WooCommerce checkout page
  • Added: Ability to make code field optional when using Theme My Login for group/site registration
  • Updated: Group Licenses can now be purchased along with other product types (excluding other Group License products)
  • Updated: Reorganized settings page
  • Updated: Courses now sorted alphabetically on Create Group page
  • Updated: Improved support for Theme My Login 7.x and the use of customized registration form templates
  • Updated: Cleared transients when purchasing direct access to a group via WooCommerce to reduce delay in user appearing in group list
  • Updated: Users added by Group Leaders are now assigned their full email address as username
  • Fixed: Courses with completed draft lessons no longer show > 100% complete in Progress Report
  • Fixed: Duplicate checkbox and total calculation issue on Buy Courses page when using Astra/Elementor
  • Fixed: SQL error when creating new groups
  • Fixed: Removed references to “toolkit” plugin in code
  • Fixed: “Group Leaders do not use seats” option now respected when adding group leaders on the front end
  • Fixed: TinyMCE JavaScript error on Group Management page


  • Updated: Converted dropdown on group management page to select2
  • Fixed: Completion logic bugs on Manage Progress page
  • Fixed: Removed access to certificates when courses and quizzes marked incomplete
  • Fixed: Permissions check when accessing Manage Assignments page
  • Fixed: Invalid namespace references that affected a few translations


  • Added: Ability for Group Leaders to view/print/download learner course and quiz certificates from Manage Progress page (excluding topic-level quiz certificates)
  • Added: Button to Upgrade Group to work with Uncanny Groups on Edit Group page
  • Added: Total number of enrolled users now displayed below “Enrolled Users” heading on Group Management page
  • Updated: Improved performance and reliability when adding large numbers of seats (1000+) to a group
  • Updated: Added check during manual group creation for existing order_id when generating a new order_id
  • Updated: Added a user role check on the Manage Progress shortcode
  • Fixed: Leaders are no longer automatically added as members after editing and saving a group in wp-admin
  • Fixed: Added check on remote call returning error on Help tab
  • Fixed: Added check if variable is instanceof WC_Product to eliminate 500 error on some sites
  • Fixed: Filled checkboxes appearing partially cropped on some sites
  • Fixed: Line breaks converted to “nn” in default email content


  • Added: Manage Progress – Gives Group Leaders and Administrators the ability to manage learner progress on your site’s front end (mark topics, lessons, courses and quizzes* complete or incomplete). *Does not yet support topic-level quizzes. Visit the Knowledge Base for more information.


  • Fixed: Course Report button missing


  • Removed references to unreleased Manage Progress functionality


  • Updated: Dropdowns changed to select2 to better match controls in Tin Canny LearnDash Reporting plugin
  • Updated: Added note in Upload Users modal dialog: Empty values in the user_pass column will generate a random password for the user.
  • Fixed: If the user_pass column in an uploaded .csv file is not set, the new user is now assigned a randomly generated password
  • Fixed: If the Front End Assignment and Front End Essay Management pages already exist, they are not created again when the plugin is reactivated
  • Fixed: Missing Add To Cart button on Group product type
  • Fixed: Various PHP notices


  • Updated: If the number of users in an uploaded .csv exceeds the available seats, an error message is displayed and no users are imported
  • Fixed: The Course dropdown in the Course Report did not allow selection of a course


  • Fixed: Fatal error if WooCommerce is not installed
  • Fixed: Issue on some sites where seat count would not increment if Not Started user is removed from front end


  • Added: Ability to automatically assign dynamically created group license products to a category for improved integration with other functions (e.g. category-specific coupons)
  • Updated: Improved compatibility with email service plugins (Amazon SES, Mandrill, etc.)
  • Updated: Improved Add Seats and Add Courses purchase workflow – “Credit for existing seats” calculations are now done behind the scenes
  • Updated: Front End Essay/Assignment Management – After updating an essay or assignment using the modal dialog, the table reloads with all previous filters, searches and sorting
  • Updated: Bulk discounts table now hidden when bulk discounts are not enabled
  • Updated: Improved compatibility with local development environments
  • Updated: Made settings page slugs independent of plugin translation
  • Fixed: Added pricing field to Group product type
  • Fixed: Group product type would revert to Simple product type on save
  • Fixed: Some PHP notices causing hangs when error reporting is set to STRICT


  • Added: Compatibility with LearnDash 3.0
  • Updated: Made DataTables strings easier to translate
  • Updated: Added context to some translatable strings
  • Updated: Added conditional for the seat information so the final string changes if the number of total/available/remaining seats is greater than one
  • Updated: Removed email tokens from translatable strings to prevent users from translating the tokens
  • Fixed: Removed non-functional % Complete link on individual report page
  • Fixed: Removed some i18n functions to prevent HTML from being translated
  • Fixed: Settings page could not be saved when plugin name is translated
  • Fixed: Invalid characters in .pot file
  • Fixed: Some general settings were reset when email settings were updated
  • Fixed: PHP notice on utilities.php line 1008
  • Fixed: Incorrect textdomain in theme-my-login-support.php


  • Fixed: Some students showed “Not Started” status despite having recorded progress in group courses
  • Fixed: Some strings missing from .pot file


  • Added: Automatic template overrides!  Override any file in the /src/templates folder by copying it into /uncanny-groups/ in your child theme
  • Added: Support for Gravity Forms User Verification feature when using a Gravity Forms registration form
  • Updated: Optimized course progress queries on the Group Management page [uo_groups] to improve page load time
  • Updated: Front End Essay/Assignment Management – After updating an essay or assignment using the modal dialog, the table reflects the change by reloading with the same dropdown values previously selected
  • Fixed: Email Users function was using the site information instead of the group leader’s information on some sites


  • Added: Setting to show a custom message to users when adding seats to a group
  • Added: Ability to include a column for password in uploaded .csv file (leave blank to auto-generate a password)
  • Updated: Nested relational meta queries for improved compatibility with other plugins
  • Updated: Moved email settings to separate Email Settings page
  • Updated: Improved design of modal dialogs on front end Assignment and Essay management pages
  • Updated: Added default value to avoid fatal error when user logs in using SSO & group leader is assigned as a member of group
  • Fixed: Uploading multiple existing users in a .csv file
  • Fixed: Attempting to copy an enrollment key to clipboard copied the wrong key
  • Fixed: JavaScript error on Internet Explorer 11


  • Added: Gutenberg blocks for front-end Assignment and Essay management
  • Added: Sorting on Status, Assigned Course and Assigned Lesson columns of Assignment Management table
  • Updated: Gravity Form integration now has a custom “Uncanny Code” field type that enables placement of the registration code field anywhere in the form
  • Updated: Improved Assignment/Essay report UX for leaders of single groups and groups with only one course
  • Updated: Removed page restriction on shortcodes; all shortcodes now work on pages other than those defined in settings
  • Updated: Confirmation messages in the modal dialog when editing essays and assignments
  • Updated: Assignment modal now has a single button to “Update & Approve” or “Update” instead of two buttons
  • Updated: Users now show status of “In Progress” when any progress has been recorded in a course
  • Fixed: Unable to edit multiple assignments/essays without a page refresh
  • Fixed: Points could not be saved on assignments
  • Fixed: Error when adding an existing user
  • Fixed: Email group members now sends email in HTML format
  • Fixed: Error when adding an existing user to a group on some sites


  • Added: Ability to enable/disable Course Report, Quiz Report, Assignments and Essays buttons from plugin settings page by setting associated dropdown to “None”
  • Updated: Assignment and Essay Management pages now auto-created on plugin activation
  • Fixed: Licensing page not working correctly on some sites


  • Added: Ability to associate WooCommerce products with LearnDash groups so group access can be purchased on a one-time or subscription basis
  • Added: Front-end assignment management interface for group leaders [uo_groups_assignments]
  • Added: Front-end quiz essay question management interface for group leaders [uo_groups_essays]
  • Added: Ability to email group users by status (Not Started, In Progress, Complete)
  • Added: Basic Gutenberg block support
  • Added: Additional hooks for developers
  • Added: Uncanny 3.0 plugin architecture (tabs for Help, License Activation, etc.)
  • Updated: Reports now use LearnDash API to retrieve completion status
  • Updated: Field placeholders added to added to built-in registration form
  • Updated: Group Leader fields are now optional on front-end group creation page
  • Updated: Add Existing User option removed from Add User dialog; form now auto-detects whether or not user already exists
  • Updated: Added call to load_plugin_textdomain for improved translation support
  • Updated: Improved multisite support
  • Updated: Improved compatibility with some third party email plugins and providers
  • Updated: Cart is now skipped when adding courses to an existing license
  • Fixed: Typo in registration confirmation message


  • Added: Attributes category and course_category to [uo_groups_create_group] shortocde to limit the courses available in the form
  • Added: Featured image field to Create Group form (in both the back end and front end)
  • Added: Filters to modify or disable plugin emails:
ulgm_maybe_send_group_email //for all user emails
ulgm_maybe_send_welcome_email //for welcome email
ulgm_maybe_send_redemption_email //for redemption email
ulgm_maybe_resend_redemption_email //for resend redemption email
Example (disabling emails):
 add_filter('ulgm_maybe_send_group_email', '__return_false'); 
 add_filter('ulgm_maybe_send_welcome_email', '__return_false'); 
 add_filter('ulgm_maybe_send_redemption_email', '__return_false'); 
 add_filter('ulgm_maybe_resend_redemption_email', '__return_false');
  • Updated: Email users function now sends a separate email to each user in the group rather than a single email with all users BCC’d
  • Updated: CSS on modal dialog close button for better compatibility with some themes
  • Updated: Bulk Add & Invite no longer overwrites First Name and Last Name data for existing users
  • Updated: Upload users via .csv now supports columns in any order
  • Updated: [uo_groups_create_group] now works for Administrators, Group Leaders, and any role with the manage_options capability
  • Fixed: Remove Group Leader button not showing up in some situations
  • Fixed: Add user button non-functional in Internet Explorer 11
  • Fixed: SQL syntax error being logged on some operations
  • Fixed: [uo_groups_create_group] content no longer renders above page content
  • Fixed: Bulk Add & Invite users form now sends the correct email to the newly added users (new users get the New User Welcome Email and existing users get the Existing User Welcome email)


  • Added: Notice displayed and plugin automatically deactivated if LearnDash is not active
  • Updated: After submitting the Bulk Add & Invite Users form, the group that users were added to remains the active group
  • Updated: Improved error handling in front end .csv user upload
  • Updated: File name of individual progress report .csv now includes user’s first name and last name (or user ID if those fields are blank)
  • Fixed: Course Name column populated in .csv export of individual progress report
  • Fixed: Bug in Email Group Members function that prevented emails from being sent on some server configurations


  • Added: Bulk Add & Invite Users interface
  • Added: Front-end Create Group form shortcode: uo_groups_create_group
  • Added: do_action at end of process_manual_group function for developers
  • Added: Front-end interface for group leaders to email group members
  • Added: Support for Theme My Login registration forms
  • Updated: Dropdowns on Course and Quiz reports now appear inline instead of stacked vertically
  • Updated: Dropdowns on course and quiz reports now auto-populate if only one option is available, instead of forcing the user to select an option
  • Updated: Improved support for LearnDash custom labels
  • Updated: Group Management UI permissions – improved support for Administrators and custom roles
  • Fixed: Bulk discount calculations when “I will enter prices inclusive of tax” is checked in WooCommerce settings
  • Fixed: General tab missing on WooCommerce Subscription products
  • Fixed: auto_login and redirect attributes of uo_groups_registration_form shortcode now working if enrollment code not entered
  • Fixed: Save button did not work on Settings page on some sites
  • Fixed: Visibility of __sleep method (PHP 7 notice)


  • Added: Individual learner progress report (accessible by clicking on a user’s status on the Group Management page)
  • Added: CSV export capability on course and individual reports
  • Added: Optional Terms and Conditions checkbox on the groups registration form
  • Added: quiz-order parameter to sort the quiz dropdown on [uo_groups_quiz_report].  Possible values include  ‘ID’,’title’,’date’,’menu_order’
  • Added: quiz-orderby parameter to sort the quiz dropdown on [uo_groups_quiz_report]. Possible values include ‘ASC’,’DESC”
  • Updated: Re-labeled “Progress Report” button as “Course Report”
  • Updated: Users that have not yet started a course now appear in the Course Report with progress at 0%
  • Updated: Bulk Discount line no longer appears on Buy/Add Courses page if bulk discount is not enabled
  • Updated: Removed word “Group” from the top of the Course, Learner and Quiz report shortcodes
  • Updated: Design of settings pages in back-end
  • Fixed: #GroupName token now works in Group Leader welcome emails
  • Fixed: Error creating a variable subscription product while Uncanny LearnDash Groups is active
  • Fixed: Quiz dropdown is now filtered based on group and course dropdown selections on Safari and iOS


  • Added: Option to allow Group Leaders to delete members to free up seats even after they’ve started or completed courses
  • Added: Option to prevent Group Leaders from taking up a seat when added to the Enrolled Users table
  • Added: [uo_groups] parameter add_group_leader_button to show/hide the Add Group Leader button
  • Added: Additional string localizations
  • Added: course-order parameter to sort the course dropdown on [uo_groups_course_report] and [uo_groups_quiz_report].  Possible values include  ‘ID’,’title’,’date’,’menu_order’
  • Updated: Group Leaders can now be removed from the Enrolled Users table
  • Fixed: Checkboxes displayed missing fonts on some systems
  • Known Issues: Quiz dropdown on Quiz Report ignores group and course filters on iOS and Safari


  • Added: Course filter on Quiz report
  • Updated: Dates and times in Progress and Quiz reports now reflect the time zone selected in WordPress settings
  • Updated: Group dropdown no longer appears on Progress and Quiz reports if the leader is assigned to only one group
  • Updated: “Registration Code” field label changed to “Enrollment Key” on registration form
  • Fixed: First Name and Last Name tokens are now populated in the welcome email when “Send Enrollment Key” is selected in the Add User dialog
  • Fixed: Group leader user is now created correctly when creating a group at Uncanny Groups > Create Group
  • Fixed: Error messages are now displayed correctly in the Add Group Leader dialog box
  • Fixed: Links to essay questions in the quiz report now work correctly


  • Added: Additional parameter for [uo_groups] shortcode: key_options that hides key-related options in the Add User and Upload Users dialogs
  • Updated: CSS styling and layout of [uo_groups_buy_courses] shortcode
  • Updated: CSS styling of [uo_groups_registration_form] shortcode
  • Updated: Plugin will no longer redirect users to the Group Management page on successful checkout
  • Updated: [uo_groups_url] shortcode is now visible only to Group Leaders and Administrators
  • Updated: Styling of Create Group page (in WordPress admin panel) is now consistent with Settings page
  • Updated: Order of product types in dropdown on Edit Product screen


  • Added: Support for Gravity Forms registration forms
  • Added: Improved compatibility with WP Better Emails
  • Updated: Quiz report now displays First Name, Last Name and Email rather than Username
  • Updated: Creating a group from Uncanny Groups > Create Group now suppresses the default WordPress new user email and correctly populates the #Password token in the email to the group leader
  • Updated: Additional strings are now translatable
  • Fixed: Group dropdown on Progress Report page no longer limited to 10 groups
  • Fixed: Line breaks are preserved in emails
  • Fixed: Error messages were not being displayed when fields were populated incorrectly in the Add User dialog
  • Fixed: Group Management report would get stuck if the group was empty (no users)


  • NOTE: This is a major update, including UI changes. If possible, we recommend updating on a staging environment prior to updating on your live site.
  • Added: Support for pre-configured subscription-based licenses with WooCommerce Subscriptions
  • Added: Many shortcode parameters that enable customization of the Group Management page (https://www.uncannyowl.com/knowledge-base/group-management-page/#Customizing_the_Group_Management_Page)
  • Added: User Interface color palette options in Uncanny Groups > Settings
  • Added: Support for post-amount currency symbols on the Buy Courses page
  • Updated: User Interface and styling of Group Management page
  • Updated: Styling of Progress Report, Quiz Report and Settings pages
  • Updated: Users deleted prior to being removed from a group will now credit the deleted user’s seat to the group
  • Updated: Welcome emails are now sent as HTML instead of plain text
  • Updated: Non-functional column sorting removed from group leaders table
  • Updated: Div class “error” on Buy Courses page changed to “uo_groups_error”
  • Updated: Additional plugin strings are now translatable
  • Fixed: User’s status now only shows “Completed” when all courses in the group have been completed
  • Fixed: Password sent in group leader welcome email now works correctly
  • Fixed: #GroupName token in emails now populates with group name
  • Fixed: Subtotal on Buy Courses page displayed incorrect amount in some situations
  • Fixed: Errors preventing users from registering into groups in some situations
  • Fixed: JSON error at checkout when using Stripe payment gateway
  • Fixed: Users can no longer add multiple licenses to the cart, causing an error at checkout
  • Fixed: Groups bulk discount no longer affects standard WooCommerce products
  • Fixed: Group Leader now receives a welcome email when a new group is created from Uncanny Groups > Create Group


  • Fixed: CSS conflict with Event Tickets Plus
  • Fixed: Missing CSS on Bulk Discounts page


  • Added: Support for up to 10 bulk discount levels
  • Added: A setting to include Group Course products in the order when users build a custom license.  This enables integration with other plugins that perform actions on purchase such as Follow Up Emails, WP Fusion, Memberium, etc.
  • Updated: Checkout CSS styles removed because they caused conflicts with some themes
  • Fixed: Cleaned up a number of PHP notices


  • Added: Option to control whether group leaders are automatically added as group members
  • Updated: Group Leaders can now remove any other Group Leader, but not themselves
  • Updated: WooCommerce orders no longer autocomplete
  • Fixed: Cost calculations when group leaders other than the original purchaser add seats or courses to a group
  • Removed: Global setting to show license products in store – setting is at the product level as of version 1.2


  • Added: The ability to for an admin or shop manager to manually set the price of a group license product
  • Updated: Only admin and shop manager created license products are shown in the WooCommerce store when “Show License Products in Store” is checked
  • Updated: Quiz report now shows “No Stats Recorded” instead of a spinning progress indicator if no statistics have been captured for the quiz
  • Updated: Group License and Group Course products are now fully compatible with WooCommerce 3+
  • Fixed: Miscellaneous jQuery modal dialog issues on some sites
  • Fixed: “Sold Individually” product setting now functions correctly with Groups plugin active
  • Fixed: Pagination buttons no longer cause the page to jump
  • Fixed: Message displayed when a group leader attempts to remove the original group leader
  • Fixed: Group management page and group progress report now display all courses assigned to the group
  • Fixed: Adding a group leader would freeze if the LearnDash Group Registration module of the LearnDash Toolkit Pro is enabled
  • Fixed: Default email message now contains #Password instead of just Password


  • Added: Link to sample .csv file in Upload Users dialog box
  • Fixed: incorrect form label and ID attributes
  • Fixed: Typo in registration message
  • Fixed: $post variable conflict with plugins, including WooCommerce Dynamic Pricing
  • Fixed: pagination link in the members table


  • Updated: Plugin now utilizes jQuery library included with WordPress instead of enqueuing its own version, which should resolve numerous miscellaneous theme and plugin conflicts
  • Updated: Made additional UI strings translatable
  • Fixed: All translatable strings now use uncanny-learndash-groups textdomain
  • Fixed: Email tokens are now case insensitive
  • Fixed: If an existing user is specified as Group Leader on the Create Group page, the user’s role is now correctly changed to Group Leader
  • Fixed: [uo_groups_url] shortcode now works correctly


  • Added: Group course list now link to courses
  • Added: New email variables for #SiteName and #GroupName
  • Added: Ability to set From Name, From Email and Reply-to on email settings page
  • Updated: CSS classes on group course list
  • Updated: Replaced “Name” column with “First Name” and “Last Name” columns on group progress report
  • Updated: Users with group_leader role can now be removed from the group member list as long as they are not leader of the current group and have not started any courses
  • Fixed: Password sent to users added with “Add and Invite Users” now works consistently


  • Updated: Added uog_header style to table spans to avoid CSS class naming conflicts
  • Fixed: Group Progress Reports not loading in some environments


  • Fixed: csv upload dialog displays correct error message when incompatible file format detected
  • Fixed: On plugin activation, pages are now created with correct shortcodes
  • Fixed: Progress report no longer allows access if user does not have Group Leader role
  • Fixed: Per Seat Text in settings is now displayed on group management page


  • Initial release
0 replies


Please note that this is not a support forum. If you are experiencing issues on your site, please open a support ticket instead. Site-specific support questions submitted as comments will be unanswered.

Leave a Reply

Your email address will not be published. Required fields are marked *