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.

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;
...
2021-02-01;110;78;32;89.7;45.4;
2021-03-01;138;92;46;88.6;44.2;
2021-04-01;149;84;65;87.4;46.1;
2021-05-01;165;116;49;88.5;44.2;
2021-06-01;111;82;29;88.6;41.8;
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.

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
...
2021-02-01;16;19.50
2021-03-01;17;19.00
2021-04-01;31;19.17
2021-05-01;35;20.67
2021-06-01;28;21.33
date (month) - authots that month - 12 month author average

The data comes from the git repository.

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
...
2017-01-01;12;72
2018-01-01;12;84
2019-01-01;8;92
2020-01-01;6;98
2021-01-01;5;103
date (year) - vulns within that year - accumulated number of vulns

The data comes from the vuln.pm file.

days-per-release data

days per release
1998-03-20;0;0.0;0.0
1998-04-03;13;6.5;6.5
1998-04-15;12;8.3;8.3
1998-04-30;15;10.0;10.0
1998-05-13;13;10.6;10.6
...
2020-12-09;56;44.2;42.2
2021-02-03;56;43.4;42.3
2021-03-31;55;47.9;42.4
2021-04-14;14;44.1;42.2
2021-05-26;42;43.4;42.2
release date - days since previous release - 12 month average - all time average

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

tests data

tests
2000-03-14;0
2000-03-21;0
2000-03-21;0
2000-08-21;0
2000-08-30;0
...
2021-02-03;1406
2021-03-31;1419
2021-04-14;1421
2021-05-26;1427
2021-06-18;1419
date - number of tests

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

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;9
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.

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
...
2021-02-01;73;32;96.4;41.2
2021-03-01;59;50;90.2;40.8
2021-04-01;107;49;93.7;42.6
2021-05-01;77;27;89.8;38.5
2021-06-01;39;34;83.2;36.5
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.

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-06-18;;14
date - TLS backend - accumlated number of backends supported

This data comes from a list curated by hand.

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
...
2021-02-01;0.71;9.96;14.58;7.76
2021-03-01;0.99;12.34;13.96;3.58
2021-04-01;1.15;10.53;14.25;6.37
2021-05-01;0.83;15.62;13.44;2.39
2021-06-01;0.75;11.28;13.35;2.90
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.

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
...
2021-02-03;92;39;16;33;4
2021-03-31;94;41;17;33;3
2021-04-14;94;41;17;33;3
2021-05-26;100;40;20;37;3
2021-06-17;98;41;17;37;3
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.

files data

files
2000-03-14;110
2000-03-21;111
2000-03-21;111
2000-08-21;136
2000-08-30;137
...
2021-02-03;3358
2021-03-31;3383
2021-04-14;3385
2021-05-26;3411
2021-06-17;3408
date - number of files

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

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
...
2021-02-01;473;643.2;0.3739,172001
2021-03-01;237;544.3;0.3160,172238
2021-04-01;385;518.4;0.3003,172623
2021-05-01;577;462.8;0.2672,173200
2021-06-01;-934;366.3;0.2127,172266
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.

authors data

authors
1999-12-29;0;1;0.00;1;1;1
2001-05-30;0;2;0.00;1;2;2
2001-05-31;0;3;0.00;2;3;3
2001-08-09;0;4;0.00;3;4;4
2002-08-03;0;5;0.00;3;4;5
...
2021-06-12;585;913;64.07;64;119;327
2021-06-14;586;915;64.04;64;119;327
2021-06-14;587;915;64.15;64;119;327
2021-06-17;588;916;64.19;64;119;327
2021-06-18;588;916;64.19;64;119;327
date - single commit authors - total authors - the single authors' share among all authors - 10+ committers - 5+ committers - 2+ committers

The data comes from the git repository

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-2021-22890;2021-03-31;100
CVE-2021-22897;2021-05-26;101
CVE-2021-22898;2021-05-26;102
CVE-2021-22901;2021-05-26;103
now;2021-06-18;103
CVE id - announce date - index

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

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-12-09;46;52
2021-02-03;58;58
2021-03-31;58;58
2021-04-14;23;52
2021-05-26;82;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.

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
...
2021-02-01;4;8.17
2021-03-01;8;8.08
2021-04-01;18;8.75
2021-05-01;11;9.17
2021-06-01;15;9.33
date (month) - first time committers that month - 12 month average first time committers

This data comes from git repository.

cve-time data

cve time
CVE-2000-0973;2000-10-13;396;937;937;1;396.0;396.0
CVE-2003-1605;2003-08-03;1091;1961;1024;2;1091.0;743.5
CVE-2005-0490;2005-02-21;1607;2530;568;3;1607.0;1031.3
CVE-2005-3185;2005-10-13;808;2763;233;4;1207.5;975.5
CVE-2005-4077;2005-12-07;590;2819;55;5;1001.7;898.4
...
CVE-2021-22876;2021-03-31;7527;8411;111;99;4129.7;2762.3
CVE-2021-22890;2021-03-31;839;8411;0;100;3718.4;2743.1
CVE-2021-22897;2021-05-26;1050;8467;56;101;3421.9;2726.3
CVE-2021-22898;2021-05-26;7369;8467;0;102;3816.6;2771.8
CVE-2021-22901;2021-05-26;111;8467;0;103;3479.7;2746.0
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.

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-12-09;7.74.0;4
2021-02-03;7.75.0;5
2021-03-31;7.76.0;3
2021-04-14;7.76.1;3
2021-05-26;7.77.0;0
date - version - number of known vulnerabilities

This data comes from the release.csv table.

commits-per-year data

commits per year
2000-01-01;709;709.0
2001-01-01;1346;1027.5
2002-01-01;937;997.3
2003-01-01;1218;1052.5
2004-01-01;2102;1262.4
...
2017-01-01;1381;1416.4
2018-01-01;1083;1329.4
2019-01-01;1263;1233.0
2020-01-01;1481;1288.0
2021-01-01;755;1192.6
date (year) - commit authors this year

The data comes from the git repository

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;0;0
2017-08-09;11;11;0;0;0;0;0;0
2017-08-13;11;11;0;0;0;0;0;0
...
2021-02-03;91;31;3;23;16;18;0;0
2021-03-31;93;33;2;23;16;19;0;0
2021-04-14;93;33;2;23;16;19;0;0
2021-05-26;99;32;6;23;16;22;0;0
2021-06-17;97;0;6;23;16;20;2;30
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.

github-open data

github open
2010-10-01;1;1.0;1;0;1;1
2010-10-02;1;1.0;0;0;1;1
2010-10-03;1;1.0;0;0;1;1
2010-10-04;1;1.0;0;0;1;1
2010-10-05;1;1.0;0;1;1;1
...
2021-06-13;45;51.3;0;4;41;67
2021-06-14;44;51.1;6;7;41;67
2021-06-15;43;50.9;8;9;41;67
2021-06-16;44;50.8;5;4;41;67
2021-06-17;42;50.7;5;7;41;67
date - number of open issues end of day - created that day - closed that day - 90 day average - 90 day minimum - 90 day maximum

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

setopts data

setopts
2000-08-21;59
2000-10-16;63
2001-09-23;82
2002-10-01;100
2003-07-28;107
...
2021-02-03;285
2021-03-31;288
2021-04-14;288
2021-05-26;290
2021-06-18;290
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.

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-2021-22876;2021-03-31;5200;800
CVE-2021-22890;2021-03-31;5200;0
CVE-2021-22897;2021-05-26;6000;800
CVE-2021-22898;2021-05-26;7000;1000
CVE-2021-22901;2021-05-26;9000;2000
CVE id - date of publication - accumulated bounty - invidual bounty

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

loc data

loc
1998-03-18;2200
1998-09-20;3379
1999-05-22;12289
1999-09-13;14060
1999-11-23;14826
...
2021-02-01;172001;473
2021-03-01;172238;237
2021-04-01;172623;385
2021-05-01;173200;577
2021-06-01;172266;-934
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.

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
...
2021-02-03;129;99
2021-03-31;130;102
2021-04-14;129;102
2021-05-26;128;106
2021-06-18;129;108
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.

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
...
2021-02-03;237
2021-03-31;240
2021-04-14;240
2021-05-26;242
2021-06-18;242
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.

fixtime data

fixtime
CVE-2005-3185;2005-10-12;1;1.0;1;1.0;
CVE-2005-4077;2005-11-29;8;4.5;2;4.5;
CVE-2006-1061;2006-03-10;10;6.3;3;6.3;
CVE-2007-3564;2007-06-27;13;13.0;4;8.0;
CVE-2009-0037;2009-02-06;25;25.0;5;11.4;
...
CVE-2021-22876;2021-02-12;46;23.9;96;26.6;
CVE-2021-22890;2021-03-17;13;22.5;97;26.5;
CVE-2021-22897;2021-04-23;33;21.6;98;26.6;
CVE-2021-22898;2021-04-27;29;22.4;99;26.6;
CVE-2021-22901;2021-04-29;27;22.9;100;26.6;
CVE id - report date - time until fix in days - 12 month average - index counter - all-time average

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.

commits data

commits
1999-12-01;1;1;0
2000-01-01;23;23;0
2000-02-01;65;65;0
2000-03-01;135;135;0
2000-04-01;152;152;0
...
2021-02-01;26871;15428;11443
2021-03-01;26979;15499;11480
2021-04-01;27091;15555;11536
2021-05-01;27227;15628;11599
2021-06-01;27343;15705;11638
date (month) - number of commits until and including that month

The data comes from the git repository.

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
...
2021-02-01;609395;532343;405536;225131;511071
2021-03-01;615154;533549;410761;225987;511955
2021-04-01;618094;536587;413212;228175;513294
2021-05-01;619541;538499;414225;229110;514705
2021-06-01;620712;540733;417994;230091;513360
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.

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-06-18;;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.

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-12-09;7.74.0;196
2021-02-03;7.75.0;197
2021-03-31;7.76.0;198
2021-04-14;7.76.1;199
2021-05-26;7.77.0;200
date - version - accumlated release number

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

symbols data

symbols
2009-03-02;303
2009-05-18;427
2009-08-12;428
2009-11-04;428
2010-02-09;451
...
2021-02-03;1034
2021-03-31;1040
2021-04-14;1040
2021-05-26;1045
2021-06-18;1047
date - number of symbols in the file

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

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;98;62
date (year) - number of commit authors that year - number of first time commit authors that year

Data from the git repository

ci-services data

ci services
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;0;0
2017-08-09;11;11;0;0;0;0;0;0
2017-08-13;11;11;0;0;0;0;0;0
...
2021-02-03;91;31;3;23;16;18;0;0
2021-03-31;93;33;2;23;16;19;0;0
2021-04-14;93;33;2;23;16;19;0;0
2021-05-26;99;32;6;23;16;22;0;0
2021-06-17;97;0;6;23;16;20;2;30

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-06-18;;5
date - HTTP version

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

docs data

docs
2000-05-22;6235
2000-05-26;6331
2000-05-29;6589
2000-05-30;6588
2000-06-02;6588
...
2021-06-09;82319
2021-06-15;82318
2021-06-16;82338
2021-06-17;82357
2021-06-18;82358
date - lines of documentation

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

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
...
2021-02-03;85
2021-03-31;85
2021-04-14;85
2021-05-26;85
2021-06-18;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

bugfix-frequency data

bugfix frequency
1998-03-20;0;0.000
1998-04-03;3;0.231
1998-04-15;7;0.280
1998-04-30;8;0.200
1998-05-13;10;0.189
...
2020-12-09;6569;2.693
2021-02-03;6682;2.661
2021-03-31;6812;2.601
2021-04-14;6833;2.557
2021-05-26;6966;2.658
date - accumulated number of bugfixes through time - average number of fixes per day over the last 12 months

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

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
...
2021-02-01;57.42;42.58;47.24;53.37;64.30
2021-03-01;57.45;42.55;65.74;53.55;64.51
2021-04-01;57.42;42.58;50.00;53.53;64.42
2021-05-01;57.40;42.60;53.68;53.50;64.39
2021-06-01;57.44;42.56;66.38;53.44;64.50
date - accumulated commit count - Daniel's share - everyone else's share

The data comes from the git 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-06-18;;26
date - protocol added - accumlated number of protocols supported

This data comes from a list curated by hand.

commits-per-month data

commits per month
1999-12-01;1;1.00;1.00
2000-01-01;22;11.50;11.50
2000-02-01;42;21.67;21.67
2000-03-01;70;33.75;33.75
2000-04-01;17;30.40;30.40
...
2021-02-01;127;129.67;105.38
2021-03-01;108;122.00;105.39
2021-04-01;112;117.58;105.41
2021-05-01;136;115.92;105.53
2021-06-01;116;116.67;105.57
date (month) - commits that month - 12 month commit count average

The data comes from the git repository.

contributors data

contributors
1998-07-30;7
1999-09-13;30
2000-08-21;48
2001-06-07;67
2001-09-23;73
...
2021-02-03;2322
2021-03-31;2356
2021-04-14;2366
2021-05-26;2408
2021-06-18;2426
date (month) - accumulated number of authors until then

The data comes from the git repository.


Updated 2021-06-18 03:16:13 UTC


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