mirror of
https://github.com/latex-lsp/texlab.git
synced 2025-08-05 03:08:33 +00:00
26 KiB
26 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[5.4.1] - 2023-03-26
Fixed
- Do not return symbols with empty names (e. g. sections without name) (#870)
- Repair
textDocument/formatting
request (#871)
[5.4.0] - 2023-03-12
Added
- Add experimental settings to allow extending the list of special environments:
texlab.experimental.mathEnvironments
texlab.experimental.enumEnvironments
texlab.experimental.verbatimEnvironments
- Add
texlab.changeEnvironment
workspace command (#849) - Add
texlab.showDependencyGraph
workspace command
Changed
- Do not show caption or section names in label inlay hints (#858)
- Include more user-defined commands in command completion
Fixed
- Parse nested
\iffalse
blocks correctly (#853) - Parse commands with multi-byte characters correctly (#857)
- Fix checking whether a document can be a root file
[5.3.0] - 2023-02-25
Added
- Allow filtering
textDocument/documentSymbols
using regular expressions specified viatexlab.symbols.allowedPatterns
andtexlab.symbols.ignoredPatterns
(#851)
Fixed
- Do not use percent-encoded path when searching for PDF files during forward search (#848)
- Always return an empty list of code actions instead of returning "method not found" (#850)
[5.2.0] - 2023-01-29
Added
- Include line numbers in build warnings when available (#840)
- Add
none
formatter totexlab.latexFormatter
andtexlab.bibtexFormatter
options to allow disabling formatting (#846)
Fixed
- Concatenate more than two lines of maximum length in build diagnostics (#842)
- Apply the correct range of references to labels when renaming (#841)
- Use
document
environment to detect root file instead of\documentclass
(#845)
[5.1.0] - 2023-01-21
Added
- Allow manually overriding the root directory using a
texlabroot
/.texlabroot
marker file. See the wiki for more information. (#826, #838)
Deprecated
- Deprecate
texlab.rootDirectory
setting in favor of.texlabroot
files
Fixed
- Do not use
.git
,.chktexrc
,.latexmkrc
files/directories to determine the root directory (#826) - Fix building documents without an explicit root directory (#837)
[5.0.0] - 2022-12-29
Changed
- BREAKING:
texlab.rootDirectory
is now used as the folder path from which the compiler is executed relative to the main document. By default it is equal to"."
. For more information, please visit the wiki. - Improve performance of completion by a huge margin due to a faster filtering method used internally
- Do not discover project files beyond the provided workspace folders
- Try to guess the root directory by checking for files such as
.latexmkrc
orTectonic.toml
iftexlab.rootDirectory
is not set
Fixed
- Update positions of reported build diagnostics when editing the affected line
- Do not treat links to files as bidirectional by default. This prevents issues where
texlab
ends up compiling the wrong file in projects with shared files (#806, #757, #679) - Fix coverage of directories which need to be watched for changes (#502, #491)
- Resolve links of the
import
package correctly - Use
filterText
of completion items when filtering internally (#829)
[4.3.2] - 2022-11-20
Fixed
- Do not try to run the TeX engine on package files and fail the build instead (#801)
- Handle URIs with URL-encoded drive letters on Windows (#802)
- Parse BibTeX entries with unbalanced quotes correctly (#809)
- Provide completion for more acronym commands (#813)
- Fix parsing acronym definitions (#813)
[4.3.1] - 2022-10-22
Fixed
- Do not crash with a stack overflow when trying to load packages with many internal dependencies (#793)
- Normalize drive letters of all document URIs
- Fix parsing commands that take file paths as arguments (#789)
- Use the correct working directory and command line arguments when calling
latexindent
(#645) - Fix publishing to CTAN
[4.3.0] - 2022-09-25
Added
- Add inlay hints for
\label{...}
(#753)
Fixed
- Improve accuracy of the error locations reported by the TeX engine (#738)
- Reduce number of false positive errors reported by
texlab
(#745)
[4.2.2] - 2022-08-28
Fixed
- Do not watch the same directory multiple times, which can result in a memory leak on Windows (#737)
- Fix detection of root document when sharing files between projects (#679)
- Fix text synchronization problem caused by file watcher (#724)
[4.2.1] - 2022-08-05
Fixed
- Deserialize server options with missing keys (or not keys at all) correctly (#707)
- Pass
chktexrc
files if they are not in the current directory (#683) - Revert back to server-side file watching due to lack of client support (#679)
[4.2.0] - 2022-07-03
Added
- Add support for escaping placeholders in forward search (#649)
- Add support for diagnostic filtering (#323)
- Add pre-built binaries for the following targets:
aarch64-unknown-linux-gnu
armv7-unknown-linux-gnueabihf
x86_64-unknown-linux-musl
aarch64-pc-windows-msvc
i686-pc-windows-msvc
Fixed
- Parse incomplete server options correctly (#651)
[4.1.0] - 2022-06-12
Added
- Add server commands to clean build directory (#607)
Changed
- Improve output when hovering over BibTeX strings
- Improve the heuristic for finding build artifacts (#635)
Fixed
[4.0.0] - 2022-05-25
Added
- Add
--version
command line flag - Provide pre-built binaries for
aarch64-apple-darwin
architecture (#591) - Autocomplete files based on
\graphicspath
(#590) - Release
texlab
oncrates.io
(#399)
Changed
- BREAKING: Use client-side file watching instead of server-side notifications (
workspace/didChangeWatchedFiles
) - BREAKING: Bump minimum supported Rust version to 1.58.1
- BREAKING: Do not use
citeproc-rs
to render citations. Instead, use a custom approach that tries to resemble theBibLaTeX
output (#629)
Fixed
- Parse
\subinputfrom
command correctly (#610) - Parse verbatim environments correctly (#490)
- Stop capturing stdout when build exits (#588)
- Fix parsing of key-value pairs (#573)
- Normalize
texlab.rootDirectory
when resolving includes (#571) - Allow optional arguments in environment definitions (#570)
- Allow
=
in include paths (#568)
[3.3.2] - 2022-02-26
Fixed
- Parse command definitions with optional arguments correctly
- Fix detection of command definitions in completion (latex-lsp/texlab-vscode#618)
- Watch aux directory by default for changes (#563)
- Do not allow multi-line keys in the grammar (#559)
- Use
textEdit
property for snippets (#558) - Allow simple commands as text argument for most commands (#557)
- Treat
\renewcommand
as an environment definition (#556) - Do not return
null
from forward search request - Make directory path in
\import
optional (#540) - Do not spam workspace/configuration requests (#533)
[3.3.1] - 2021-11-10
Fixed
- Fix completion for symbols in commands with incomplete braces (#510)
- Do not produce syntax errors for macro parameters inside special command arguments (#508)
- Fix a bug that sometimes causes the
aux
file to pick up the diagnostics of thetex
file (#502) - Fix a bug that sometimes prevents
log
files from being reanalyzed (#502)
[3.3.0] - 2021-10-10
Added
- Enable incremental text synchronization to reduce serialization overhead (#460)
Changed
- Reduce size of executable by compressing the completion database
Fixed
- Fix completion of commands near delimiters (#449)
- Prevent
texlab
from hanging because of unanswered configuration requests sent to Emacs (#456) - Re-analyze the workspace if the initial configuration has been received late
[3.2.0] - 2021-06-12
Added
- Re-introduce
texlab.build.forwardSearchAfter
with a more reliable way of detecting the current line number. - Re-introduce
texlab.build.onSave
due to popular request (#427). - Re-introduce work done progress notifications for building.
Changed
- Recommend
texlab.build.onSave
instead of-pvc
in documentation. - Do not rely on
.latexmkrc
for previewing anymore, insteadtexlab.build.forwardSearchAfter
can be used (#440, #436). - Deprecate
texlab.build.isContinuous
setting
Fixed
- Fix conditional compilation of the
citation
feature.
[3.1.0] - 2021-06-03
Added
- Add
texlab.latexFormatter
setting to allow turning offlatexindent
. At the moment,texlab.latexFormatter: texlab
is not implemented yet and does nothing. - Expose the
--local
flag oflatexindent
viatexlab.latexindent.local
setting (#365) - Expose the
--modifylinebreaks
flag oflatexindent
viatexlab.latexindent.modifyLineBreaks
setting (#365) - Assign (unique) error codes to static analysis diagnostics.
Fixed
- Avoid creating defunct
latexindent
processes which clear out the document (#437) - Allow whitespace in LaTeX identifiers like labels (#433)
- Run CI on Ubuntu 18.04 to allow an older
glibc
version (#439).
Fixed
[3.0.1] - 2021-05-22
Fixed
- Sometimes the log parser does not pick up errors from the log file (#426)
- Fix a bug involving characters that are not part of the ASCII charset (#428)
[3.0.0] - 2021-05-16
Added
- Basic error analysis for LaTeX files (#323)
- Parse LaTeX3 commands correctly (#410)
- Allow configuring ChkTeX using a
chktexrc
file (#309) - Implement goto definition for includes (#386)
- Provide completion for
\citeA{...}
(#409) - Allow passing additional arguments to
latexindent
(#365) - Document symbols and label completion now correctly handle
subequations
.
Changed
- BREAKING: The configuration format has changed.
Every setting is now under the
texlab
scope instead of the two scopeslatex
andbibtex
. For a list of possible options, please see here. Thelatex.build.onSave
setting has been removed in favor of-pvc
oflatexmk
. In the VSCode extension, thelatex.build.onSave
setting is still available along with thelatex.build.forwardSearchAfter
setting. The reasoning is that thatlatex.build.forwardSearchAfter
cannot reliably implemented in the server because it requires the current cursor position, which the LSP spec does not offer. In previous versions, TexLab had to guess the cursor position. We encourage editor extensions, to still support these settings under thetexlab
scope. - BREAKING: Previewing equations has been removed for now until a better solution is found. The existing approach is way too slow and does not work reliably.
- Distribution detection no longer produces an error message in the client. Instead, a log message is generated. A TeX distribution is only required to compile documents.
- Improve compile times a bit.
Fixed
- Do not send snippets if the client does not support them (#413)
- Fix protocol violation when exiting the server (#310)
- Fix reporting compile-time diagnostics using file watching (#339)
- Fix compilation warnings (#359)
- Fix crash when exiting with NeoVim LSP client (#405)
- Hopefully fixes the ChkTeX spamming issue (#186)
- Reduce CPU-load when idle (#400)
[2.2.2] - 2021-01-10
Fixed
- Fix compilation on
arm64-apple-darwin
(Apple Silicon) (#343)
[2.2.1] - 2021-01-06
Added
- Add basic support for RNW files
- Add support for
varioref
package
Changed
- Set
isIncomplete
tofalse
for small completion lists
Fixed
- Fix compilation on
aarch64
andarmv7l
(#289)
[2.2.0] - 2020-05-27
Added
- Fuzzy matching now works with Visual Studio Code
Changed
- Improve performance of completion
Fixed
- Fix the ordering of completion items when using
lsp-mode
(#227) - Fix preview when using custom class files (#228)
[2.1.0] - 2020-05-10
Added
- Add a new setting
latex.build.forwardSearchAfter
to trigger the forward search after building. - Add option to write the log output to a log file
Fixed
- Fix crash in symbols when encountering theorem descriptions (#220)
- Fix a parsing error that caused
texlab
to take 100% CPU usage in some cases (#212) - Prevent building the same file multiple times at once
[2.0.0] - 2020-04-20
Added
- Add basic support for the
import
package - Allow LaTeX and BibTeX formatting via
latexindent
. The built-in BibTeX formatter is still available via"bibtex.formatting.formatter": "texlab"
(#151)
Fixed
- Handle
subfiles
package when executing forward search (#208) - Fix detection of terminated builds
- Ensure that there is at most one instance of ChkTeX running
- Fix deserialization of incoming JSON-RPC errors
- Fix preview when including packages in a child file
Changed
- Breaking change:
latex.build.args
now uses placeholders like the forward search. The filename (%f
) is no longer implicitly appended to the end of the argument list. - Breaking change: Update the LSP types to accommodate newer LSP clients (#200)
- Improve performance of completion (when completing LaTeX commands)
- Improve workspace detection algorithm
[1.10.0] - 2020-02-11
Added
- Add a new setting
latex.build.outputDirectory
to specify the directory containing the build artifacts. This setting can be used in combination with the-outdir
flag oflatexmk
(#147) - Add basic support for push-based configuration via
workspace/didChangeConfiguration
(#123)
Fixed
- Show all digits of chktex warning number (#160)
[1.9.0] - 2019-12-30
Added
- Provide completion for local packages if
kpsewhich
is installed - Add
.def
and.bibtex
to the list of supported extensions - Add basic support for
tectonic
Fixed
- Fix rendering of citations with DOIs (#117)
- Fix building of LaTeX files without
\begin{document}
(#122) - Do not crash when editing remote files
- Run LaTeX linter when opening a file if enabled
- Handle
\hyphen
when rendering citations
[1.8.0] - 2019-12-01
Added
- Add support for
crossref
when previewing citations (#16) - Warn if the user does not have a TeX distribution installed
Changed
- Change license to GPLv3
- Do not require Node.js when building the server (#87)
[1.7.0] - 2019-11-20
Added
- Add logging for JSON-RPC errors via
stderr
(#111) - Provide completion for
\subfile
- Provide completion for glossary entries
- Show full path when hovering over includes
- Implement "Goto Definition" for BibTeX strings
Changed
- Use Rust Stable (1.39+) instead of Rust Beta
- Sort symbols by project order (#93)
Fixed
- Improve detection of local packages inside the current workspace (#110)
- Fix potential crash in "Goto Definition"
[1.6.0] - 2019-09-29
Added
- Include enumeration environments in symbols
- Implement
workspace/symbol
request - Handle enumeration items when rendering labels
- Handle subtables in symbols and completion
Changed
- Handle BibTeX strings when rendering citations
- Improve rendering of labels
- Do not require a label when generating symbols
- Improve detection of included files
- Reorganize completion and symbol kinds
- Do not rely on
workspace/didChangeWatchedFiles
- Use Rust Beta instead of Rust Nightly
- Make rendering of section labels more consistent
Fixed
- Fix theorem numbers in multi-file projects
- Fix filter text of citations with braces inside a field
- Handle invalid UTF-8 in log files
[1.5.0] - 2019-08-27
Added
- Add support for clients that do not support hierarchical symbols
- Add support for hovering over BibTeX strings
Changed
- Use formatted references in symbol request
Fixed
- Do not run ChkTeX on BibTeX files
- Fix build freezes on Windows (#63)
[1.4.1] - 2019-08-22
Added
- Add support for \part
Fixed
- Increase hover range when hovering over labels
- Fix rendering of theorem labels
- Handle Windows paths correctly
[1.4.0] - 2019-08-20
Added
- Provide symbols for BibTeX fields and BibTeX strings
- Provide symbols for LaTeX labels
- Show theorem name when hovering over theorem references
- Show Unicode glyps when completing symbols
Changed
- Use LocationLink for "peek definition" when possible
- Node.js is no longer a dependency
[1.3.0] - 2019-08-06
Added
- Provide document symbols for BibTeX entries and LaTeX sections
Changed
- Hovering over a package does not require an internet connection anymore
- The Linux server binaries do not depend on
libssl
anymore (#55)
Fixed
[1.2.0] - 2019-07-23
Added
- Add completion support for
\RequirePackage
- Filter completion list based on the contents of the reference
Changed
- The index mechanism has been removed. Packages are now indexed with a script beforehand.
[1.1.0] - 2019-07-13
Added
- Add section name and caption to label completion
- Show section name and caption when hovering over labels
- Add some missing kernel commands with stars
- Add support for comma-separated imports
- Add setting to lint after a change occurs
Changed
- Improve completion at the end of the file
Fixed
- Fix preselect for environments with missing braces
[1.0.0] - 2019-07-04
Added
- Add support citations with multiple keys (#22)
- Add support for the cleveref package (#21)
- Implement "Go to Definition" for commands (#15)
- Provide preview for user-defined commands
- Provide completion and preview for theorem environments
Changed
- Java is no longer a required dependency
- Node.js is now an optional dependency required to display citations
- Improve performance of completion
- Improve startup time
- The server no longer depends on a workspace folder
- "Find all References" works from a reference instead of just the definition (#25)
- All configuration items are now optional
- Provide only math labels when completing \eqref
- Preselect the matching environment name (#29)
Fixed
- Let the client decide whether to include the declaration when finding all references (#25)
- Renaming a label with colons now works as expected (#30)
- Handle colons when completing labels and citations (#30)
- Do not crash when encountering a BibTeX entry with
a
crossref
field (#16) - Hovering over uppercase BibTeX fields now shows the documentation (#17)
- Do not depend on extensions when resolving included files (#22)
- Do not depend on the
workspace/configuration
request (#22) - Prevent completion from triggering too often
[0.4.2] - 2019-04-10
Fixed
- Fix completion inside
\( \)
. (#14) - Do not crash on invalid requests.
[0.4.1] - 2019-03-30
Changed
- Improve startup time
Fixed
- Improve MiKTeX support (#8)
[0.4.0] - 2019-03-09
Added
- Add linting support for LaTeX via ChkTeX
Changed
- Analyze referenced files that are not part of the current workspace
- Improve completion for includes
- Improve performance of completion
[0.3.0] - 2019-03-05
Added
- Show preview when hovering over math expressions
- Show package name when hovering over a command
Changed
- Store completion database in
~/.texlab
directory
Fixed
- Fix crash when editing a BibTeX file
- Fix crash when hovering over invalid BibTeX entries
- Fix a bug where the completion does not get triggered correctly
[0.2.0] - 2019-03-01
Added
- Show bibliography when completing citations
- Show bibliography when hovering over citations
- Completion for equation references
Fixed
- Fix completion of file includes
- Prevent server crash when opening a locked file
[0.1.2] - 2019-02-16
Fixed
- Do not display an error when PDF viewers return a non-zero exit code while performing forward search
[0.1.1] - 2019-02-15
Changed
- Reduce binary size
Fixed
- Fix rendering of completion symbols
[0.1.0] - 2019-02-15
- Initial release