Releases: Pure-D/serve-d
v0.7.0-beta.5
- fixes initialization on LSP clients sending trailing slashes on directories
- fixes initialization on configurations where folders were recognized as potential workspaces multiple times
- adds request
served/getActiveDubConfig
to read out dub information
v0.7.0-beta.4
- actually tagged the version now
v0.7.0-beta.3
- fix config loading issue
v0.7.0-beta.2
- don't fetch workspace-d by default when only depending on
serve-d:serverbase
v0.7.0-beta.1
For developers:
- The LSP protocol part of serve-d and server boilerplate code can now be used as a library
- Improved documentation
- add served/getDscannerConfig command
For users:
- Fix crashes in extremely complex code
- Fix single file editing (Pure-D/code-d#62)
- Fix ddoc generation issues
- Add ddoc REF & LREF support
- Fix snippet completion
- Fix manyProjectsAction config parsing crash with unsupported values
- Make caught throwables alert the user
- Dramatic startup speed & editing speed improvements
- Add d.generateModuleNames setting
- Add code fix for ==/!= null -> is/!is null
- proper position for "expected ..." syntax errors
- move ignore (this line) before ignore global
- add
foreach (auto
syntax fix (#81) - Fix completion docs not showing as markdown in some cases
- Add workspace lazy loading (#52)
- increase default many projects threshold to 6
- Fix crash with neovim (#104)
- Bump DCD to 0.13.1
v0.6.0
additionally to 0.6.0-beta.1:
- improved dub.json/dub.sdl saving
- report startup progress (displayed in supported clients, logged as text in unsupported clients)
- check dub.json/dub.sdl syntax before loading on save
- fix some dub error handling on save
- bump to workspace-d 3.5.0
v0.6.0-beta.1
- fixes latest OSX builds
- fixes issues with other LSP clients than code-d
- bigger fiber stack size for completion among other tiny things (fixes a few crashes in big code)
- auto completion no longer triggers after operators (fixes it triggering right after comments)
- new
--provide context-snippets
for auto completing snippets - adds snippets which only complete if certain dub dependencies are present
- adds dynamic snippets analyzing the current scope for variable placeholder names
- mark deprecated and unused linter errors properly
- better observing of renamed files and add watching creation of dub.json/dub.sdl to insert boilerplate
- fixes some sort import bugs
v0.5.1
- fixed harmless PosixStdinReader error message
- fixed harmless startup error message
- bump workspace-d to 3.4.0
- fixed startup issue if configuration has old, invalid or null types for expected values
v0.5.0
Diet templates
Diet completion got a lot of bug fixes and will work a lot better with more D code now.
Adding
//-context=app.d
where app.d
is the primary file in which the template is used will result in improved completion. This comment must be the first token of the file (or second line if first is extends) and the context file must have been opened.
For this serve-d will search for a string using the diet template filename (without folder, but with extension) in the code.
Currently this is not enabled by default because it is still completing too many symbols which aren't even accessible. To enable it anyway, set "d.dietContextCompletion": true
in your user settings.
More & improved code actions
Implement interface got even more stable and now uses snippets to quickly navigate between implemented methods. It also now puts all methods at the bottom of a class instead of at the top. For default implementations sometimes you can also pick between multiple implementations.
DUB
Dub errors now report and disappear much more consistently and have had extreme performance improvements. Template instances will be reported both in calling parts in your projects and where the error actually instantiated first. All error messages will now properly show the following error messages as location markers when hovering over the root cause and suggest only jumping there instead of marking them as invalid.
Saving a file with dub linting enabled will also no longer run the pre/post build commands and only update errors in the current dub project. To show errors in other projects save files in other projects.
Other Things
DCD upgrade to 0.11.1
Minor Changes:
- DCD now downloads with a rich download UI in newer code-d and with console progress bar in older code-d or other editors
- Import paths are now much better resolved if dmd is installed. They will use a very accurate search on Posix platforms using dmd.conf and on windows relative to the exe path. Also per-project overrides using dmd.conf are possible with this.
- Added
d.lintOnFileOpen
with possible values"always", "project", "never"
which controls whether files should be linted with DScanner when opening. (defaults to "project") To revert this to always lint every file, including phobos and other libraries, change it to"always"
- Files external to the project no longer persist linting warnings when closing anymore.
Bug Fixes:
- Some memory optimizations and segfault fixes.
- Dub build task doesn't break anymore for not loaded workspaces.
- Some threading issues fixed which previously caused random crashes.
- Unreadable directories don't crash serve-d startup anymore.
- Fixed several "Sort imports" bugs.
- Module name insertion properly takes the longest import path now for determining the module name, so it will always insert the shortest module name for your imports.
- Code actions now properly show on all characters on diagnostics instead of just the first character.
- Fixed DCD stdout error message box on Windows on shutdown
- Sorting imports now supports
public import
andstatic import
and will also sort those before the other imports.
Nightly CI builds
Nightly builds of successful commits (midnight UTC+2)
Only report bugs with these executables if you are using the currently unreleased latest code-d version! (master branch)
The assets on this release are not permanent and only keep the last 7 nightly builds of each platform.