Releases: Gert-dev/php-ide-serenata
Releases · Gert-dev/php-ide-serenata
v3.5.0
- Using Docker to run the core is now experimentally supported
- Please review your settings if you wish to try it out
- If you are not on Linux or on Linux and part of the Docker group, select the default Docker option
- If you are on Linux and not part of the Docker group - no, you were not ignored ;-) -, you can use the Docker option using PolicyKit to enter your credentials when necessary
- Update Composer used during installation to 1.6.4 (was at 1.2.4)
- Show feedback when configuration is being tested, as this may take a while the first time when using Docker if the image still needs to be fetched
- Please review your settings if you wish to try it out
v3.4.0
v3.3.0
- The PHP configuration will no longer be tested on every startup, just when requested
- Made first-time installation a little more user-friendly by requesting user to set up PHP correctly before trying to install core
- Renamed the php-integrator-base:configuration command to php-integrator-base:test-configuration to better indicate what it does
v3.2.1
v3.2.0
Major Changes
- Update to core 3.2.0
- Among the changes is request prioritization, causing most operations such as autocompletion to already start working whilst the project is still indexing.
- Improve responsiveness considerably by cancelling outdated requests in the core
- Rewrite tooltips to use tooltips from
atom-ide-ui
- You can drag them around and scroll them properly.
- Rewrite signature help (call tips) to datatips from
atom-ide-ui
- Trigger them by typing
(
or,
after a function name or via commandsignature-help:show
in a function call. - Close them via the escape key.
- View function or method documentation.
- Move them out of the way using the mouse.
- Avoid overlap with the autocompletion popup.
- Trigger them by typing
- Support autocompletion via core
php-integrator-autocomplete-plus
is now obsolete. It may still work, but it is advised to uninstall it, as it will no longer be maintained.- Autocompletion is now much more context-based and will do a better of job at only showing relevant suggestions at the cursor's location.
- Considerably less data is exchanged than with the autocompletion package, which should in turn considerably improve responsiveness of autocompletion and delays after adding new classlikes.
- Automatic use statements in files with multiple namespaces is now rudimentarily supported
- Snippet autocompletions are no longer included
- They could be included in Atom but it honestly wasn't showing many useful suggestions, you can still include these in your own snippets.cson if you miss them.
- PHPUnit tag autocompletion was dropped
- It was a bit too specific to a single tool. If anyone wants to reimplement them in a separate package, you can use this code as reference.
- Disabling automatic use statements is no longer possible (the core does not support it)
- Most PHP core classes are in the root namespace and use statements for non-compound names in the root namespace aren't added by the core, so users still writing code without namespaces should only minimally be affected.
- Disabling additional newlines when inserting imports is no longer possible (the core does not support it)
- This will likely have little effect on most users. Colleagues using PhpStorm will likely not complain since PhpStorm usually (?) collapses use statements visually. Tip: you can also sort your current imports using the
php-integrator-base:sort-use-statements
command to make them consistent once.
- This will likely have little effect on most users. Colleagues using PhpStorm will likely not complain since PhpStorm usually (?) collapses use statements visually. Tip: you can also sort your current imports using the
Other Improvements
- Replace progress bar in status bar with integration with busy-signal from
atom-ide-ui
- Fix file changes performed during project index not being indexed after it completed (unless the file was changed again afterwards)
- The exposed Atom service is now deprecated
- It was useful in a time where most functionality existed in Atom packages. Only one unofficial package ever used it, php-integrator-symbol-viewer, and it has become apparant that moving all functionality to the core is the best way to move forward.
- It will remain at least until all separate addon packages have been moved to the core. There may also be backwards compatibility breaks, although they will likely be minor, if they occur at all.
Bugs Fixed
v3.1.0
Major Changes
- Update to core 3.1.0
- Support goto definition (code navigation) via new core command
php-integrator-navigation
is now obsolete. It will continue to work on older Atom versions, but it was essentially broken since Atom 1.19, as several CSS class names changed in thelanguage-php
package. It is advised to uninstall it, as it will no longer be maintained.
Bugs Fixed
- Fix use statement sorting not being stable
- Fix Composer complaining about core directory not being empty
- Expand project paths containing the tilde
~
symbolizing the home folder - Fix project not always automatically reindexing after core install because project manager service and project was loaded before installation finished
Various Minor Changes
- Show troubleshooting information when core installation fails
- Rephrase
Composer has errors to report
during installation - Table cells in the documentation pane are now aligned vertically to the top
- Minor backwards compatibility break: fetching available variables now requires a file path as part of a core fix
- Wait a bit longer before displaying signature help
- This should fix the nuisance of it popping all over the place when rapidly moving the cursor around and gives you a bit more time to get your bearings before it appears.
- This also reduces the load on the server in large files, where multiple requests may be queued because of slower cursor movement, after which signature help then seems to "lag" behind afterwards.
- Replace dependency on
linter
andhyperclick
with dependency onatom-ide-ui
- IDE packages all seem to converge around
atom-ide-ui
and we're moving slowly towards becoming a language server, so the dependency is likely going to stick anyway. hyperclick
is no longer explicitly required since the same functionality and service is contained inatom-ide-ui
.- Strictly speaking, we shouldn't depend directly on packages, but rather on services. The problem with that is that newcomers can get confused more easily or may simply not be aware of additional available functionality. (One can argue whether that is an audience we should cater to, though.)
- For your information, the linter contained in
atom-ide-ui
is compatible with the linting in this package, so can choose which linter you want to use.
- IDE packages all seem to converge around
v3.0.1
v3.0.0
- Update to core 3.0.0.
- Settings are now grouped into sections and their descriptions have been cleaned up.
- It is possible you may need to reconfigure your settings. Due to the way Atom saves them, it is recommended to remove your old settings from your config file first (see
Edit
→Config...
), to prevent Atom from showing old settings (as if they were still configurable) in the base package settings panel.
- It is possible you may need to reconfigure your settings. Due to the way Atom saves them, it is recommended to remove your old settings from your config file first (see
- Linting has been moved to this package. Due to refactoring in the core, the amount of CoffeeScript boilerplate has considerably reduced.
- You no longer need the php-integrator-linter package installed. As it will no longer be updated to the new service version, it should disable automatically.
- Linting has been updated to the new v2 API.
- Linting on save is now supported (https://github.com/php-integrator/atom-linter/issues/49).
- To disable it, disable indexing continuously.
- Call tips (or "signature help") has been moved to this package. Due to refactoring in the core, the amount of CoffeeScript boilerplate has considerably reduced.
- You no longer need the php-integrator-call-tips package installed. As it will no longer be updated to the new service version, it should disable automatically.
- Tooltips are now provided by the core. The size of the CoffeeScript side has, as a consequence, shrunk considerably and is part of this package.
- HTML and markdown in docblocks is now properly supported when displaying tooltips.
- Tooltips are now displayed in a dock instead. This fixes the open issues regarding stuck tooltips, scrolling being impossible, keyboard activation being missing and tooltips not being permanently viewable.
- A new option
Show Documentation
will now show up in the intentions list (also used in the refactoring package).
- A new option
- You no longer need the php-integrator-tooltips package installed. As it will no longer be updated to the new service version, it should disable automatically.
semanticLint
has been renamed to justlint
as it also lints syntax errors.- You will now be prompted to install the dependencies of this package (project-manager, linter, ...). If you proceed, they will be installed for you (so you don't need to look them up manually).
- You can now disable linting missing documentation separately from linting docblock correctness.
- Fixed the PHP server still starting for non-PHP projects in some cases, e.g. when opening a PHP file there (#272).
- Fix databases called
null.sqlite
sometimes being created. - Fix project names containing characters that can't be used in file paths generating errors (such as forward slashes, asterisks, ...).
- Removed usage of jQuery and removed it from the list of dependencies.