Giter VIP home page Giter VIP logo

vershist's Introduction

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
  • citrix_netscaler_version_history: Citrix Netscaler ADC Version History
  • etcd_version_history: Retrieve etcd Version Release History
  • google_chrome_version_history: Retrieve Google Chrome Version Release History
  • isc_bind_version_history : Retrieve ISC BIND 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
  • php_version_history: Retrieve PHP Version Release History
  • sendmail_version_history: Retrieve sendmail Version Release History
  • sqlite_version_history: Retrieve sqlite Version Release History
  • tomcat_version_history: Retrieve Apache Tomcat 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

devtools::install_git("https://git.sr.ht/~hrbrmstr/vershist")
# OR
devtools::install_gitlab("hrbrmstr/vershist")
# OR
devtools::install_github("hrbrmstr/vershist")

Usage

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

vershist's People

Contributors

hrbrmstr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

firebitsbr

vershist's Issues

add sqlite

hey @hrbrmstr this package is a rockin 🎸 awesome idea! I'd send a PR but too lazy right now, so issue instead. I'm sure you've already thought of this obvious extension, but this would be supremely useful for internally bundled packages:

my_mongo <- 3.6.x
testthat::expect_identical(my_mongo, vershist::mongodb_latest())

And if you include sqlite3, then I'd use it straight away for vendor version bundled in bikedata. (And here too.) I'll PR that if I find me some πŸ•¦

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.