A minor update to RSwitch has been released. Apart from some internal code reorganization there are three user-facing changes.
First, RSwitch is now notarized! That means you won’t get a notice about it being from an “unidentified developer” nor will folks on Catalina see a warning about unable to check the download for malware. You can use {macthekinfe} to check out the application signature and notarization info:
check_sig("/Applications/RSwitch.app") %>%
print(n=nrow(.))
## # A tibble: 25 x 2
## key value
## <chr> <chr>
## 1 Executable /Applications/RSwitch.app/Contents/MacOS/RSwitch
## 2 Identifier is.rud.bob.RSwitch
## 3 Format app bundle with Mach-O thin (x86_64)
## 4 CodeDirectory v 20500 size=1342 flags=0x10000(runtime) hashes=33+5 location=embedded
## 5 VersionPlatform 1
## 6 VersionMin 658944
## 7 VersionSDK 659200
## 8 Hash type sha256 size=32
## 9 CandidateCDHash sha256 efa512a9daabfb9402af8a91697f008b89ffa81e
## 10 CandidateCDHashFull sha256 efa512a9daabfb9402af8a91697f008b89ffa81ea014452821e39a5365d80fe6
## 11 Hash choices sha256
## 12 CMSDigest efa512a9daabfb9402af8a91697f008b89ffa81ea014452821e39a5365d80fe6
## 13 CMSDigestType 2
## 14 Page size 4096
## 15 CDHash efa512a9daabfb9402af8a91697f008b89ffa81e
## 16 Signature size 8968
## 17 Authority Developer ID Application: Bob Rudis (CBY22P58G8)
## 18 Authority Developer ID Certification Authority
## 19 Authority Apple Root CA
## 20 Timestamp Sep 1, 2019 at 08:46:41
## 21 Info.plist entries 26
## 22 TeamIdentifier CBY22P58G8
## 23 Runtime Version 10.15.0
## 24 Sealed Resources version 2 rules=13 files=26
## 25 Internal requirements count 1 size=212
check_notarization("/Applications/RSwitch.app")
## # A tibble: 4 x 2
## key value
## <chr> <chr>
## 1 application /Applications/RSwitch.app
## 2 status accepted
## 3 source Notarized Developer ID
## 4 origin Developer ID Application: Bob Rudis (CBY22P58G8)
Note: you may (I’m working on installing it in a fresh Catalina VM to know definitely) need to ensure RSwitch is granted “Full Disk Access” in System Preferences -> Security & Privacy -> [Privacy] tab to ensure it can operate where it needs to:
Next, since it’s possible to have an old set of just package libraries at a given /Library/Frameworks/R.framework/Versions/#.#
path but no R binary in said locations, the script now does what the R Core RSwitch app (Simon was kind enough to forward that R-Forge SVN web link) does and performs some extra validation to see if a given R version directory is, indeed, switchable to. Directories that aren’t switchable are shown but grayed out (as in the image, below) and marked as “incomplete”. You probably should clean out those old paths.
Finally, in the same image keen observers will see a few more relevant links have been added to the “bookmarks”. I added them because I frequent them as I work on R-related things.
Folks who are running 1.4.0 should be able to use the “Check for update…” menu item to get to the releases page. You can also get it from the RSwitch landing page or download it directly via: https://rud.is/rswitch/releases/RSwitch-1.4.1.app.zip.
FIN
RSwitch feels feature complete so the pace of development and releases will likely slow a bit. Some spiffy folks have offered both a new app icon and a request to make it easier to switch between running RStudio/R GUI instances and I’m working on incorporating both of those ideas into the app. If you do have a problem, question, or feature request, definitely file an issue on your favorite social coding site. Links to where RSwitch source code can be found to file said issue(s) are at the bottom of the RSwitch landing page.