Changes in version 1.1.0 (2026-03-11) - New dplyr minimum version: 1.2.0. New Methods - add_count.SpatVector() (#195). - filter_out.SpatVector() (#196). Changes in arguments - In dplyr 1.2.0 .by has moved from experimental to stable. In summarise.SpatVector() this was implemented in version 1.0.0. Now it has been extended to the following tidyterra methods as new arguments (#193): - mutate.SpatVector(). - filter.SpatVector(). - ?slice.Spat methods for SpatVector. - fill.SpatVector(). - Other arguments added to methods: - ?mutate.Spat: New arguments .keep, .before, .after (see dplyr::mutate()). - arrange.SpatVector(): .locale added (see dplyr::arrange()). - filter.SpatVector(): .preserve argument support added (previously it was ignored). - In count.SpatVector(): - wt argument for performing weighted counts supported. - .drop argument deprecated, (it never really worked). Deprecations - ?transmute.Spat is marked as superseded, as in dplyr::transmute() dplyr 1.1.0 (January 2023). Use mutate(.keep = "none"). Other changes - Migrate vignettes and articles to Quarto. Changes in version 1.0.0 (2026-01-23) - Minimal R version required updated to >= 4.1.0. - Minimal ggplot2 version required >= 4.0.0. - Adapt deprecation of ggplot2 (4.0.0): - geom_spatvector_label() / geom_spatvector_text(): label.size aesthetic replaced by linewidth. Also nudge_x and nudge_y are not explicitly documented and are passed to ggplot2::geom_sf_label() / _text() via dots (...). - get_coltab_pal() can extract colors with alpha values (#180). - New dependency generics added to Imports. New methods (SpatRaster, SpatVector, SpatGraticule, SpatExtent) included: - ?tidy.Spat. - ?glance.Spat. - ?required_pkgs.Spat. - ?fortify.Spat methods now uses ?tidy.Spat methods under the hood: - New fortify.SpatExtent() method. - New autoplot.SpatExtent() and autoplot.SpatGraticule() methods. - summarise.SpatVector() supports now the .by argument. - geom_spatraster_contour_text() is now a stable function. - testthat: Internal changes in tests: - Move snapshot testing to its own directory, that is included in .Rbuildignore: ./tests/testthat/test_ci. Changes in version 0.7.2 (2025-04-14) - Hotfix: Correct error on tests for CRAN. Changes in version 0.7.1 (2025-04-07) - New arguments in geom_spatraster_*: mask_projection. When set to TRUE avoid SpatRaster to wrapping around on some projections (see #115 and #169, by @dramanica). - Fix an old bug exposed after terra 1.8-42: Plots crash when using ggplot2::facet_wrap() in combination with coord_sf() (or with implicit change of CRS due to other sf/Spat* objects). Changes in version 0.7.0 (2025-02-03) - Minimal version of terra required is 1.8-10. - Remove metR from Suggests. - Improve handling of factors when several layers have different levels. This is done using terra::combineLevels() (terra >= 1.8-10). See https://stackoverflow.com/questions/79340152. - Now scales that uses limits truncate the legend when limits argument is provided (#165 @Fan-iX). Scales impacted: - scale_*_cross_blended_tint_c and scale_*_cross_blended_tint_b. - scale_*_hypso_tint_c and scale_*_hypso_tint_b. - scale_*_grass_c and scale_*_grass_b. - Now geom_spatraster() (and overall pivoting of SpatRaster is less strict with different layer classes: if several layers can be defined as numeric (i.e. double, integer and numeric) the pivoting (and therefore the plot) can be performed. This is consistent with tidyr::pivot_longer() behavior (https://stackoverflow.com/questions/79292989). Changes in version 0.6.2 (2025-01-08) - Add (limited) support for SpatGraticule (see terra::graticule()) #155. - New arguments in geom_spatraster_rgb(): stretch and zlim. See terra::plotRGB() for clarification. - geom_spatraster() suggests geom_spatraster_rgb() when a SpatRaster with RGB specification is detected (terra::has.RGB() is TRUE) Changes in version 0.6.1 (2024-06-08) - Add new scales: - grass_db and scale_fill_grass_c() family. This is an implementation of terra::map.pal(), that is the default palette for terra::plot() (> 1.7.78). - autoplot.SpatRaster() now uses also grass_db as the default palette. - Add scale_fill_princess_c() scale family. - Fix tests. Changes in version 0.6.0 (2024-04-22) - Requires ggplot2 (>= 3.5.0). - New methods for SpatVector objects: - pivot_longer.SpatVector() and pivot_wider.SpatVector(). - fill.SpatVector(). - New geom geom_spatraster_contour_text() implemented on top of isoband::isolines_grob() Experimental. - glimpse.SpatRaster() and glimpse.SpatVector() now displays information using ?tibble::print.tbl_df approach for the header and the footer. The body is still displayed transposed as of dplyr::glimpse(). See pillar::tbl_format_header() and pillar::tbl_format_footer() for examples. - as_sf() converts a SpatVector to a sf object with an additional tbl_df class for pretty printing. - fortify.SpatRaster() gains a new argument pivot that allows better integration with other ggplot2 geoms when pivoting. This is a wrapper of tidyr::pivot_longer(). - Tidy documentation. - metR added to Suggests. Changes in version 0.5.2 (2024-01-19) - Adapt tests to ggplot2 3.5.0 (#129) @teunbrand. - Reduce package size, specially relevant in the external raster asia.tif. Changes in version 0.5.1 (2023-12-15) - Adjust tests for as_sf() (#124). Changes in version 0.5.0 (2023-11-21) tidyterra has been accepted on JOSS. Please use the result of citation("tidyterra") or the following string: Hernangómez, D. (2023). "Using the tidyverse with terra objects: the tidyterra package." Journal of Open Source Software, 8(91), 5751. ISSN 2475-9066, https://doi.org/10.21105/joss.05751 Other changes on this version: - Support for SpatRaster objects with a color table - autoplot.SpatRaster() can detect now SpatRaster objects with color tables. - geom_spatraster() can detect now SpatRaster objects with color tables. - New scales for plotting SpatRaster objects with color tables: scale_fill_coltab() and rest of family scales (colour). - tidyverse verbs keeps the associated coltab of a SpatRaster. - By default all the discrete scales of tidyterra now have the following setup: na.translate = FALSE. - By default, all the non-discrete (e.g. continuous or breaks) scales of tidyterra have now na.value = "transparent" (#120). - Enhanced glimpse.Spat() with meta-information on type of geometry, CRS, etc. - New messaging interface thanks to cli package. Changes in version 0.4.1 - Release for JOSS paper. No relevant changes. Changes in version 0.4.0 (2023-03-17) - This release focuses heavily on SpatVector objects. The improvements have been: - New methods for SpatVector: - glimpse.SpatVector() - arrange.SpatVector() - distinct.SpatVector() - inner_join.SpatVector(), left_join.SpatVector(), right_join.SpatVector() and full_join.SpatVector() - semi_join.SpatVector() and anti_join.SpatVector() - summarise.SpatVector() - rowwise.SpatVector() - group_by.SpatVector(),ungroup.SpatVector() - count.SpatVector(), tally.SpatVector() - bind_spat_cols(), bind_spat_rows() - Already implemented methods now works with dplyr::group_by(). - Internal review of code. Now the methods does not rely on sf::st_as_sf() coercion. In fact coercion between object classes is avoided as much as possible. - New glimpse.SpatRaster() method for SpatRaster. - Other coercing and helper functions: - as_spatvector() - as_sf() - is_grouped_spatvector() Changes in version 0.3.2 (2023-02-24) - Fix a bug on pull_crs() that returned "NA" on sf objects with any field equal to NA (#74). - Improve docs on scales_* (#73) . - Remove dependency on crayon package (superseded) in favor of cli. - Remove tidyverse from Suggests. Changes in version 0.3.1 (2022-11-09) - New ggplot2 methods added: - Methods for autoplot.SpatVector(), autoplot.SpatRaster(). - autoplot.SpatRaster() now is smarter on identifying the type of plot to produce. Can still be overridden with arguments. - Methods for fortifying SpatRaster and SpatVector objects: fortify.SpatRaster(), fortify.SpatVector(). - Three additional palettes are included on hypso.colors(): "artic", "meyers" and "nordisk-familjebok". - Added colour scales to all palettes: scale_colour_*. - Remove use of ggplot2::aes_string(). - Adapt geom_spatraster_contour() and geom_spatraster_contour_filled() to the changes introduced in ggplot2 (3.4.0), most notably the adoption of linewidth = .2, by default. Changes in version 0.3.0 (2022-10-12) - Package back to CRAN. - Libraries dplyr, tidyr, tibble are not attached by default. Needed functions are reexported instead. - Improvements on geom_spatraster(): - Now in geom_spatraster() is possible to avoid the default fill of the layer using geom_spatraster(fill = NA) or geom_spatraster(aes(fill = NULL)). - aes(fill = ggplot2::after_stat()) now works on geom_spatraster(). - Internal: Better handling of aes() and layers - Add new function stat_spatraster(). - Reduce the size of external files. Changes in version 0.2.2 (2022-09-29) - Changes on how dplyr, tibble and tidyr are attached. Now these packages are listed on 'Depends' and are attached before tidyterra when library or require is called. Messages on load can be suppressed with suppressPackageStartupMessages(library(tidyterra)). Changes in version 0.2.1 (2022-09-23) - Now geom_spatraster_rgb() works with facet_wrap() (#35) - Improve faceting when the plot facets are created using non-Spat* layers. - Precompute vignettes. Changes in version 0.2.0 (2022-06-21) - Recreate extdata/volcano2.tif using official DEM information from New Zealand. Source: Auckland LiDAR 1m DEM (2013). - Add volcano2 dataset. - Fix errors on slice_min() and slice_max() for SpatRaster objects (#20). Also add a new argument na.rm. - Add new gradient scales for use on hypsometry: - scale_fill_hypso_c() - scale_fill_whitebox_c() - scale_fill_wiki_c() - scale_fill_cross_blended_c() - Add new asia.tif file on extdata. Changes in version 0.1.0 (2022-05-24) - Add DOI. - CRAN release. Changes in version 0.0.1 - Improvements on performance: - Conversion to tibble is avoided as much as possible. - Internally use data.tables instead of tibbles. - The package is compatible with dtplyr. - as_spatraster() handles tibbles with characters and factors. - Simplification and tests for geom_spatraster() and geom_spatraster_rgb(). - New methods: - pull() - transmute() - rename() - New geoms: - geom_spatraster_contour() family.