curl / Development / Project status dashboard

Dashboard

Daily updated graphs showing the state of the curl project in as much detail as possible.
[1 column] [3 columns] [5 columns] [data view]

Each image below links to the corresponding CSV file with recently updated source data. The first and last lines of data is shown on the right.

api-calls data

api calls
2000-08-21;31
2005-02-01;46
2005-05-16;46
2005-10-13;46
2006-02-27;46
...
2020-08-19;82
2020-10-14;85
2020-12-09;85
2021-02-03;85
2021-03-07;85
date - number of API calls

The number of calls is extracted by parsing the include/curl.h file in git at the time of past releases

files data

files
2000-03-14;110
2000-03-21;111
2000-03-21;111
2000-08-21;136
2000-08-30;137
...
2020-08-19;3300
2020-10-14;3312
2020-12-09;3324
2021-02-03;3358
2021-03-06;3380
date - number of files

This data comes from counting the files present in git at the time of releases.

ci-platforms data

ci platforms
2017-06-14;8;6;2;0;0
2017-08-09;11;6;5;0;0
2017-08-13;11;6;5;0;0
2017-10-04;15;9;6;0;0
2017-10-23;15;9;6;0;0
...
2020-08-19;88;37;16;33;2
2020-10-14;89;38;16;33;2
2020-12-09;90;38;16;33;3
2021-02-03;91;39;16;33;3
2021-03-06;90;39;16;33;2
date - all jobs accumulated - travis - linux - mac - windows - freebsd

The data comes from parsing the CI services instruction meta data files as stored in git.

github-age data

github age
2010-10-01;1.96;1.96;1.96;1.96
2010-11-01;0.05;0.05;1.00;0.05
2010-12-01;0.88;0.88;0.96;0.88
2011-01-01;0.00;0.00;0.72;0.00
2011-02-01;1.66;1.66;0.91;1.66
...
2020-11-01;0.79;11.39;16.65;6.91
2020-12-01;0.82;17.59;15.53;5.78
2021-01-01;0.95;6.40;14.41;2.23
2021-02-01;0.71;9.96;14.58;7.76
2021-03-01;2.90;18.29;14.45;5.17
date - median - average - 12 month aver average - 75th percentile

This data is fetched from github daily using their API, then stored and massaged by scripts on our server.

vulns-plot data

vulns plot
none;1998-03-20;0
CVE-2000-0973;2000-10-13;1
CVE-2003-1605;2003-08-03;2
CVE-2005-0490;2005-02-21;3
CVE-2005-3185;2005-10-13;4
...
CVE-2020-8231;2020-08-19;95
CVE-2020-8284;2020-12-09;96
CVE-2020-8285;2020-12-09;97
CVE-2020-8286;2020-12-09;98
now;2021-03-07;98
CVE id - announce date - index

This data comes from curl-www/docs/vuln.pm.

vulns-releases data

vulns releases
1998-03-20;4.0;0
1998-04-03;4.1;0
1998-04-15;4.2;0
1998-04-30;4.3;0
1998-05-13;4.4;0
...
2020-07-01;7.71.1;4
2020-08-19;7.72.0;3
2020-10-14;7.73.0;3
2020-12-09;7.74.0;0
2021-02-03;7.75.0;0
date - version - number of known vulnerabilities

This data comes from the release.csv table.

loc data

loc
1998-03-18;2200
1998-09-20;3379
1999-05-22;12289
1999-09-13;14060
1999-11-23;14826
...
2020-11-01;168856;747
2020-12-01;170818;1962
2021-01-01;171528;710
2021-02-01;172001;473
2021-03-01;172001;0
date - lines of code

Lines of code means lines in the src, lib and include directories and is extracted from the git history of the repository.

protocols data

protocols
1996-10-01;HTTP;1
1997-06-01;GOPHER;2
1997-08-01;FTP;3
1998-06-01;HTTPS;4
1998-11-01;TELNET;5
...
2014-11-29;SMB;23
2014-11-29;SMBS;24
2020-04-14;MQTT;25
2020-12-15;GOPHERS;26
2021-03-07;;26
date - protocol added - accumlated number of protocols supported

This data comes from a list curated by hand.

github-monthly data

github monthly
2010-10-01;2;2;0;2.0;0.0;
2010-11-01;1;1;0;1.5;0.0;
2010-12-01;2;2;0;1.7;0.0;
2011-01-01;1;1;0;1.5;0.0;
2011-02-01;3;3;0;1.8;0.0;
...
2020-11-01;118;76;42;84.8;47.9;
2020-12-01;120;81;39;86.5;47.3;
2021-01-01;140;109;31;90.7;46.8;
2021-02-01;110;78;32;89.7;45.4;
2021-03-01;22;12;10;81.9;41.2;
date (month) - join total count this month - number of created PRs this month - number of created issues this month - 12 month average created PRs - 12 month average created issues

This data is fetched from github daily using their API, then stored and massaged by scripts on our server.

cmdline-options-over-time data

cmdline options over time
1998-03-20;24
1998-08-27;29
1999-05-22;46
1999-09-13;48
2000-03-21;48
...
2020-08-19;232
2020-10-14;234
2020-12-09;235
2021-02-03;237
2021-03-07;240
date - number of command line options

This data comes the counter in RELEASE-NOTES in git at the time of releases. The time from before we started doing that, the count has been manually counted.

mail data

mail
2000-01-01;0;2;0.0;2.0
2000-02-01;0;71;0.0;36.5
2000-03-01;0;82;0.0;51.7
2000-04-01;0;27;0.0;45.5
2000-05-01;0;117;0.0;59.8
...
2020-11-01;97;33;90.8;39.1
2020-12-01;133;20;95.4;37.8
2021-01-01;112;55;97.1;39.7
2021-02-01;73;32;96.4;41.2
2021-03-01;7;1;85.9;36.8
date (a month really) - curl-library mails - curl-users mails - 12 month curl-library average - 12 month curl-users average

This data is extracted from the mailing archives as stored on the web server.

tests data

tests
2000-03-14;0
2000-03-21;0
2000-03-21;0
2000-08-21;0
2000-08-30;0
...
2020-08-19;1374
2020-10-14;1387
2020-12-09;1388
2021-02-03;1406
2021-03-07;1416
date - number of tests

This data comes from counting the test files present in git at the time of releases.

lines data

lines
1999-12-01;37273;0;0;0;37273
2000-01-01;37810;0;10960;0;26850
2000-02-01;39181;0;11739;0;27442
2000-03-01;41627;0;13327;0;28300
2000-04-01;42256;0;13513;0;28743
...
2020-11-01;596352;525256;396118;221476;504014
2020-12-01;601456;526608;398821;221833;507410
2021-01-01;607808;528680;403903;223093;509492
2021-02-01;609395;532343;405536;225131;511071
2021-03-01;609437;532966;405547;225627;511229
date (month) - Daniel's added lines - others' added lines - Daniel's deleted lines - others' deleted lines - total amount of lines present

The data comes from analyzing the git changes and includes all files and directories.

deltaloc data

deltaloc
1999-12-01;19213;19213.0;100.0000,19213
2000-01-01;-794;9209.5;50.0000,18419
2000-02-01;518;6312.3;33.3333,18937
2000-03-01;315;4813.0;25.0000,19252
2000-04-01;62;3862.8;20.0000,19314
...
2020-11-01;747;486.8;0.2883,168856
2020-12-01;1962;658.8;0.3856,170818
2021-01-01;710;681.5;0.3973,171528
2021-02-01;473;643.2;0.3739,172001
2021-03-01;0;524.6;0.3050,172001
date (month) - number of lines added that month - 12 month average number of added lines - the average amount as a share of total number of code - total number of lines of code

The data counts lines added and removed to files in src, lib and include over time, in the git repository.

days-per-release data

days per release
1998-03-20;0;0.0
1998-04-03;13;6.5
1998-04-15;12;12.0
1998-04-30;15;12.5
1998-05-13;13;13.0
...
2020-07-01;7;56.0
2020-08-19;49;49.0
2020-10-14;56;49.0
2020-12-09;56;49.0
2021-02-03;56;56.0
release date - days since previous release - 7 release median number

This data comes from the main curl changelog's stored release dates.

third-parties data

third parties
1998-03-20;;0
1998-06-01;OpenSSL;1
1999-08-01;OpenLDAP;2
2002-09-07;zlib;3
2003-08-05;c-ares;4
...
2020-05-25;zstd;33
2020-12-14;hyper;34
2020-12-24;libgsasl;35
2021-02-09;rustls;36
2021-03-07;;36
date - third party name

If the name starts with a minus, support for that third party was removed.

This data comes from a list in the stats repository curated by hand.

firsttimers data

firsttimers
2010-01-01;1;1.00
2010-02-01;0;0.50
2010-03-01;7;2.67
2010-04-01;6;3.50
2010-05-01;6;4.00
...
2020-11-01;2;7.83
2020-12-01;14;8.58
2021-01-01;6;8.33
2021-02-01;4;8.17
2021-03-01;2;7.58
date (month) - first time committers that month - 12 month average first time committers

This data comes from git repository.

contribs-release data

contribs release
2003-11-01;48;48
2004-01-22;40;44
2004-03-18;30;40
2004-04-26;25;35
2004-06-02;21;30
...
2020-06-30;16;65
2020-08-19;52;59
2020-10-14;63;59
2020-12-09;46;52
2021-02-03;58;58
date - number of contributors in that release - 7 release median

The data for this comes from the RELEASE-NOTES file in git at the time of releases. It can be noted that since this is per-release and some releases are done very quickly in time after a previous one, it is just natural that such releases have much fewer contributors.

vulns-per-year data

vulns per year
1998-01-01;0;0
1999-01-01;0;0
2000-01-01;1;1
2001-01-01;0;1
2002-01-01;0;1
...
2016-01-01;24;60
2017-01-01;12;72
2018-01-01;12;84
2019-01-01;8;92
2020-01-01;6;98
date (year) - vulns within that year - accumulated number of vulns

The data comes from the vuln.pm file.

contributors data

contributors
1998-07-30;7
1999-09-13;30
2000-08-21;48
2001-06-07;67
2001-09-23;73
...
2020-08-19;2239
2020-10-14;2270
2020-12-09;2287
2021-02-03;2322
2021-03-07;2339
date (month) - accumulated number of authors until then

The data comes from the git repository.

bugfix-frequency data

bugfix frequency
1998-03-20;0;0.000
1998-04-03;3;0.214
1998-04-15;7;0.269
1998-04-30;8;0.195
1998-05-13;10;0.185
...
2020-07-01;6227;2.509
2020-08-19;6327;2.476
2020-10-14;6462;2.415
2020-12-09;6569;2.214
2021-02-03;6682;2.112
date - accumulated number of bugfixes through time - average number of fixes per release over the last 5 releases

This data comes from parsing the RELEASE-NOTES file in git at the time of each release.

http-versions data

http versions
1998-03-20;HTTP/1.0;1
1999-05-22;HTTP/0.9;2
2001-03-22;HTTP/1.1;3
2013-09-01;HTTP/2;4
2019-08-01;HTTP/3;5
...
2021-03-07;;5
date - HTTP version

This data comes from a manually maintained file. Based on code inspection.

todo data

todo
2000-08-21;17;0
2000-08-30;17;0
2000-09-28;15;0
2000-10-16;17;0
2000-12-04;20;0
...
2020-08-19;131;77
2020-10-14;134;79
2020-12-09;134;93
2021-02-03;129;99
2021-03-07;128;101
date - TODO items - KNOWN_BUGS items

This data comes from parsing the two files in git at the time of releases (and currently). The scripts understand the file format used for these files.

daniel-vs-rest data

daniel vs rest
1999-12-01;100.00;0.00;100.00;100.00;100.00
2000-01-01;100.00;0.00;100.00;100.00;100.00
2000-02-01;100.00;0.00;100.00;100.00;100.00
2000-03-01;100.00;0.00;100.00;100.00;100.00
2000-04-01;100.00;0.00;100.00;100.00;100.00
...
2020-11-01;57.28;42.72;69.15;53.17;64.14
2020-12-01;57.35;42.65;71.43;53.32;64.26
2021-01-01;57.46;42.54;77.56;53.48;64.42
2021-02-01;57.42;42.58;47.24;53.37;64.30
2021-03-01;57.40;42.60;16.67;53.35;64.25
date - accumulated commit count - Daniel's share - everyone else's share

The data comes from the git repository.

setopts data

setopts
2000-08-21;59
2000-10-16;63
2001-09-23;82
2002-10-01;100
2003-07-28;107
...
2020-08-19;277
2020-10-14;278
2020-12-09;284
2021-02-03;285
2021-03-07;288
date - number of options curl_easy_setopt accepts

The number of options comes from parsing the include/curl.h header file from git as it changed over time.

authors-per-month data

authors per month
2010-01-01;6;6.00
2010-02-01;6;6.00
2010-03-01;14;8.67
2010-04-01;13;9.75
2010-05-01;13;10.40
...
2020-11-01;13;18.92
2020-12-01;23;19.75
2021-01-01;15;19.67
2021-02-01;16;19.50
2021-03-01;6;18.08
date (month) - authots that month - 12 month author average

The data comes from the git repository.

authors-per-year data

authors per year
1999-01-01;1;1
2000-01-01;1;0
2001-01-01;4;3
2002-01-01;4;1
2003-01-01;3;1
...
2017-01-01;133;95
2018-01-01;158;112
2019-01-01;156;108
2020-01-01;147;103
2021-01-01;30;12
date (year) - number of commit authors that year - number of first time commit authors that year

Data from the git repository

cve-time data

cve time
CVE-2000-0973;2000-10-13;396;937;937;1;396.0
CVE-2003-1605;2003-08-03;1091;1961;1024;2;1091.0
CVE-2005-0490;2005-02-21;1607;2530;568;3;1607.0
CVE-2005-3185;2005-10-13;808;2763;233;4;1207.5
CVE-2005-4077;2005-12-07;590;2819;55;5;1001.7
...
CVE-2020-8177;2020-06-24;3787;8131;0;94;2306.0
CVE-2020-8231;2020-08-19;2750;8187;56;95;2394.8
CVE-2020-8284;2020-12-09;8300;8300;112;96;3859.5
CVE-2020-8285;2020-12-09;3829;8300;0;97;3853.4
CVE-2020-8286;2020-12-09;2114;8300;0;98;3563.5
CVE id - report date - CVE age - project age - delta age since prev - index - 12 month average

This data comes from curl-www/docs/vuln.pm.

The "CVE age" is the number of days the vulnerability had been present in source code when reported. Project age is how old the project was in number of days at the time that vulnerability was reported.

The graph has all the CVE ids on the xaxes under their corresponding bars.

authors data

authors
1999-12-29;0;1;0.00
2001-05-30;0;2;0.00
2001-05-31;0;3;0.00
2001-08-09;0;4;0.00
2002-08-03;0;5;0.00
...
2021-02-24;555;863;64.31
2021-02-26;556;864;64.35
2021-03-04;557;865;64.39
2021-03-05;558;866;64.43
2021-03-07;558;866;64.43
date - single commit authors - total authors - the single authors' share among all authors

The data comes from the git repository

fixtime data

fixtime
CVE-2005-3185;2005-10-12;1;1.0;1
CVE-2005-4077;2005-11-29;8;4.5;2
CVE-2006-1061;2006-03-10;10;6.3;3
CVE-2007-3564;2007-06-27;13;13.0;4
CVE-2009-0037;2009-02-06;25;25.0;5
...
CVE-2020-8177;2020-05-30;25;21.5;91
CVE-2020-8231;2020-07-31;19;21.0;92
CVE-2020-8284;2020-11-21;18;25.5;93
CVE-2020-8285;2020-11-27;12;22.8;94
CVE-2020-8286;2020-12-02;7;20.2;95
CVE id - report date - time until fix in days - - 12 month average - index counter

This data comes from curl-www/docs/vuln.pm.

The time is simply the number of days from the report to the curl project until the fix was released and annnounced publicly.

The graph has all the CVE ids on the xaxes under their corresponding bars.

symbols data

symbols
2009-03-02;303
2009-05-18;427
2009-08-12;428
2009-11-04;428
2010-02-09;451
...
2020-08-19;970
2020-10-14;1019
2020-12-09;1030
2021-02-03;1034
2021-03-07;1040
date - number of symbols in the file

The symbols are counted in the symbols-in-versions file in git at the time of releases.

github-open data

github open
2010-10-01;2;2;0;1.0;1;1
2010-11-01;1;1;0;1.0;1;1
2010-12-01;2;2;0;1.0;2;1
2011-01-01;1;1;0;1.0;2;1
2011-02-01;3;3;0;2.0;4;1
...
2020-11-01;118;76;42;50.5;61;43
2020-12-01;120;81;39;52.0;60;42
2021-01-01;140;109;31;54.0;70;43
2021-02-01;110;78;32;48.0;66;42
2021-03-01;22;12;10;51.5;56;49
date (month) - joined total open this month - number of open PRs this month - number of open issues this month - median number of i+p open this month - max number open - minimum number open

This data is fetched from github daily using their API, then stored and massaged by scripts on our server.

commits-per-month data

commits per month
1999-12-01;1;1.00
2000-01-01;22;11.50
2000-02-01;42;21.67
2000-03-01;70;33.75
2000-04-01;17;30.40
...
2020-11-01;94;121.83
2020-12-01;126;123.42
2021-01-01;156;128.75
2021-02-01;127;129.67
2021-03-01;12;114.00
date (month) - commits that month - 12 month commit count average

The data comes from the git repository.

docs data

docs
2000-05-22;6235
2000-05-26;6331
2000-05-29;6589
2000-05-30;6588
2000-06-02;6588
...
2021-02-21;81686
2021-02-23;81687
2021-02-25;81687
2021-03-04;81688
2021-03-07;81698
date - lines of documentation

This data comes from checking the docs/ subdiretory in git.

ci-jobs data

ci jobs
2013-10-17;2;2;0;0;0;0
2016-07-28;4;4;0;0;0;0
2017-06-14;8;8;0;0;0;0
2017-08-09;11;11;0;0;0;0
2017-08-13;11;11;0;0;0;0
...
2020-08-19;88;29;2;23;16;18
2020-10-14;89;30;2;23;16;18
2020-12-09;90;30;3;23;16;18
2021-02-03;91;31;3;23;16;18
2021-03-06;90;31;2;23;16;18
date - all jobs accumulated - travis - cirrus - appveyor - azure pipelines - github actions

The data comes from parsing the CI services instruction meta data files as stored in git.

commits-per-year data

commits per year
1999-01-01;1
2000-01-01;709
2001-01-01;1346
2002-01-01;937
2003-01-01;1218
...
2017-01-01;1381
2018-01-01;1083
2019-01-01;1263
2020-01-01;1481
2021-01-01;295
date (year) - commit authors this year

The data comes from the git repository

tls-backends data

tls backends
1998-03-20;;0
1998-06-01;OpenSSL;1
2005-04-01;GnuTLS;2
2006-06-29;wolfSSL;3
2007-02-01;NSS;4
...
2019-03-08;AmiSSL;13
2019-11-01;BearSSL;14
2020-01-16;-PolarSSL;13
2021-02-09;rustls;14
2021-03-07;;14
date - TLS backend - accumlated number of backends supported

This data comes from a list curated by hand.

coreteam-per-year data

coreteam per year
1999-01-01;0
2000-01-01;1
2001-01-01;2
2002-01-01;2
2003-01-01;1
...
2017-01-01;13
2018-01-01;10
2019-01-01;9
2020-01-01;10
2021-01-01;4
date (year) - number of core team members

The data comes from the git repository. A "core team" member is everyone who did 10 or more commits to the main git repository within the same calendar year.

bugbounty data

bugbounty
CVE-2000-0973;2000-10-13;0;0
CVE-2003-1605;2003-08-03;0;0
CVE-2005-0490;2005-02-21;0;0
CVE-2005-3185;2005-10-13;0;0
CVE-2005-4077;2005-12-07;0;0
...
CVE-2020-8177;2020-06-24;2300;700
CVE-2020-8231;2020-08-19;2800;500
CVE-2020-8284;2020-12-09;3500;700
CVE-2020-8285;2020-12-09;3500;0
CVE-2020-8286;2020-12-09;4400;900
CVE id - date of publication - accumulated bounty - invidual bounty

This information comes from curl-www/docs/vuln.pm.

releases data

releases
1998-03-20;4.0;1
1998-04-03;4.1;2
1998-04-15;4.2;3
1998-04-30;4.3;4
1998-05-13;4.4;5
...
2020-07-01;7.71.1;193
2020-08-19;7.72.0;194
2020-10-14;7.73.0;195
2020-12-09;7.74.0;196
2021-02-03;7.75.0;197
date - version - accumlated release number

This data comes from the main curl changelog's stored release dates.


Updated 2021-03-07 04:16:34 UTC


The scripts for generating all these images are available at github.com/curl/stats.