Skip to content

Dev - #305

Merged
mjwestgate merged 70 commits into
mainfrom
dev
Sep 18, 2026
Merged

Dev#305
mjwestgate merged 70 commits into
mainfrom
dev

Conversation

@mjwestgate

Copy link
Copy Markdown
Collaborator

merge version 2.3.0

mjwestgate and others added 30 commits February 18, 2026 12:25
Functionally very similar to `show_all_fields()`, but with different syntax and behaviour
…brary()` (#294)

Solution was to keep user messages in `.onAttach` as per `R CMD check` requirements, but put `potions` dependencies in `.onLoad`. Also added `.onUnload` for completeness
This requires the choice of atlas to be locked in at the `request_data()` stage and then passed to all later functions; we can't assume the global stage is true any more. So this is a bit of a messy change, but one that makes queries more complete and reliable.
- new API added to `node_config.csv`
- code in `queryy_API.R` amended to cache more, and check whether cached items are from the currently-requested atlas
- add `authentication_supported()` function for consistency with other systems
- add early testing
Have added efficient delimiter detection to avoid needing to specify the atlas in use. This works because GBIF uses tabs and everyone else uses commas. Plus return API call verbosity to normal
Because these are post-hoc, we use the same capture approach as for metadata. Also minor bug fix for type = occurrences-glimpse, reorder printing of `galah_config()`
These will be maintained, but current best practice is to use the `dplyr` versions; this documentation change merely reinforces that.
…tication

First pass, but when complete, will mean all query parameters can be passed in pipe. Extends solutions to issues #296 and #297
- ensure calls withing `atlas_media()` are always sent to the correct atlas
- update `authentication_required()` to return `FALSE` for count queries
- ensure `print.metadata_request()` displays size for `type = "media"`
- `parse_select()` errors when supplied `tibble` is `NULL`
- `check_if_cache_update_needed()` now does what it should
- bug fix to `search_identifiers()
- add `download_reason_id` arg to `authenticate()`
somehow broken by changes to authentication
Tests broken by changes from accepting a sting to a query
Major user-facing change here is replacing spatial `galah_` functions with `geolocate_`, i.e. `galah_polygon()` is now `geolocate_polygon()`. Original functions are *not* deprecated, just superseded.
Adds AI stuff to ignore
mjwestgate and others added 29 commits June 29, 2026 20:51
* Fixes pagination for v2 lists
* Trims number of required queries for `show_all_lists()` by increasing pageSize from 100 to 1000
* Fixes `show_values()` and adds lots of unnesting
* Adds new message about duplicated rows in `show_values()`
* follows auto-populating `q` format
* Create `check_crs()` function in utilities_internal.R
* Allows consistent check in both polygon & bbox functions
* Fixes some issues with how taxonomic placeholders are handled in queries
* Formats queries using `URLencode(reserved = TRUE)` to match ALA API query parsing format
Test solution is to have a catcher to detect whether `potions` has been set up, and if not, apply some defaults. This is placed in `galah_config()`, `onLoad` and `onAttach`. Can only be tested when installed, so pushing this now to allow installation from dev
This allows users to continue supplying WKT strings without a CRS. If that is undesirable this fix will need to change. Minor fixes to tests
also remove call to `potions::pour("atlas")$acronym` in `check_crs()` as this isn't always indicative of target for current query.
Previous version looked up list length using `retrieve_cache()`, but this is unstable because there is no way to know whether lists have already been queried. More consistent approach is to add query at the `compound()` stage, then use `collapse()` code to run checks to determine whether pagination is needed.
- change default `select()` behaviour for type `lists-unnest` to `everything()`
- minor bug fix to ensure parsing works properly for lists regardless of how many entries are given in the `properties` field
- update tests for above
- `geolocate_polygon()` checks now transform shapefiles to 4326 to avoid errors
- `parse_properties()` and `parse_classification()` use consistent syntax, incorporate `.data` to ensure passing R CMD, and refer to `lookup_select_columns()` for consistency with other functions
- prevent failure of `atlas_media()` when updating `fq` to supply only records that contain media
- prevent loss of taxonomic information in `fq` for occurrence downloads
- change `glimpse()` code to use same codebase as lists for parsing nested fields
- make tests for efficient for greater speed
- prevent error from wrong crs in bbox testing
- remove duplucated GBIF tests
- allow for minor discrepancies in repeated count queries for GBIF
* Only supply message about duplicated taxon_concept_ids when they exist
* Add tests for duplicated taxon_concept_id in lists messages
* Add `all_fields`, `geolocate()` fix and complex string parsing fix
- force 10-sec delay and `wait = FALSE` for non-ALA queries to prevent very long delays on test suite
- fix failed tests resulting from `run_checks` being set to `FALSE` and affecting visibility of text or errors
@mjwestgate
mjwestgate merged commit ec31cd8 into main Sep 18, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants