Skip to content

v5.0.0

Compare
Choose a tag to compare
@Gert-dev Gert-dev released this 30 Sep 19:38
· 63 commits to master since this release

Major Changes

Improvements

  • Remove dependency on project-manager
  • Obey minimumWordLength from autocomplete-plus, change it to 0 to retain the old behavior
  • Replace gutter annotations by inline markers based on code lenses (the language server protocol's equivalent)
  • Install server as PHAR
    • Installation is now much faster.
    • The server takes much less disk space.
    • Composer is no longer downloaded, so fewer extensions are needed and issues with sporadic broken installs are gone.
  • Support single-file PHP scripts and temporary projects
    • The server will only start if you open a PHP file.
    • If you explicitly set up a project before, its configuration will be used (this is the recommended mode of operation).
    • If no explicit project is set up, the server will use a fallback configuration and store the index in your system's temp folder.
  • Allow experimentally use of Podman on Linux
    • Podman allows rootless containers that don't require adding yourself to the Docker group (effectively becoming root) or escalating privileges using PolicyKit or sudo.
      • Serenata does not require anything that requires root, so this can help improve security.
      • Tip: you can also use Podman to run PHPUnit and other things in a container without requiring root.
  • Localize types during refactoring actions
    • If use statements or aliases already exist for a method that is overridden, these will now be used instead of copying the original type hint, which might not have been imported.
  • Add new Restart server command
    • Can be used if the server is misbehaving, i.e. hanging or consuming too much memory whilst running for a long time. These issues should be fixed in the server at some point, but it may be useful in the meantime.
  • Reduce activation time considerably
    • Some very roughly measured numbers:
      • Before:
        • PHP project: 200 - 220 ms
        • Other project: 170 - 180 ms
      • After:
        • PHP project: 100 - 130 ms
        • Other project: 50 - 60 ms
    • Note that, as mentioned above, the server should only start for PHP files, and not everywhere, as before.
    • The code was restructured to do as little setup as possible. The remaining overhead is primarily loading the atom-languageclient package itself.