Changes in version 2026-05-31 - Exclude nested subfolder names from BreedBase list_trials() returned results. Changes in version 2025-08-02 - Add Germinate support using BrAPI v2 calls (requires Germinate v4.9.0 or later). - Add new generic genotyping functions including list_variantsets(), set_variantset(), get_variantset(), get_variants(), and get_marker_map(). - Add new get_trial_pedigree() function supports db compliance with BrAPI v2. - Add new generic login() function wraps around all engine specific login_* functions. - Fix a BreedBase login bug caused by incorrect httr2 form encoding when sending credentials. - Move special-case processing from qbms.R (before/after API calls) into the new internal engine.R module script. Changes in version 2024-09-19 - Updated the core QBMS script to replace the non-CRAN async R package with the CRAN-standard future and future.apply packages. - Updated the core QBMS script to substitute the deprecated httr R package with the recommended httr2 package. - Add new gigwa_get_allelematrix() function that boosting the marker data retrieval speed by more than 10 times. - Add new gigwa_get_markers() function to retrieve the marker map that describe the physical positions of the markers on the chromosomes. - Add new gigwa_get_sequences() function to retrieve the list of sequences in the selected GIGWA project. - Improve get_trial_obs_ontology() function performance for systems supports BrAPI v2 /search/variables endpoint. - Improve package documentation with enhanced details. - Implement an internal central mechanism to handle all BrAPI POST /search endpoints, including the 202 status code or searchResultsDbId response. Changes in version 2024-03-07 - Add EBS support using BrAPI v2 calls. - Implement a new generic internal mechanism that supports both BrAPI versions 1 and 2 calls for all core functions. - Support the OAuth 2.0 authentication (Authorization Code Grant flow) using the new login_oauth2() function. - Support external authorization option and set access token value manually using the new set_token() function. - Support downloading TerraClimate netCDF data files to extract their data offline using the new ini_terraclimate() function. - Add the new scan_brapi_endpoints() utility function to scan available BrAPI endpoints in the configured data source server. - Enhance the gigwa_get_variants() function by adding 3 extra filtering parameters: start position, end position, and reference sequence name. - Fix the BreedBase login problem due to the form encoding issue by adding the new function login_breedbase() to pass the correct/expected encoding. - Add HWSD v2.0 support to query and retrieve the FAO harmonized soil data. - Resolved several minor bugs reported by EBS, BreedBase, and DeltaBreed users for improved stability. Changes in version 2023-03-28 - Hot fix the reported validation issue in the gigwa_set_db() function. Changes in version 2023-03-20 - Implement caching techniques wherever applicable for faster response times to improve user experience. Thanks to Johan Steven Aparicio for initiating this. - Improve the performance of multi-page API calls by optionally enabling asynchronous calls to prevent blocking behavior by fetching all requested pages simultaneously. - Add TerraClimate support to query and retrieve climate data (including the 19 BIOCLIM variables). - Add a new get_germplasm_attributes() function to retrieve germplasm attributes. Thanks to Johan Steven Aparicio for his contribution. - Add a new gigwa_get_metadata() function to retrieve metadata from GIGWA database. - Add new get_qbms_connection() and set_qbms_connection() functions to support connecting to multiple providers. Thanks to Francisco Agosto-Perez for the suggestions. - The get_pedigree_table() function can properly detect and handle backcross cases. - Fix the error message when calling the get_pedigree_table() function if there is no case of similar genotype names. Thanks to Johan Steven Aparicio for reporting this. Changes in version 2022-05-18 - Add GIGWA support (required version 2.4.1 or higher) to query and retrieve SNPs data for GWAS and GS analysis pipelines. - Tiny usability enhancements (e.g., automate path parameter setting, show the server name in the login window, add progress bar to the get_program_studies function). - Fix mistakenly redundant location names/info returned by the get_program_studies function. Changes in version 2022-03-03 - Add BreedBase support using BrAPI v1 calls. - Add functionality to get the pedigree table starting from germplasm dataset. - Improve set_qbms_config to generalize the way of getting the server domain from the URL. - Default timeout become 120 sec instead of 10. - Set default encoding for HTTP content to UTF-8. Changes in version 2021-10-08 - Fix filter by year functionality in the list_trials function. - Fix get_germplasm_data by replaced the deprecated germplasm-search call. - Minimize package dependencies (rbindx replaced plyr::rbind.fill, rbindlistx replaced data.table::rbindlist, and use merge to replace dplyr::left_join). - Resolve compatibility issues with BrAPI changes in BMS version 19. - Enable to set the connection time_out in the set_qbms_config function. - Get entry type (test or check) in the get_germplasm_list returned data frame. Changes in version 2021-07-08 - Fix the issue of empty list in get_germplasm_data returned results. - Fix retrieving error when the study has no data! - Enhance returned info by the get_program_studies function to include study settings and number of test/check entries. Changes in version 2020-10-16 - Simplify configuration by required only the URL of the BMS login page. - Improve the performance of the internal get_program_trials function by passing the programDbId in the /trials GET call. - Add debug_qbms function to get the internal config/state object. Changes in version 2020-07-03 - Convert it into an R package. - Add set_qbms_config function to setup connection configuration variables. - Use the double colon approach for functions from external packages. - Fix the deprecated API call in the get_trial_obs_ontology function. Changes in version 2020-06-09 - Fix the "get_trial_data" function bug when you have more than one study in the same location. - Function "list_studies" returns studyName also, and function "set_study" input is studyName now. - Simplify the "get_germplasm_list" function output by getting rid of nested lists. - Deprecate the "list_all_studies" function in favor of "get_program_studies" function. Changes in version 2020-06-02 - Call BrAPI directly (i.e. not required "CIP-RIU/brapi" from GitHub anymore). - Add a function to get all data of the current active trial (combined all studies). - Add a function to get a list of studies where given germplasm has been used. - Add a function to get a specific germplasm data from all program trials. - Handle BrAPI pagination in a proper way. Changes in version 2019-08-20 - Adopt tidyverse style guide https://style.tidyverse.org/ - Add functions documentation using roxygen2 format. - Add basic error handling to the functions. - Add a function to retrieve the traits ontology of a trial. Changes in version 2019-07-24 - Initial version.