*************************************** Training Manager add-on Changelog *************************************** 
Training Manager add-on Changelog per year: 2017 / 2018 / 2019 / 2020 / 2021 / 2022
2023 / 2024 / 2025 / 2026
************** 2017 **************
# v1.04 - 08/09/2017
- ADDED: possibility to add existing samples instead of only create new ones
- ADDED: possibility to make internal requests instead of using abook records
************** 2018 **************

************** 2019 **************

************** 2020 **************

************** 2021 **************

************** 2022 **************

************** 2023 **************
# v1.107 - 2023-09-19
- ADDED: video progress saved and resume on reopening
- ADDED: PDF progress saved a resume on reopening

# v2.008 - 2023-09-29
- IMPROVE: UX/UI
- FIX redirection for simple user

# v2.008 - 2023-10-03 - 2023-10-10
- IMPROVE: use LC documents instead of addon directory
- IMPROVE: Add audit trail of important admin actions and user actions
- IMPROVE: Tooltips
- IMPROVE: demonstration message and alert on menu
- IMPROVE: User Name display encoding and avatar initial encoding : now support in all the addon Chinese and accentuate user name
- IMPROVE: display and style of Confirm dialog of legacy pages
- FIX user roles granting on Menu items and pages restrictions
- FIX training add page for license only self learning
- FIX User session using
- FIX translation typo in english and french
- FIX style of 'Add category' modal from Add training page
- FIX footer styling
- FIX vendor dependencies from PHP 8 to PHP 7.4 to maintain retro-compatibility
- FIX issues when fresh start but with DB alpha and beta data
- FIX user avatar generation
- FIX retro-compatibility with old LabCollector (6.12)
- FIX Change status of trainer, now a previously removed trainer role can be reassigned to a user
- FIX listing in t odo list of user Profile page all no-expirable completed training
- FIX Training expiration notification when valid for ever training

# v2.009 - 2023-10-13
- IMPROVE: Add obtain_date input into Grand certificate to user (M6827)

# v2.010 - 2023-09-29
- ADDED: Class learning
- IMPROVE: homogenization of configuration pages

# v2.011 - 2023-10-05
- IMPROVE: License system updated

# v2.011 - 2023-10-10
- IMPROVE: Consent signature is display to the trainee when he reopen a completed training

# v2.012 - 2023-10-19
- FIX optional trainings aren't anymore include at saving as Mandatory to complete a Skill
- IMPROVE: Add Mandatory column on the Training plan table to show the type of each training and can filter on that (M6860)

# v2.013 - 2023-10-20/25
- IMPROVE: Make a training to be validated to go live (M6847)
- IMPROVE: Add Mandatory into user manage trainings status view modal (M6866)
- IMPROVE: Add skill from Add training form (M6853)
- IMPROVE: Add archiving training possibility
- IMPROVE: Add some stats on User's training plan (M6899)
- FIX UX and compatibility

# v2.1 - 2023-11-13 - Renaming
- FIX redirect when installation success without LC 1.152 or upper
- IMPROVE: Add default skill groups functionality to automatically assign skill to user at login (M6832)
- IMPROVE: Add default dataset to help administrator to avoid the blank page after installation (M6836)

# v2.101 - 2023-11-15
- IMPROVE: Add start training notifications (email and alert) + Add a notifications configuration page (M6837)

************** 2024 **************
2024-01-18
- IMPROVE: Add api/user/1/trainings/summary/mandatories/by_status internal API entrypoint to list mandatories trainings by expiration date (M6826)

2024-04-22
- FIX: Security fix

# v2.102 - 2024-06-12
- IMPROVE: Allow trainee to follow again a training since it was completed once to extends expiration

# v2.103 - 2024-06-12
- IMPROVE: Add LSM protocol support on skills

2024-09-16
- FIX: add Category from training form

2024-09-26
- IMPROVE: LSM Protocols blocking and extending certificate (DEV-203)

2024-10-04
- FIX: training consent sign drawing when browser has a zoom in or out

2024-10-08
- FIX: fix access to consent signing form (DEV-465)

2024-11-06
- FIX: fix user's skill names display

2024-11-12
- FIX: fix API user's trainings list

2024-11-18
- FIX: extend certification by LSM protocol

2024-12-02
- IMPROVE: UX of Add training
- IMPROVE: dashboard translation

2024-12-06
- FIX: remove a becoming useless v1->v2 upgrade fix from Permissions initialization
************** 2025 **************
# v2.104 - 2025-01-06
- FIX: security fix (DEV-643)

2025-01-20
- FIX: access issue
- FIX: Date of completion and expiration from Manual Certificate granting (DEV-714)
- IMPROVE: UX of Trainings Plan by removing the default filter on Status

2025-01-24
- FIX: LC global permissions interact with Training manager API permissions (DEV-754)
- FIX: New Staff+ integration and manager TM user level permissions (DEV-755)

2025-01-27
- FIX: Auto-create API token at first use (DEV-754)
- FIX: User todolist was limited to One training by Skill group (DEV-762)

2025-01-28
- FIX: Add translation for Accepted status in Training Plan page
2025-03-03
- FIX: Manager access to Grant User certificate page (DEV-715)
- FIX: Trainer access to Add new Training (DEV-715)

2025-03-03
- FIX: Trainer access to follow a training (DEV-715)

2025-03-17
- IMPROVE: extend certificate logging + order DESC training logs

2025-03-21
- BUG: hide not validated trainings from User grant certificate and Training Plan views

2025-03-28
- BUG: security fix (DEV-1026)
2025-05-16
- BUG: Remove LC 6.23 requirement

2025-05-21
- BUG: fix a fatal at API token initialization

2025-05-28
- BUG: fix stored data about the link between User-Groups-Training when Training certificate is granted manually by administrator
2025-06-27
- BUG: fix encoding at certificate generation

# v2.105 - 2025-06-27

2025-07-28
- BUG: fix potential SQL injections on skill group creation/updating

2025-09-09
- BUG: fix skill levels edit form + fix skill name saving
- BUG: manage apostrophe encoding display on My Profile page and User's trainings plan

2025-09-17
- BUG: fix LC Supervisor TM Manager permissions to see collaborators Trainings plan when no LC groups

2025-09-18
- BUG: User group policy display and filtering

# v2.106 - 2025-09-25
2025-12-03
- BUG: remove last php short tags

************** 2026 **************

2026-01-07
IMPROVEMENT: fix some basic PHP8.4 deprecated code

# v2.107 – 2026-01-07

2026-02-16
- BUG: remove obsolete code which occurs potential security issue (DEV-1768)
- BUG: fix potential security issue from browser request attack (DEV-1769)

2026-02-20
- IMPROVEMENT: exclude archived users from the Trainings dashboard
- UX: a completed training will pop on ToDoList only few days before expiration

2026-03-18
- IMPROVEMENT: remove of mod_rewrite and Url rewrite needing

# v2.108 - 2026-03-18

2026-03-20
- IMPROVEMENT: DEV-458 add previous certificate proof request flow from Profile for mandatory To Do trainings, with admin waiting list accept/refuse workflow
- BUG: Security fix caused by previous improvement (DEV-1859)

# v2.109 - 2026-03-20

2026-04-27
- BUG: fix license activation key generation from UI

2026-05-04
- BUG: fix potential empty training assignation to a user when Skill without trainings are assigned to user before training assignation to Skill

# v2.110 - 2026-05-04

2026-05-07
- UI: Improve email format from Training Manager

2026-05-11
- BUG: fix of the filter usage from the previous fix of User permission check (2026-05-04)

2026-05-13
- UX: Better translation of English, French and Spanish language
- UX: Add support of German and Portuguese
- BUG: fix encoding of LSM Protocol names from Skills management

2026-05-18
- BUG: Security fix: remove compatibility with LC lower than 6.22

2026-05-22
- BUG: Contact name encoding fix

2026-05-26
- BUG: security fix on php dependencies (DEV-2008)

# v2.111 - 2026-06-15
- UI: fix some spacing
- IMPROVEMENT: Allow disabling the auto-renewal of training certificate when LSM Protocol used (DEV-2041)

2026-06-25
- IMPROVEMENT: Add support of Cancelling accreditation (DEV-2067)

2026-07-01
- ADDED: Add support of multiple page training (DEV-1763)

# v2.112 - 2026-07-01

2026-07-10
- BUG: encoding issue into the addon naming in french when display on LC Dashboard
- BUG: security fix (DEV-1768)

2026-09-04
- BUG: fix FULL MODE license detection
- UX: redesign the manage skills
- BUG: fix on Training edit when not already validated
- BUG: fix the starting of skill assignment

# v2.113 - 2026-09-04

2026-09-10
- IMPROVEMENT: self-healing of the related trainings of the existing user/Skill relations

2026-09-11
- BUG: fix LC module blocking when alternate module name used
- IMPROVEMENT: provide skill certification expiration date to LC and others addons (DEV-2228)
- ADDED: optional validation by a trainer on self-learning training (DEV-2227)
- IMPROVEMENT: hide instructor-led only screens for self-learning training and for trainer without any instructor-led training (DEV-2227)

# v2.114 - 2026-09-11

2026-09-14
- BUG: refactor user skill assignment/unassignment

2026-09-15
- ADDED: ON/OFF switch on each Training notification setup (expiration reminder, start reminder, start reminder on D day)
- ADDED: "Already Sent Today" flag on each notification sending, to avoid sending the same reminder several times a day

# v2.115 - 2026-09-15

2026-09-15
- ADDED: single "Session management" screen gathering, for a training, its sessions and the people attending them
- ADDED: sessions can now be scheduled, moved and deleted directly, without going back to the training form
- ADDED: users can be enrolled on a chosen session; only those holding the skills required by the training are proposed
- ADDED: training requests can be accepted or refused from the session they concern
- ADDED: people enrolled without a date are grouped apart, so they can be placed on a session
- UX: "View trainings & trained users" and "Incoming sessions" merged into that single screen, reachable from the training catalog
- IMPROVEMENT: a session holding attendees can no longer be deleted by mistake

# v2.116 - 2026-09-15

2026-09-15
- ADDED: a validated training can be revised: an editable copy is opened while the version in use keeps serving the trainees
- ADDED: once the revision is validated it takes the place of the previous version in the skills, and the replaced version is kept for the trainings already followed on it
- ADDED: collaborators already validated on the replaced version stay acquired, they do not have to take the training again
- ADDED: sessions still to come, and the people booked on them, follow the new version; past sessions stay attached to the version that was actually taught
- ADDED: the training catalog shows the version number, the revisions in progress and the replaced versions
- IMPROVEMENT: only one revision at a time per training, to keep clear which one replaces the version in use
- BUG: a certificate granting refused by the database no longer leaves a "certificate granted" line in the audit trail

# v2.117 - 2026-09-15

2026-09-16
- ADDED: the renewal reminder lead time is now configurable, globally and per trainer type; an external training can start warning long before an internal or a self-learning one
- ADDED: daily sweep of the certificate expirations, so a collaborator who does not log in is still warned before losing a skill
- ADDED: a skill can be assigned to every user matching the current filters at once, instead of page by page
- ADDED: button in the DOC module record to reach Training Manager from a document (LabCollector side)
- UX: from the trainings plan, a training now opens Session management, which took over the subscriptions screen; self-learning trainings keep opening the subscriptions page since they have no session
- FIX: a trainee who completed a training no longer stays listed among the users awaiting it
- FIX: restricted LSM protocols were not blocked for a user whose default skills had never been provisioned
- FIX: overlapping "Check All" and date icon at the bottom of the "Users who did not Apply to this Training" list

# v2.118 - 2026-09-16