Skip to content

Releases: Gert-dev/php-ide-serenata

v3.4.0

29 Apr 17:09
Compare
Choose a tag to compare
  • Update to core 3.3.0
  • Allow configuring the host to bind the socket to (127.0.0.1 by default, as before)
    • You can use e.g. 0.0.0.0 if you're spawning the server via Docker via a custom script in the PHP executable section, previously a containerized server would not accept commands

v3.3.0

08 Apr 19:51
Compare
Choose a tag to compare
  • 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

08 Feb 20:22
Compare
Choose a tag to compare

v3.2.0

01 Feb 19:05
Compare
Choose a tag to compare

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
  • 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
    • 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.

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

01 Feb 19:06
Compare
Choose a tag to compare

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 the language-php package. It is advised to uninstall it, as it will no longer be maintained.

Bugs Fixed

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 and hyperclick with dependency on atom-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 in atom-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.

v3.0.1

v3.0.0

01 Feb 19:06
Compare
Choose a tag to compare
  • 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 EditConfig...), to prevent Atom from showing old settings (as if they were still configurable) in the base package settings panel.
  • 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).
    • 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 just lint 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.