Skip to content

v0.7.0-rc.1

Pre-release
Pre-release
Compare
Choose a tag to compare
@WebFreak001 WebFreak001 released this 18 Nov 22:34
· 443 commits to master since this 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