Skip to content

Releases: renderpci/dedalo

v6.8.5

23 Dec 16:40

Choose a tag to compare

[6.8.5] - 2025-12-23

Bug Fixes

  • [breaking] Fix the component_iri error to ensure that languages work correctly. Removes DEDALO_DATA_NOLAN forced language on construct that unable to perform transliterations.

Features

  • Add map_media method to class diffusion_sql to handle media files path custom output like apply regex replacements, select custom quality, etc. Added documentation also diffusion_config_properties.

Miscellaneous Tasks

  • Update to version 6.8.5 with database vacuum optimization

Refactor

  • Change diffusion_sql::map_media to use get_url method instead of files_info data. Is more compatible with actual media diffusion value.

v7.0.0-alpha.3

17 Dec 20:50

Choose a tag to compare

v7.0.0-alpha.3 Pre-release
Pre-release

[7.0.0-alpha.3] - 2025-12-17

Bug Fixes

  • Fix deprecated use of backtick in class exec_. Changed by double quotes.
  • Set correctly the get_instance() for section without section_id. Now section is only the definition of its tipo and the record instance is moved to section_record.
  • Correct SQL syntax for adding and updating columns in matrix_time_machine table
  • Update return type of build_sql_query_select method to void and adjust return statements accordingly and add order_columns option
  • Ensure full_count check is safe and get it from the SQO
  • Ensure section_tipo is included in SQL select statements and adjust fallback selection logic
  • Refactor build_main_where to conditionally include root user exclusion based on section type
  • Rename and enhance search SQL parser with null safety
  • Skip empty search objects in filter parser
  • Simplify save_component_data by removing redundant code
  • Correctly merge error arrays in area maintenance class and update return type for long_process_stream method
  • Correct constant name typo and improve array handling in lock_components class
  • Handle non-string parameters in debug_prepared_statement
  • Add isset check for full_count property access
  • Fix component_text_area tags path issues on test context.
  • Fix changed path for JS test to the new path in /test/client
  • Fix non defined fallback_value issue in view line of component_input_text
  • Fix component_text_area tags path issues on test context (2).
  • Fix filter::get_user_authorized_projects issue with label resolution with the new v7 value model as object.
  • Fix ts_object error when render_ts_line vars section_tipo and section_id are not correctly set.
  • Fix area_maintenance::long_process_stream response types issues.
  • Add missing cache checking to DBi::_getConnection_mysql
  • Rename set_dato() to set_data() and enhance data handling
  • Update data value handling to use object structure
  • Correct typo in DEDALO_THESAURUS_RELATION_CHIDREN_TIPO constant name
  • Provide default values for nullable expressions
  • Rename get_dato() to new get_data() model
  • Add type checking and defensive coding for data handling
  • Add null check for dataframe_ddo before processing
  • Refactor relation children data handling and remove deprecated methods
  • Handle object arrays when joining value strings
  • Refactor email input handling with improved validation for render edit in component_email
  • Improve hierarchy processing and add defensive checks
  • Handle array of objects for email value strings
  • Safely render content values and display validation errors in component_email
  • Prevent empty WHERE clause in SQL query generation in search
  • Handle Time Machine dd15 section tipo to remove the where clause
  • Fix 'non existing counter record' error in matrix_db_manager::create
  • Add fallback INSERT to matrix_db_manager::update to handle updates of non existing records. In these cases, a new record will be created.
  • Refactor get_hierarchy_by_tld with secure input handling in hierarchy
  • Handle empty value arrays in component_number
  • Standardize data access methods for consistency in tool_ontology
  • Correct 'dato' to 'data' in component media test method names
  • Sort children data by order, fix references and add alt key reload in ts_object
  • Improve error handling when creating section records in section
  • Update time machine save flag name to consistent save_tm
  • Enable full count in relation index search queries
  • Correct indentation and add null checks for safe DOM manipulation
  • Replace set_dato() with new set_data() for consistent API usage

Documentation

  • Add copilot AI instructions
  • Update references in search_query_object documentation to point to the correct parsing methods
  • Add comprehensive RQO field mapping and API v1 documentation. This documentation helps developers understand and correctly implement API calls to Dédalo.
  • Add Fedora installation guide with system requirements and steps
  • Increase recommended RAM from 32GB to 64GB

Features

  • Add a new trait for where clause.
  • Add a new trait for from clause.
  • Add a new trait for order clause.
  • Add a new trait for select clause.
  • Add API performance monitor.
  • Add dd_ontology_db_manager_test test unit class.
  • Add debug_prepared_statement function to core_functions file.
  • Add global code snippets for PHP and JavaScript
  • Add new Time Machine files to loader.
  • Add new db_result class. Used to iterate records, fetch and process rows.
  • Add build_sql_filter_by_locators_order() method into order. Used to join sections in specific order (the locators order)
  • Add recursive get_query_path() method for component relationship traversal to handle recursive path construction in JSON query objects.
  • Implement search options tooltip generator for operator labels. Create tooltips displaying search operators and their labels.
  • Add is_search_operator method to detect search operators. Utility method to identify objects containing operator $or or $and, which are used as search operators.
  • Enhance search query generation with recursive support and debugging
  • Add exec_search performance tracking and adjust summaries
  • [breaking] Add Time Machine record database manager with CRUD operations
  • Add db_data tracking for Time Machine feature in component_common
  • Add set_id setter method for id property
  • Enhance query preparation with path validation
  • Refactor variable naming from dato to data for consistency
  • Add fallback language data retrieval method
  • Add provisional v6 root user migration support and fix typo
  • Simplify hierarchy search logic and remove deprecated code in install
  • Add input event handling and change tracking in render_edit_component_email
  • Enhance query parsing and SQL parameter handling in component_section_id
  • Add translation support and new data methods in component_section_id
  • Use consistent {value: ...} object structure in component_json
  • Add new ontology type constants for semantic modeling
  • Refactor typology section handling with multi-language support in ontology
  • Extract utility methods to utils trait in search
  • Add default ordering to SQL query builder for tm
  • Update reference IDs for metadata fields for tool_time_machine
  • Refactor change event handler and add search method for component_password
  • Refactor SQL construction and test assertions of login
  • Remove obsolete test_set_is_loaded_matrix_data for section
  • Refactor search tests and cleanup test suite
  • Refactor name_data structure for translation objects
  • Add BaseTestCase with execution timing benchmarking helper
  • Refactor column data handling to support multiple types with config arrays
  • Rename get_dato to get_data for improved code clarity in widgets
  • Improve locator order assignment in parse_child_data
  • Add method to check if record exists in database in section_record
  • Add save method to persist data to database in section_record
  • Track if record exists in database in section_record
  • Add nolan language support for transliteration fallback
  • Add loading spinner animation and clean up debug code in ts_object
  • Refactor input padding and normalize styles
  • Add OpenAPI 3 specification for JSON API entrypoint
  • Restructure main_section_data.json for new organization
  • Implement language-aware column mapping for CSV import tool
  • Refactor bulk process creation and component data saving in CSV importer
  • Add time machine history saving option in tool_import_dedalo_csv
  • Prevent SQL injection in activity stats queries

Fix

  • Correct method name from get_dato() to get_data()

Miscellaneous Tasks

  • [breaking] Add new parameters to SQO definition... important!, to see if they will be necessary in the new model.
  • Unify environment calculation file from API using dd_core_api::get_environment().
  • Remove deprecated method curl_close from curl request.
  • Add deparametrize_sql core function to parse parametrized SQL in debug tasks. Converts parameters like '$1' to 'oh1'.
  • Add get_user_profile check for empty user data cases.
  • Change spinner CSS to v7 spinner.
  • Add user activity data check to prevent empty values issues.
  • Add temporal query for lang::resolve_multiple until the search class is refactored.
  • Add idx_matrix_langs_hierarchy41_value matrix_langs index for performance resolving language labels.
  • Update updates file minimum update from value from 6.8.1 to 6.8.3
  • Add test_search and test_exec_search to matrix_db_manager_test unit test.
  • Update PHPUnit from 12.4.2 to 12.4.4.
  • Change search_tm->build_sql_query_select method to be compatible with new definition.
  • Update composer installed.php references.
  • Set data_path replacing component_path, it is not used anymore.
  • Change diffusion_sql::map_target_section_tipo search value parameters to include table_alias in the results (besides table).
  • Improve Starting message CSS in starting page JS.
  • Improve page HTML and BODY tags vertical fill to 100%.
  • Add remove_tm_created_sections() method in update process from v6 to v7
  • Add recreate_tm_table() method in update process from v6 to v7. Used to change the matrix_time_machine table.
  • Add delete_tm_columns() method in update process from v6 to v7. Remove old matrix_time_machine columns.
  • Change the component_security_access update data process. Now the component store its data directly in the object without value property.
  • Change the matrix prefix var names for all db managers.
  • Add fill_new_columns_in_tm() to copy data from old tm columns into new schema.
  • Change to new set_data() in dd_core_api save()
  • Set full_count to true into `dd_core_api->co...
Read more

v6.8.4

17 Dec 20:42

Choose a tag to compare

[6.8.4] - 2025-12-17

Features

  • Add component_text_area 'IS EXACTLY EQUAL' case for resolve_query_object_sql including paragraphs cases. (Import RDF issues about <p> HTML tags)

Miscellaneous Tasks

  • Change diffusion_sql::map_target_section_tipo search value parameters to include table_alias in the results (besides table).
  • Update composer libs: sweetrdf 1.16.1 => 1.18.2

v6.8.3

24 Nov 19:25

Choose a tag to compare

[6.8.3] - 2025-11-24

A maintenance update. This update fix an error in componnet_iri update process to v6.8.0 when the data has iri and title as null or empty or HTML empty tag.

{
	"iri": null,
	"title": " "
}

In this situation, the dataframe creation for the title can not return a valid section_id.

Important

If the v6.8.0 fails to update data, update your code to this version previously to ensure that this situation can be handle correctly.

Bug Fixes

  • Fix component_iri issue where empty labels are no checked correctly given a null value when the label contains spaces or HTML tags (false empty).

Miscellaneous Tasks

  • Add control to ensure we return proper type (int or null) in component_iri::save_label_dataframe_from_string.

v7.0.0-alpha.2

20 Nov 07:43

Choose a tag to compare

v7.0.0-alpha.2 Pre-release
Pre-release

[7.0.0-alpha.2] - 2025-11-19

Bug Fixes

  • Add lang to get data in component_input_text, needed to sen data to client.
  • Change to create the label langs files if they are missing.
  • Change the way to calculate the lang in string components with * and !* wildcards for search. Now it take account if the component are translatable or not, to include the lg-nolan in the WHERE sentences.
  • Check the component_dataframe data and set correctly the caller_dataframe in duplicate() of section_record
  • Check if the dataframe data is empty (null) before count. Now empty data is always null, instead an empty array.
  • Fix component_common test issue where component_iri lang was not detect correctly.
  • Fix syntax error in create_dd_ontology_table creating table dd_ontology.
  • Remove the unused variables in debug_log in update_by_key.
  • Set the returned null value from get_dato of specific lang data as an array to perform array_splice. Null data values stored in database needs to be removed.
  • Set a better regex to remove HTML in component labels.

Features

  • Add new render_update_data_maintenance() panel outside Dédalo interface. Used to load the maintenance panel with check_config and update_data_version
  • Add are_all_properties_empty() function. Used to checks if a given object has all its properties empty.
  • Add a common component counters process. Now all components add a id into its own data.
  • Implement the multiple data update for all component save.
  • Set a new way to update data when the version data doesn't match with current code version. It force to login as root and apply the data update process before enter in Dédalo. The process load the maintenance panel with only two widgets: check_config and update_data_version.

Miscellaneous Tasks

  • Add check in dd_api start to ensure table dd_ontology exists before continue stating.
  • Add get_v6_root_password_data() function to return the encrypted password form v6 model. PROVISIONAL! TO BE USED IN THE V6 TO V7 TRANSITION.
  • Add the data_version to page_globals. Used to check if the code version match with the data version and force to update.
  • Add a test for duplicate section_record
  • Change PHP unit test parameters (test3 -> rsc1242) in search related for convenience.
  • Check if the component_iri data has id in the v7 update transfer data. The component_iri introduced the id in v6.8.0, therefore it needs to be preserved.
  • Change the set_dato() and get_dato() to set_data() and get_data() in component_relation_parent, integrate the v7 data flow process.
  • Delete the specific save counter. Now all columns save at same time (data, counter, relation_search).
  • Implement the new v7 data flow for set_dato_default. It needs to change its own name and review the ontology!.
  • Implement new v7 data flow in get_list_value().
  • Implement the resolve_query_object lang resolution for empty and not empty situation. Implemented in v6.8.2 and incorporated to `component_string_common.
  • Integrate the v7 data flow for get_data_paginated() function. Now it could return a null instead a empty array, when the component has not data.
  • Integrate the new v7 data flow in get_relations_search_value().
  • Remove the lang property for component_portal is no used.
  • Remove the transfer project data in activities section in the update process. Project data in not used anymore in activity log, and it will not transfer from original v6 datos column.
  • Set is_empty() of component_text_area to adapt it to new v7 data flow.
  • Provisional update in login from incompatible v6 login

Refactor

  • Change and fix issues in duplicate method of section_record. First functional version.
  • Change the get_list_value() of component_text_area to adapt it to the new v7 data flow.
  • Change the array of get_modified_section_tipos() for an object and rename the function to get_metadata_definition(). Now the section metadata is used in a common way.

Change

  • [breaking] Unify the get_grid_value() of component_filter. Now it use the relation_common get_grid_value() because the component_filter can calculate its own request_config as any other relation component.
  • Add a multiple update_by_key sentences in the same statement. Optimize the PostegreSQL calls to update all component data together (data, counter and relation_search)
  • Add fixed relations to any component_filter to create a request_config in the same way than any other relation. component_filter is not used the request_config but it needs to be compatible for export.
  • Move the get_id_from_key() and get_key_from_id() from comopnent_iri to component_common changing get_dato for new get_data. it's not finished.
  • Rename the column counters as meta. It will be used to storage metadata of the components, as the counter.
  • Remove the language in untranslatable components in the update to v7 transfer data. Lang is not necessary in untranslatable components as component_date or component_number. The lang information will not transfer from v6.
  • Set the ontology_node instead old RecordObj_dd. It was added by the v6 merge of the v6.8.0.
  • Set a cache name correctly for component_dataframe when is calling its own section. The calls in this way needs to be changed by section_record calls.
  • Set the get_column_data() to return an object instead an array.
  • Set the original lang to componet_iri to get its own data.
  • Set correctly the section metadata in import_dedalo_csv.
  • Set active account for root user. It allows to update data when the access to active information is not in v7 column.
  • Set the id property for relations data. Now every component use the id property including the locators. relation_search data don't include it, is not necessary for search proposes and it's not editable data.
  • Set new data flow into update data process from client. Set the component_input_text changed_data process with new data format for strings.
  • Set is_empty_data instead is_empty to check the full data items in set_data_lang. Now data with lang is multiple because every lang could have more than 1 value.
  • Set new data flow in update_data_value for every update process send by client. Unfinished!, needs to be adapted case by case.

v6.8.2

19 Nov 16:04

Choose a tag to compare

[6.8.2] - 2025-11-19

A maintenance update.

Bug Fixes

  • Change the way to calculate the lang in string components with * and !* wildcards for search. Now it take account if the component are translatable or not, to include the lg-nolan in the WHERE sentences.
  • Fix component_common test issue where component_iri lang was not detect correctly.
  • Set the returned null value from get_dato of specific lang data as an array to perform array_splice. null data values stored in database needs to be removed.

Miscellaneous Tasks

  • Change PHP unit test parameters (test3 -> rsc1242) in search related for convenience.

Change

  • [breaking] Unify the get_grid_value() of component_filter. Now it use the relation_common get_grid_value() because the component_filter can calculate its own request_config as any other relation component.
  • Add fixed relations to any component_filter to create a request_config in the same way than any other relation. component_filter is not used the request_config but it needs to be compatible for export.

v6.8.1

12 Nov 15:31

Choose a tag to compare

[6.8.1] - 2025-11-12

Bug Fixes

  • [breaking] Fix IRI component_dataframe permissions issue. Allow users access to component_iri dataframe (access to iri dataframe is generic and dependent of the main component permissions).
  • [breaking] Fix error where non defined section causes a exception in construct JSON_RecordObj_matrix from section. Case rsc1142 Bibliography referencing numisdata4 section in People rsc197.
  • [breaking] Fix section error where duplicate records method duplicate_current_section inherits from father unnecessarily (previous model using children instead parent for hierarchy relations)
  • [breaking] Fix bug where MySQL/MariaDB fails deleting previous records when the criteria do not include the primary key (delete by section_id cases). MDCAT detected. Added a window select for safe record deletion.
  • [breaking] Fix service_time_machine bug where filter by projects creates a wrong SQL sentence with a order conflict. Removed projects filter because it doesn't make sense here.
  • Change the section_tipo to point to Yes/No list in the Denomination transformer locator definition.
  • Fix some publication vars when they are not defined in diffusion class, minor error.

v7.0.0-alpha.1

27 Oct 10:51

Choose a tag to compare

v7.0.0-alpha.1 Pre-release
Pre-release

Full Changelog: v6.8.0...v7.0.0-alpha.1

v6.8.0

24 Oct 10:26

Choose a tag to compare

[6.8.0] - 2025-10-24

🎉🎉🥳🍾🎉🎉

This update introduces an important change to the component_iri data. Now its title is now implemented as a component_dataframe. This enhancement allows dataframes to be added to literal components.
The component_iri data is now non-translatable to ensure consistency across all components. It remains transliterable.
In this update, we have migrated all data from the numisdata33 Denomination section to the "Coin" term within the object1 Object thesaurus. This restructures the data for better organization. For more context, please see the related discussion here.
A new constant, DEDALO_UPLOAD_SERVICE_MAX_CONCURRENT, has been added to config.php to control the maximum number of concurrent upload requests.

Bug Fixes

  • [breaking] Add new property main_component_tipo to component_dataframe test in PHP unit test.
  • [breaking] Add missing dato_resolved clean to set_to_force_reload_dato. It's usually called when a set lang is made.
  • [breaking] Add time machine conditional to dato_resolved clean to prevent clear Time Machine injected data on switching language.
  • [breaking] Remove specific data key of transliterate component with the same key but with different lang will be sync to be removed in bulk.
  • [breaking] Fix bug where section duplication crash when a component_iri exists because the dataframe main_component_tipo resolution try to get data from dataframe_root (dd555).
  • [breaking] Fix the bug in component_pdf where uploaded files of non-original quality are not managed correctly, causing them to be overwritten by a copy of the original file.
  • Fix jsoneditor issue where Safari does not apply the editor code padding correctly.
  • Fix non defined situation in component_iri when value does not contain the id property (old data). The locator value will be ignored in order to prevent the application from crashing.
  • Fix issue loading custom cache at login (case Azure). Add try catch wrapper to prevent the stop execution of file sw.js
  • Fix component_common_Test issue where component_iri data for test was not get in the correct order. Now, an array find is made to ensure that checked data correspond to the component data ignoring subdatum data.
  • Fix test_components_lifecycle issues with component_iri dataframe.
  • Fix minor CSS issues in view_line_portal showing dataframe columns.
  • Fix components_data_changes test issues with component_iri dataframe data.
  • Fix component_iri issue where new value creation do not focus correctly the new input.
  • Fix tool_lang issue with lg-nolan components. If the tool is open from a nolan component, add the component lang to the langs list because is not added by default in the page_globals.dedalo_projects_default_langs.
  • Fix component_iri->get_id_from_key() issue where empty data was not handle properly. Now null is returned.
  • Fix login quit issue where missing session cause that quit button do not reload the page to load login form.
  • Fix component_iri focus issue on input click. Now, the clicked input is correctly focused.
  • Fix component_iri bug where some string labels apostrophes breaks the JSON SQO object.
  • Fix search caller_dataframe error where the caller is not defined, generating an error when the default value is built.
  • Fix only_operator issue on search with component_dataframe using only the operator.
  • Force view line in component_iri render edit.
  • Force to save changes when the component has changed but it was not updated its own changed_data yet, because the changed event is fired after ui.deactivate().
  • Remove old model dataframe time machine mode (tm) suffix in subdatum resolution.
  • Set null to main_component_tipo when the component_dataframe has not a caller_dataframe as in search mode.
  • Set matrix_id property to the instance_options of the get_dataframe(). Used by literals to obtain the Time Machine data in correct way.
  • Set correctly the $model var to get_children_recursive of get_subdatum.
  • Select the first change_data (now is an array) value to pick the correct input node in component_iri when a new value is added.
  • Set the localStorage of service_autocomplete to id_base to save correctly the cookie without timestamp of the id. The instance id has an unique time mark that invalidate the access to the cookie.
  • Update the search cache in filter. When the user change the search components the cache needs to be updated to refresh itself. The navigation back from a tool will refresh the filter and get the cache.

Documentation

  • Add check config image to maintenance documentation.
  • Add new import options for comonent_iri to include the new label data frame.
  • Add the changing root user password procedure in documentation.
  • Add a warning to change root password procedure documentation.
  • Change the image position relative to the list of maintenance documentation.
  • Change the maintenance mode active image.
  • Rewrite the DEDALO_UPLOAD_SERVICE_CHUNK_FILES documentation.
  • Change the Apache module for php8.3 in installation documentation.
  • Update the maintenance documentation to include the check config panel.

Features

  • Add new component counter data into section schema. Now components can set and get its own counter, used to set its id for every value (every row of the data will have an id to link with dataframe)
  • Add a show_interface parameter to control the component label. Now the properties can define if the component show its label.
  • Add a dataframe functionality to component_iri. It use a virtual locator to create its subdatum as any other relation component.
  • Add new get_caller_by_model function. Used by portals when call to render_list_from_component_data_button to find the caller section, sometimes the caller section could be the second caller (component->section_record->section), sometimes could be the third caller (dataframe->component->section_record->section).
  • Add an import_save() function to perform task after conform data (and set the new data as component data), and before save the import data.
  • Add new label_id property to dd_iri class. Is used to define the section_id of the component_dataframe of component_iri when a IRI is imported.
  • Add new methods to get and set time machine data. Used by update data of the component to change its own data model in old time machine.
  • Add get_id_from_key() function to check if the id of the data exists in any other language.
  • Add a check to insert new data or update data in different languages with the same existing id. Now every translations will have the same id to maintain the consistency between languages for component_iri.
  • Add a skip langs when the data is checked to retrieve its lang id.
  • Add an execution order property to updates. Now is possible to define the order of the update scripts adding the property execution_order in updates.php
  • Add a control of the maximum number of simultaneous connections for uploading chunked files in service_upload
  • Implement the change_data_lang with the move_lang definition and widget.
  • Implement new ua.js. Used to detect User Agent in common way and check its technologies as webGPU.
  • Implement the id property for every value in componet_iri data. Now the IRI values has its own id.
  • Implement the update to component_iri new data property for v6.8.0. Now the component has an id for every value and its own counter.

Miscellaneous Tasks

  • Add activities main section into JSON transform from old tch or qdp
  • Add style to component_iri with new dataframe.
  • Add dd_iri safe types checking and documentation.
  • Add component_iri dd_iri test in PHP test unit.
  • Add delete Ontology action on delete section (when the section is a Ontology like 'numisdata0'). The 'jer_dd' record must to be deleted too, to preserve the deletion coherence.
  • Add new RecordObj_dd_test test: test_insert, test_delete.
  • Add id property to random_iri_data in Unit test data source.
  • Add process to create a relation values with old title with new label data-frame for component_iri
  • Add caller check in view_line_edit_portal for safe caller model check.
  • Add the scripts to move Denomination numisdata33 to Object object1 in updates.
  • Add an execution_order to update. It specify the correct order to exec the update. component_iri needs update its data after Denomination movement to object, because the counter of the component_iri needs to be built with the new component (hieararchy instead numisdata).
  • Add explanation about the 6.8.0 update.
  • Add tables list input to consolidate_tables in widget database_info (area_maintenance)
  • Add mode to component_common.get_dataframe JS method for convenience.
  • Add new constant DEDALO_UPLOAD_SERVICE_MAX_CONCURRENT in config.php. Used to limit the maximum number of simultaneous connections for uploading chunked files.
  • Add lg-nolan case to tool_lang_multiple in coherence with tool_lang. This allows to edit the nolan input for transliterable components.
  • Add lang to component_common.get_dataframe options for init the dataframe instance. Optional.
  • Add method get_key_from_id to component_iri to check if the given ID exists in the specified data language.
  • Add to update alert the new constant DEDALO_UPLOAD_SERVICE_MAX_CONCURRENT that needs to be set into config.php
  • Add missing exception message to debug_log in API entry point.
  • Add get_proporties() to overwrite the common get_properties() for comopnent_iri. It create a common request_config to include th...
Read more

v6.7.4

08 Sep 16:32

Choose a tag to compare

[6.7.4] - 2025-09-08

Bug Fixes

  • [breaking] Fix component_portal error in search mode where moving from edit to list mode or vice-versa causes that the autocomplete node do not add to the component wrapper. Now, the service node is added by the portal itself to prevent race conditions and DOM issues.
  • [breaking] Fix bug where component_relation_common::resolve_query_object_sql don't parse correctly the SQO functions blocking the results (e.g. sqo->filter_by_list in numisdata161 - Type).
  • Fix render_paginator error where input go page do not works because the value reference is incorrect.
  • Remove the specific build id in service_autocomplete, it needs to be coherent with the get_instance id build to be deleted, loaded and manage correctly.

Documentation

  • Change the TC39 link in RASPA quality score documentation.
  • Change the Raspa quality score level and links.

Features

  • Add Show all button to section list mode for easy access.
  • Add parameter sqo to the section method get_total to allow handle custom sqo objects for count. E.g. navigate_to_new_section case.
  • Add services instances test to test unit JS (test_others_lifecycle).
  • Add projects sort options. Default order is alphabetically, but if order (dd1631) has value, this value is used as first criteria to sort, and later, alphabetically too.

Miscellaneous Tasks

  • Add debug info for component_portal.add_value when the value already exists.
  • Add explanation of function format string q of search with filter_by_list
  • Add new self.services array to storage all services instances. It will be used to delete all services dependent of components.
  • Add an id_variant to the instance of service_autocomplete. Now the instance has unique id by time, is not mandatory but it makes the manage of the instance more solid.
  • Add event stopPropagation to component_publication and component_radio_button in search mode to allow new event with alt key unifying edit and search modes behavior.
  • Add white-space to section buttons to prevent text buttons break like 'Show all' case.
  • Add tooltip remove action on component_portal view_line_edit when delete icon is pressed (unlink record).
  • Add caller model fallback to service_dropzone.render_info_container for convenience.
  • Add missing build status info in service_tmp_section.
  • Add missing build status info in service_upload.
  • Add search_buttons_container to the search buttons of section for CSS layout improvement.
  • Change page event for press key 'Enter' from keydown to keyup to prevent that service_autocomplete triggers the search action without any value selection.
  • Restore alert action when non sections are selected in service_autocomplete.autocomplete_search. Prevents unnoticed empty sections selection in the service autocomplete.

Refactor

  • [breaking] Add section.navigate_to_new_section filter modes (reset_filter | preserve_filter | legacy). Default: reset_filter. This feature need to be agreed upon.
  • [breaking] The functionality of the section.navigate_to_new_section method has been changed to preserve the last search or records in the new section pagination.
  • Change page.add_events mousedown event behavior for coherence with the other events and to allow add more actions in the future.
  • Unify log time execution format using 3 decimals.

Change

  • [breaking] Increase the request timeout for tool_export from 120 secs (3h in the server) to unified 10 hours (36000 secs).
  • Add ui.component.build_wrapper_search option to click and get info for developers (similar to edit mode) fro convenience.
  • Add services to the test list in test_get_instance unit test JS.
  • Set legacy mode to the section.navigate_to_new_section method. This restore the default behavior when user creates a new record (filter by this new record, removing previous section filters and showing only the new one -filtered by locators-).