Skip to content
This repository has been archived by the owner on Mar 1, 2022. It is now read-only.

v3.6.0

Compare
Choose a tag to compare
@WebFreak001 WebFreak001 released this 18 Nov 22:10
· 20 commits to master since this release

What's Changed

since v3.6.0-pre.15

  • Latest known DCD version is now on 0.13.6
  • fixes some range violations
  • Method snippets appear in unittests now
  • Added else smart snippet after ifs
  • detect vDCD as locally compiled
  • fix list definitions for static constructors
  • improved Future API

Dependencies:

  • Upgrade dub to 1.26.1
  • Upgrade dfmt to 0.14.1
  • Upgrade dscanner to 0.11.1
  • Upgrade libdparse to 0.17.0

since v3.5.0

  • add dcdext.highlightRelated
  • add dcd.findLocalUse
  • improve process launch fail error message
  • added //dfmt on/off parsing utility to dfmt component
  • added mixinTemplate snippet scope
  • add alias snippet
  • reduced snippet trace logs
  • add resolveRanges function to dscanner & identically named argument to dscanner.lint to convert D-Scanner's line:column output to [start, end] ranges of index, line & columns (moves logic out of serve-d)
    • improves locations for "expected ..." syntax errors
    • sets line length errors to proper start
    • improves semicolon error positions
    • differentiates between keywords on same line and keywords on separate line when an identifier is expected
    • adds an issue for foreach (auto key; value) that just covers the auto (guaranteed) that can easily be auto-fixed
  • fix workspace-d executable building
  • disable snippets in __traits(), version(), debug()
  • add toString, toStringText snippets
  • fallback dub compiled DCD version parsing
  • migrate from unit-threaded to silly test runner
  • manually implement DCD Null Client
  • add more information to dub rootPackageBuildSettings (recipePath, buildOptions, requirements + fill out empty targetName)
  • Make WorkspaceD & Instance more extendable
  • Fix libdparse deprecation
  • make some config APIs const/inout
  • add dcd.serverInstalledVersion
  • add dub.rootPackageBuildSettings
  • allow passing full StaticAnalysisConfig to lint
  • Fix moduleman with script lines fix #105
  • fix unittest insertion location fix #106
  • make DCD client embedded into workspace-d
  • add dcdext.formatDefinitionBlock
  • add verbose mode to dscanner.listDefinitions
  • implement deprecations into dscanner ctags API
  • add unittest names to dscanner ctags API
  • add dub.resolveDiagnosticRange with first a == null and a != null location fixer
  • use binary search in determineSnippetInfo to speed up snippet generation in big files
  • add string and (currently not yet functional) comment & doccomment scopes to snippets
  • fix an issue on windows using workspace-d as exe with stdin not segfaulting on close
  • assert out if Fiber.getThis is null when trying to Future.getYield
  • bump dfmt, dscanner, libdparse
  • Improved communication of imports to DCD & added removeImports command
  • Added helper function to get used D-Scanner config values
  • Refactor some of workspace.api into separate modules
  • add instance.detach
  • add unformatted hint to snippets
  • add debug_writeln, debug_writefln, debug_printf snippets to plain
  • fix crash involving colon (maybe in string) inside calling paramters
  • fix crash with broken definition lookup in implement interface
  • Fix some memory leak issues by @dayllenger in #100
  • semi-breaking: global components now call onBindFail on WorkspaceD too, with instance being null (never called like this before, might cause errors in some implementations)
  • DCD now properly reports ddoc with \\n in it

API Breakage

  • the UDA ComponentInfo was renamed to ComponentInfoParams, so you need to query for this as UDA now in case you manually do that
    • if you don't search for this in your introspection code, usage will silently break as it will try to instead lookup the ComponentInfo struct which contains an additional TypeInfo member and is not the symbol attached to components
  • ComponentFactory methods are now nothrow, info method additionally const

New Contributors

Full Changelog: v3.5.0...v3.6.0