|
|
|
---
|
|
|
|
output: rmarkdown::github_document
|
|
|
|
editor_options:
|
|
|
|
chunk_output_type: console
|
|
|
|
---
|
|
|
|
|
|
|
|
# vershist
|
|
|
|
|
|
|
|
Collect Version Histories For Vendor Products
|
|
|
|
|
|
|
|
## Description
|
|
|
|
|
|
|
|
Provides a set of functions to gather version histories of products
|
|
|
|
(mainly software products) from their sources (generally websites).
|
|
|
|
|
|
|
|
## What's Inside The Tin
|
|
|
|
|
|
|
|
The following functions are implemented:
|
|
|
|
|
|
|
|
Core:
|
|
|
|
|
|
|
|
- `apache_httpd_version_history`: Retrieve Apache httpd Version Release History
|
|
|
|
- `apple_ios_version_history`: Retrieve Apple iOS Version Release History
|
|
|
|
- `google_chrome_version_history`: Retrieve Google Chrome Version Release History
|
|
|
|
- `lighttpd_version_history`: Retrieve lighttpd Version Release History
|
|
|
|
- `memcached_version_history`: Retrieve memcached Version Release History
|
|
|
|
- `mongodb_version_history`: Retrieve MongoDB Version Release History
|
|
|
|
- `mysql_version_history`: Retrieve MySQL Version Release History
|
|
|
|
- `nginx_version_history`: Retrieve nginx Version Release History
|
|
|
|
- `openresty_version_history`: Retrieve openresty Version Release History
|
|
|
|
- `openssh_version_history`: Retrieve OpenSSH Version Release History
|
|
|
|
- `sendmail_version_history`: Retrieve sendmail Version Release History
|
|
|
|
- `sqlite_version_history`: Retrieve sqlite Version Release History
|
|
|
|
|
|
|
|
Utility:
|
|
|
|
|
|
|
|
- `is_valid_semver`: Test if semantic version strings are valid
|
|
|
|
- `complete_semver`: Turn partial "valid" semantic version strings into a complete semver-tri or quad strings
|
|
|
|
|
|
|
|
## Installation
|
|
|
|
|
|
|
|
```{r eval=FALSE}
|
|
|
|
devtools::install_github("hrbrmstr/vershist")
|
|
|
|
```
|
|
|
|
|
|
|
|
```{r message=FALSE, warning=FALSE, error=FALSE, include=FALSE}
|
|
|
|
options(width=120)
|
|
|
|
```
|
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
|
|
|
```{r message=FALSE, warning=FALSE, error=FALSE}
|
|
|
|
library(vershist)
|
|
|
|
|
|
|
|
# current verison
|
|
|
|
packageVersion("vershist")
|
|
|
|
```
|
|
|
|
|
|
|
|
Utility
|
|
|
|
|
|
|
|
```{r utility}
|
|
|
|
versions <- c("steve", "1", "2.1", "3.2.1", "4.3.2.1")
|
|
|
|
|
|
|
|
# Technically, a "valid" semver string is MAJOR.MINOR.PATCH
|
|
|
|
is_valid_semver(versions)
|
|
|
|
|
|
|
|
complete_semver(versions)
|
|
|
|
|
|
|
|
complete_semver(versions, quad=TRUE)
|
|
|
|
```
|
|
|
|
|
|
|
|
Apache
|
|
|
|
|
|
|
|
```{r apache, cache=TRUE}
|
|
|
|
apache_httpd_version_history()
|
|
|
|
```
|
|
|
|
|
|
|
|
Apple iOS
|
|
|
|
|
|
|
|
```{r apple_ios, cache=TRUE}
|
|
|
|
apple_ios_version_history()
|
|
|
|
```
|
|
|
|
|
|
|
|
Google Chrome
|
|
|
|
|
|
|
|
```{r chrome, cache=TRUE}
|
|
|
|
google_chrome_version_history()
|
|
|
|
```
|
|
|
|
|
|
|
|
lighttpd
|
|
|
|
|
|
|
|
```{r lighttpd, cache=TRUE}
|
|
|
|
lighttpd_version_history()
|
|
|
|
```
|
|
|
|
|
|
|
|
memcached
|
|
|
|
|
|
|
|
```{r memcached, cache=TRUE}
|
|
|
|
memcached_version_history()
|
|
|
|
```
|
|
|
|
|
|
|
|
mongodb
|
|
|
|
|
|
|
|
```{r mongodb, cache=TRUE}
|
|
|
|
mongodb_version_history()
|
|
|
|
```
|
|
|
|
|
|
|
|
MySQL
|
|
|
|
|
|
|
|
```{r mysql, cache=TRUE}
|
|
|
|
mysql_version_history()
|
|
|
|
```
|
|
|
|
|
|
|
|
nginx
|
|
|
|
|
|
|
|
```{r nginx, cache=TRUE}
|
|
|
|
nginx_version_history()
|
|
|
|
```
|
|
|
|
|
|
|
|
openresty
|
|
|
|
|
|
|
|
```{r openresty, cache=TRUE}
|
|
|
|
openresty_version_history()
|
|
|
|
```
|
|
|
|
|
|
|
|
OpenSSH
|
|
|
|
|
|
|
|
```{r openssh, cache=TRUE}
|
|
|
|
openssh_version_history()
|
|
|
|
```
|
|
|
|
|
|
|
|
SQLite
|
|
|
|
|
|
|
|
```{r sqlite, cache=TRUE}
|
|
|
|
sqlite_version_history()
|
|
|
|
```
|
|
|
|
|
|
|
|
sendmail
|
|
|
|
|
|
|
|
```{r sendmail, cache=TRUE}
|
|
|
|
sendmail_version_history()
|
|
|
|
```
|