Releases: emacs-php/php-mode
Support Emacs 29 and master branch
Added
- Add
php-topsy-beginning-of-defun-with-class
to display classname with function signature. (#766) - Add missing
__DIR__
tophp-magical-constants
(#756, thanks @piotrkwiecinski)
Changed
- Make developer build task in Makefile now depends on Eask. (#762, thanks @jcs090218)
- This change does not affect package installation users
- Read CONTRIBUTING.md if you prefer to build it yourself from zip or tar ball
Fixed
- Fixed build failure in Emacs on master branch (#764, #765, #767, thanks @takeokunn)
Removed
Support Emacs 29
Note
This released version supports Emacs 29.
Please feel free to write to disucuss if you have problems upgrading to Emacs 29.
Added
Fixed
- Fixed many byte compilation errors on Emacs 29 and 30
- These patches contributed by Stefan Monnier (#737, #739 and #740, thanks Stefan!)
- Fixed PEAR method chaining wrong indentation (#745 and #746, thanks @cweiske!)
- Fixed
php-mode-debug-reinstall
command (#747, #748)
Removed
v1.24.3
This version will be the last release to support Emacs 25. #729
Added
- Net feature:
php-format
(#731)- Add
php-format-project
andphp-format-this-buffer-file
commands - Add
php-format-auto-mode
minor mode
- Add
- Experimental feature:
php-ide
(#709)- Add
php-ide-phpactor
as simple IDE feature without LSP clients - Add
php-ide-mode
minor mode for binding IDE-like features
- Add
Fixed
Removed
- No longer highlights
'link
in PHPDoc (#724)- Please use
goto-address-prog-mode
minor mode
- Please use
v1.24.2
Added
- New feature:
php-complete
- Add
php-complete-complete-function
to autocomplete function names (#708)
- Add
- New feature:
php-flymake
- Add
php-flymake
as a flymake backend compatible with Emacs 26 and above (#718)
- Add
- Supports PHPDoc tags and types for static analysis tools (#710, #715, #716], #717, thanks to @takeokunn)
- Please refer to the article below
- PHPStan: PHPDoc Types
- PHPStan: PHPDocs Basics
- Psalm: Atomic Type Reference
- Psalm: Supported Annotations
- Psalm: Template Annotations
- Please refer to the article below
- Add
php-mode-replace-flymake-diag-function
custom variable and default activated it (#718) - Add
php-mode-debug-reinstall
command to help users who update Emacs themselves (#721)
Changed
- Make continued expressions inside lists (arguments and arrays, etc.) have the same indent width as outside the list (#703)
- (internal) Improved readability of test failures about indentation (#707)
php-doc-annotation-tag
inheritsfont-lock-doc-markup-face
if defined in Emacs 28 (#711)- Make
php-mode-version
function include a Git tag and revision (#713)- Like
"1.23.4-56-xxxxxx"
for example.
- Like
- Change
php-phpdoc-type-keywords
tophp-phpdoc-type-names
to avoid confusion (#717) - Make
php-flymake-php-init
append toflymake-allowed-file-name-masks
only in legacy Flymake (#718)
Deprecated
- Make obsolete
php-mode-version-number
contstant variable (#712)(php-mode-version :as-number t)
is provided for use cases comparing as versions, but generally SHOULD NOT be dependent on the PHP Mode version.
- Make obsolete
php-mode-disable-c-mode-hook
customize variable (#718)
Removed
- Remove
php-mode-disable-c-auto-align-backslashes
as it doesn't make sense and is always disabled
Fixed
- Removed invalid definitions that caused errors in some expressions (#704)
Full Changelog: v1.24.1...v1.24.2
Improve PHP 8.1 and Emacs 28 support
Added
- Support new PHP 8.0 and 8.1 syntax highlighting and indentation
- [8.0]
#[Attributes]
- [8.1]
readonly
property (#680)
- [8.0]
- Add
php-imenu-generic-expression-default
for default value orphp-imenu-generic-expression
- Add
php-imenu-generic-expression-legacy
for compatibility - Add
php-imenu-generic-expression-simple
for simple display
- Add
- Add
php-project-project-find-function
compatible withproject-find-functions
(#693)
Changed
- Optimized propertize process (#669)
- Reimoplement
php-syntax-propertize-function
usingsyntax-propertize-rules
- Make propertize PHP 8
#[Attribute]
always enabled - Changed grouping of
php-heredoc-start-re
- Reimoplement
- Re-organized
php-imenu-generic-expression
- Added
Import
,Constants
andProperties
- Removed
Anonymous Functions
- Renamed
Named Functions
toFunctions
- Renamed
All Methods
toMethods
- Removed
Public Methods
,Protected Methods
andProvate Methods
- Unified
Classes
,Traits
,Interfaces
intoClasses
- Added
- Modified regexp patterns (#681)
- Suppress compile-time warnings (#683, #690, #697)
Fixed
- Fix
php-run-builtin-web-server
to expand root path (#699)
Support PHP 8.0 and 8.1 syntax (without Attributes)
Added
- Support new PHP 8.0 and 8.1 syntax hilighting and indentation
Changed
- Drop support for Emacs 24 and 25.1 (#654)
- Raises an error when the byte-compiled Cc Mode version does not match that version at runtime.
- You will need to recompile php-mode after the GNU Emacs version changes.
Removed
- Remove
(require 'add-log)
Fixed
Version 1.23.0 Support PHP 8 Attribute
Initial support for PHP8 has been added. PHPMode has some issues for compatibility with Emacs 27.0.
The list of all past contributors has been moved to AUTHORS.md
.
This release is positioned as the last minor version of the PHP Mode 1.x series.
Added
- Add
php-project-use-projectile-to-detect-root
(#608) - Add PHP file extensions to
auto-mode-alist
(#609) - Add
php-mode-disable-c-auto-align-backslashes
(#621) - Add PHP 8.0 Attribute syntax as vsemi (#626)
- Add feature
php-align
from tetsujin/emacs-php-align (#615, melpa/melpa#6759)
Changed
Removed
- Remove
php-mode-extra-constants
variable and function. (#605)- This mechanism is for synchronizing the added user-defined constants with WebMode, but it hasn't worked since 2014.
Fixed
Version 1.22.2
A face has been added for coloring PHP syntax. Thank you @minikN!
This release is a minor modified version of the 1.22.x series.
PHP Mode 2.0 is planned to be released in January 2020.
Added
- Add
php-project-etags-file
andphp-project-apply-local-variables
(#591) - Add
php-find-system-php-ini-file
andphp-ini
command (#593)
Changed
Removed
- Remove
php-mode-modified
variable (#590)
Fixed
- Fix anonymous class indentation (#598)
Version 1.22.1 Fix for Emacs 27(HEAD)
This release is a minor modified version of the 1.22.x series.
PHP Mode 2.0 is planned to be released in January 2020.
Fixed
Version 1.22.0
This release is positioned as the last minor version of the PHP Mode 1.x series.
PHP Mode 2.0 is planned to be released in January 2020.
Added
- Improve PHP 7 and PHPDoc support
- Add new
php-class
face (#545) - Add new
php-run-builtin-web-server
command for invokephp -S
buitin server (#548) - Add new
php-copyit-fqsen
command for kill current method FQSEN (#561) - Apply lineup cascaded call (method chain separated by new line) for all styles (#563, #572)
Changed
- Loose HTML template detection algorithm (#558)
- Move php-mode-test.el into tests directory (#559)
php-mode-autoloads.el
no longer includesphp-mode-test
- Modify syntax-entry
$
to"_"
from"'"
(#565) - Make
php-set-style
display only styles that inherited "php" (#573)
Fixed
- Fix default major mode for
*.phpt
file asphp-default-major-mode
(#542) - prevent recursion in
php-syntax-propertize-extend-region
([$556], thanks @herbertjones) - Fix call
run-hooks
inset-style
(#571)