{"action":"published","release":{"url":"https://api.github.com/repos/yihui/xfun/releases/11512766","assets_url":"https://api.github.com/repos/yihui/xfun/releases/11512766/assets","upload_url":"https://uploads.github.com/repos/yihui/xfun/releases/11512766/assets{?name,label}","html_url":"https://github.com/yihui/xfun/releases/tag/v0.2","id":11512766,"node_id":"MDc6UmVsZWFzZTExNTEyNzY2","tag_name":"v0.2","target_commitish":"master","name":"xfun 0.2","draft":false,"author":{"login":"yihui","id":163582,"node_id":"MDQ6VXNlcjE2MzU4Mg==","avatar_url":"https://avatars2.githubusercontent.com/u/163582?v=4","gravatar_id":"","url":"https://api.github.com/users/yihui","html_url":"https://github.com/yihui","followers_url":"https://api.github.com/users/yihui/followers","following_url":"https://api.github.com/users/yihui/following{/other_user}","gists_url":"https://api.github.com/users/yihui/gists{/gist_id}","starred_url":"https://api.github.com/users/yihui/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yihui/subscriptions","organizations_url":"https://api.github.com/users/yihui/orgs","repos_url":"https://api.github.com/users/yihui/repos","events_url":"https://api.github.com/users/yihui/events{/privacy}","received_events_url":"https://api.github.com/users/yihui/received_events","type":"User","site_admin":false},"prerelease":false,"created_at":"2018-06-16T13:51:23Z","published_at":"2018-06-16T13:52:47Z","assets":[],"tarball_url":"https://api.github.com/repos/yihui/xfun/tarball/v0.2","zipball_url":"https://api.github.com/repos/yihui/xfun/zipball/v0.2","body":"## NEW FEATURES\r\n\r\n- Added a `new_session` argument to `loadable()`.\r\n\r\n- Added new functions `gsub_file()`, `gsub_files()`, `gsub_dir()`, and `gsub_ext()` to replace strings in files.\r\n\r\n- Added new functions `Rscript` and `Rcmd` as wrappers of `system2('Rscript')` and `system2('R', 'CMD')`, respectively.\r\n\r\n- Added a new function `install_dir()` to install a source package from a directory.\r\n\r\n- Added a new function `file_string()` to read a text file (encoded in UTF-8) and return its content a single character string (lines concatenated by `\\n`). \r\n\r\n- Added a new function `raw_string()` to print a character vector in its \"raw\" form using `cat(..., sep = '\\n')` instead of `print()`, because the latter may introduce `[1]`, \"extra\" double quotes, and escape sequences, which are not very human-readable.\r\n\r\n- Added a new function `session_info()` as an alternative to `sessionInfo()`.\r\n\r\n- Added a new function `rev_check()` to run `R CMD check` on the reverse dependencies of a package, and a corresponding helper function `compare_Rcheck()` for showing the differences in logs with the CRAN version and the current version of the package, respectively.\r\n\r\n- Added new functions for dealing with Markdown text: `prose_index()` returns the line indices of text that is prose (not code blocks), and `protect_math()` protects math expressions in Markdown in backticks.\r\n\r\n- Added an `error` argument to `read_utf8()` to signal an error if the file is not encoded in UTF-8."}}
{"actor":{"display_login":"yihui"}}