All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
-
#208 Improves build process with Maven Wrapper and simplifies release management (now, just need to do a build on a tag checkout).
If you have difficulties on some IDEs (like IntelliJ IDEA), you can follow the procedure: configuration for Multi Modules Project
- deletion of deprecated python EC34 and EC69 rules
- #308 Implementing EC24 in Java
- C# #54 [EC92] [C#] Use string.Length instead of comparison with empty string
- C# #61 [EC91] [C#] Use Where before OrderBy
- Python #282 Depreciate unrelevant EC69 rule for Python
- Python #282 Remove deprecated Python rule EC66
- #293 [EC513] Swift port
- #310 EC515 Swift port
- #306 Swift port of rule EC514
- #315 Add rule EC530 for javascript
- #321 Add rule EC522 for javascript (avoid brightness override)
- Python #26 [EC89] [Python] Avoid unlimited cache
- #318 Implement the rule EC523 for React Native
- #318 Merge the rule EC8 with EC523
- #298 Add HTML rule EC36 (Avoid autoplay for videos and audio content)
- C# #36 [EC86] [C#] GC.Collect should not be called
- C# #42 [EC87] [C#] Use collection indexer
- C# #44 [EC88] [C#] Dispose resource asynchronously
- mobile #302 Big cleanup / sorting of mobile related rules
- C# #304 [EC81] [C#] Fix type in json spec to allow import into Sonarqube
- PHP #23 Deprecation of EC22 rule for PHP (waiting for measurement) - correction
- PHP #23 Deprecation of EC22 rule for PHP (waiting for measurement)
- Swift rules cleanup and updates (removed duplicated rules, added [EC602])
- C# #18 [EC81] [C#] Specify struct layout
- C# #285 [EC82] [C#] Variable can be made constant
- C# #286 [EC83] [C#] Replace Enum ToString() with nameof
- C# #27 [EC84] [C#] Avoid async void methods
- C# #34 [EC85] [C#] Make type sealed
- #269 Add new Javascript rule EC31 (Prefer lighter formats for image files)
- Refuse rule proposition Avoid returning a JPA Entity in a RestController for Java because of lack of arguments and measures
- Refuse rule proposition Avoid use of static in interface for Java because of lack of arguments and measures
- update RULES.md : close 2 old PRs and add to rework rules array
- #272 Remove deprecated java rules EC4, EC53, EC63 and EC75
- #123 Rule EC7 not implementable neither Java nor PHP
- Depreciation of rule EC34 for Python and PHP to replace it by EC35
- #266 enable automatic publish of ecocode-rules-specifications to Maven Central
- #182 delete java plugin sources because it was moved to new repository
ecoCode-java
- RULES.md upgrades
- technical upgrade for maven central publication
- #182 disable java plugin beacasue moved to new repository
ecoCode-java
- #248 EC2 : Add tests to prove there is no problem with 'instanceof' operator
- #123 Complete resources for EC7 rule for Python language
- Update ecocode-rules-specifications to 0.0.10
- #4 Deprecate rule EC66 for Python because not applicable (see details inside issue)
- #240 Deprecate rule EC53 for Java because of no good arguments and not enough green measures
- #258 Deprecate rule EC63 for Java because there are already 3 native Sonarqube rules that cover the same use cases
- #259 Deprecate rule EC75 for Java because not applicable since JDK8
- #224 Add Swift rules from ecocode-ios to ecocode-rules-specifications
- Update ecocode-rules-specifications to 0.0.9
- #243 Deprecate rule EC4 for Java because not applicable
- ios#3 Move iOS rules into centralized rules repository
- android#67 Move Android rules into centralized rules repository
- ios#3 Move iOS rules into centralized rules repository
- #103 Upgrade RULES.md: set proposed HTML rule "HTML page must contain a doctype tag" as refused with link to the justification
- #106 Upgrade RULES.md : rule EC67 not relevant neither for Python nor Rust
- #112 Updating EC1 rule to add controls on streams
- #128 Adding EC35 rule for Python and PHP : EC35 rule replaces EC34 with a specific use case ("file not found" sepcific)
- #132 Upgrade RULES.md: set proposed Python rule "Use numpy array instead of standard list" as refused with link to the justification
- #136 Upgrade rule EC53 for Python : no implementation possible for python
- #140 Upgrade rule EC3 for Python : no implementation possible for python
- #185 Add build number to manifest
- #216 Upgrade rule EC2 for Java : Multiple if-else statement improvment
- #225 Upgrade licence system and licence headers of Java files
- #247 Upgrade rule EC2 for Java : float and double types deleted because of non compatibility with rule
- #205 compatibility with SonarQube 10.1
- #210 Publish to Maven Central (module ecocode-rules-specifications)
- #182 Split repository : move Python module to new
ecoCode-python
repository - #182 Split repository : move Php module to new
ecoCode-php
repository
- #207 Add release tag analyzis on SonarCloud
- #211 Move JavaScript plugin to its dedicated repository
- #108 new Python rule EC66 : Use single quote (') instead of quotation mark (")
- #109 new PHP rule EC3 : Getting the size of the collection in the loop. For further RULES.md file
- #113 new Python rule EC10 : Use unoptimized vector images
- #127 new Python rule EC404 : Usage of generator comprehension instead of list comprehension in for loop declaration
- #190 Add Python rule: Use unoptimized vector images
- #191 Update rule tags for Java, Python, and PHP plugins
- #192 new Python rule EC203 : Detect unoptimized file formats
- Add JavaScript rules from ecoCode ESLint plugin v0.2.0
- #19 process changed for development environment installation : easier to initialize locally environment (check
INSTALL.md
file) - #187 upgrade librairies to SonarQube 10.0.0
- #196 updating PHP files to make them following the coding standards (PSR-12)
- #201 Clean-up plugins and dependencies
- technical : upgrade of maven plugins versions
- #180 correction of SonarQube review for MarketPlace (sonar plugin)
- #171 Add migration mechanism to support "issue re-keying"
- #161 Remove unnecessary junit dependencies in pom.xml
- #166 Correction of wrong message of rule EC63
- #167 Use same kind for rules across different languages
- #173 Update issue description of rule EC34 (try-catch)
- #63 Update plugins to be compliant for SonarQube MarketPlace integration ( PR #79 )
- #88 upgrade rules matrix with new ids + refactoring rules documentation (
RULES.md
)
- #85 Cleaning some useless classes on PHP plugin
- #44 Update the PHP description rules
- #67 Add JavaScript plugin
- add
ecocode
tag on all rules on Java, PHP, Python and javascript plugins
- #40 Refactoring of package names (
cnumr
togreencodeinitiative
) - #55 rename
eco-conception
tag of rules toeco-design
- #58 check and upgrade compatibility to SonarQube 9.9
- move common init scripts to
ecoCode-common
repository - modifying documentation and move
CONTRIBUTING.md
,CODE_STYLE.md
andINSTALL.md
to common doc inecoCode-common
repository - security / performance optimizations : correction of
sonarcloud.io
security hotspots (java / php, python) and move Pattern compilation to static attribute - #64 Python: ecoCode plugin with SonarQube, no code-smell detection
- #65 Create a test project to check new plugin rule in real environment
- #71 After an PHP analysis, no ecocode code smells appears in my Sonar project
- #76 correction of SonarQube plugins homepage link broken
- documentation upgrade
- cleaning old files (move them to
ecoCode-archive
repository)
- #23 Add images to the description files.
- #46 Add CONTRIBUTING.MD, CODE_OF_CONDUCT.md and CODE_STYLE.md
- #27 Fix [WARNING] Maven-shade-plugin overlapping classes and upgrade SonarRuntime.
- #33 Update plugin description in code
- #42 Fix Crash SonarQube analysis because of some ClassCast Exceptions
- #48 correction SONAR issue info - delete public keyword on tests
- Improve "build" GitHub actions to execute checks on branches from fork repositories
- #22 Error when running sonar scan with ecocode
- #15 Upgrade some versions + sonar version from 9.3 to 9.8
- #17 improve releasing system
- #25 Release management vs maven packaging (not the same version)
- documentation upgrade (internal)
- #161 adding tool to update tags of native rules with our custom tags
- documentation upgrade (internal)
- optimization/refactoring on pom.xml dependencies (internal)
- First official release of ecocode plugins : java plugin, php plugin and python plugin
unreleased 1.6.5 1.6.4 1.6.3 1.6.2 1.6.1 1.6.0 1.5.4 1.5.3 1.5.2 1.5.1 1.5.0 1.4.7 1.4.6 1.4.5 1.4.4 1.4.3 1.4.2 1.4.1 1.4.0 1.3.1 1.3.0 1.2.1 1.2.0 1.1.0 1.0.0 0.2.2 0.2.1 0.2.0 0.1.1 0.1.0