All notable changes of the PHP Mode 1.19.1 release series are documented in this file using the Keep a CHANGELOG principles.
- Support new PHP 8.0 and 8.1 syntax hilighting 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
- 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
- Support new PHP 8.0 and 8.1 syntax hilighting and indentation
- 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.
- Remove
(require 'add-log)
- Fix font-lock highlighting
!=
(#630)
- Fix Heredoc and Nowdoc highlighting (#651 thanks @antoineB)
- Fix documentation mistake
Initial support for PHP 8 has been added. PHP Mode 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.
- 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)
- 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.
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.
- Add
php-project-etags-file
andphp-project-apply-local-variables
(#591) - Add
php-find-system-php-ini-file
andphp-ini
command (#593)
- Remove
php-mode-modified
variable (#590)
- Fix anonymous class indentation (#598)
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.
- Fix usas of
rx-form
(#580, thank you @cmack) - Fix
php-mode-coding-style
custom variable (#581) - Fix unexpected indentation of (return typed) closures written in arguments (#585)
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.
- 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)
- 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)
- Fix default major mode for
*.phpt
file asphp-default-major-mode
(#542) - prevent recursion in
php-syntax-propertize-extend-region
([$556], thanks Herbert Jones) - Fix call
run-hooks
inset-style
(#571)
This version contains unobtrusive changes for future compatibility. Also, forward-page
/ backward-page
may improve your operation. Thank you @takeokunn.
- A new command
php-mode-maybe
has been added to improve the compatibility of Blade templates and HTML templates with Web Mode. (#532) - A new custom variable php-mode-page-delimiter is added, which is assigned to page-delimiter in PHP-Mode. It allows you to move smoothly to the previous and subsequent definition statements with
forward-page
(C-x C-[) andbackward-page
(C-x C-]). (#540 by @takeokunn)
php-maybe-mode
and.php
files are associated withauto-mode-alist
instead ofphp-mode
(#532)- Compatibility with poly-php has been improved. This has not yet been officially released.
- PHP Mode does not support phpt files . Consider installing the phpt-mode package. This mode is a wrapper around Polymode based PHP-Mode.
This version includes both PHP syntax support enhancements and performance improvements. See https://github.com/emacs-php/php-mode/projects/1 for all issues for this release. Also, @mallt has helped me improve it with a number of issues. thank you very much.
- Added new Faces to display PHP syntax
php-constant-assign
php-magical-constant
php-errorcontrol-op
- Some funtions have been split into features such as
php.el
,php-face.el
andphp-mode-debug.el
.
- Syntax highlighting has been adjusted
php-ext
and Skeleton templates have been split into php-skeleton (#534)
It officially supports PHP 7.3 and Emacs 26.2. Many improvements have been received from @sergeyklay, thank you!
- Highlighting added
fn
keyword supported by PHP 7.2 arrow function (#506)
- Function
php-beginning-of-defun
should return non-nil on success (#503) - Fixed an error that occurred in some heredoc/nowdoc (#496)
- Fixed an error that occurred in Emacs 27
- Modify URL of PHP web site
- Fix highlighting of static method calls
A minor change from the previous version, but this version has BC brake about c-mode-hook
.
- Add
php
customize group.- This group is positioned above
php-mode
. - This group was originally planned to be included in v1.20.0.
- This group is positioned above
- Add
php-mode-disable-c-mode-hook
custom variable.- Setting this variable to
nil
will restore the behavior ofc-mode-hook
up to the previous version.
- Setting this variable to
php-mode
initialization no longer executes hooks forc-mode
.- If you want to return to the same behavior as the conventional PHP-Mode, set
nil
tophp-mode-disable-c-mode-hook
.
- If you want to return to the same behavior as the conventional PHP-Mode, set
Start preparing for major refactoring in major mode.
- Add php-project variables for workflow (#488)
- The following variables are reserved as file/directory local variables.
php-project-repl
php-project-unit-test
php-project-deploy
php-project-build
php-project-server-start
- The following variables are reserved as file/directory local variables.
- Improve code highlight
- Modify "customize group" and variable names
- Add php-mode group and some variables belong to new group (#486)
php-default-face
→php-mode-default-face
php-speedbar-config
→'php-mode-speedbar-config
php-template-compatibility
→php-mode-template-compatibility
php-lineup-cascaded-calls
→php-mode-lineup-cascaded-calls
php-extra-constants
→php-mode-extra-constants
php-do-not-use-semantic-imenu
→php-mode-do-not-use-semantic-imenu
- Add php-mode group and some variables belong to new group (#486)
- Modify documents and copyright
- Move the URL of Website to https://github.com/emacs-php/php-mode
- Add copyright notation about Friends of Emacs-PHP development
- Add a "Hall of Fame" to the contributors list (#481 by @ejmr and thanks @sergey48k and @sourcerer-io project)
- Some refactors
- Fix style and suppress warning in compile #485
- Add some functions/variables in
php-project
package - Add
php-debug
command for reporting a bug
- Fix
c-anchored-cpp-prefix
in Emacs 26 (#453) - Fix (re-implemteed)
php-complete-function
(#454) - Fix some problem of
php-set-style
(disabled on default) - Fix heredoc/nowdoc syntax problem (#440)
- Delete duplicate font locks with keywords not related to PHP language (#432)
- Make
php-project-root
variable accept a string (#458)