* Adding a `--version` argument to the Psalm executable.
* Using ocramius/package-versions instead of hardcoding a version.
* Backporting PackageVersions to a PHP 5.6+ compatible fork.
* Add XML as possible output format + add report generation
* Add missing xml root node
* Change XML generator (previous one don't escape '<' and '>')
* Change option (only one option) + unit test
* swapping phpcs for php-cs-fixer
* workaround for php-cs-fixer treating parenthesis following echo as the function call variant
* amending rules
* blank_line_before_return
* majority of files pass with these disabled, could remove later
* combine_consecutive_unsets
* concat_space
* placeholder for if vimeo/psalm ever goes php:^7.0
* function_to_constant
* disabling include
* linebreak_after_opening_tag, lowercase_cast, magic_constant_casing
* mb_str_functions disabled
* method_separation
* native_function_casing
* native_function_invocations
* new_with_braces disabled to match usage
* no_alias_functions
* no_blank_lines_after_class_opening
* no_blank_lines_after_phpdoc
* no_blank_lines_before_namespace
* no_empty_comment
* no_empty_phpdoc
* no_empty_statement
* no_extra_consecutive_blank_lines
* no_leading_import_slash to discuss
* no_leading_namespace_whitespace
* no_mixed_echo_print
* no_multiline_whitespace_around_double_arrow
* no_multiline_whitespace_before_semicolons
* no_php4_constructor
* no_short_bool_cast
* no_short_echo_tag
* no_singleline_whitespace_before_semicolons
* no_spaces_around_offset
* no_trailing_comma_in_list_call
* no_trailing_comma_in_singleline_array
* no_unneeded_control_parentheses to discuss
* no_unreachable_default_argument_value
* no_unused_imports to discuss
* no_useless_else to discuss
* no_useless_return
* no_whitespace_before_comma_in_array
* no_whitespace_in_blank_line
* non_printable_character
* normalize_index_brace
* ordered_class_elements to discuss
* ordered_imports to discss
* php_unit_construct
* php_unit_dedicate_assert
* php_unit_fqcn_annotation
* php_unit_strict to discuss
* php_unit_test_class_requires_covers to discuss
* phpdoc_add_missing_param_annotation
* phpdoc_align to discuss
* phpdoc_annotation_without_dot to discuss
* phpdoc_indent to discuss
* phpdoc_inline_tag
* phpdoc_no_access
* phpdoc_no_alias_tag
* phpdoc_no_empty_return
* phpdoc_no_package
* phpdoc_no_useless_inheritdoc
* phpdoc_order to discuss
* phpdoc_return_self_reference
* phpdoc_scalar to discuss
* phpdoc_separation to discuss
* phpdoc_single_line_var_spacing
* phpdoc_summary to discuss
* phpdoc_to_comment to discuss
* phpdoc_trim to discuss
* phpdoc_types
* phpdoc_var_without_name
* pow_to_exponentiation
* pre_increment to discuss
* protected_to_private
* psr0 turned off
* psr4 turned on
* random_api_migration
* return_type_declaration to discuss
* self_accessor to discuss
* semicolon_after_instruction
* short_scalar_cast
* silenced_deprecation_error turned off
* simplified_null_return to discuss
* single_quote
* space_after_semicolon
* standardize_not_equals
* strict_comparison to discuss
* strict_param to discuss
* ternary_operator_spaces
* ternary_to_null_coalescing should be set to true if vimeo/psalm ever goes php:^7.0
* trailing_comma_in_multiline_array to discuss
* trim_array_spaces
* unary_operator_spaces
* whitespace_after_comma_in_array to discuss
* multi-version scrutinizer to match travis
* binary_operator_space
* not the best solution, but it works to exclude the call map from php-cs-fixer
* reducing verbosity of config where defaults were used
* dry run php-cs-fixer as part of tests
* disabling rule pending FriendsOfPHP/PHP-CS-Fixer#2739
* enabling no_unused_imports
* enabling ordered_imports
* ignoring user-defined .php_cs
* using $TRAVIS_COMMIT_RANGE to only test modified files
* enabling no_leading_import_slash
* conditionally testing everything
* filter output then perform exact match
* restoring phpcs via partial cherry pick of f65c618
Current definition of dependencies would result in **any** version being installed that is greater than the one specified. This is problematic since new major releases imply breaking changes and nothing ensures that psalm will be compatible with those updated dependencies. Using an operator that instructs Composer to ensure that this does not happen is therefore inalienable.