{"version":"2.1.227","anchor":"diagnostics-tracking-became-an-object-and-plugin-lsp-configs","canonical_anchor":"diagnostics-tracking-became-an-object-and-plugin-lsp-configs","heading":"Diagnostics tracking became an object, and plugin LSP configs can come from storage","tier":"internal","area":"Elsewhere","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.227\/e\/diagnostics-tracking-became-an-object-and-plugin-lsp-configs","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.227","markdown":"### Diagnostics tracking became an object, and plugin LSP configs can come from storage\n\nDiagnostics tracking is now per-instance and plugin language-server configs can come from storage.\n\n**What**\n\nPending and delivered diagnostics, with their deduplication, per-file and total caps and purge on file change, are now per-instance rather than shared module state. Loading a plugin's language-server config can now go through the storage backend, with separate errors for a path containing a symlink, a missing file, and a path storage cannot address.\n\n**Evidence**\n\n`LSP config path contains a symbolic link that plugin storage does not follow`\n\n- Area: Elsewhere\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 2\/5"}