Closed MichaelChirico closed 1 year ago
I think the version for this issue should be changed, since 3.0.1
is already under review at CRAN.
Maybe 3.1.0
?
renamed the milestone as 3.0.2 for now. we're free to rename it if we decide for a bump to 3.1
This needs to be bumped again since the latest CRAN is 3.0.2.
Since there are new features and linters in this release I think it should probably be 3.1.0
Shouldn't we make a new release soon? There is a lot of new functionality already that users can immediately benefit from.
Yes, I think we're about due...
This year's winter break will be from Dec 22, 2022 to Jan 5, 2023.
The submission portal will be closed in this time window, so we need to plan a release either before or after.
Except for #1137, we have PRs for all open issues. If you find time to review in the coming days, I'd favor going for a 3.1.0 release this year.
I'm leaning towards bumping #1137 to the next release, anyone keen to keep it?
I think for #1137 we just need to add documentation to the object_usage_linter stating that the package being linted should be installed before linting. Right?
I'm quite sure pkgload::load_all()
is sufficient - no need to actually install the package. But yes, finding out the actual requirement and documenting it is what needs doing.
finding out the actual requirement
This is the part that has me leaning towards bumping :)
FWIW the documentation should all go on the executing
documentation page:
https://lintr.r-lib.org/reference/executing_linters.html
may need dependencies of the linted package or project to be available in order to function correctly.
is a bit short on details
My two cents: We should delay this release until indentation_linter()
issues (#1898, #1942, #1944, #1945) are resolved.
This is one of the default linters, and we will get a number of false positive issues, especially one stemming from a conflict with {styler}
(#1898).
E.g. I had to turn off this linter in easystats repos because maintainers had started to manually format code to pacify this linter, and these changes were, of course, undone once {styler}
was run, which caused a lot of frustration.
I agree #1898 should be resolved before release; for the other ones, #1942 and #1944 are also present in styler
at this moment, so no real hurry IMO. #1945 is caused by our less than ideal way of extracting code from markup files (Rmd, but Rtex also - see #1043) and seems more complex to solve in a timely manner.
I have at least an expedient solution to #1945 in #1949, so I added both #1898 and #1945 to the milestone. If we think indentation_linter()
is still not ready for the limelight, we can keep it out of default_linters
for this release.
I think what makes sense is to do our usual release procedure of checking the change in lints on a swath of existing packages; that'll help us get a sense of how crucial these other fixes may be.
Did an initial branch comparison for current (9038957aaf2c89d16efad45e63c5127c37e5ebb9) main
vs v3.0.2
, 238 updated CRAN packages. I'll have more time to look into it next week, but for now here's an initial benchmark timing comparison:
timings = fread('.dev/lintr_compare_branches_1681201833_benchmark_timings.csv')
timings[,
dcast(.SD, linter + package +filename ~ branch, value.var = "duration")
][,
as.list(summary(main - `v3.0.2`)),
keyby = linter
][!is.na(Min.)][order(Median)]
With output:
linter Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
1: class_equals_linter -36783868 -68502.0 -20834 -34288.294 -2806.0 26703471 19
2: brace_linter -33150684 -82361.5 -18430 -61792.386 -1717.0 22549892 19
3: assignment_linter -28792446 -70317.5 -16175 1598.236 -306.0 45389365 19
4: any_is_na_linter -37543040 -57646.0 -14575 -30435.523 -118.0 41851010 19
5: any_duplicated_linter -33127465 -58808.5 -14324 -8201.699 -580.5 28802778 19
6: commas_linter -22710515 -48377.0 -11115 5371.820 719.0 55770472 19
7: backport_linter -927124449 -50356.5 -10763 -217861.138 2401.0 28768415 19
8: nonportable_path_linter -31722140 -49271.0 -10135 -2234.254 4863.0 74730180 19
9: absolute_path_linter -982564195 -42806.5 -7806 -228508.756 8765.5 28499929 19
10: T_and_F_symbol_linter -75284464 -40949.0 -5499 -12476.287 14149.0 28798908 19
11: semicolon_linter -36461503 -41266.5 -5268 32123.680 9283.0 76699221 19
12: strings_as_factors_linter -2754522 -36012.0 -3541 39084.070 17448.0 32960656 19
13: sprintf_linter -27860109 -29757.0 -2742 30714.642 18987.0 27484671 19
14: line_length_linter -39439039 -34658.5 -2051 8116.320 17582.5 29257613 19
15: trailing_whitespace_linter -84376891 -30259.5 -1736 14164.661 26939.0 29814570 19
16: paste_linter -42157095 -23993.5 -1669 21043.005 17449.5 23017225 19
17: undesirable_function_linter -1357899 -27035.0 -1228 51881.689 21324.5 26615917 19
18: string_boundary_linter -33921112 -22984.0 -1172 40010.569 27651.5 25655985 19
19: expect_length_linter -35514669 -27044.0 -1030 55021.962 29433.5 28452482 19
20: unreachable_code_linter -1790402 -29913.0 -917 48981.988 26220.0 35667644 19
21: expect_named_linter -33982258 -23061.5 -903 15412.968 29691.5 21682192 19
22: trailing_blank_lines_linter -29492147 -20782.0 -864 31505.268 22124.5 47261457 19
23: todo_comment_linter -35942509 -19571.5 -817 52546.778 22808.5 29848601 19
24: outer_negation_linter -35982530 -24365.5 -764 55259.895 28006.0 54675278 19
25: infix_spaces_linter -32365995 -32739.0 -594 37882.881 19285.0 53814057 19
26: regex_subset_linter -35774928 -19219.5 -352 33949.592 35008.5 29502569 19
27: expect_comparison_linter -3804610 -22783.5 -334 51896.686 34210.0 21656520 19
28: pipe_call_linter -86300779 -22225.0 -42 11011.678 31617.5 24120185 19
29: ifelse_censor_linter -36406426 -18548.5 41 45148.682 31151.0 46638980 19
30: unused_import_linter -30253379 -22755.0 92 43086.175 27676.0 61826606 19
31: undesirable_operator_linter -51690842 -22302.5 145 19324.961 32206.0 53204350 19
32: extraction_operator_linter -28585962 -19459.0 429 40947.324 28824.0 22830398 19
33: implicit_integer_linter -32016734 -28182.5 498 60083.874 24346.0 58839942 19
34: paren_body_linter -32709438 -16249.5 522 57338.872 24699.0 29005139 19
35: package_hooks_linter -31079569 -16172.0 580 43019.157 31349.0 32141189 19
36: expect_type_linter -34413137 -17503.5 584 227136.088 28490.0 564096761 19
37: missing_package_linter -33300732 -18945.0 797 66046.847 32427.5 74071245 19
38: literal_coercion_linter -26120131 -20029.0 836 48710.599 31279.0 27033212 19
39: expect_not_linter -59481007 -14478.5 851 45981.435 34933.0 75000635 19
40: function_argument_linter -30455119 -23090.5 920 38979.555 31239.0 29997240 19
41: numeric_leading_zero_linter -26838098 -18141.0 970 50856.224 33146.0 25421900 19
42: namespace_linter -28322228 -17090.0 1146 85339.960 34693.5 78136405 19
43: expect_null_linter -36059897 -14623.0 1194 41566.377 35455.0 33303988 19
44: commented_code_linter -38534457 -15655.0 1260 30217.898 28164.5 29434585 19
45: function_left_parentheses_linter -37535318 -19907.0 1345 55705.946 27847.0 53868964 19
46: condition_message_linter -56028112 -16020.0 1414 62277.619 36221.0 31529737 19
47: pipe_continuation_linter -34952091 -16661.0 1431 39728.141 35378.5 62034854 19
48: system_file_linter -28847717 -13754.0 1575 67274.032 36461.0 81118816 19
49: fixed_regex_linter -32416557 -13105.0 1664 40993.715 29930.5 28292547 19
50: object_length_linter -33409115 -14926.0 1705 5900.898 31751.0 22601189 19
51: object_name_linter -22505184 -17267.5 1759 52409.613 35628.0 43479506 19
52: seq_linter -27908704 -13622.0 1787 45040.907 35854.5 44447373 19
53: conjunct_test_linter -58179500 -17898.0 1859 44379.851 42995.5 28672088 19
54: inner_combine_linter -831076731 -16920.5 1975 -122962.927 33074.0 87604415 19
55: expect_identical_linter -30523393 -18496.5 1998 42253.530 37460.5 24642773 19
56: expect_s3_class_linter -35949289 -11368.0 2146 76565.877 34406.0 47804790 19
57: missing_argument_linter -1006227 -12249.0 2208 82494.644 38715.0 28366507 19
58: object_usage_linter -33392274 -12088.0 2315 76699.484 37538.5 42913537 19
59: nested_ifelse_linter -27016303 -10151.0 2711 54655.630 42934.5 18292539 19
60: expect_s4_class_linter -32329753 -8633.0 2818 71051.009 36407.5 31860228 19
61: expect_true_false_linter -35823160 -8572.0 2962 55265.001 37950.0 33434207 19
62: redundant_ifelse_linter -33701530 -8159.5 4216 51021.420 48558.0 18660926 19
63: vector_logic_linter -34136594 -9778.5 4581 82595.692 43232.0 29411644 19
64: cyclocomp_linter -32653514 -9734.5 4596 57243.711 68406.5 17410667 19
65: spaces_inside_linter -32526354 -4290.0 5109 61476.311 52013.0 29138003 19
66: spaces_left_parentheses_linter -52980448 -4906.5 5303 22180.316 49144.0 29735499 19
67: yoda_test_linter -33179754 -6491.5 7172 34977.563 47189.0 46294975 19
68: duplicate_argument_linter -28134634 -5026.0 9243 125521.428 56787.5 40368116 19
69: equals_na_linter -638524 -1981.5 12575 119356.984 82052.0 27954876 19
linter Min. 1st Qu. Median Mean 3rd Qu. Max. NA's
Units are nanoseconds and all of the Q1-Q3 ranges contain 0, so I don't think much has changed w.r.t. performance.
(caveat: !is.na(Min.)
drops new linters but also renamed linters, I need to come up with a mapping for those)
Thos 19 NA
s are the files from {mapmisc}, I believe it must throw an error on v3.0.2
.
Some more quick takeaways (re-ran as of 2b06c52109729c15931dc820580d273acb5c86d7 on 700 packages)
fixed_regex_linter()
help about 0.3% of packages ({kableExtra} and {remedy} in this case) linter v3.0.2 v3.1.0 delta
2: T_and_F_symbol_linter 5261 5685 424
3: absolute_path_linter 178 206 28
4: any_duplicated_linter 70 70 0
5: any_is_na_linter 417 417 0
6: assignment_linter 18012 18086 74
7: boolean_arithmetic_linter 0 140 140
8: brace_linter 23097 23060 -37
9: class_equals_linter 421 434 13
10: commas_linter 79189 79640 451
11: commented_code_linter 8655 8751 96
12: condition_message_linter 1148 1149 1
13: conjunct_test_linter 42 42 0
14: consecutive_assertion_linter 153 269 116
15: cyclocomp_linter 1146 1159 13
16: duplicate_argument_linter 114 89 -25
17: empty_assignment_linter 0 2 2
18: error 36 32 -4
19: expect_comparison_linter 409 409 0
20: expect_identical_linter 4587 4668 81
21: expect_length_linter 356 356 0
22: expect_named_linter 133 133 0
23: expect_not_linter 69 69 0
24: expect_null_linter 56 56 0
25: expect_s3_class_linter 185 185 0
26: expect_s4_class_linter 258 258 0
27: expect_true_false_linter 212 212 0
28: expect_type_linter 66 66 0
29: extraction_operator_linter 84972 86172 1200
30: fixed_regex_linter 1011 1125 114
31: for_loop_index_linter 0 9 9
32: function_argument_linter 769 801 32
33: function_left_parentheses_linter 4230 4252 22
34: ifelse_censor_linter 27 27 0
35: implicit_assignment_linter 0 722 722
36: implicit_integer_linter 193273 195127 1854
37: indentation_linter 0 78609 78609
38: infix_spaces_linter 138677 139080 403
39: inner_combine_linter 54 55 1
40: is_numeric_linter 0 1 1
41: lengths_linter 0 98 98
42: line_length_linter 46050 46352 302
43: literal_coercion_linter 992 992 0
44: matrix_apply_linter 0 367 367
45: missing_argument_linter 186 186 0
46: missing_package_linter 1815 1828 13
47: namespace_linter 1500 1510 10
48: nested_ifelse_linter 93 93 0
49: nonportable_path_linter 2212 2254 42
50: numeric_leading_zero_linter 4567 4568 1
51: object_length_linter 443 488 45
52: object_name_linter 61446 61187 -259
53: object_usage_linter 23080 22937 -143
54: outer_negation_linter 164 164 0
55: package_hooks_linter 6 6 0
56: paren_body_linter 7786 7844 58
57: paste_linter 2011 2106 95
58: pipe_call_linter 84 84 0
59: pipe_continuation_linter 68 68 0
60: quotes_linter 23888 24490 602
61: redundant_equals_linter 0 1492 1492
62: redundant_ifelse_linter 117 117 0
63: regex_subset_linter 30 30 0
64: routine_registration_linter 0 416 416
65: semicolon_linter 10476 10476 0
66: seq_linter 2362 2401 39
67: sort_linter 0 14 14
68: spaces_inside_linter 12125 12429 304
69: spaces_left_parentheses_linter 20180 20222 42
70: sprintf_linter 4 6 2
71: string_boundary_linter 126 129 3
72: strings_as_factors_linter 241 293 52
73: system_file_linter 13 13 0
74: todo_comment_linter 356 356 0
75: trailing_blank_lines_linter 2088 2121 33
76: trailing_whitespace_linter 36897 37761 864
77: undesirable_function_linter 6759 6836 77
78: undesirable_operator_linter 1357 1363 6
79: unnecessary_concatenation_linter 4535 4557 22
80: unnecessary_lambda_linter 0 174 174
81: unnecessary_nested_if_linter 0 581 581
82: unnecessary_placeholder_linter 0 24 24
83: unreachable_code_linter 41 41 0
84: unused_import_linter 199 185 -14
85: vector_logic_linter 1972 2003 31
86: whitespace_linter 63885 63885 0
87: yoda_test_linter 375 375 0
linter v3.0.2 v3.1.0 delta
main
: linter N
1: implicit_integer_linter 1904
2: extraction_operator_linter 1202
3: trailing_whitespace_linter 888
4: object_name_linter 676
5: quotes_linter 602
6: object_usage_linter 537
7: commas_linter 451
8: T_and_F_symbol_linter 424
9: infix_spaces_linter 403
10: spaces_inside_linter 304
11: line_length_linter 302
12: fixed_regex_linter 116
13: consecutive_assertion_linter 116
14: commented_code_linter 96
15: paste_linter 95
16: brace_linter 83
17: expect_identical_linter 81
18: undesirable_function_linter 77
19: assignment_linter 74
20: paren_body_linter 58
21: strings_as_factors_linter 52
22: object_length_linter 50
23: nonportable_path_linter 44
24: spaces_left_parentheses_linter 42
25: seq_linter 39
26: trailing_blank_lines_linter 33
27: function_argument_linter 32
28: vector_logic_linter 31
29: absolute_path_linter 28
30: function_left_parentheses_linter 23
31: namespace_linter 23
32: unnecessary_concatenation_linter 22
33: sort_linter 14
34: missing_package_linter 13
35: cyclocomp_linter 13
36: class_equals_linter 13
37: undesirable_operator_linter 6
38: string_boundary_linter 3
39: sprintf_linter 2
40: condition_message_linter 1
41: numeric_leading_zero_linter 1
42: inner_combine_linter 1
linter N
v3.0.2
: linter N
1: implicit_integer_linter 193273
2: infix_spaces_linter 138677
3: extraction_operator_linter 84972
4: commas_linter 79189
5: whitespace_linter 63840
6: object_name_linter 61446
7: line_length_linter 46050
8: trailing_whitespace_linter 36897
9: quotes_linter 23888
10: brace_linter 22250
11: object_usage_linter 21367
12: spaces_left_parentheses_linter 20180
13: assignment_linter 18012
14: spaces_inside_linter 12120
15: semicolon_linter 10476
16: commented_code_linter 8655
17: paren_body_linter 7786
18: undesirable_function_linter 6759
19: T_and_F_symbol_linter 5261
20: expect_identical_linter 4587
21: numeric_leading_zero_linter 4567
22: unnecessary_concatenation_linter 4535
23: function_left_parentheses_linter 4230
24: seq_linter 2362
25: nonportable_path_linter 2212
26: trailing_blank_lines_linter 2088
27: paste_linter 2011
28: vector_logic_linter 1972
29: missing_package_linter 1815
30: namespace_linter 1500
31: undesirable_operator_linter 1357
32: condition_message_linter 1148
33: cyclocomp_linter 1146
34: fixed_regex_linter 1011
35: literal_coercion_linter 992
36: function_argument_linter 769
37: object_length_linter 443
38: class_equals_linter 421
39: any_is_na_linter 417
40: expect_comparison_linter 409
41: yoda_test_linter 375
42: todo_comment_linter 356
43: expect_length_linter 356
44: expect_s4_class_linter 258
45: strings_as_factors_linter 241
46: expect_true_false_linter 212
47: unused_import_linter 199
48: missing_argument_linter 186
49: expect_s3_class_linter 185
50: absolute_path_linter 178
51: outer_negation_linter 164
52: consecutive_assertion_linter 153
53: expect_named_linter 133
54: string_boundary_linter 126
55: redundant_ifelse_linter 117
56: duplicate_argument_linter 114
57: nested_ifelse_linter 93
58: pipe_call_linter 84
59: any_duplicated_linter 70
60: expect_not_linter 69
61: pipe_continuation_linter 68
62: expect_type_linter 66
63: expect_null_linter 56
64: inner_combine_linter 54
65: conjunct_test_linter 42
66: unreachable_code_linter 41
67: error 36
68: regex_subset_linter 30
69: ifelse_censor_linter 27
70: system_file_linter 13
71: package_hooks_linter 6
72: sprintf_linter 4
linter N
Just dumping this for now, plan to look into more later. Feel free to highlight anything worth inspecting further. (I'd share the results CSV but it's 1.9M rows / 142MiB in memory)
Thanks for the analyses. Table 4 seems wrong, looking at the count for implicit_integer_linter
.
I'd expect it to be on the order of 1000s, not 193273 -- incidentally the total count for v3.0.2
Any update on this?
I'll have more time to look into it next week
narrator: he did not have more time :smile:
I ran the initial steps in the release procedure, now working on two new ones.
First, here's the output of .dev/revdep_compare_releases
:
The following packages warned on main only:
admiral, BiasCorrector, bupaR, cattonum, designer, dittodb, DQAgui, dupree, emayili, healthcareai, languageserver, latrend, mlrCPO, rBiasCorrection, rextendr, rhino, supernova, WoodburyMatrix
The following packages warned on v3.0.2 only:
The following packages warned on both branches:
abbyyR, admiralophtha, admiralvaccine, BTYDplus, cleaR, crunch, dampack, dashboardthemes, DBItest, DepthProc, diffusr, DIZtools, DIZutils, dyn.log, edgarWebR, epigraphdb, fixtuRes, FSelectorRcpp, geofacet, geogrid, ggcharts, ggthemes, jpmesh, mlflow, mlr, modules, openbankeR, opensensmapr, osfr, packager, physiology, prettyB, PWFSLSmoke, rbokeh, requiRements, RestRserve, RSQL, scriptexec, stencilaschema, tsviz, tuber, upsetjs, virustotal, WikidataQueryServiceR
The following packages failed on main only:
datastructures.failure: object 'absolute_paths_linter' not found
DepthProc.failure: object 'absolute_paths_linter' not found
diffusr.failure: `fun` must be a function taking exactly one argument.
tuber.failure: `defaults` must be a named list.
The following packages failed on v3.0.2 only:
bupaR.failure: Expecting '}'
dashboardthemes.failure: the condition has length > 1
dyn.log.failure: unused argument (expr)
openbankeR.failure: the condition has length > 1
The following packages failed on both branches:
abbyyR, DBItest, geofacet, geogrid, opensensmapr, rbokeh, RestRserve, roadoi, virustotal
Count of lints found on main but not on v3.0.2: 37894
Count of these by linter:
linter N
1: indentation_linter 37664
2: quotes_linter 153
3: infix_spaces_linter 36
4: object_usage_linter 25
5: line_length_linter 6
6: semicolon_linter 3
7: brace_linter 2
8: paren_body_linter 2
9: object_length_linter 1
10: assignment_linter 1
11: vector_logic_linter 1
Sample of <=10 hits from each linter:
line
1: expect_error( [indentation_linter]
2: expect_true(file.remove(paste0(prefix, "/log.txt"))) [indentation_linter]
3: }) [indentation_linter]
4: ) [indentation_linter]
5: }) [indentation_linter]
6: cd("Project One") %>% [indentation_linter]
7: lines <- attr(srcref, "srcfile")$lines [indentation_linter]
8: test_that("datetime rollup cubes", { [indentation_linter]
9: list(create_rln_clock_model(mparam_id = 42)), [indentation_linter]
10: ), [indentation_linter]
11: ui <- tagList( [object_usage_linter]
12: page_html <- CanvasModuleServer("canvas", selected_template = template_html) [object_usage_linter]
13: make_option(c("-b", "--blastfile"), type="character", default=NULL, [object_usage_linter]
14: allnames <- unique(unlist(subnames)) [object_usage_linter]
15: make_option(c("-b", "--blastfile"), type="character", default=NULL, [object_usage_linter]
16: opt <- parse_args(opt_parser); [object_usage_linter]
17: opt_parser <- OptionParser(option_list=option_list); [object_usage_linter]
18: varnames <- vapply(variables, name, character(1)) [object_usage_linter]
19: keep.going <- TRUE [object_usage_linter]
20: i <- 1 [object_usage_linter]
21: signature(a = 'SWoodburyMatrix', b = 'missing'), [quotes_linter]
22: doc <- docs[docs$description == 'Complete submission text file', ] [quotes_linter]
23: plot(Y, type = 'l') [quotes_linter]
24: signature(a = 'GWoodburyMatrix', b = 'ANY'), [quotes_linter]
25: expect_is(WoodburyMatrix(M_ss, M_ss), 'SWoodburyMatrix') [quotes_linter]
26: setGeneric('mahalanobis') [quotes_linter]
27: 'B and V are not compatible' [quotes_linter]
28: c(x = 'SWoodburyMatrix'), [quotes_linter]
29: context('normal distribution') [quotes_linter]
30: c(object = 'GWoodburyMatrix'), [quotes_linter]
31: make_option(c("-o", "--outfile"), type="character", default="P2Run_", [infix_spaces_linter]
32: make_option(c("-C", "--combineincs"), action="store_true", default=NA, [infix_spaces_linter]
33: make_option(c("-t", "--title"), type="character", default="Plasmid Profiles", [infix_spaces_linter]
34: help="Title of image [default = %default]", metavar="character"), [infix_spaces_linter]
35: make_option(c("-s", "--srst2file"), type="character", default=NULL, [infix_spaces_linter]
36: make_option(c("-s", "--srst2file"), type="character", default=NULL, [infix_spaces_linter]
37: make_option(c("-l", "--length"), type="numeric", default=NA, [infix_spaces_linter]
38: help="BLAST TSV file name", metavar="character"), [infix_spaces_linter]
39: help="Output filename prefix [default= %default]", metavar="character"), [infix_spaces_linter]
40: make_option(c("-C", "--combineincs"), action="store_true", default=NA, [infix_spaces_linter]
41: help="Output filename prefix [default= %default]", metavar="character"), [line_length_linter]
42: help="Combine very closely related incompatibility groups. eg. ") [line_length_linter]
43: #' Rscript plasmidprofile.R -b blast_runG.tsv -s srst2_runG.tsv -u 0.75 -l 10000 -t "This is a test" -a [line_length_linter]
44: make_option(c("-t", "--title"), type="character", default="Plasmid Profiles", [line_length_linter]
45: help="Title of image [default = %default]", metavar="character"), [line_length_linter]
46: help="Sureness cut off [default = %default]", metavar="numeric"), [line_length_linter]
47: opt_parser <- OptionParser(option_list=option_list); [semicolon_linter]
48: ); [semicolon_linter]
49: opt <- parse_args(opt_parser); [semicolon_linter]
50: if (is.null(opt$blastfile) | is.null(opt$srst2file)){ [vector_logic_linter]
51: option_list = list( [assignment_linter]
52: cl_arguments <- function(){ [paren_body_linter]
53: if (is.null(opt$blastfile) | is.null(opt$srst2file)){ [paren_body_linter]
54: .cb_get_phenotype_statistics_v1 <- function(cohort, pheno_id) { [object_length_linter]
55: cl_arguments <- function(){ [brace_linter]
56: if (is.null(opt$blastfile) | is.null(opt$srst2file)){ [brace_linter]
line
location
1: crunch:tests/testthat/test-combine-categories.R
2: rBiasCorrection:tests/testthat/test-utils.R
3: crunch:R/combine-categories.R
4: crunch:R/filters.R
5: crunch:tests/testthat/test-subtotals-and-headings.R
6: crunch:tests/testthat/test-project-folder.R
7: languageserver:R/document.R
8: crunch:tests/testthat/test-cubes.R
9: beautier:tests/testthat/test-init_clock_models.R
10: crunch:tests/testthat/test-cube-residuals-zed-scores.R
11: designer:R/app_ui.R
12: designer:R/app_server.R
13: Plasmidprofiler:exec/plasmidprofile.R
14: crunch:R/make-array.R
15: Plasmidprofiler:exec/plasmidprofile.R
16: Plasmidprofiler:exec/plasmidprofile.R
17: Plasmidprofiler:exec/plasmidprofile.R
18: crunch:R/make-array.R
19: crunch:R/as-vector.R
20: crunch:R/as-vector.R
21: WoodburyMatrix:R/solve.R
22: edgarWebR:vignettes/parsing.Rmd
23: WoodburyMatrix:vignettes/WoodburyMatrix.Rmd
24: WoodburyMatrix:R/solve.R
25: WoodburyMatrix:tests/testthat/test-WoodburyMatrix.R
26: WoodburyMatrix:R/mahalanobis.R
27: WoodburyMatrix:R/validity.R
28: WoodburyMatrix:R/matrix-ops.R
29: WoodburyMatrix:tests/testthat/test-normal-distribution.R
30: WoodburyMatrix:R/is-symmetric.R
31: Plasmidprofiler:exec/plasmidprofile.R
32: Plasmidprofiler:exec/plasmidprofile.R
33: Plasmidprofiler:exec/plasmidprofile.R
34: Plasmidprofiler:exec/plasmidprofile.R
35: Plasmidprofiler:exec/plasmidprofile.R
36: Plasmidprofiler:exec/plasmidprofile.R
37: Plasmidprofiler:exec/plasmidprofile.R
38: Plasmidprofiler:exec/plasmidprofile.R
39: Plasmidprofiler:exec/plasmidprofile.R
40: Plasmidprofiler:exec/plasmidprofile.R
41: Plasmidprofiler:exec/plasmidprofile.R
42: Plasmidprofiler:exec/plasmidprofile.R
43: Plasmidprofiler:exec/plasmidprofile.R
44: Plasmidprofiler:exec/plasmidprofile.R
45: Plasmidprofiler:exec/plasmidprofile.R
46: Plasmidprofiler:exec/plasmidprofile.R
47: Plasmidprofiler:exec/plasmidprofile.R
48: Plasmidprofiler:exec/plasmidprofile.R
49: Plasmidprofiler:exec/plasmidprofile.R
50: Plasmidprofiler:exec/plasmidprofile.R
51: Plasmidprofiler:exec/plasmidprofile.R
52: Plasmidprofiler:exec/plasmidprofile.R
53: Plasmidprofiler:exec/plasmidprofile.R
54: cloudos:R/cb_filter_explore.R
55: Plasmidprofiler:exec/plasmidprofile.R
56: Plasmidprofiler:exec/plasmidprofile.R
location
Count of lints found on v3.0.2 but not on main: 1082
Count of these by linter:
linter N
1: object_name_linter 682
2: object_length_linter 180
3: object_usage_linter 153
4: brace_linter 67
Sample of <=10 hits from each linter:
line
1: predictLearner.classif.plsdaCaret = function(.learner, .model, .newdata, ...) { [object_name_linter]
2: predictLearner.regr.cforest = function(.learner, .model, .newdata, ...) { [object_name_linter]
3: trainLearner.regr.gbm = function(.learner, .task, .subset, .weights = NULL, ...) { [object_name_linter]
4: trainLearner.CostSensClassifWrapper = function(.learner, .task, .subset = NULL, ...) { [object_name_linter]
5: makeRLearner.surv.cforest = function() { [object_name_linter]
6: getFeatureImportanceLearner.classif.h2o.gbm = function(.learner, .model, ...) { [object_name_linter]
7: trainLearner.classif.PART = function(.learner, .task, .subset, .weights = NULL, ...) { [object_name_linter]
8: predictLearner.regr.LiblineaRL2L1SVR = function(.learner, .model, .newdata, ...) { [object_name_linter]
9: makeRLearner.classif.h2o.gbm = function() { [object_name_linter]
10: setPredictType.StackedLearner = function(learner, predict.type) { [object_name_linter]
11: function(.learner, .task, .subset, .weights = NULL, ...) { } [brace_linter]
12: cpo.trafo = { }) [brace_linter]
13: moduleServer(id, function(input, output, session) {}) [brace_linter]
14: cpo.trafo = { }, cpo.retrafo = { }) [brace_linter]
15: build = function(script, prop, debug) {}, [brace_linter]
16: moduleServer(id, function(input, output, session) {}) [brace_linter]
17: server <- function(input, output, session) {} [brace_linter]
18: function(.learner, .model, .newdata, ...) { } [brace_linter]
19: cpo.trafo = { }), "<function> is not feasible for parameter 'a'") [brace_linter]
20: moduleServer(id, function(input, output, session) {}) [brace_linter]
21: trainLearner.regr.LiblineaRL2L2SVR = function(.learner, .task, .subset, .weights = NULL, ...) { [object_length_linter]
22: makeRLearner.classif.naiveBayes = function() { [object_length_linter]
23: predictLearner.cluster.SimpleKMeans = function(.learner, .model, .newdata, ...) { [object_length_linter]
24: generateThreshVsPerfData.Prediction = function(obj, measures, gridsize = 100L, aggregate = TRUE, [object_length_linter]
25: predictLearner.cluster.FarthestFirst = function(.learner, .model, .newdata, ...) { [object_length_linter]
26: getFeatureImportanceLearner.surv.ranger = function(.learner, .model, ...) { [object_length_linter]
27: makeRLearner.classif.adaboostm1 = function() { [object_length_linter]
28: trainLearner.regr.h2o.deeplearning = function(.learner, .task, .subset, .weights = NULL, ...) { [object_length_linter]
29: predictLearner.classif.gamboost = function(.learner, .model, .newdata, ...) { [object_length_linter]
30: getFeatureImportanceLearner.classif.RRF = function(.learner, .model, ...) { [object_length_linter]
31: appServer <- function(input, output, session) { [object_usage_linter]
32: r_HD = r_HD, hr_S1D = hr_S1D, hr_S2D = hr_S2D, [object_usage_linter]
33: v_state_cost <- c("H" = c_H, "S1" = c_S1, "S2" = c_S2, "D" = c_D) [object_usage_linter]
34: ellipse(cor(Effectiveness, Cost), [object_usage_linter]
35: u_H = u_H, u_S1 = u_S2, u_S2 = u_S1, u_D = u_D, [object_usage_linter]
36: threshold_min = threshold[1], [object_usage_linter]
37: CodeModuleServer <- function(id, ui_code) { [object_usage_linter]
38: l_params_markov <- list(n_cycles = n_cycles, r_disc = r_disc, v_s_init = v_s_init, [object_usage_linter]
39: p = p, [object_usage_linter]
40: c_H = c_H, c_S1 = c_S2, c_S2 = c_S1, c_D = c_D, [object_usage_linter]
line
location
1: mlr:R/RLearner_classif_plsdaCaret.R
2: mlr:R/RLearner_regr_cforest.R
3: mlr:R/RLearner_regr_gbm.R
4: mlr:R/CostSensClassifWrapper.R
5: mlr:R/RLearner_surv_cforest.R
6: mlr:R/RLearner_classif_h2ogbm.R
7: mlr:R/RLearner_classif_PART.R
8: mlr:R/RLearner_regr_LiblineaRL2L1SVR.R
9: mlr:R/RLearner_classif_h2ogbm.R
10: mlr:R/StackedLearner.R
11: mlr:vignettes/tutorial/create_learner.Rmd
12: mlrCPO:tests/testthat/test_core_basic.R
13: shiny.blueprint:inst/examples/ButtonGroup.R
14: mlrCPO:tests/testthat/test_core_basic.R
15: unifir:vignettes/unifir-dev-guide.Rmd
16: shiny.blueprint:inst/examples/FormGroup.R
17: shiny.semantic:vignettes/intro.Rmd
18: mlr:vignettes/tutorial/create_learner.Rmd
19: mlrCPO:tests/testthat/test_core_basic.R
20: shiny.blueprint:inst/examples/htmlElements.R
21: mlr:R/RLearner_regr_LiblineaRL2L2SVR.R
22: mlr:R/RLearner_classif_naiveBayes.R
23: mlr:R/RLearner_cluster_SimpleKMeans.R
24: mlr:R/generateThreshVsPerf.R
25: mlr:R/RLearner_cluster_FarthestFirst.R
26: mlr:R/RLearner_surv_ranger.R
27: mlr:R/RLearner_classif_adaboostm1.R
28: mlr:R/RLearner_regr_h2odeeplearning.R
29: mlr:R/RLearner_classif_gamboost.R
30: mlr:R/RLearner_classif_RRF.R
31: designer:R/app_server.R
32: dampack:vignettes/psa_generation.Rmd
33: dampack:vignettes/dsa_generation.Rmd
34: dampack:R/psa.R
35: dampack:vignettes/psa_generation.Rmd
36: cmstatr:R/equiv.R
37: designer:R/mod_code_srv.R
38: dampack:vignettes/psa_generation.Rmd
39: cmstatr:R/levene.R
40: dampack:vignettes/dsa_generation.Rmd
location
NULL
Comparison of total time to run lint_packages() across all repos:
3674m to run on main, 3293m to run on v3.0.2
Comparison of time to run lint_package() on each repo (new - old; negative -> faster)
package elapsed_main elapsed_v3.0.2 delta
1: datarobot 121.731 124.447 -2.716000e+00
2: EstimationTools 42.043 43.148 -1.105000e+00
3: shiny.semantic 43.236 44.233 -9.970000e-01
4: diffusr 0.056 1.037 -9.810000e-01
5: epigraphdb 9.332 9.894 -5.620000e-01
6: kdry 5.191 5.687 -4.960000e-01
7: PaRe 19.465 19.935 -4.700000e-01
8: data.validator 7.703 8.041 -3.380000e-01
9: datacutr 13.514 13.735 -2.210000e-01
10: Plasmidprofiler 7.387 7.597 -2.100000e-01
11: shiny.info 3.510 3.719 -2.090000e-01
12: shiny.router 4.456 4.657 -2.010000e-01
13: devtools 1.894 2.055 -1.610000e-01
14: tuber 1.861 2.012 -1.510000e-01
15: urlshorteneR 19.203 19.352 -1.490000e-01
16: logrx 14.545 14.677 -1.320000e-01
17: fakemake 7.781 7.907 -1.260000e-01
18: shiny.blueprint 14.396 14.488 -9.200000e-02
19: rdomains 4.563 4.654 -9.100000e-02
20: shiny.react 3.510 3.601 -9.100000e-02
21: WikidataQueryServiceR 1.089 1.147 -5.800000e-02
22: adaptalint 2.180 2.209 -2.900000e-02
23: activatr 10.013 10.032 -1.900000e-02
24: wavefunction 0.796 0.809 -1.300000e-02
25: admiral.test 2.175 2.183 -8.000000e-03
26: DBItest 0.085 0.090 -5.000000e-03
27: opensensmapr 0.029 0.030 -1.000000e-03
28: rbokeh 0.051 0.052 -1.000000e-03
29: geofacet 0.017 0.017 2.273737e-13
30: abbyyR 0.135 0.124 1.100000e-02
31: geogrid 0.081 0.056 2.500000e-02
32: virustotal 0.079 0.039 4.000000e-02
33: RestRserve 0.095 0.042 5.300000e-02
34: newsmd 1.680 1.616 6.400000e-02
35: cleaR 1.197 1.100 9.700000e-02
36: airnow 5.273 5.163 1.100000e-01
37: requiRements 1.271 1.161 1.100000e-01
38: aws.alexa 3.230 3.109 1.210000e-01
39: describer 1.312 1.183 1.290000e-01
40: biolink 5.241 5.103 1.380000e-01
41: rasterpdf 2.261 2.118 1.430000e-01
42: designer 6.556 6.408 1.480000e-01
43: lineupjs 1.465 1.294 1.710000e-01
44: NHSRplotthedots 13.281 13.090 1.910000e-01
45: semantic.dashboard 9.051 8.829 2.220000e-01
46: autonewsmd 2.964 2.741 2.230000e-01
47: tsviz 1.720 1.461 2.590000e-01
48: stencilaschema 1.923 1.643 2.800000e-01
49: rde 3.010 2.684 3.260000e-01
50: xportr 15.731 15.372 3.590000e-01
51: foundry 5.536 5.160 3.760000e-01
52: sjtable2df 3.080 2.698 3.820000e-01
53: ConNEcT 9.002 8.619 3.830000e-01
54: rhino 7.238 6.850 3.880000e-01
55: PosteriorBootstrap 3.850 3.439 4.110000e-01
56: dupree 6.463 6.045 4.180000e-01
57: WoodburyMatrix 2.757 2.331 4.260000e-01
58: prettyB 2.895 2.455 4.400000e-01
59: PWFSLSmoke 99.687 99.247 4.400000e-01
60: fixtuRes 5.157 4.678 4.790000e-01
61: i18n 16.893 16.401 4.920000e-01
62: maraca 4.224 3.654 5.700000e-01
63: lifecycle 11.224 10.619 6.050000e-01
64: shiny.benchmark 7.255 6.641 6.140000e-01
65: dampack 14.235 13.608 6.270000e-01
66: scriptexec 4.368 3.719 6.490000e-01
67: DepthProc 7.453 6.795 6.580000e-01
68: DIZutils 4.702 4.037 6.650000e-01
69: autoharp 29.589 28.912 6.770000e-01
70: admiralophtha 10.232 9.550 6.820000e-01
71: rnrfa 8.047 7.353 6.940000e-01
72: shiny.i18n 4.785 4.060 7.250000e-01
73: secuTrialR 35.261 34.509 7.520000e-01
74: supernova 14.254 13.501 7.530000e-01
75: connectwidgets 9.007 8.253 7.540000e-01
76: roadoi 2.653 1.869 7.840000e-01
77: mcbette 10.670 9.740 9.300000e-01
78: admiralonco 20.578 19.628 9.500000e-01
79: ggcharts 13.991 12.977 1.014000e+00
80: ggRandomForests 55.207 54.142 1.065000e+00
81: upsetjs 7.523 6.401 1.122000e+00
82: DIZtools 10.097 8.960 1.137000e+00
83: emayili 13.059 11.905 1.154000e+00
84: nLTT 14.585 13.407 1.178000e+00
85: INSPECTumours 13.029 11.824 1.205000e+00
86: fst 13.213 11.909 1.304000e+00
87: fstcore 13.213 11.909 1.304000e+00
88: TDA 22.142 20.828 1.314000e+00
89: admiralvaccine 23.238 21.921 1.317000e+00
90: openbankeR 1.460 0.086 1.374000e+00
91: FSelectorRcpp 13.989 12.603 1.386000e+00
92: shiny.telemetry 12.146 10.676 1.470000e+00
93: RSQL 5.043 3.523 1.520000e+00
94: REDCapTidieR 14.568 13.042 1.526000e+00
95: DQAgui 13.104 11.575 1.529000e+00
96: physiology 13.893 12.338 1.555000e+00
97: caretEnsemble 17.782 16.221 1.561000e+00
98: cloudos 11.290 9.694 1.596000e+00
99: rextendr 15.196 13.443 1.753000e+00
100: jpmesh 10.888 9.128 1.760000e+00
101: goodpractice 13.249 11.475 1.774000e+00
102: dat 12.988 11.205 1.783000e+00
103: dittodb 16.973 15.114 1.859000e+00
104: babette 27.972 26.089 1.883000e+00
105: modules 12.199 10.273 1.926000e+00
106: DataFakeR 16.468 14.244 2.224000e+00
107: clugenr 17.716 15.477 2.239000e+00
108: precommit 18.623 16.342 2.281000e+00
109: mlexperiments 18.483 16.200 2.283000e+00
110: osfr 25.479 23.167 2.312000e+00
111: BiasCorrector 11.905 9.513 2.392000e+00
112: mpathsenser 31.456 29.041 2.415000e+00
113: rBiasCorrection 12.874 10.390 2.484000e+00
114: simaerep 29.268 26.607 2.661000e+00
115: BTYDplus 31.085 28.132 2.953000e+00
116: ggthemes 38.423 35.323 3.100000e+00
117: admiraldev 31.765 28.581 3.184000e+00
118: xgboost 53.471 50.024 3.447000e+00
119: unifir 16.863 13.137 3.726000e+00
120: cmstatr 46.414 42.563 3.851000e+00
121: DQAstats 26.513 22.623 3.890000e+00
122: mlflow 21.727 17.744 3.983000e+00
123: fxTWAPLS 17.554 13.421 4.133000e+00
124: packager 27.637 22.096 5.541000e+00
125: smerc 80.618 74.017 6.601000e+00
126: edgarWebR 399.148 392.382 6.766000e+00
127: pirouette 73.519 65.545 7.974000e+00
128: languageserver 19.047 10.991 8.056000e+00
129: ggfortify 46.798 38.457 8.341000e+00
130: dashboardthemes 8.733 0.051 8.682000e+00
131: admiral 193.309 184.534 8.775000e+00
132: latrend 108.993 97.078 1.191500e+01
133: lightgbm 56.230 43.229 1.300100e+01
134: dyn.log 15.716 0.145 1.557100e+01
135: beautier 167.769 151.869 1.590000e+01
136: arrow 182.153 153.499 2.865400e+01
137: crunch 217.087 188.247 2.884000e+01
138: bupaR 40.588 10.618 2.997000e+01
139: mlrCPO 145.003 112.939 3.206400e+01
140: mlr 213.409 171.629 4.178000e+01
package elapsed_main elapsed_v3.0.2 delta
delta_pct
1: -2.182455e+00
2: -2.560953e+00
3: -2.253973e+00
4: -9.459981e+01
5: -5.680210e+00
6: -8.721646e+00
7: -2.357662e+00
8: -4.203457e+00
9: -1.609028e+00
10: -2.764249e+00
11: -5.619790e+00
12: -4.316083e+00
13: -7.834550e+00
14: -7.504970e+00
15: -7.699463e-01
16: -8.993664e-01
17: -1.593525e+00
18: -6.350083e-01
19: -1.955307e+00
20: -2.527076e+00
21: -5.056670e+00
22: -1.312811e+00
23: -1.893939e-01
24: -1.606922e+00
25: -3.664682e-01
26: -5.555556e+00
27: -3.333333e+00
28: -1.923077e+00
29: 1.337492e-09
30: 8.870968e+00
31: 4.464286e+01
32: 1.025641e+02
33: 1.261905e+02
34: 3.960396e+00
35: 8.818182e+00
36: 2.130544e+00
37: 9.474591e+00
38: 3.891927e+00
39: 1.090448e+01
40: 2.704292e+00
41: 6.751653e+00
42: 2.309613e+00
43: 1.321484e+01
44: 1.459129e+00
45: 2.514441e+00
46: 8.135717e+00
47: 1.772758e+01
48: 1.704200e+01
49: 1.214605e+01
50: 2.335415e+00
51: 7.286822e+00
52: 1.415864e+01
53: 4.443671e+00
54: 5.664234e+00
55: 1.195115e+01
56: 6.914806e+00
57: 1.827542e+01
58: 1.792261e+01
59: 4.433383e-01
60: 1.023942e+01
61: 2.999817e+00
62: 1.559934e+01
63: 5.697335e+00
64: 9.245596e+00
65: 4.607584e+00
66: 1.745093e+01
67: 9.683591e+00
68: 1.647263e+01
69: 2.341588e+00
70: 7.141361e+00
71: 9.438324e+00
72: 1.785714e+01
73: 2.179142e+00
74: 5.577365e+00
75: 9.136072e+00
76: 4.194757e+01
77: 9.548255e+00
78: 4.840024e+00
79: 7.813824e+00
80: 1.967050e+00
81: 1.752851e+01
82: 1.268973e+01
83: 9.693406e+00
84: 8.786455e+00
85: 1.019114e+01
86: 1.094970e+01
87: 1.094970e+01
88: 6.308815e+00
89: 6.007938e+00
90: 1.597674e+03
91: 1.099738e+01
92: 1.376920e+01
93: 4.314505e+01
94: 1.170066e+01
95: 1.320950e+01
96: 1.260334e+01
97: 9.623328e+00
98: 1.646379e+01
99: 1.304024e+01
100: 1.928133e+01
101: 1.545969e+01
102: 1.591254e+01
103: 1.229985e+01
104: 7.217601e+00
105: 1.874817e+01
106: 1.561359e+01
107: 1.446663e+01
108: 1.395790e+01
109: 1.409259e+01
110: 9.979713e+00
111: 2.514454e+01
112: 8.315829e+00
113: 2.390760e+01
114: 1.000113e+01
115: 1.049694e+01
116: 8.776152e+00
117: 1.114027e+01
118: 6.890692e+00
119: 2.836264e+01
120: 9.047764e+00
121: 1.719489e+01
122: 2.244702e+01
123: 3.079502e+01
124: 2.507694e+01
125: 8.918221e+00
126: 1.724340e+00
127: 1.216569e+01
128: 7.329633e+01
129: 2.168916e+01
130: 1.702353e+04
131: 4.755221e+00
132: 1.227364e+01
133: 3.007472e+01
134: 1.073862e+04
135: 1.046955e+01
136: 1.866722e+01
137: 1.532030e+01
138: 2.822565e+02
139: 2.839055e+01
140: 2.434321e+01
delta_pct
0% 10% 20% 30% 40% 50% 60% 70% 80% 90%
-2.7160 -0.1492 -0.0002 0.1641 0.4228 0.6880 1.1888 1.6431 2.4288 6.8868
100%
41.7800
I'll file an issue about investigating the slowdown, e.g. in mlr. I don't remember off-hand whether that timing would organically increase if we just add new default linters, so my first guess is the new indentation_linter()
is responsible.
Here are the new warnings vs. 3.0.2:
** admiral
Function with_defaults was deprecated in lintr version 2.0.9001. Use linters_with_defaults instead.
** BiasCorrector
Function with_defaults was deprecated in lintr version 2.0.9001. Use linters_with_defaults instead.
** bupaR
Trying to remove ‘no_tab_linter’, which is not in `defaults`.
Evaluating glue expression while testing for local variable usage failed: Expecting '}'
** cattonum
Function with_defaults was deprecated in lintr version 2.0.9001. Use linters_with_defaults instead.
** designer
Linter unneeded_concatenation_linter was deprecated in lintr version 3.1.0. Use unnecessary_concatenation_linter instead.
Possible bug in lintr: Couldn't parse usage message ‘<anonymous>: no visible global function definition for 'find_cache_dir'
’. Ignoring 1 usage warnings. Please report an issue at https://github.com/r-lib/lintr/issues.
Possible bug in lintr: Couldn't parse usage message ‘<anonymous>: no visible global function definition for 'find_cache_dir'
’. Ignoring 1 usage warnings. Please report an issue at https://github.com/r-lib/lintr/issues.
** dittodb
Function with_defaults was deprecated in lintr version 2.0.9001. Use linters_with_defaults instead.
** DQAgui
Function with_defaults was deprecated in lintr version 2.0.9001. Use linters_with_defaults instead.
** dupree
Function with_defaults was deprecated in lintr version 2.0.9001. Use linters_with_defaults instead.
** emayili
Function with_defaults was deprecated in lintr version 2.0.9001. Use linters_with_defaults instead.
** healthcareai
Function with_defaults was deprecated in lintr version 2.0.9001. Use linters_with_defaults instead.
Trying to remove ‘camel_case_linter’, which is not in `defaults`.
** languageserver
Could not find linter named ‘%s’ in the list of active linters. Make sure the linter is uniquely identified by the given name or prefix.
** latrend
Possible bug in lintr: Couldn't parse usage message ‘<anonymous>: no visible binding for global variable 'id'
’. Ignoring 1 usage warnings. Please report an issue at https://github.com/r-lib/lintr/issues.
** mlrCPO
Possible bug in lintr: Couldn't parse usage message ‘<anonymous>: local variable 't' assigned but may not be used
’. Ignoring 1 usage warnings. Please report an issue at https://github.com/r-lib/lintr/issues.
** rBiasCorrection
Function with_defaults was deprecated in lintr version 2.0.9001. Use linters_with_defaults instead.
** rextendr
Possible bug in lintr: Couldn't parse usage message ‘<anonymous>: no visible binding for global variable 'wrap__hello_world'
’. Ignoring 1 usage warnings. Please report an issue at https://github.com/r-lib/lintr/issues.
** rhino
Function with_defaults was deprecated in lintr version 2.0.9001. Use linters_with_defaults instead.
** supernova
Function with_defaults was deprecated in lintr version 2.0.9001. Use linters_with_defaults instead.
** WoodburyMatrix
Trying to remove ‘single_quotes_linter’, which is not in `defaults`
I see a few possible regressions there, filing issues.
@AshesITR @IndrajeetPatil anything else you'd like to see included in this release?
Barring that, @jimhester could you take it from here? Let us know how else to help :pray:
Thanks for the hard work everyone!
The update is on CRAN: https://cran.r-project.org/web/packages/lintr/index.html
After making a GitHub release, I think this issue can be closed.
Thanks @jimhester !!
I think the fixes we have for our CRAN warnings/errors, as well as the fix for #1405, are enough to warrant a patch release.
So filing this issue (along with the created milestone) for us to earmark some issues/PRs as important enough for inclusion, then we can submit a new release.
Prepare for release:
3.1.0
milestonedevtools::check(remote = TRUE, manual = TRUE)
devtools::check_win_devel()
donerhub::check_for_cran()
1 2 3revdepcheck::revdep_check()
..dev/revdep_get_repos.R
and.dev/revdep_compare_releases.R
.Submit to CRAN:
usethis::use_version('patch')
devtools::submit_cran()
Wait for CRAN...
cran-comments.md
usethis::use_github_release()
usethis::use_dev_version()