Releases: emacs-php/php-mode
Support Emacs 30(pretest) and PHP 8.4 syntax
Added
- Support PHP 8.4 property-hooks (#797)
Changed
- Improve
php-syntax-propertize-extend-region
efficiency (#789, thanks @phil-s!) - Update
php-phpdoc-type-names
to support PHPStan 2.0.4 (#795)
Fixed
- Fix Emacs 30 byte-compile errors (#792)
- Use
when-let*
instead ofwhen-let
to enhance Emacs 30 compatibility (#796)
Removed
- Drop support for Emacs 26 (#788)
Full Changelog: v1.26.1...v1.27.0
v1.26.1 - Sunset of Emacs 26
Note
This is the last release that supports Emacs 26.x. Please read Drop Emacs 26 Support · Issue #771.
Added
- Add
php-base-mode
which is the base of php related modes (#772)php-base-mode
is designed as a common parent mode forphp-mode
and.php-ts-mode
Changed
- Make
php-mode
inherit fromphp-base-mode
instead ofc-mode
(#772) - Modify indentation of PEAR Coding Standards (#774, #777)
- Remove
$
from face names for interoperability with treesit (#780, emacs-php/php-ts-mode#68)php-$this
→php-this
php-$this-sigil
→php-this-sigil
- Add
php-function-call-standard
face inheritfont-lock-function-call-face
on Emacs 29.1 and above (#782, thanks @bricka!) - Add
-tranditional
suffix to thephp-*-call
faces.php-function-call
→php-function-call-traditional
php-method-call
→php-method-call-traditional
php-static-method-call
→php-static-method-call-traditional
- Add variables for the
php-function-call
,php-method-call
, andphp-static-method-call
faces, defaulting to the-traditional
face. - Changes how
php-syntax-propertize-rules
are applied for the first time. (#785 and #786)- This change is expected to make heredoc and attribute coloring more stable and reduce flicker.
Removed
- Remove
php-mode-disable-c-mode-hook
custom variable andphp-mode-neutralize-cc-mode-effect
function (#775)php-mode
no longer inheritsc-mode
, so this variable won't work.
Full Changelog: v1.25.1...v1.26.1
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)