Collect Version Histories For Vendor Products
Provides a set of functions to gather version histories of products (mainly software products) from their sources (generally websites).
The following functions are implemented:
Core:
apache_httpd_version_history
: Retrieve Apache httpd Version Release Historyapple_ios_version_history
: Retrieve Apple iOS Version Release Historycitrix_netscaler_version_history
: Citrix Netscaler ADC Version Historyetcd_version_history
: Retrieve etcd Version Release Historygoogle_chrome_version_history
: Retrieve Google Chrome Version Release Historyisc_bind_version_history
: Retrieve ISC BIND Version Release Historylighttpd_version_history
: Retrieve lighttpd Version Release Historymemcached_version_history
: Retrieve memcached Version Release Historymongodb_version_history
: Retrieve MongoDB Version Release Historymysql_version_history
: Retrieve MySQL Version Release Historynginx_version_history
: Retrieve nginx Version Release Historyopenresty_version_history
: Retrieve openresty Version Release Historyopenssh_version_history
: Retrieve OpenSSH Version Release Historyphp_version_history
: Retrieve PHP Version Release Historysendmail_version_history
: Retrieve sendmail Version Release Historysqlite_version_history
: Retrieve sqlite Version Release Historytomcat_version_history
: Retrieve Apache Tomcat Version Release History
Utility:
is_valid_semver
: Test if semantic version strings are validcomplete_semver
: Turn partial βvalidβ semantic version strings into a complete semver-tri or quad strings
devtools::install_git("https://git.sr.ht/~hrbrmstr/vershist")
# OR
devtools::install_gitlab("hrbrmstr/vershist")
# OR
devtools::install_github("hrbrmstr/vershist")
library(vershist)
# current verison
packageVersion("vershist")
## [1] '0.4.2'
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)
## [1] FALSE TRUE TRUE TRUE FALSE
complete_semver(versions)
## [1] "steve" "1.0.0" "2.1.0" "3.2.1" "4.3.2.1"
complete_semver(versions, quad=TRUE)
## [1] "steve" "1.0.0.0" "2.1.0.0" "3.2.1.0" "4.3.2.1"
Apache
apache_httpd_version_history()
## # A tibble: 109 x 8
## vers rls_date rls_year major minor patch prerelease build
## <fct> <date> <dbl> <int> <int> <int> <chr> <chr>
## 1 1.3.0 1998-06-05 1998 1 3 0 "" ""
## 2 1.3.1 1998-07-22 1998 1 3 1 "" ""
## 3 1.3.2 1998-09-21 1998 1 3 2 "" ""
## 4 1.3.3 1998-10-09 1998 1 3 3 "" ""
## 5 1.3.4 1999-01-10 1999 1 3 4 "" ""
## 6 1.3.6 1999-03-23 1999 1 3 6 "" ""
## 7 1.3.9 1999-08-19 1999 1 3 9 "" ""
## 8 1.3.11 2000-01-22 2000 1 3 11 "" ""
## 9 1.3.12 2000-02-25 2000 1 3 12 "" ""
## 10 1.3.14 2000-10-10 2000 1 3 14 "" ""
## # β¦ with 99 more rows
Apple iOS
apple_ios_version_history()
## # A tibble: 144 x 7
## vers rls_date major minor patch prerelease build
## <fct> <date> <int> <int> <int> <chr> <chr>
## 1 1.0.0 2007-06-29 1 0 0 "" ""
## 2 1.0.1 2007-07-31 1 0 1 "" ""
## 3 1.0.2 2007-08-21 1 0 2 "" ""
## 4 1.1.0 2007-09-14 1 1 0 "" ""
## 5 1.1.1 2007-09-27 1 1 1 "" ""
## 6 1.1.2 2007-11-12 1 1 2 "" ""
## 7 1.1.3 2008-01-15 1 1 3 "" ""
## 8 1.1.4 2008-02-26 1 1 4 "" ""
## 9 1.1.5 2008-07-15 1 1 5 "" ""
## 10 2.0.0 2008-07-11 2 0 0 "" ""
## # β¦ with 134 more rows
etcd iOS
etcd_version_history()
## # A tibble: 179 x 8
## vers rls_date rls_year major minor patch prerelease build
## <fct> <date> <dbl> <int> <int> <int> <chr> <int>
## 1 0.1.0 2013-08-11 2013 0 1 0 <NA> NA
## 2 0.1.1 2013-08-19 2013 0 1 1 <NA> NA
## 3 0.1.2 2013-10-10 2013 0 1 2 <NA> NA
## 4 0.2.0 2013-12-23 2013 0 2 0 <NA> NA
## 5 0.2.0-rc4 2013-12-23 2013 0 2 0 rc4 NA
## 6 0.2.0-rc3 2013-12-16 2013 0 2 0 rc3 NA
## 7 0.2.0-rc2 2013-12-06 2013 0 2 0 rc2 NA
## 8 0.2.0-rc1 2013-11-14 2013 0 2 0 rc1 NA
## 9 0.2.0-rc0 2013-10-17 2013 0 2 0 rc0 NA
## 10 0.3.0 2014-02-07 2014 0 3 0 <NA> NA
## # β¦ with 169 more rows
Google Chrome
google_chrome_version_history()
## # A tibble: 85 x 8
## vers rls_date rls_year major minor patch prerelease build
## <fct> <date> <dbl> <int> <int> <int> <chr> <chr>
## 1 0.2.149 2008-09-02 2008 0 2 149 "" ""
## 2 0.3.154 2008-10-29 2008 0 3 154 "" ""
## 3 0.4.154 2008-11-24 2008 0 4 154 "" ""
## 4 1.0.154 2008-12-11 2008 1 0 154 "" ""
## 5 2.0.172 2009-05-24 2009 2 0 172 "" ""
## 6 3.0.195 2009-10-12 2009 3 0 195 "" ""
## 7 4.0.249 2010-01-25 2010 4 0 249 "" ""
## 8 4.1.249 2010-03-17 2010 4 1 249 "" ""
## 9 5.0.375 2010-05-21 2010 5 0 375 "" ""
## 10 6.0.472 2010-09-02 2010 6 0 472 "" ""
## # β¦ with 75 more rows
ISC BIND
isc_bind_version_history()
## # A tibble: 607 x 3
## vers rls_date rls_year
## <fct> <date> <dbl>
## 1 9.0.0 2004-01-28 2004
## 2 9.0.0b1 2004-01-28 2004
## 3 9.0.0b2 2004-01-28 2004
## 4 9.0.0b3 2004-01-28 2004
## 5 9.0.0b4 2004-01-28 2004
## 6 9.0.0b5 2004-01-28 2004
## 7 9.0.0rc1 2004-01-28 2004
## 8 9.0.0rc2 2004-01-28 2004
## 9 9.0.0rc3 2004-01-28 2004
## 10 9.0.0rc4 2004-01-28 2004
## # β¦ with 597 more rows
lighttpd
lighttpd_version_history()
## # A tibble: 102 x 3
## vers rls_date rls_year
## <chr> <dttm> <dbl>
## 1 1.4.36 2015-07-26 10:39:36 2015
## 2 1.4.20 2008-09-29 23:27:45 2008
## 3 1.4.17 2007-08-29 00:44:32 2007
## 4 1.4.41 2016-07-31 12:51:39 2016
## 5 1.4.34 2014-01-20 12:31:42 2014
## 6 1.4.39 2016-01-02 12:57:37 2016
## 7 1.4.22 2009-03-07 14:51:14 2009
## 8 1.4.15 2007-04-13 21:00:18 2007
## 9 1.4.18 2007-09-09 20:11:09 2007
## 10 1.4.43 2016-10-31 13:18:33 2016
## # β¦ with 92 more rows
memcached
memcached_version_history()
## # A tibble: 63 x 9
## vers rls_date string rls_year major minor patch prerelease build
## <fct> <date> <chr> <dbl> <int> <int> <int> <chr> <chr>
## 1 1.2.7 2009-04-03 1.2.7 2009 1 2 7 "" ""
## 2 1.2.8 2009-04-11 1.2.8 2009 1 2 8 "" ""
## 3 1.4.0 2009-07-09 1.4.0 2009 1 4 0 "" ""
## 4 1.4.1 2009-08-29 1.4.1 2009 1 4 1 "" ""
## 5 1.4.2 2009-10-11 1.4.2 2009 1 4 2 "" ""
## 6 1.4.3 2009-11-07 1.4.3 2009 1 4 3 "" ""
## 7 1.4.4 2009-11-26 1.4.4 2009 1 4 4 "" ""
## 8 1.4.5 2010-04-03 1.4.5 2010 1 4 5 "" ""
## 9 1.4.6 2011-07-15 1.4.6 2011 1 4 6 "" ""
## 10 1.4.7 2011-08-16 1.4.7 2011 1 4 7 "" ""
## # β¦ with 53 more rows
mongodb
mongodb_version_history()
## # A tibble: 222 x 8
## vers rls_date rls_year major minor patch prerelease build
## <fct> <chr> <dbl> <int> <int> <int> <chr> <chr>
## 1 0.8.0 2009-02-11 2009 0 8 0 "" ""
## 2 0.9.0 2009-03-27 2009 0 9 0 "" ""
## 3 0.9.1 2009-08-24 2009 0 9 1 "" ""
## 4 0.9.2 2009-05-22 2009 0 9 2 "" ""
## 5 0.9.3 2009-05-29 2009 0 9 3 "" ""
## 6 0.9.4 2009-06-09 2009 0 9 4 "" ""
## 7 0.9.5 2009-06-23 2009 0 9 5 "" ""
## 8 0.9.6 2009-07-08 2009 0 9 6 "" ""
## 9 0.9.7 2009-07-29 2009 0 9 7 "" ""
## 10 0.9.8 2009-08-14 2009 0 9 8 "" ""
## # β¦ with 212 more rows
MySQL
mysql_version_history()
## # A tibble: 230 x 8
## vers rls_date rls_year major minor patch prerelease build
## <fct> <date> <dbl> <int> <int> <int> <chr> <chr>
## 1 5.0.15a 2005-10-25 2005 5 0 15 "" a
## 2 5.0.15 2005-10-24 2005 5 0 15 "" ""
## 3 5.0.16a 2005-11-19 2005 5 0 16 "" a
## 4 5.0.16 2005-11-18 2005 5 0 16 "" ""
## 5 5.0.17a 2005-12-16 2005 5 0 17 "" a
## 6 5.0.17 2005-12-20 2005 5 0 17 "" ""
## 7 5.0.18 2005-12-29 2005 5 0 18 "" ""
## 8 5.0.19 2006-03-07 2006 5 0 19 "" ""
## 9 5.0.20a 2006-04-20 2006 5 0 20 "" a
## 10 5.0.20 2006-04-10 2006 5 0 20 "" ""
## # β¦ with 220 more rows
nginx
nginx_version_history()
## # A tibble: 523 x 8
## vers rls_date rls_year major minor patch prerelease build
## <fct> <date> <dbl> <int> <int> <int> <lgl> <int>
## 1 0.1.0 2004-10-04 2004 0 1 0 NA NA
## 2 0.1.1 2004-10-11 2004 0 1 1 NA NA
## 3 0.1.2 2004-10-21 2004 0 1 2 NA NA
## 4 0.1.3 2004-10-25 2004 0 1 3 NA NA
## 5 0.1.4 2004-10-26 2004 0 1 4 NA NA
## 6 0.1.5 2004-11-11 2004 0 1 5 NA NA
## 7 0.1.6 2004-11-11 2004 0 1 6 NA NA
## 8 0.1.7 2004-11-12 2004 0 1 7 NA NA
## 9 0.1.8 2004-11-20 2004 0 1 8 NA NA
## 10 0.1.9 2004-11-25 2004 0 1 9 NA NA
## # β¦ with 513 more rows
openresty
openresty_version_history()
## # A tibble: 157 x 8
## vers rls_date rls_year major minor patch prerelease build
## <fct> <date> <dbl> <int> <int> <int> <chr> <int>
## 1 0.8.54.9 2011-07-08 2011 0 8 54 "" 9
## 2 0.8.54.8 2011-07-01 2011 0 8 54 "" 8
## 3 0.8.54.6 2011-06-15 2011 0 8 54 "" 6
## 4 0.8.54.5 2011-05-25 2011 0 8 54 "" 5
## 5 0.8.54.4 2011-05-13 2011 0 8 54 "" 4
## 6 0.8.54.3 2011-03-29 2011 0 8 54 "" 3
## 7 1.0.4.2 2011-08-09 2011 1 0 4 "" 2
## 8 1.0.4.1 2011-07-30 2011 1 0 4 "" 1
## 9 1.0.4.0 2011-07-12 2011 1 0 4 "" 0
## 10 1.0.5.1 2011-09-04 2011 1 0 5 "" 1
## # β¦ with 147 more rows
OpenSSH
openssh_version_history()
## # A tibble: 59 x 8
## vers rls_date rls_year major minor patch prerelease build
## <fct> <date> <dbl> <int> <int> <int> <chr> <chr>
## 1 2.9.0 2001-04-29 2001 2 9 0 "" ""
## 2 2.9.9 2001-09-25 2001 2 9 9 "" ""
## 3 3.0.0 2001-11-06 2001 3 0 0 "" ""
## 4 3.0.1 2001-11-19 2001 3 0 1 "" ""
## 5 3.0.2 2002-12-04 2002 3 0 2 "" ""
## 6 3.1.0 2004-04-09 2004 3 1 0 "" ""
## 7 3.2.2 2002-05-16 2002 3 2 2 "" ""
## 8 3.2.3 2002-05-23 2002 3 2 3 "" ""
## 9 3.3.0 2002-06-21 2002 3 3 0 "" ""
## 10 3.4.0 2002-06-26 2002 3 4 0 "" ""
## # β¦ with 49 more rows
PHP
php_version_history()
## # A tibble: 331 x 8
## vers rls_date rls_year major minor patch prerelease build
## <fct> <date> <dbl> <int> <int> <int> <chr> <chr>
## 1 3.0.0 2000-10-20 2000 3 0 0 "" ""
## 2 4.0.0 2000-05-22 2000 4 0 0 "" ""
## 3 4.0.1 2000-06-28 2000 4 0 1 "" ""
## 4 4.0.2 2000-08-29 2000 4 0 2 "" ""
## 5 4.0.3 2000-10-11 2000 4 0 3 "" ""
## 6 4.0.4 2000-12-19 2000 4 0 4 "" ""
## 7 4.0.5 2001-04-30 2001 4 0 5 "" ""
## 8 4.0.6 2001-06-23 2001 4 0 6 "" ""
## 9 4.1.0 2001-12-10 2001 4 1 0 "" ""
## 10 4.1.1 2001-12-26 2001 4 1 1 "" ""
## # β¦ with 321 more rows
SQLite
sqlite_version_history()
## # A tibble: 300 x 8
## vers rls_date rls_year major minor patch prerelease build
## <fct> <date> <dbl> <int> <int> <int> <chr> <chr>
## 1 1.0 2000-08-17 2000 1 0 0 "" ""
## 2 1.0.1 2000-08-18 2000 1 0 1 "" ""
## 3 1.0.3 2000-08-22 2000 1 0 3 "" ""
## 4 1.0.4 2000-08-28 2000 1 0 4 "" ""
## 5 1.0.5 2000-09-14 2000 1 0 5 "" ""
## 6 1.0.8 2000-09-30 2000 1 0 8 "" ""
## 7 1.0.9 2000-10-09 2000 1 0 9 "" ""
## 8 1.0.10 2000-10-11 2000 1 0 10 "" ""
## 9 1.0.12 2000-10-17 2000 1 0 12 "" ""
## 10 1.0.13 2000-10-19 2000 1 0 13 "" ""
## # β¦ with 290 more rows
sendmail
sendmail_version_history()
## # A tibble: 16 x 8
## vers rls_date rls_year major minor patch prerelease build
## <fct> <date> <dbl> <int> <int> <int> <chr> <chr>
## 1 8.12.11 2004-01-18 2004 8 12 11 "" ""
## 2 8.13.6 2006-03-22 2006 8 13 6 "" ""
## 3 8.13.7 2006-06-05 2006 8 13 7 "" ""
## 4 8.13.8 2006-08-09 2006 8 13 8 "" ""
## 5 8.14.0 2007-02-01 2007 8 14 0 "" ""
## 6 8.14.1 2007-04-04 2007 8 14 1 "" ""
## 7 8.14.2 2007-11-01 2007 8 14 2 "" ""
## 8 8.14.3 2008-05-03 2008 8 14 3 "" ""
## 9 8.14.4 2009-12-29 2009 8 14 4 "" ""
## 10 8.14.5 2011-05-17 2011 8 14 5 "" ""
## 11 8.14.6 2012-12-23 2012 8 14 6 "" ""
## 12 8.14.7 2013-04-21 2013 8 14 7 "" ""
## 13 8.14.8 2014-01-26 2014 8 14 8 "" ""
## 14 8.14.9 2014-05-21 2014 8 14 9 "" ""
## 15 8.15.1 2014-12-06 2014 8 15 1 "" ""
## 16 8.15.2 2015-07-03 2015 8 15 2 "" ""
Tomcat
tomcat_version_history()
## # A tibble: 176 x 8
## vers rls_date rls_year major minor patch prerelease build
## <fct> <date> <dbl> <int> <int> <int> <chr> <chr>
## 1 5.5.32 2011-02-01 2011 5 5 32 "" ""
## 2 5.5.33 2011-02-10 2011 5 5 33 "" ""
## 3 5.5.34 2011-09-22 2011 5 5 34 "" ""
## 4 5.5.35 2012-01-16 2012 5 5 35 "" ""
## 5 5.5.36 2012-10-10 2012 5 5 36 "" ""
## 6 6.0.30 2011-01-13 2011 6 0 30 "" ""
## 7 6.0.32 2011-02-04 2011 6 0 32 "" ""
## 8 6.0.33 2011-08-18 2011 6 0 33 "" ""
## 9 6.0.35 2011-12-05 2011 6 0 35 "" ""
## 10 6.0.36 2012-10-19 2012 6 0 36 "" ""
## # β¦ with 166 more rows