• Add relevant life histories to "benthiclit" and "benthicpqt" methods in mermaid_get_project_data()
    • data = "observations" gains life_histories__competitive, life_histories__generalist, life_histories__stress_tolerant, life_histories__weedy
    • data = "sampleunits" gains percent_cover_life_histories_weedy, percent_cover_life_histories_generalist, percent_cover_life_histories_competitive, percent_cover_life_histories_stress_tolerant
    • data = "sampleevents" gains percent_cover_life_histories_avg_weedy, percent_cover_life_histories_avg_generalist, percent_cover_life_histories_avg_competitive, percent_cover_life_histories_avg_stress-tolerant, percent_cover_life_histories_sd_weedy, percent_cover_life_histories_sd_generalist, percent_cover_life_histories_sd_competitive, percent_cover_life_histories_sd_stress-tolerant
  • Add life_histories and growth_form_life_histories to mermaid_get_reference("benthicattributes")
  • Add relevant life histories to "benthicpit" method in mermaid_get_project_data()
    • data = "observations" gains life_histories__competitive, life_histories__generalist, life_histories__stress_tolerant, life_histories__weedy
    • data = "sampleunits" gains percent_cover_life_histories_weedy, percent_cover_life_histories_generalist, percent_cover_life_histories_competitive, percent_cover_life_histories_stress_tolerant
    • data = "sampleevents" gains percent_cover_life_histories_avg_weedy, percent_cover_life_histories_avg_generalist, percent_cover_life_histories_avg_competitive, percent_cover_life_histories_avg_stress-tolerant, percent_cover_life_histories_sd_weedy, percent_cover_life_histories_sd_generalist, percent_cover_life_histories_sd_competitive, percent_cover_life_histories_sd_stress-tolerant
  • Fix bug with refreshing token in authentication flow, introduced in 1.0.2
  • Add projects column to mermaid_get_me()
  • Updates to authentication flow to allow mermaidr to work in Shiny
  • mermaid_get_project_data() now uses CSV endpoints, which significantly speeds up getting data from projects with a large number of observations

  • This endpoint brings a few changes - empty values for text fields such as label, project_notes, site_notes, etc, are now NA instead of ""

  • Fields with multiple values (e.g. tags, management_parties, etc) are now separated using a comma (,') instead of a semi-colon (;`)

  • Standard deviations have been added for all columns that have averages in mermaid_get_project_data() - e.g. fishbelt sample events now has biomass_kgha_trophic_group_sd in addition to biomass_kgha_trophic_group_avg.

  • Benthic. PQT sample units and sample events data gain the column num_points_nonother, which counts the number of non-other points

  • Fishbelt observations gains the column assigned_transect_width_m

  • All data retrieved via mermaid_get_project_data() now contains the project_admins column

  • Sample units data from mermaid_get_project_data() no longer has the random id column

  • Add ingestion docs
  • Remove mermaid_get_summary_sites() as endpoint has been removed.
  • Ensure all NAs are written to '' to appear as blanks, not literal "NA" in mermaid_import_project_data().
  • Fix bug with retrieving content type from headers.
  • Add mermaid_get_summary_sampleevents() for getting aggregated metrics for all MERMAID surveys, by site, by date, and mermaid_get_summary_sites() for getting aggregated metrics for all MERMAID surveys, by site, for all dates.
  • Add mermaid_import_get_template_and_options() to get a template and field options for importing any method into MERMAID.
  • Add mermaid_import_check_options() for verifying that data being prepared for import matches the field options allowed.
  • Remove mermaid_import_field_options(), replaced by the above two functions (which are more feature rich and complete).
  • Handle presence of all covariates, convert NULL covariates to NA.
  • Fix bug where mermaid_get_project_data() functions failed if andrello or beyer covariates were not present, and data for multiple projects is being selected (0.4.4 only fixed the single-project case).
  • Added ability to import data into MERMAID via mermaid_import_project_data().
  • Added mermaid_import_field_options() to check valid options for fields in import.
  • Removed ability to query “beltfishes”, “benthicpits”, and “habitatcomplexities” in mermaid_get_project_endpoint(), since the endpoints were removed from the underlying API.
  • Bug fixes.
  • Updated mermaid_get_project_data() to automatically unpack any data frame columns. This affects the fishbelt, benthic PIT, and benthic LIT methods, for both sample units and sample events data. This is a breaking change, expected to affect existing code that uses the biomass_kgha_by_trophic_group, biomass_kgha_by_fish_family, and percent_cover_by_benthic_category columns in sample units, and their *_avg counterparts in sample events. Instead of these columns, results will now contain a column for subgroup - for example, instead of biomass_kgha_by_trophic_group there will be columns such as biomass_kgha_trophic_group_piscivore and biomass_kgha_trophic_group_planktivore.
  • Updated mermaid_get_reference() to provide enhanced reference data, returning actual values for e.g. fish family, sizes, groups, etc, instead of their internal IDs. The display column for the “fishspecies” reference has been renamed to species (#21).
  • Fixed bug introduced by handling NULL covariates.
  • Fixed bug with handling of covariates (now properly handles case where covariates are NULL).
  • Terminating httr::RETRY() after one failure if the status code indicates an unauthorized request; no need to retry in those cases.
  • Big addition of Benthic LIT, Bleaching, and Habitat Complexity methods in mermaid_get_project_data(), and additional fields available in Fish Belt and Benthic PIT endpoints.
  • Removed url argument from most external functions, since switching between prod and dev is more complicated than just changing the url - especially for authenticated endpoint calls. For now, switching between prod and dev requires installing from the main and dev branches, respectively. I will continue to explore making the token generation more robust for accessing both prod and dev, at which point the url argument will likely return!
  • Using httr::RETRY() instead of httr::GET() to make functions more resilient to e.g. temporary API outages or timeouts
  • Documentation improvements.
  • Fix bug related to stricter row binding behaviour from updated version of vctrs.
  • Use trailing slash on endpoints to avoid redirects.
  • Suppress warning caused by introduction of HTTP_API_VERSION header that is not properly handled by the httr package (https://github.com/r-lib/httr/issues/590).
  • Add missing count column to fishbelt observations (queried via mermaid_get_project_data(method = "fishbelt", data = "observations")).
  • Initial release.