- Enhanced AI services using new AI assistant
- Replace dead OSM static maps to OSM tiles provider renderer
- Bulk userRatings filters visible-only ids
- Legacy TrackController visibility and share rate-limit
- Filter list queries by viewable category ids
- Filter list queries by viewable category ids
- Filter list queries by viewable category ids
- Road Book renders description via dangerouslySetInnerHTML and raw href
- TracksApiController::get() doesn't uses getVisibleTrackOrFail
- Read updateComment from JSON body
- Don't deny-all the images directory
- Pixel-dimension check before GD decode
- Gate access/featured/publish_up/publish_down behind core.edit.state for owners
- Add category core.view to validateTrackAccess
- Validate target item exists/visible in rating endpoints
- Add track visibility check to comments and images APIs
- Escape waypoint description/name in leaflet+google popups
- Sanitize template_file (basename + extension allowlist)
- Bind storyId to trackId in updateStory
- Added new options to customize email templates without modifying html
- Enhanced email templates architecture
- Adds missing approval-confirmation email templates
- Add timestamp to the track download files
- New license management wizard
- Admins with core.edit.state permission can now view unpublished tracks
- Show message when a track needs moderation
- Unable to show image uploaded on gallery as track image
- Tighten security for the download folders with IIS hosts
- Fixed update sites URLs
- The selected color scheme is not applied and always fallback to browser defaults
- When a comment has been moderated, show the message to the user
- Used first gallery image as thumbnail before fallback to static map image
- Displayed pending badge on unpublished tracks for admin view
- Included approve button in comment approval emails
- Sent comment approval notification emails
- Added missing Road Book translations
- Fixed error when publishing moderated comment
- Added 4s delay before redirect for approval message
- Introduced AI-enabled story book feature to guide users through GPS track with engaging narrative
- Added modern grouped settings page with AI and road book config
- Allowed editing waypoints with icon and description to create roadbook
- Added option to select default view mode for tracks listing
- Added option to hide title in embed short code
- Fixed issue showing custom waypoint images
- Fixed issue with triggering plugin events on track view page
- Fixed user menu item not working
- Fixed pagination not working in user tracks page
- Fixed custom waypoint icons not showing
- Updated default behavior of embed code
- Fixed plugin events not executed
- Fixed issue preventing track saving from backend
- Added batch generate button to regenerate data from legacy tracks
- Supported list and grid views on categories page
- Introduced user tracks page with statistics
- Added leaderboard page
- Ensured Tracks List module displays thumbnails
- Normalized marker rendering and improved color fallback for Leaflet/Google maps
- Preferred resolved waypoint type and symbol, passed color and icon to frontend
- Updated site models to read activity and difficulty from DB columns first
- Matched waypoint type with normalized alias/title/symbol and enriched payload metadata
- Saved upload difficulty at creation so new tracks retained difficulty value
- Added show stats global override in content embed plugin
- Improved speed smoothing to avoid errors in charts
- Adding support for batch processing of static thumbnails generation
- Exported tracks have incorrect speeds with kmph instead of mps units
- Wrong speed units shown on splits table
- Category image is not showing on the category page
- Fix: Added missing language strings to language files
- Adding options to show/hide track statistics
- Fix: Regenerate button shows error
- Fix: Uploaded original track file is not saved to filesystem
- Fix: Category name shows twice on breadcrumbs
- Fixed track splits table unit system (kmph -> mph)
+ New plugin: Smart search plugin for tracks
^ Update copyright headers
^ Removed legacy references
* Unable to checkin the tracks table
* Category Tracks are not ordered as per the selected option
* Move track suggestions above comments
* Fixed issue with closing tags
* Fixed issue with PHP warnings on navigation block
- + Add tracks navigation on track details page
- * Tracks list shows empty when MySQL null dates are used
* Download permission set at track level does not work
* Search filter cleared out when moving to next page on tracks listing