Install

Using Composer to manage Drupal site dependencies

Alternative installation files

Download tar.gz 101.03 KB
MD5: 6f99ac6e326de713056067960bcf9a67
SHA-1: fd38a91698b4047eea070ba6a3d84fec96131cc7
SHA-256: b2e0e86f338797a9ca9ab450c78d969ead8c57eff8d7ca419f2c8a2298eb3b3e
Download zip 196.94 KB
MD5: 2d1b12fd22b7c1e79b347f42d90b8aed
SHA-1: c3190939e5066a3f0ef2adb5ceaf8ef6e4ffa1f3
SHA-256: 53512658c784628a66f00f6df190962f7825e38fae4b672787a2490f8008c1cd

Release notes

First stable release of Coder 9, yay!

API changes since Coder 8.x, you might need to update the configuration in your phpcs.xml file:

Requirements

  • Minimum PHP version requirement is now 7.4

Dependency

  • PHPCS updated to 4.x

Changes to sniffs

Replaced

  1. Drupal.Arrays.DisallowLongArraySyntax ===> Generic.Arrays.DisallowLongArraySyntax
  2. Drupal.Classes.ClassCreateInstance ===> SlevomatCodingStandard.ControlStructures.NewWithParentheses
  3. Drupal.Classes.ClassFileName ===> Squiz.Classes.ClassFileName
  4. Drupal.Classes.InterfaceName ===> Generic.NamingConventions.InterfaceNameSuffix
  5. Drupal.Classes.UnusedUseStatement ===> SlevomatCodingStandard.Namespaces.UnusedUses and SlevomatCodingStandard.Namespaces.UseFromSameNamespace
  6. Drupal.Classes.UseLeadingBackslash ===> SlevomatCodingStandard.Namespaces.UseDoesNotStartWithBackslash
  7. Drupal.ControlStructures.CaseSemicolon ===> PSR2.ControlStructures.SwitchDeclaration (but PSR2.ControlStructures.SwitchDeclaration.BodyOnNextLineCASE and PSR2.ControlStructures.SwitchDeclaration.BreakIndent disabled)
  8. Drupal.ControlStructures.ElseIf is ===> PSR2.ControlStructures.ElseIfDeclaration
  9. Drupal.ControlStructures.InlineControlStructure is ===> Generic.ControlStructures.InlineControlStructure
  10. Drupal.Methods.MethodDeclaration ===> PSR2.Methods.MethodDeclaration
  11. Drupal.WhiteSpace.Namespace ===> Generic.WhiteSpace.LanguageConstructSpacing
  12. DrupalPractice.CodeAnalysis.VariableAnalysis ===> VariableAnalysis.CodeAnalysis.VariableAnalysis

Removed

  1. Drupal.Commenting.DataTypeNamespace
  2. Drupal.Functions.FunctionDeclaration

Renamed

  1. Drupal.Commenting.FileComment.TeamplateSpacingAfterComment ===> Drupal.Commenting.FileComment.TemplateSpacingAfterComment
  2. Drupal.Commenting.FunctionComment.TrhowsCommentIndentation ===> Drupal.Commenting.FunctionComment.ThrowsCommentIndentation
  3. Drupal.InfoFiles.ClassFiles.UnecessaryFileDeclaration ===> Drupal.InfoFiles.ClassFiles.UnnecessaryFileDeclaration
  4. DrupalPractice.General.OptionsTSniff.TforValue ===> DrupalPractice.General.OptionsTSniff.OptionsValue

Contributors (2)

klausi, kensuke-imamura

Changelog

Issues: 3 issues resolved.

Changes since 9.0.0-beta1:

Bug

  • fix(FunctionT): Allow nowdocs in t()'s arguments (#3562081)

Task

  • feat(FunctionComment): Allow omitting return description for the void type (#3575389)
  • fix(Array): Skip multi line function calls in arrays, ignore multi-line strings (#3565827)
Created by: klausi
Created on: 13 Mar 2026 at 17:26 UTC
Last updated: 25 Mar 2026 at 10:49 UTC
Bug fixes
New features

Other releases