2024-10-26 07:45:17 by Makoto Fujiwara | Files touched by this commit (2) |
Log message: (devel/R-xfun) Updated 0.42 to 0.48 # CHANGES IN xfun VERSION 0.48 - Added utilities for HTML tags: `html_tag()`, `html_escape()`, `html_escape()`, and `html_view()`. Removed the soft dependency on the **htmltools** package accordingly. - `base_pkgs()` is faster now: it calls `tools::standard_package_names()` if the function exists (R >= 4.4.0), otherwise it just returns a constant vector of base package names (thanks, @arnaudgallou, #91). - Added a function `mime_type()` to obtain the MIME types of files via `mime::guess_type()` if **mime** is installed, otherwise it will call `tools:::mime_type()`, and fall back to using a system command (e.g., `file --mime-type`) to obtain the types. - Added a function `file_rename()` to deal with `file.rename()` failures by calling `file.copy()` (thanks, @Giqles @katrinabrock, rstudio/bookdown#804). - `new_app()` will use `utils::browseURL()` to open the app if `options('viewer')` is not configured (thanks, @AlbertLei, yihui/litedown#29). - Added a method `record_print.record_asis()` to return the object as is. # CHANGES IN xfun VERSION 0.47 - Added functions `lazy_save()` and `lazy_load()` to save objects to files and lazy-load them. - Fixed a bug in `record(dev = svglite::svglite)` that misplaced plots when low-level plot functions are used (thanks, @liao961120, yihui/litedown#17). - Specified the lowest R version required (v3.2.0) for this package. # CHANGES IN xfun VERSION 0.46 - `md_table()` should add a vertical ellipsis to row names when rows are truncated by the `limit` argument. - `session_info()` recognizes Positron now (thanks, @chuxinyuan, #89). # CHANGES IN xfun VERSION 0.45 - For `record()` with `verbose = 1` or `2`, invisible `NULL` is no longer printed. - `Rscript_call()` will show the actual error message (if an error occurred) during calling the function in a new R session. # CHANGES IN xfun VERSION 0.44 - Added a function `cache_exec()` to cache the execution of an expression either in memory or on disk. It is much more general and flexible than `cache_rds()`. For example, it supports custom reading/writing methods for cache files, and can load locally created variables in the expression while loading cache. - Added an argument `cache` to `record()` to make it possible to enable caching. - Added arguments `message` and `warning` to `record()` to decide whether messages and warnings should be recorded. - Changed the default value of the argument `error` of `record()` from `FALSE` to `NA`. Now `FALSE` means to suppress error messages, and `NA` means to throw errors normally. This is for consistency with the `message` and `warning` arguments. - Added an S3 generic function `record_print()`, which is similar to `knitr::knit_print()` but for the purpose of printing visible values in `record()`. - The `record()` function gained new arguments `print` and `print.args` to support custom printing functions and arguments. - Added a function `md_table()`, which is a minimal Markdown table generator. - Exported the internal function `md5()` to calculate the MD5 checksums of R objects. The function is essentially a workaround for `tools::md5sum()` (see HenrikBengtsson/Wishlist-for-R#21). - For `fenced_block()`, a space is added between the backticks and the language name, e.g., ```` ```r ```` has become ```` ``` r ```` now. This will affect snapshot tests based on Markdown ([an example](https://github.com/yihui/knitr-examples/commit/931e0a2)). - Added a shorthand `fenced_div()` for `fenced_block(char = ':')`. - `write_utf8()` returns the `con` argument (typically a file path) now. Previously, it returns `NULL`. - Added an experimental function `new_app()` to create a local web application. - The returned value of `yaml_body()` contains a new element `lines` in the list indicating the line numbers of YAML metadata if exists. - Removed the `skip` argument from `split_source()`. - For `split_source(line_number = TRUE)`, the attribute name for line numbers in the returned value was changed from `line_start` (a single starting line number) to `lines` (both the starting and ending numbers). - Fixed an edge case in `prose_index()`, in which inline code was incorrectly recognized as a code block fence. # CHANGES IN xfun VERSION 0.43 - Added a function `upload_imgur()`, which was adapted from `knitr::imgur_upload()`. The latter will call the former in the future. `xfun::upload_imgur()` allows users to choose whether to use the system command `curl` or the R package **curl** to upload the image. It also has a new argument `include_xml` to specify whether the XML response needs to be included in the returned value. - Added a function `fenced_block()` to create a fenced block in Markdown (thanks, @cderv, yihui/knitr#2331). The block can be either a code block or a fenced Div. - Fixed a bug in `xfun::record()` when the argument `verbose = 1` or `2`. |
2024-02-18 15:22:58 by Makoto Fujiwara | Files touched by this commit (2) |
Log message: (devel/R-xfun) Updated 0.41 to 0.42 # CHANGES IN xfun VERSION 0.42 - `isFALSE()` has been fully deprecated for R >= 3.5.0, and will be completely removed from this package in the future (<https://yihui.org/en/2023/02/xfun-isfalse/>). - Added a function `record()` to run R code and record the results, which is similar to `evaluate::evaluate()` but less sophisticated and technically simpler. One major difference is that `xfun::record()` records plots directly to files instead of saving them as display lists. - `yaml_load()` gained an `envir` argument, which can be used to specify the environment to evaluate R expressions in YAML (i.e., expressions written after `!expr` or `!r`). This is not straightforward in the upstream **yaml** package (thanks, @viking, vubiostat/r-yaml#54). - `yaml_body()` gained the `...` argument to pass more arguments to `yaml_load()`. - `split_source()` gained a `merge_comments` argument to merge consecutive lines of comments into the next code block, a `line_number` argument to store the line number of each expression in the returned value, and a `skip` argument to skip the rest of the code when the skip token is found. - `check_old_package()` has been vectorized, i.e., the arguments `name` and `version` can take vectors now. - Factored out the code for parsing chunk options and dividing a chunk into chunk options and chunk body from **knitr** to this package as functions `csv_options()` and `divide_chunk()`, respectively. They will be used by **knitr** and other packages in future. - Added a function `decimal_dot()` to evaluate an expression after forcing `options(OutDec = '.')` and `Sys.setlocale(LC_NUMERIC = 'C')` (for rstudio/rmarkdown#2525). |
2024-02-05 22:19:44 by Makoto Fujiwara | Files touched by this commit (2) |
Log message: (devel/R-xfun) Updated 0.36 to 0.41, make test missing TEST_DEPENDS # CHANGES IN xfun VERSION 0.41 - `process_file()` will write to the file only if the processed text is different with the input text. This is to avoid writing files unnecessarily. - `session_info()` will remove extra blank lines (thanks, @chuxinyuan, #82) and also omit the time zone info. # CHANGES IN xfun VERSION 0.40 - `number_to_words()` supports decimal numbers now (thanks, @harshvardhaniimi, #80). - `is_ascii()` is more robust now (thanks, @bastistician, #81). # CHANGES IN xfun VERSION 0.39 - Fixed a bug that `protect_math()` fails to protect the starting `$$` that has leading white spaces. - Added a function `strip_html()` to remove HTML tags and comments from text. - The function `alnum_id()` will remove HTML tags and comments from text (using `strip_html()`) before converting it to an ID string. - Added a function `env_option()` to retrieve an option value from `options()`. If the option does not exist there, check the environment variables. This provides a way for users to set an option via either `options()` or an environment variable. # CHANGES IN xfun VERSION 0.38 - Added an object `download_cache`, which is a list of methods to download a URL, cache the result, retrieve the result from the cache, and clear the cache. - Added an argument `default` to `url_filename()` to provide a default filename when it cannot be determined from the URL. - Added a function `yaml_load()` to read YAML data when the **yaml** package is not available. It only supports a limited number of data types and is supposed to be used as a fallback method. See the help page `?xfun::yaml_load` for details. - Added a function `yaml_body()` to split a document into YAML metadata and the body. - `is_arm64()` also supports Linux now (thanks, @eitsupi, #74). - `is_blank()` returns a logical vector of the same length as the input vector now, indicating if each element of the input is blank. Previously it returns a logical scalar indicating whether *all* elements are blank. If you want the old behavior, you can use `all(is_blank())`. # CHANGES IN xfun VERSION 0.37 - Added a function `is_arm64()` to test the CPU type (thanks, @AlbanSagouis, #72). - Started deprecating `xfun::isFALSE()` in favor of `base::isFALSE()` for R >= 3.5.0 (thanks, @mmaechler, #66); `isFALSE()` will eventually be removed from **xfun** when we do not need to support R < 3.5.0. |
2023-06-03 15:40:21 by Makoto Fujiwara | Files touched by this commit (2) |
Log message: (devel/R-xfun) Updated 0.37 to 0.39 # CHANGES IN xfun VERSION 0.39 - Fixed a bug that `protect_math()` fails to protect the starting `$$` that has leading white spaces. - Added a function `strip_html()` to remove HTML tags and comments from text. - The function `alnum_id()` will remove HTML tags and comments from text (using `strip_html()`) before converting it to an ID string. - Added a function `env_option()` to retrieve an option value from `options()`. If the option does not exist there, check the environment variables. This provides a way for users to set an option via either `options()` or an environment variable. # CHANGES IN xfun VERSION 0.38 - Added an object `download_cache`, which is a list of methods to download a URL, cache the result, retrieve the result from the cache, and clear the cache. - Added an argument `default` to `url_filename()` to provide a default filename when it cannot be determined from the URL. - Added a function `yaml_load()` to read YAML data when the **yaml** package is not available. It only supports a limited number of data types and is supposed to be used as a fallback method. See the help page `?xfun::yaml_load` for details. - Added a function `yaml_body()` to split a document into YAML metadata and the body. - `is_arm64()` also supports Linux now (thanks, @eitsupi, #74). - `is_blank()` returns a logical vector of the same length as the input vector now, indicating if each element of the input is blank. Previously it returns a logical scalar indicating whether *all* elements are blank. If you want the old behavior, you can use `all(is_blank())`. |
2023-02-19 13:48:24 by Makoto Fujiwara | Files touched by this commit (2) |
Log message: (devel/R-xfun) Updated 0.36 to 0.37 # CHANGES IN xfun VERSION 0.37 - Added a function `is_arm64()` to test the CPU type (thanks, @AlbanSagouis, #72). - Started deprecating `xfun::isFALSE()` in favor of `base::isFALSE()` for R >= 3.5.0 (thanks, @mmaechler, #66); `isFALSE()` will eventually be removed from **xfun** when we do not need to support R < 3.5.0. |
2022-12-31 13:44:14 by Makoto Fujiwara | Files touched by this commit (2) |
Log message: (devel/R-xfun) Updated 0.35 to 0.36 # CHANGES IN xfun VERSION 0.36 - Added a new argument `resolve_symlink` to `normalize_path()` to get the absolute paths of symlinks without resolving them (with `resolve_symlink = FALSE`). |
2022-12-18 06:08:39 by Makoto Fujiwara | Files touched by this commit (2) |
Log message: (devel/R-xfun) Updated 0.31 to 0.35 # CHANGES IN xfun VERSION 0.35 - Added a new argument `token` to `protect_math()` to optionally include a token around math expressions. - `base64_uri()` relies less on the **mime** package now. For some common file extensions (e.g., `.jpg`/`.png`), this function knows their MIME types. - `stringsAsStrings()` has been removed from this package. # CHANGES IN xfun VERSION 0.34 - Added a new function `alnum_id()` to generate ID strings from a character vector. - The function `stringsAsStrings()` has been deprecated. # CHANGES IN xfun VERSION 0.33 - Reverted the change for #68: the characters `-+!_#` are no longer accepted by default in filename extensions, since they are relatively rare and caused a breakage in rstudio/bookdown#1369. If you wish to allow for these characters, you may use the new `extra` argument in `file_ext()` and related functions, e.g., `xfun::file_ext(x, extra = '-+!_#')`. - The function `stringsAsStrings()` will be deprecated in a future release of **xfun**, because the global option `stringsAsFactors = FALSE` has become the default in base R since 4.0.0. # CHANGES IN xfun VERSION 0.32 - Added a function `shrink_images()` to shrink images to a maximum width using the **magick** package (thanks, @apreshill, rstudio/blogdown#614). - Added a function `tinify_dir()` as a wrapper of `tinify()` to compress images under a directory. - `file_ext()` supports more file extensions now, such as `.c++`, `.FB2K-COMPONENT`, and so on (thanks, @tentacles-from-outer-space, #68). - Fixed the issue that `xfun::base_pkgs()` could hang R (thanks, @mmaechler, #66). - The `...` argument in `dir_create()` was not passed to `dir.create()`. |
2022-05-30 17:11:36 by Makoto Fujiwara | Files touched by this commit (2) |
Log message: (devel/R-xfun) Updated 0.30 to 0.31 # CHANGES IN xfun VERSION 0.31 - `github_releases(use_jsonlite = FALSE)` supports R versions below 4.1.0 now. - `session_info()` silently drops empty package names now (thanks, @phargarten2, \ #65). |