*************************************** Query Builder add-on Changelog *************************************** Query Builder add-on Changelog per year: 2012 / 2013 / 2014 / 2015 / 2016 / 2017 / 2018 / 2019 / 2020 / 2021 / 2022 / 2023 / 2024 / 2025 / 2026 ************** 2012 ************** # v1.0 - x/xx/2012 - First release ************** 2013 ************** ************** 2014 ************** # v1.5 - 28/11/2014 - Design Updates - General setup (per user) and specific setup (per query) to configure query results and export ************** 2015 ************** ************** 2016 ************** ************** 2017 ************** - Bug in license saving ************** 2018 ************** # v2.0 - 15/08/2018 - Full redesign/rebuild of the addon # v2.1 - 21/08/2018 - Remote query URL API added to trigger runs and export to external applications (M0002452) # v2.2 - 01/09/2018 - Added loading message to query results (M0002557) - Fixed query saving multiple times (M0002553) - Added main operator to show name from contacts (M0002548) - Restricted specific modules from groups with no access (M0002561) ************** 2019 ************** # v2.4 - 08/03/2019 0002646: [Improvements] QB: Add option to save a copy of a query under a different name 0002691: [Bugs] QB: Add project code to exported data. 0002652: [Improvements] QB: Add colour to Results page 0000009: [Improvements] Fields to be selected are the DataBase column names not the UI names 0000010: [Bugs] QB/Demo mode goes straight to free mode on first install 0000013: [Improvements] QB/ Combine methods of linking when constructing a query 0002315: [Bugs] QB: selct field values are reported as ID and not text values 0002358: [Improvements] QB: Select Fields - add an option to check/uncheck all fields in a module 0002647: [Improvements] QB: Add legend name to fields in filters in brackets beside the database name 0002648: [Improvements] QB: Remove Secondary modules from Select fields page 0002649: [Improvements] QB: Move the save button to be closer to the query name 0002650: [Improvements] QB: Edit query name with pencil icon 0002651: [Improvements] QB: Add legend name to fields in brackets beside the database name on Select Fields page 0002765: [Bugs] QB: Editing a project filter removes all existing projects 0002855: [Bugs] QB: Filtering on a custom field - no results 0002733: [Improvements] QB: Include SQL functions for data and time intervals 0002732: [Improvements] QB: Edit filters ************** 2020 ************** - CHANGED: integrated into LC v6.0 # v3.0 - 22/07/2020 # v3.01 - 23/09/2020 - Added "copy activation key to clipboard" feature 18/11/2020 - Added a tooltip when activation key is copied # v3.02 - 19/11/20020 - BUG: missing export buttons # v3.03 - 12/02/2020 - BUG: wrong JSON format export (M3688) - CHANGED: replace CSV delimiter by comma - ADDED: create an output of URL generated in a JSON format (M3689) - ADDED: set CSV delimiter dynamically - BUG: afer refreshing remote url is not good generated ************** 2021 ************** 10/03/2021 - BUG: Remote URL API login issue 04/05/2021 - CHANGED: use $DB_ENGINE # v3.04 - 02/06/2021 - CHANGED: support saas mode licences # v3.05 - 24/11/2021 - CHANGED: modified some code & sql queries to make it work with only full group by mode ************** 2022 ************** 28/07/2022 - CHANGED: Auto install ************** 2023 ************** 18/01/2023 - BUG: footer overlaps some queries on queris tab (M6359) 02/02/2023 - CHANGED: add box_name to results (M6402) ************** 2024 ************** # v3.06 - 19/06/2024 - BUG: PHP8 compatibility + FR language fix - CHANGED: Refactored results JSON response (M7451) 15/07/2024 - IMPROVEMENT: Added searchin option (DEV-150) - IMPROVEMENT: Disable link options depending on the module selected (DEV-150) - IMPROVEMENT: Filter link options depending on the module selected (DEV-150) # v3.07 - 15/07/2024 - BUG: HotFix prevent empty selected field searchin - IMPROVEMENT: change response searchin (DEV-150) 18/10/2024 - BUG: handle complex fields on searchin query - IMPROVEMENT: Add white list to api response 13/11/2024 - IMPROVEMENT: Add Plant Manager to Query builder (DEV-533) 18-19/11/2024 - IMPROVEMENT: allow passing parameters by params (DEV-551) - IMPROVEMENT: add the postfix of the field in the results (DEV-550) - BUG: Fix bug error deleting filters (DEV-554) - BUG: Fix bug postfix export (DEV-550) - BUG: Fix the bug in URL parameter filtering (DEV-551) ************** 2025 ************** 09/01/2025 - BUG: Add missing view 'view_links' in install - BUG: Link mode was disabled despite being a valid option - BUG: Error displaying autocomplete options - BUG: Staff cannot save a query (DEV-704) 21/01/2025 - IMPROVEMENT: Add "or" condition in filter (DEV-707) # v3.08 - 22/01/2025 24-27/01/2025 - BUG: Error running query when no user fields were selected - BUG: Error handling complex fields in filter - BUG: Error Handling for Filters Passed via URL - BUG: "Could not run query" when user postfix not availables - BUG: Box name is not exported (DEV-752) - BUG: Error loading query from Queries tab (DEV-733) - BUG: Default Fields missing on export link (DEV-732) 28-30/01/2025 - BUG: error handling complex fields in filter - BUG: export results gives wrong prompt (DEV-739) - IMPROVEMENT: Add the "owner" of the query (DEV-699) - BUG: Special char interfering with query results (DEV-777) - BUG: wrong result when using "or" condition in filter (DEV-707) - BUG: Displaying disabled fields (DEV-712) - BUG: Wrong expected results number (DEV-738) # v3.09 - 31/01/2025
06-11/02/2025 - BUG: Error saving query filters - IMPROVEMENT: change permission behavior (DEV-713) - BUG: Select type returns code instead value (DEV-833) - BUG: Wrong meta data on results shared (DEV-836) - BUG: Wrong query output when using OR filter on searchin (DEV-835) - BUG: Error getting multiple complex fields - IMPROVEMENT: Add list queries endpoint (DEV-694) - IMPROVEMENT: add support to plant manager joins - IMPROVEMENT: improve normal link performance - BUG: added special condition for relationship between seed and tray - BUG: added plants manager support for relationships - BUG: SQL Error when getting data using Remote URL - IMPROVEMENT: added divider for PlantsManager - BUG: error running query when box id selected - IMPROVEMENT: Improve security (DEV-1029) 31-02/03/2025 - BUG: Error loading queries - IMPROVEMENT: change shared users behavior (DEV-988) - BUG FIX: Fixed "Could not run query" error that occurred when a field bd name was modified from the Labcollector side - IMPROVEMENT: improve filter options (DEV-988) - BUG: error loading queries - BUG: The list of users the query was shared with was incorrect - it returned all users instead of only those it was actually shared with - IMPROVEMENT: change backgroud color subgroup
- BUG: update install file 17/04/2025 - IMPROVEMENT: remove inactive fields - BUG: Error runing query when contact selected - BUG: Error runing query when no custom fields on module 24/04/2025 - BUG: security check table name # v3.10 - 28/04/2025 13/05/2025 - IMPROVEMENT: recover the cage location of the animal (DEV-1103) - IMPROVEMENT: recover the crossing data for the animal (DEV-1104) 20/05/2025 - BUG: Resolved an issue where selecting multiple options caused the query to exceed the 61-table join limit. Optimized the query logic for select and yes_no custom fields. # v3.11 - 20/05/2025 26/05/2025 - BUG: recover the cage location of the animal on export JSON (DEV-1103) - BUG: recover the crossing data for the animal on export JSON (DEV-1104) - BUG: Display only active fields 03/06/2025 - BUG: error validation fields 10/06/2025 - BUG: fatal error constant undefined - BUG: Error when filter on searchin - BUG: line sep, link, autocomplete displayed as field option 17/06/2025 - BUG: Discrepancies in date format (DEV-1195) - BUG: Error runing query 26/06/2025 - ADDED: added new Join type for normal link - ADDED: add new validation when link is broken
02-04/07/2025 - ADDED: Update datatables version - BUG: Resolved error when running normal query link after direction option update. - BUG: Query error when selecting two fields linked to a contact on searchin 18/07/2025 - BUG: Include missing room field in animals module (DEV-1311) 22/07/2025 - ADDED: Preserve Labcollector field order 01/08/2025 - BUG: Security fix 18-19/08/2025 - BUG: order for 'sub-field' isn't respected (DEV-1362) - ADDED: added languages - BUG: Missing cross fields translations - BUG: fixing warnings - BUG: prevent fatal error when no fields selected - BUG: field names overlap depending on zoom
# v3.12 - 20/08/2025 03/09/2025 - BUG: Fix warnings 19/09/2025 - BUG: Error getting data when no fields selected - BUG: Copy and Share button doesn't open update modal - BUG: Incorrect fields in the export URL
08/10/2025 - BUG: Error runing query when sample selected on searchin
- BUG: Fixed incorrect query generation in search in when dealing with hierarchical modules (parent, child, grandchild, etc.) - BUG: Error getting query list 13-14/11/2025 - ADDED: Improved creation of queries (DEV-1576) - BUG: Filter issue on custom fields (DEV-1576) - BUG: CSV export button not working - BUG: Incorrect language in custom fields legend - BUG: Error clonning query # v3.14 - 13/11/2024 18/11/2025 - BUG: Error executing the query when the box name is present in 2 tables - BUG: Missing fields on query - ADDED: queries speed improvement - BUG: Incorrect output using searchIn relationship
26/11/2025 - BUG: Incorrect display special characters - ADDED: Added unique_id field on JSON export - ADDED: Show fields ordered according to LC configuration 28/11/2025 - BUG: Error running query when invalid filter on database
18-19/12/2025 - ADDED: Add process associated parameters to query fields (DEV-1630) - BUG: Missing fields on export query (DEV-1630) # v3.14 - 18/12/2025 22/12/2025 - BUG: missing property field_unique_id when no fields selected on a module ************** 2026 ************** 01/05/2026 - BUG: Error exporting excel, csv file from results page - BUG: Remove html to csv export file 12/01/2026 - BUG: JSON custom fields now correctly handle special characters
19-22/01/2026 - BUG: Fixed file download failures caused by oversized requests on the results page - ADDED: Added box name as field 06/02/2026 - BUG: Fixed an error that prevented queries from loading when combining multiple modules containing processes 10/02/2026 - ADDED: new settings page - IMPROVEMENT: Remove inactive module fields from filters (DEV-1745) - IMPROVEMENT: Sort alphabetically module fields from filters (DEV-1745) # v3.15 - 10/02/2026
17/02/2026 - BUG: Fixed an error that prevented queries from loading when modules containing processes and using "searchIn" relationship - BUG: Fixed field validation issue affecting Plants Manager table loading - BUG: Default fields from the processes table using searchIn return the ID value instead of the actual (display) value 05/03/2026 - BUG: Fixed missing IDs for some fields in the Animals module. # v3.151 - 05/03/2026
07-08/04/2026 - BUG: qb_project_id was not in the export - BUG: wrong display qb_project_id 13-15/04/2026 - BUG: handle qb_project_id when process fields selected using "searchIn" relationship - BUG: Handle qb_project_id when no fields are selected - BUG: Search-In queries no longer fail when a module has processes but no process columns are selected (invalid GROUP BY on processes alias). 19/05/2026 - BUG: Security fix (DEV-1978) - BUG: The images were not displayed after security Fix - BUG: Use alternate name on module selection 29/05/2026 - IMPROVEMENT: improve UI design # v3.2 - 29/05/2026 - IMPROVEMENT: Updated Excel export compatibility for newer Excel versions 12/06/2026 - BUG: fix DB_ENGINE of most of QueryBuilder tables at Installation 17/06/2026 - UX: no query selected message on Result tab 29/06/2026 - BUG: fix on saving a past query 06/07/2026 - BUG: fix on install 08/07/2026 - BUG: fix standalone export CSV separator (DEV-2097) 10/07/2026 - IMPROVEMENT: add support of the same Used Contact system as API Token to use specific user/groups permission (DEV-2106) # v3.21 - 10/07/2026 29/07/2026 - BUG: for now you can save a query with a single node without module associated that would trigger a JSON fatal 26/08/2026 - IMPROVEMENT: query results load significantly faster (DEV-2206). The generated query now only builds the columns the query actually uses, instead of every field of every module in it - each unused custom field cost a correlated subquery per row. - IMPROVEMENT: filters are applied against the source tables where possible, so they can use indexes instead of running over the fully built result. - CHANGED: results are no longer read back through a per-query SQL view that was recreated on every run. This removes a schema-modifying statement from every result load, export and graph refresh. Views left by earlier versions are dropped on upgrade. - BUG: two people running the same query at once (or the results page counting and running it at the same time) could overwrite each other's column selection, because the SQL view was shared per query rather than per user. - BUG: when counting the expected results failed, the query was silently run in full a second time to count its rows. The error is now reported instead. - BUG: hidden module fields could go missing for non-admin users, depending on the order in which module data was loaded during the request. - IMPROVEMENT: the results table renders large result sets faster. - IMPROVEMENT: opcode caching is no longer disabled on the module and public API entry points, which were recompiling the addon on every request. - ADDED: opt-in profiler for support - see docs/profiling-slow-queries.md. # v3.22 - 26/08/2026 08/09/2026 - ADDED: add support of LC Dashboard widget; needs LC > 6.34 (DEV-1637) # v3.23 - 08/09/2026 16/09/2026 - BUG: copy-to-clipboard icon on the license page did nothing, because it tried to select a hidden input - BUG: the shared-users avatars of a query never loaded (fatal error in the log on every builder load), because api/get_shared_users.php used $user without instantiating it - BUG: on some installations the builder failed with "1045 Access denied for user ..." as soon as it loaded a query or a filter was added. The view_links and custom_fields_values views were created with MySQL's default SQL SECURITY DEFINER, which stores the creating user and host inside the view; once that account no longer resolves - database restored on another server, or reached from a new application-server IP - every SELECT on them is refused, and the view also disappears from information_schema so it cannot be seen in the database. Both views are now created with SQL SECURITY INVOKER and are recreated on upgrade, which repairs existing installations. - BUG: the cleanup of the obsolete per-query qbn_view_* views listed them through information_schema, which cannot see a view whose definer is broken - exactly the ones to drop. It now uses SHOW FULL TABLES. - CHANGED: a fresh install now creates view_links with the same definition as an upgraded one (hidden custom fields excluded, as of 3.09) # v3.24 - 16/09/2026