Skip to content

Latest commit

 

History

History
703 lines (569 loc) · 56.2 KB

CHANGELOG.md

File metadata and controls

703 lines (569 loc) · 56.2 KB

CHANGE LOG

CFLint-1.4.1 (2018-09-28)

Full Changelog

Implemented enhancements:

  • OSGI support #588
  • Support for Safe Navigation Operator #579
  • command line " -folder .\ " doesn't match any files, " -folder .\views " does #576
  • Add queryExecute to QueryParamChecker #554
  • UNUSED_METHOD_ARGUMENT: Case not being retained #545
  • Inconsistent ALLCAPS #544
  • CommandBox integration #310

Fixed bugs:

  • Argument-/ComponentNameChecker ignores parameter-override "maxWords" #587
  • ArrayIndexOutOfBoundsException errors #583
  • UNUSED_LOCAL_VARIABLE false positive when used in new object initialization #577
  • MISSING_VAR not triggering for tags in script #574
  • getting false positives on escaped pounds #571
  • PARSE_ERROR unable to parse #547
  • Parameters not being passed into results?? #543
  • VAR_INVALID_NAME for scoped variable #537
  • Strange PARSE_ERROR #536
  • -quiet reports some internal parsing/ANTLR messaging #526

Closed issues:

  • Find not english code. #585
  • Upgrade cfparser dependency to 2.7.0 #575
  • hanging producing report #459
  • Document CFLint contribution/build/test/play with process #317

Merged pull requests:

CFLint-1.4.0 (2018-05-27)

Full Changelog

Implemented enhancements:

  • Add queryExecute to QueryParamChecker #554
  • VAR_INVALID_NAME false positive with number-suffixed names #532
  • Stop CFLint from even scanning in known repo directories #527
  • No arguments being passed into CFLint #521
  • Report offsets #491
  • Add debug mode #329

Fixed bugs:

  • catch variables triggering MISSING_VAR #553
  • UNUSED_METHOD_ARGUMENT is triggered with a function argument #550
  • Change to CFLintAPI seems to have a negative impact on passing on values for quiet/verbose. #524
  • New MISSING_VAR false positives in 1.3.0 around cfscript/tag syntax #517
  • Component path not recognized as valid return type #500
  • Path for object instantiation seen as variable #499

Closed issues:

  • cflintexclude.json not being used #531
  • -text doesn't write into a file anymore #519
  • <cfcookie name...> fires MISSING_VAR #518
  • Describe built-in rules more precisely #505
  • Log currently processed file to console in verbose mode #438
  • Remove inheritPlugins and output #368

CFLint-1.3.0-RC2 (2017-12-28)

Full Changelog

Implemented enhancements:

  • Parameter name standardization #503
  • Implement an api #409

Fixed bugs:

  • java cast exception when parsing include where template argument is a function result #506
  • Deprecated message in stdout #448

Closed issues:

  • Provide examples for how to use rule parameters #504

Merged pull requests:

CFLint-1.3.0-RC1 (2017-12-24)

Full Changelog

Implemented enhancements:

  • inline ignore ARG_TYPE_MISSING -- support inline ignores at the statement level. #497
  • MISSING_VAR reports for variables inside lock{} #488
  • COMPONENT_* errors quote displayName instead of filename #469
  • Exceptions that occur in plugins (aka rules) should not be reported as PARSE_ERROR #358
  • Added more tags and attributes to check in VarScoper #495 (KamasamaK)

Fixed bugs:

  • unused var, but it is used. #493
  • Ignore mechanism not working properly #489
  • debug="false" on cfquery reports as leaving debug on tags #487
  • MISSING_VAR reports cfwddx() attributes #483
  • MISSING_VAR reports cfmail() attributes #482
  • @CFLintIgnore UNUSED_METHOD_ARGUMENT ignored #467
  • multiple UNUSED_LOCAL_VARIABLE false positives with cflib safeText #465
  • Running on folder causes nonexistent issues to be produced #463
  • Parsing error on "var no = 1;" #442
  • NullPointerException when string contains closing HTML tag without a matching opening one #440
  • NullPointerException-s when 'component' word used in function comment in an interface #439
  • NullPointerException when calling function 'index' with variable as argument #437
  • CFLint JAR became 22MB again #420
  • False positive on unused arguments when argument used in query param #418
  • False positive unused var when local variable is used in queryparam #416
  • MISSING_VAR in CFLOOP index #413
  • UNQUOTED_STRUCT_KEY only reported for implicit declaration #405
  • MISSING_VAR not caught for undeclared struct #404

Closed issues:

  • ARG_VAR_MIXED reported when implicit struct has key equal to argument #478
  • wrong expression for VAR_HAS_PREFIX_OR_POSTFIX #476
  • Variable Query is not a valid name. Please use CamelCase or underscores. #472
  • Double NPE with nested array notation #452
  • NPE with nested array notation #451
  • PLUGIN_ERROR on dev branch #450
  • Execution failed for task ':test'. #446
  • Config file usage #362

Merged pull requests:

CFLint-1.2.3 (2017-08-12)

Full Changelog

Closed issues:

  • Null pointer Exception #408

CFLint-1.2.2 (2017-08-10)

Full Changelog

Overview and major changes in CFLint 1.2.2

Linting

  • Bugfixes for rule processing

Output

  • Output of some rules has been improved and fixed
  • Internal changes for output processing
  • Timestamp issues in XML output sorted
  • Ducumentation for output schemas

Details

Implemented enhancements:

  • Clarify/update documentation for command line use in Powershell #400
  • MISSING_VAR issue in for loop #396
  • EXCESSIVE_FUNCTIONS uses absolute path in message #367
  • Document output schemas #322
  • Test Harry's Sublime/CFLint instructions and i18n to English if ok #307

Fixed bugs:

  • Gradle builds have stopped (or never did) publishing CFLint version number #390
  • Timestamp in JSON output should be a number #383
  • CFQUERYPARAM_REQ false positive with mixed case CFqueryparam #380
  • Support .cflintrc when using the -stdin argument. #373
  • PARSE_ERROR when concatenating strings with single quotes #359
  • PARSE_ERROR on scoped variable assignment in CFM #346

Closed issues:

  • PACKAGE_CASE_MISMATCH is reporting line 1 instead of actual. #402
  • Document .cflintrc schema #352
  • Document IDE integrations #312

Merged pull requests:

CFLint1.2.0 (2017-07-29)

Full Changelog

Overview and major changes in CFLint 1.2.0

Parsing

  • Numerous fixes for parsing CFML code, update to CFParser 2.4.10
  • Upgrade to ANTLR 4.7

Linting

  • Bugfixes for rule processing
  • Added annotation-based ignoring of rules inline in code.
  • JSON-based configuration has undergone a few changes and configuration properties have been deprecated.

Output

  • Support for -showStats has been removed - scanning statistics are now always produced and displayed/included
  • Findbugs XML output now matches the requirements for Findbugs' bugcollection.xsd and has undergone major changes from earlier versions.
  • CFLint XML output has some additional attributes for some XML elements in the output structure (no breaking changes)
  • JSON output has undergone a rework of the existing data structure to cater for the output of additional information (breaking changes)

Details

Implemented enhancements:

  • ANTLR Tool version 4.6 mismatch #366
  • inheritPlugins in .cflintrc should be always true #315
  • HTML outputs are broken #301
  • Move old bug count logic for output into cflintstats #299
  • Allowing to ignore CFQUERYPARAM_REQ with SQL code #295
  • Empty files report FILE_ERROR #291
  • Additions to CFLint XML (was: Building a mechanism to pass timestamps and additional counters into FIndbugs XML) #278
  • Additional improvements necessary for issues XML to be XML transformed into more meaningful Findbugs XML #276
  • Generated findbugs xml report doesn't adhere to Findbugs XML Schema #274
  • We need this to run for Visual Studio Code also. #270
  • npm install #268

Fixed bugs:

  • PARSE_ERROR when "function" used as variable name #364
  • Rule UNUSED_LOCAL_VARIABLE has issues with several tags #339
  • AVOID_EMPTY_FILES being reported if file doesn't exist #336
  • DefaultCFLintMarshaller doesn't have any of the CFLint XML improvements in XMLOutput #330
  • EXCESSIVE_ARGUMENTS is not configured correctly #308
  • HTML outputs are broken #301
  • Stack overflow in dev branch #293
  • MISSING_SEMI false positive in if/else #289
  • Script ignore syntax fails in mixed cfscript/tag code #285
  • MISSING_VAR false positive cfquery loops #284
  • CFQUERYPARAM_REQ false positives #282
  • Generated findbugs xml report doesn't adhere to Findbugs XML Schema #274
  • Findbugs XML output creates <?xml...?> tag twice #271
  • Unclear error messages: Error in plugin, 0 #269
  • Complex if() freezes analysis #266
  • CFML analysis tries to parse tags inside strings/literals #253

Closed issues:

  • Maven build fails using the ZIP file from GitHub since it needs the .git folder #363
  • Add contributing guidelines document #361
  • PARSE_ERROR when cfloop has "delimiters" attribute #357
  • Remove and deprecate "output" on top-level of .cflintrc #356
  • PARSE_ERROR on component with a name coinciding with one instantiated elsewhere #347
  • GLOBAL_LITERAL_VALUE_USED_TOO_OFTEN falsely indicated in CFM files with <cfinclude> #345
  • GLOBAL_LITERAL_VALUE_USED_TOO_OFTEN triggered by built in function arguments #344
  • GLOBAL_LITERAL_VALUE_USED_TOO_OFTEN triggered on CF_SQL_ #340
  • CFLint reporting a column that doesn't exist #326
  • Various smaller issues with output #323
  • JSON output questions (int/string and locations array) #318
  • Add #cflint channel on Slack CFML #309
  • Findbugs: totalsize should be lines of code scanned #303
  • CFQUERYPARAM_REQ false positive: String in SQL Server XML function #297
  • Identifier cfcatch is global, referencing in a CFC or function should be avoided. #265
  • Parse errors when last element in structure has trailing comma #263
  • feaure: flag use of isDate() #262
  • cfscript version of calling stored proc giving errors with correct code. #261
  • Default Rules merging with config.xml #260
  • Parse error for method calls with certain names including contains and import. #258
  • Does not see argument as used when it is used in brackets inside of function. #257
  • Var 'declared' with local scope. #256
  • unsused local variable rule does not handle cfinclude #255
  • Variable Prefix and Postfix - More dynamic #254
  • cfset with var and square brackets causes PARSE_ERROR #252
  • Graceful handling of semicolon missing at end of return statement #251
  • Parse error when multiple spaces in CFML tag #243
  • Support a way to ignore found issues in the future. #195

Merged pull requests:

CFLint-1.0.1 (2017-03-13)

Full Changelog

Implemented enhancements:

  • Gradle Deployment #80
  • JavaDocs #61

Closed issues:

  • Analysis tripped up over UTF-8 files with BOM #250
  • Using 'function' as shorthand structure key causes a parsing error #249
  • Component name missing from message for COMPONENT_INVALID_NAME #248
  • Detect when assigning to a variable declared as component property #246
  • Incorrect PLUGIN_ERROR issue ID with appended exception name #245
  • PLUGIN_ERROR on assignment to camel-case variable #244
  • Should recognize variables used with differing case #242
  • XML report includes semicolon after PLUGIN_ERROR id and message #241
  • Escaped hashes in CFM files cause PLUGIN_ERROR #240
  • Ignore VAR_ALL_CAPS for components #239
  • cflint/cfparser not handling the script version of cfmail correctly. #237
  • Parsing cfscript functions with hints renders multiple errors. #236
  • Not accounting for switch statements #234
  • Parse error using comparison operators in struct assignment #233
  • Parse error using Elvis operator in struct assignment #232
  • Combine the config and the filter file #231
  • Incorrect error in line 0 when CFML parsing encounters cfscript-like not-equals #230
  • Parsing error with nested if()? #229
  • Multiple code: is not configured correctly #228
  • False positive for unused argument when argument is scoped #227
  • infinite loop in recent builds, triggering segmentation fault #226
  • --version should include CFParser version #224
  • Duplicate "Temporary variable could be named better" warnings #223
  • "if" without an "else" triggers "Nothing to parse" warning #222
  • Linter does not check code inside cfscript try/catch/finally blocks #220
  • Thank you #219
  • Where does cflint-ui come from? #212
  • False positive variable used in loop reported as unused #211
  • False positive when named arguments in function call enclosed in quotes #210
  • False positive when return statement contains assignment #209
  • Incorrect line number in XML export when previously scanned CFML-based file #208
  • can't parse param syntax without attribute names #207
  • Stackoverflow with execute() function #200
  • Rules reporting missing hints should work with script-style code #199
  • New rule for specifying structure key names in quotation marks #198
  • False positive: structure keys reported as variables without scope prefix #197
  • Config system for includes/excludes is misleading (or broken) #194
  • Directory Scan #192
  • Doesn't seem to be checking missing_var on cfscript cfcs #186
  • configfile excludes rules #185
  • writeDump arguments not recognised correctly #183
  • Named arguments in functions #182
  • CFLint - wrong line number in XML report #179
  • incompatible types: cfml.parsing.cfscript.CFIdentifier cannot be converted to java.lang.String #178
  • Errors: property & array returntype #177
  • cfmodule #176
  • Exclude rule for all INFO severity messages, excludes all messages #173
  • XML Output : MalformedByteSequenceException: Invalid byte 1 of 1-byte UTF-8 sequence #171
  • Build Error on dev b359dae #169
  • multiple location members in JSON output #158
  • EXCESSIVE_COMPONENT_LENGTH reported multiple times per CFC #156
  • Provide a roadmap #154
  • unused-local-variable ignores variable usage inside of <cfquery> (QoQ) #153
  • UNUSED_METHOD_ARGUMENT ignores scoped arguments #152
  • Propsal: Drop "Variable x should be longer than 3 characters" warning #151
  • Trying to update, can't find original git clone folder #150
  • explore going to jdom 2.x #149
  • AVOID_USING_CFSETTING_DEBUG is not configured correctly #148
  • VAR_ALLCAPS_NAME handles scope #147
  • difference between output styles -text and -json #146
  • AVOID_USING_CFMODULE_TAG appears too often #145
  • AVOID_USING_CFINCUDE_TAG spelling #144
  • Finding UNUSED_METHOD_ARGUMENT appears too often #143
  • Parse issue #140
  • Code style #132
  • Group and decide which linting rules to include by default. #114
  • Enhancement: Enable default config file when parsing similar to other linters #103
  • Release 0.5.1-SNAPSHOT #97
  • support json config instead of xml #95

Merged pull requests:

CFLint-0.6.1 (2015-12-19)

Full Changelog

Closed issues:

  • some tests fail while building CFLint #137

v0.6.0 (2015-12-15)

Full Changelog

Implemented enhancements:

  • Suggest: console progress bar #32

Fixed bugs:

  • HTML version of output has wrong CFLint version. #129

Closed issues:

  • Build failure #133
  • Failure to build with maven on current master. #128
  • Optionally allow plugins to recieve structure notifications #112
  • Warnings for non-existing errors and non-lint errors before output. #105
  • Weird messaging for missing semicolon #104
  • Unable to parse function metadata with a colon in the attribute name #102
  • Parse error for string concatenation in object literal #101
  • parse error for "property propName;" #100
  • Unable to exclude rules #71
  • Problem with dynamic table and field names #65
  • Unexpected warnings in cfquery tag #64
  • GPG error on mvn clean install #23

Merged pull requests:

CFLint0.5.1 (2015-10-12)

Full Changelog

Implemented enhancements:

  • Function Length Checker In Config vs. Code #68
  • JSON output #62

Closed issues:

  • context.addMessage vs bugs.add #72
  • Error when reading config file #69
  • cflint-disable / cflint-enable ? #66
  • Release v0.5.0 #63
  • Returning incorrect version number #46

Merged pull requests:

v0.5 (2015-06-16)

Full Changelog

Closed issues:

  • Having trouble using filterFile #60
  • Issue with pom.xml file #59
  • change license to BSD #58
  • Build failure #56
  • Support for CF 11 #55
  • Misc. Parsing Error? #54
  • maven install should install the binaries in a usable way #51
  • Argument appScope is not required and does not define a default value. #50
  • Unable to Parse QueryExecute Functions #49
  • Vim syntastic support #48
  • Speeding up CFLint #47
  • Lint of cfprocresult fails in function when array is used. #45
  • Arch Linux AUR #44
  • "import" statement breaks parsing for scripted components #43
  • maven build instructions should address common distribution requirements #42
  • License #41
  • Errors while parsing double assignments #40
  • Errors while parsing variables named "string" #39
  • CFLint-ui asking for 4G of Memory #38
  • Use latest (antlr4) version of cfparser. #37
  • Add Ability to Preview CFParser Snapshots from Sonatype. #36
  • CFLint Should Download Latest Version of CFParser #35
  • Failed to execute goal on project CFLint: Could not resolve dependencies #34
  • no cflint version could be extracted with SublimeLinter #33
  • parse error "can't look backwards more than one token in this stream" #24
  • NoViableAltException java.lang.NullPointerException #22
  • Mac OSX 10.9.4 Good build can not find #20
  • Multiple exceptions in output #11

Merged pull requests:

CFLint-0.4-release (2015-02-10)

Full Changelog

CFLint-0.3.1 (2015-02-06)

Full Changelog

0.4 (2015-02-06)

Full Changelog

CFLint-0.3 (2015-02-06)

Full Changelog

CFLint-0.4 (2015-02-06)

Full Changelog

CFLint-0.3.0 (2015-02-05)

Full Changelog

Implemented enhancements:

  • Excess Libraries #16

Fixed bugs:

  • CFParser Dependencies Not Resolved #18

Closed issues:

  • Trying out the configfile from the command line and getting errors #31
  • NESTED_CFOUTPUT false positive #30
  • Exclude WEB-INF folder #29
  • cflint --version returns error #28
  • Maven build fails with error. #27
  • QUERYPARAM_REQ message should reflect the cf tag version not the cf script version. #26
  • Default cflintexclude.json should only ignore MISSING_VAR's in init() functions, other violations should NOT be ignored #25
  • <cfset/> on multiple lines does not process #21
  • Convert bugs.add() to a plugin format. #19
  • Lint Error Question #17
  • Add the antlr grammar code generation to the maven build. #15

CFLint-0.2.0 (2014-08-12)

Full Changelog

Closed issues:

  • Machine independent new lines #13
  • Docs for using linter via java #12
  • Typo in read me (and logo) #10
  • compat issue with Local History package #9
  • does not support tagless components #8
  • Add severity level to each issue in stdout #7
  • Add -version flag #6
  • It would be useful to have a -q (--quiet) option #4
  • It should be possible to specifiy just one file to be scanned. #3
  • Specifying -textfile as an argument, implies -text should be set. #2

CFLint-0.1.7 (2014-04-03)

Full Changelog

CFLint-0.1.8 (2014-04-03)

Full Changelog

Closed issues:

  • ignore .cfm~ files #1

CFLint-0.1.6 (2014-04-01)

Full Changelog

CFLint-0.1.5 (2014-02-08)

Full Changelog

CFLint-0.1.4 (2013-12-27)

Full Changelog

CFLint-0.1.3 (2013-12-19)

Full Changelog

CFLint-0.1.2 (2013-12-06)

Full Changelog

0.1.0 (2013-11-23)

* This Change Log was automatically generated by github_changelog_generator

* This Change Log was automatically generated by github_changelog_generator

* This Change Log was automatically generated by github_changelog_generator

* This Change Log was automatically generated by github_changelog_generator

* This Change Log was automatically generated by github_changelog_generator

* This Change Log was automatically generated by github_changelog_generator

* This Change Log was automatically generated by github_changelog_generator