Releases: tidyverse/glue
glue 1.8.0
-
glue has a two new articles:
- "Get started", with contributions from @stephhazlitt and @BrennanAntone
(#137, #170, #332). - How to write a function that wraps glue (#281).
- "Get started", with contributions from @stephhazlitt and @BrennanAntone
-
If the last argument of
glue()
is empty, it is dropped (#320). This makes
it easy to structureglue()
calls with one argument per line, and to anticipate adding arguments:glue( "here's some text, ", "and maybe more text will be added in the future?", )
-
glue_sql("{var*}")
once again generatesNULL
if var is empty.
This reverts #292. (#318). -
The
.envir
argument toglue()
andglue_data()
really must be an
environment now, as documented. Previously a list-ish object worked in
some cases (by accident, not really by design). When you need to lookup
values in a list-ish object, useglue_data(.x =)
(#308, #317).
Ditto forglue_sql()
andglue_data_sql()
.
glue 1.7.0
-
If rlang is installed, glue will generate more informative errors if an
interpolated expression either can't be parsed or fails to evaluate (#229). -
+
now works in more situations, and gives errors when one side isn't a
character vector. It no longer automatically applies glue interpolation to
a non-glue input, if there is one. You'll need to do that yourself (#286). -
glue_collapse(character())
(and henceglue_sql_collapse(character())
) now
return""
, so that they always return a single string (#88). -
glue_sql()
now collapses an empty vector to""
not"NULL"
(#272). -
glue_sql()
now usesDBI::dbQuoteLiteral()
for all object types. This
should increase fidelity of escaping for different object types (#279). -
The "Speed of glue" vignette has been converted to an article, which allows
several package to be removed fromSuggests
(and re-located to
Config/Needs/website
). The code got a light refresh, including a switch
from microbenchmark to bench and more modern use of ggplot2. -
Add
$(C_VISIBILITY)
to compiler flags to hide internal symbols from the dll (#284 @lionel-).
glue 1.6.2
- Modify a test for better forward compatibility with R.
glue 1.6.1
- glue now registers its custom knitr engines in a way that is more robust to namespace-loading edge cases that can arise during package installation (#254).
glue 1.6.0
-
glue()
,glue_data()
,glue_col()
, andglue_data_col()
gain a new.literal
argument, which controls how quotes and the comment character are treated when parsing the expression string (#235). This is mostly useful when using a custom transformer. -
Trailing whitespace-only lines don't interfere with indentation (#247).
glue 1.5.1
-
Jennifer Bryan is now the maintainer.
-
The existing custom language engines for knitr,
glue
andglue_sql
, are documented in a new vignette (#71). -
glue_col()
gives special treatment to styling functions from the crayon package, e.g.glue_col("{blue foo}")
"just works" now, even if crayon is not attached (but is installed) (#241). -
Unterminated backticks trigger the same error as unterminated single or double quotes (#237).
-
glue_sql()
collapses zero-lengthDBI::SQL
object intoDBI::SQL("NULL")
(#244 @shrektan).
glue 1.5.0
Breaking changes
- Long deprecated function
collapse()
has been removed (#213)
New functions and arguments
-
New
glue_sql_collapse()
function to collapse inputs and return aDBI::SQL()
object (#103). -
glue()
gains a new.comment
argument, to control the comment character (#193). -
glue()
gains a new.null
argument, to control the value to replaceNULL
values with (#217, @echasnovski).
Bugfixes and minor changes
sql_quote_transformer()
is now allows whitespace after the trailing*
(#218).compare_proxy.glue()
method defined so glue objects can be compared to strings in testthat 3e without errors (#212)print.glue()
no longer prints an empty newline for 0 length inputs (#214)- Unterminated comments in glue expression now throw an error (#227, @gaborcsardi)
- Unterminated quotes in glue expressions now throw an error (#226, @gaborcsardi)
glue v1.4.2
glue 1.4.1
glue 1.4.0
-
.envir = NULL
is now supported and is equivalent to passing.envir = emptyenv()
(#140) -
New
glue_safe()
andglue_data_safe()
functions, safer versions of
glue()
that do not execute code, only look up values (usingget()
). These
alternatives are useful for things like shiny applications where you do not
have control of the input for your glue expressions. (#140) -
Fixed memory access issue and memory leaks found by valgrind.