Skip to content

Releases: Pure-D/serve-d

v0.7.4

07 Jan 16:25
Compare
Choose a tag to compare

Fixes serve-d still being running after IDE exit occasionally.

Hopefully for good this time.

Thanks @dkorpel and Mali Laurent for debugging help

v0.7.3

06 Jan 20:36
Compare
Choose a tag to compare

fixed FileReader race condition (serve-d not starting randomly)

thanks @ryuukk and @dd86k for release help

v0.7.2

06 Jan 18:48
Compare
Choose a tag to compare

KNOWN BROKEN RELEASE (serve-d might not start)

  • Fixed stuck / 100% CPU usage after exit (#187) by @ryuukk + 8688967
  • added the builtin DUB arch types depending on compiler

Full Changelog: v0.7.1...v0.7.2

v0.7.1

10 Dec 22:58
Compare
Choose a tag to compare

What's Changed

  • add emacs guide by @ShigekiKarita in #171
  • Example for nvim with coc's by @burner in #173
  • profilegc watch has proper LSP parameters now
  • added more logging to stdlib detect
  • compiling DCD from source (on ARM OSX for example) now shows proper button text and does the right thing
  • fixed multiple LSP discrepancies (sent null when only nothing was allowed)

New Contributors

Full Changelog: v0.7.0...v0.7.1

v0.7.0

20 Nov 17:27
Compare
Choose a tag to compare

v0.7.0-rc.3

20 Nov 11:27
Compare
Choose a tag to compare
v0.7.0-rc.3 Pre-release
Pre-release
  • fixes snippet scope issues

v0.7.0-rc.2

19 Nov 22:03
Compare
Choose a tag to compare
v0.7.0-rc.2 Pre-release
Pre-release
  • improves DCD select port on windows
  • fix stdlib detect for relative compiler paths
  • when setting trace log to verbose in the LSP client, actually change the global log level of serve-d now

v0.7.0-rc.1

18 Nov 22:34
Compare
Choose a tag to compare
v0.7.0-rc.1 Pre-release
Pre-release

What's Changed since last pre-release

User Changes

  • Update DCD to 0.13.6
    • Windows downloads precompiled releases again
  • Auto completion after __EOF__ token is now disabled
  • Removed d.completeNoDupes, it's now handled by d.argumentSnippets along with the new auto-complete rendering
  • Added support for details and description in CompletionItemLabel (thanks to @RUSshy)
  • Ported the profilegc.log parsing from code-d to serve-d (allows usage in other editors)
  • d.stdlibPath: "auto" will now first look for stdlib paths based on the dubCompiler setting, allowing you to first check for a specific LDC compiler, then for system DMD and LDC paths if they are not found
  • Added smart else snippet after if blocks
  • fixed snippets in unittests
  • fixed various crashes

Developer Changes

  • rpc: Non-object or array parameters in JSON RPC are no longer allowed and will trigger parameter errors (as per spec) and are properly parsed now - if you use the vscode lsp client, it will already handle this for you since the latest release
  • serverbase: You can now set productName in LanguageServerConfig to make logs generated by it write your LSP server's name
  • serverbase: You can now set gcCollectSeconds in LanguageServerConfig to any different interval in seconds to modify the automatic background GC collection frequency. You can also set it to 0 to disable it.
  • Optional can now be casted to bool to check isNull
  • FileReader now properly terminates when stdin is closed (yieldLine could return null now)
  • Implemented result streaming for requests with partialResultToken - for methods returning arrays you can implement them multiple times, all of the functions will be run in parallel and the results will be concatenated (also works without the partialResultToken)

Changes since v0.6.0

  • fix race condition with test provider invalidating documents
  • port redundant dfmt off/on checks (#74)
  • add dlangui completion snippets & color provider (#77)
  • add highlight provider (#82)
  • added Document.clone, giving an immutable document with duplicated text that can be accessed as string
  • add document wordRangeAt using bytes returning bytes
  • add document nextPositionBytes, which works like movePositionBytes, but using ref parameters so you don't need to reassign them on every use
  • fixed some deprecations
  • fix auto completion comment detection
  • add 64 bit windows builds #115
  • allow specifying log levels & file as CLI args
  • more LSP compatiblity by auto-detecting language from file extension if not set
  • fix "instantiated from here" types
  • add LDC stdlib detection
  • add unittest scanning feature (WIP)
  • fully lazy load workspaces, defer many projects warning until many projects have been opened
  • change to silly test runner
  • improve auto completion sorting #127
  • only send changes in document formatting
  • support for rangeFormatting (format selection) #120
  • fix dependency compile from source on certain platforms #130
  • update DCD (but compile from source on windows)
  • upgrade d-scanner
  • use $current in build tasks instead of embedding current values (passed CLI unaffected)
  • change how scope and cwd is handled in build tasks: they are now always relative to opened workspace folders (as sent by LSP)
  • documentation how to install in Vim (#111)
  • various bug fixes and crash fixes (#122, #132)
  • 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
  • fix config loading issue
  • don't fetch workspace-d by default when only depending on serve-d:serverbase
  • The LSP protocol part of serve-d and server boilerplate code can now be used as a library
  • Improved documentation
  • add served/getDscannerConfig command
  • 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)

New Contributors

Full Changelog: v0.6.0...v0.7.0-rc.1

v0.7.0-beta.7

14 Jul 18:55
Compare
Choose a tag to compare
v0.7.0-beta.7 Pre-release
Pre-release

User changelog:

  • fix race condition with test provider invalidating documents
  • port redundant dfmt off/on checks (#74)
  • add dlangui completion snippets & color provider (#77)
  • add highlight provider (#82)
  • DCD 0.13.5

Developer changelog:

  • added Document.clone, giving an immutable document with duplicated text that can be accessed as string
  • add document wordRangeAt using bytes returning bytes
  • add document nextPositionBytes, which works like movePositionBytes, but using ref parameters so you don't need to reassign them on every use
  • fixed some deprecations

v0.7.0-beta.6

25 May 09:57
f191f1b
Compare
Choose a tag to compare
v0.7.0-beta.6 Pre-release
Pre-release
  • fix auto completion comment detection
  • add 64 bit windows builds #115
  • allow specifying log levels & file as CLI args
  • more LSP compatiblity by auto-detecting language from file extension if not set
  • fix "instantiated from here" types
  • add LDC stdlib detection
  • add unittest scanning feature (WIP)
  • fully lazy load workspaces, defer many projects warning until many projects have been opened
  • change to silly test runner
  • improve auto completion sorting #127
  • only send changes in document formatting
  • support for rangeFormatting (format selection) #120
  • fix dependency compile from source on certain platforms #130
  • update DCD (but compile from source on windows)
  • upgrade d-scanner
  • use $current in build tasks instead of embedding current values (passed CLI unaffected)
  • change how scope and cwd is handled in build tasks: they are now always relative to opened workspace folders (as sent by LSP)
  • documentation how to install in Vim (#111)
  • various bug fixes and crash fixes (#122, #132)