github carthage-software/mago 0.18.0
Mago 0.18.0

latest releases: 1.0.0-beta.12, 1.0.0-beta.11, 1.0.0-beta.10...
6 months ago

Mago 0.18.0 ๐Ÿช„

This release brings a plethora of improvements to both the formatter and linter, focusing on enhanced readability, flexibility, and robustness.

๐Ÿš€ Formatter Enhancements

  • Tabular Array Formatting with Alignment ๐Ÿ“Š (#127):
    • Expanded support for expressions within Tabular arrays, now including function calls, static method calls, and class constant access.
    • Fixed a critical width calculation issue for the Arabic word "ุงู„ู„ู‡", ensuring correct alignment.
    • Relaxed row size consistency requirements, allowing for tabular formatting even with minor inconsistencies.
  • Consistent Property Hook Formatting ๐ŸŽฃ (#126):
    • Property hooks (getters and setters) are now consistently broken into multiple lines, irrespective of print_width, enhancing readability.
    • The only exception is empty hook lists ({}), which remain on a single line.
  • Preserve Line Break Options ๐Ÿงฑ (#125):
    • Introduced five new configuration options to give you fine-grained control over line breaks:
      • preserve_breaking_member_access_chain
      • preserve_breaking_argument_list
      • preserve_breaking_array_like
      • preserve_breaking_parameter_list
      • preserve_breaking_attribute_list
    • These options allow you to maintain your preferred code structure.
  • Parentheses for Literal Numbers in Concatenation ๐Ÿ”ข:
    • Added parentheses around literal integers and floats within concatenation binary operations for improved clarity.

๐Ÿ›ก๏ธ Linter Improvements

๐Ÿ› ๏ธ CLI Improvements

  • Enhanced composer.json Config Generation ๐Ÿ“ฆ:
    • In the mago init command, when generating configuration from composer.json, non-existent autoload paths are now automatically removed.
    • Redundant subpaths are also removed, leading to a much cleaner configuration.
  • Config Parsing During Self-Update ๐Ÿ”„:
    • Fixed an issue where configuration parsing was incorrectly triggered during the self-update command.
  • Simplified Formatter Configuration โš™๏ธ:
    • Simplified the internal formatter configuration for better maintainability.

๐Ÿค Community Contributions

A huge thank you to @bendavies and @innocenzi for their invaluable contributions! Your bug reports, suggestions, and feedback have been instrumental in improving Mago. Community feedback is what keeps Mago improving!

๐Ÿงน Other Changes

  • Various chore and maintenance updates to keep things running smoothly.

Full Changelog: 0.17.0...0.18.0

Don't miss a new mago release

NewReleases is sending notifications on new releases.