Skip to content
Snippets Groups Projects
CHANGELOG.md 94 KiB
Newer Older
James-Yu's avatar
James-Yu committed
# Change Log

James Yu's avatar
James Yu committed
## [10.3.2] - 2024-09-11

### Fixed
- (#4374) Extra brace in default macros.

James Yu's avatar
James Yu committed
## [10.3.1] - 2024-09-10

### Fixed
- (#4372) Include macro name back into .json file snippets.
  - This change may require re-generation of `.json` files using the new `parse-cwl.ts` script in `dev/` folder, even already done in version `10.3.0`.

James Yu's avatar
James Yu committed
## [10.3.0] - 2024-09-09

### Added
- (#4359) Support file watching on virtual file systems
- (#4363) `RequirePackage` and `RequirePackageWithOptions` suggests package names.
- (#4364) Suggestion `keyvals` provide possible values if defined in `.cwl` files.
- (#4368) Include base KOMA macro/env in KOMA art, book, rept.

### Changed
- (#4367) Adopt a new package intellisense file format.
  - This change is necessary to make package suggestions extensible.
  - You may need to regenerate package intellisense `.json` files using the new `parse-cwl.ts` script in `dev/` folder.

### Fixed
- (#4360) Parse `pdflatex --version` output correctly for MikTeX detection.
- (#4369) Browser viewer should not wait for vscode panel `'restore_state'`.

James Yu's avatar
James Yu committed
## [10.2.1] - 2024-08-30

### Fixed
- (#4354) Reverted #4347.
  - #4347 was a local issue.

James Yu's avatar
James Yu committed
## [10.2.0] - 2024-08-30

### Added
- Add bibTeX field content suggestions
- (#4331) Add highlighting to the extension logs.
- (#4338) Control showing over/underfull warning seperately by `message.badbox.show`.

### Fixed
- (#4304) Reveal PDF on SyncTeX if it's invisible instead of create a new tab.
- (#4306) No PDF refresh on code-server.
- (#4313) Include `(arg)` macro signature in package intellisense.
- (#4334) PDF viewer position retained across vscode reloads.
- (#4335) Handle bibtex parsing exception.
- (#4336) Record past active latex editor instead of just file path.
- (#4347) `%!TEX/%!BIB options` accept multiple bash args and handles spaces.
- (#4339) Handle cwl package option in format `#keyvals:\geometry,\usepackage/geometry#c`.

James Yu's avatar
James Yu committed
## [10.1.0] - 2024-06-27

### Added
- (#4301) Multi-language support.

### Fixed
- (#4300) Prevent concurrent pdf refresh and queue a refresh if rate-limited.
- (#4303) Support new command macros by `etoolbox`.

James Yu's avatar
James Yu committed
## [10.0.0] - 2024-06-24 - Viewer Update

### General
- We revamped the UX experience when working with the built-in PDF viewer.
  - (#4295) Flicker-free PDF refreshing contributed by @quoc-ho
  - (#4292) New page trimming implementation.
  - Upgrade PDF.js to v4.3.136

### Changed
- Now the trimming select UI element is moved to the dropdown menu of viewer.
- Now the config item `latex-workshop.view.pdf.trim` has a new definition and usage.

James Yu's avatar
James Yu committed
## [9.21.1] - 2024-06-24

### Fixed
- (#4294) Internal links in pdf viewer do not scroll to position.

James Yu's avatar
James Yu committed
## [9.21.0] - 2024-06-23

### Added
- Upgrade pdf.js to v4.2.67.
- Add all package suggestions to repo, let users download.
- Allow more relative paths in `latex.texDirs` and `intellisense.package.dirs`.
- (#4222) Customize docker (or podman) path.
- (#4277) Add a close-env suggestion after `\begin{env}`.

### Changed
- (#4281) Try use `PDFViewerApplication.load` in viewer refresh.
- (#4292) Better viewer trimming.

### Fixed
- Fix a duplicate children parsing bug in caching.
- `\putbib` can also have `\subfix`.
- Avoid included bib circular inclusion.
- When finding root from workspace, we don't care if it is cached or not.

James Yu's avatar
James Yu committed
## [9.20.1] - 2024-04-29

### Fixed
- Update grammars.
- (#4215) Add `tkz-euclide` suggestions, update some others
- (#4233) Cache outdir/auxdir per root file.
- (#4239) Use synctex.js for backward sync (CJK-compatible)
- (#4243) Fix WebSocket reconnect mechanism.
- (#4247) Fix racing build-on-save when multiple files are edited.
- (#4252) `intellisense.label.command` should not affect reference parsing.

James Yu's avatar
James Yu committed
## [9.20.0] - 2024-04-15

### Added
- (#4194) Add a more accurate rectangle indicator for SyncTeX to PDF.
  - Config `synctex.indicator.enabled` is changed to `synctex.indicator` and now is a string config.

### Changed
- Now calling SyncTeX will prioritize binary over synctex.js.
  - Makes `synctex.synctexjs.enabled` obsolete.

### Fixed
- (#4215) Use `kpsewhich.class.enabled` and `kpsewhich.bibtex.enabled` to control `kpsewhich`.
  - Replaces `kpsewhich.enabled`.
- (#4227) Ignore label defs in `xparse` macros.

James Yu's avatar
James Yu committed
## [9.19.2] - 2024-04-04

### Fixed
- Prevent `.aux` and `.out` file changes from triggering auto-build
- (#4207) Cursor tracing in structure works across files with 2+ level differences.
- ($4220) Synctex does not work while using vscode in browser.

James Yu's avatar
James Yu committed
## [9.19.1] - 2024-03-12

### Fixed
- `auxdir` is automatically determined from last run recipe.
  - `outdir` also, for testing purpose.
- (#4193) Optional capture pattern for `\subfix` when including `bib` files.
- (#4195) `bib` watcher follows `latex.watch.files.ignore`.
- (#4197) Use BibTeX log parsing rules for its variants.

James Yu's avatar
James Yu committed
## [9.19.0] - 2024-03-06

### Added
- (#4173) Add source to warning messages.
- (#4181) Missing reference warnings now located precisely.

### Fixed
- Fix incorrect cursor position in math preview when cursor is at line > 0.
- (#4166) Add deletion polling for non-binary files.
- (#4167) PDF watcher never resets now.
- (#4184) `kpsewhich` caches results.
- (#4184) `kpsewhich.enabled` correctly controls calls to `kpsewhich`.
- (#4188) Cleaning with `latexmk` honors `outdir`.

James Yu's avatar
James Yu committed
## [9.18.2] - 2024-02-18

### Fixed
- Hold PDF refresh for 1s after compile.
- Snippet and math preview panels use networked resource.
- (#4156) Store the math tex of references on parsing.
- (#4162) Snippet view can insert on any langID.

James Yu's avatar
James Yu committed
## [9.18.1] - 2024-02-14

### Fixed
- (#4134) Add a new config `intellisense.subsuperscript.enabled` to enable/disable sub- and super-script intellisense
  - There is a related feature request in [#4159](https://github.com/James-Yu/LaTeX-Workshop/issues/4159) to be implemented related to this.
- (#4151) Update LaTeX3 completion.
- (#4153) Fix wrong item label in outline for macros and envs in `doctex`.

James Yu's avatar
James Yu committed
## [9.18.0] - 2024-01-10

### Added
- (4126) Add intellisense for macros defined by `\NewDocumentCommand`.

### Fixed
- (#4111) Snippet view cannot find proper editor.
- (#4127) Remove macro star when rendering MathJax.
- (#4131) Use `unified-latex-util-to-string` to stringify macro definitions.

James Yu's avatar
James Yu committed
## [9.17.0] - 2024-01-02

### Added
- (#4114) Support `\boldsymbol`, `\bm` and other `mathtools` macros in preview.
- (#4118) Sub- and superscript auto-completion.
- (#4119) Enable VIM-like scrolling by shift+J, K, H, L in PDF viewer.

### Fixed
- (#4104) PDF viewer cannot revert to no spread.
- (#4105) Retry MathJax if failed rendering with defined macros.
- (#4116) Use `newcommand` in place of `providecommand` for MathJax.

James Yu's avatar
James Yu committed
## [9.16.1] - 2023-12-21

### Fixed
- (#4103) Fix wrong boundary calculation when macros are the last argument in new command definitions.

## [9.16.0] - 2023-12-19
James Yu's avatar
James Yu committed

### Added
- Tweak the PDF synctex indicator appearance, less intrusive.
- A new config `view.outline.follow.editor` to control whether scrolling the editor will also reveal corresponding structure items.
- (#4098) SyncTeX after clicking structure item.
  - This behavior is controlled by a new config `view.outline.sync.viewer`.

### Fixed
- (#4045) Use AST to parse new commands for preview.

James Yu's avatar
James Yu committed
## [9.15.8] - 2023-12-15

### Fixed
- (#4096) Color options in pdf editor not working since v9.15.1.

James Yu's avatar
James Yu committed
## [9.15.7] - 2023-12-13

### Fixed
- (#4093) PDF viewer restores scale value after reload.

James Yu's avatar
James Yu committed
## [9.15.6] - 2023-12-13

### Changed
- Update to PDF.js v4.0.269.

### Fixed
- (#4092) PDF reload at file change.

James Yu's avatar
James Yu committed
## [9.15.5] - 2023-12-12

### Fixed
- (#4090) Add the missing docker envvar setter.

James Yu's avatar
James Yu committed
## [9.15.4] - 2023-12-12

### Fixed
- (#4089) Fix cmap files location in pdfjs-dist.

James Yu's avatar
James Yu committed
## [9.15.3] - 2023-12-12

### Changed
- Try esbuild @unified-latex packages to reduce `.vsix` size.

James Yu's avatar
James Yu committed
## [9.15.2] - 2023-12-12

### Fixed
- Excessively large `.vsix` package.

James Yu's avatar
James Yu committed
## [9.15.1] - 2023-12-12

### Changed
- Engineering changes.
- Hold PDF refresh only when building

### Fixed
- Fix a !LW recipe not found fallback issue.
- (#4063) Parse \item args for env pairs.
- (#4068) Respect `latexmk`+`subfile` when creating output subfolders.
- (#4069) Scan for `label={...}` as the second argument of an environment.
- (#4076) Fail-safe for setting PDF viewer state.
- (#4087) Regain editor focus after view in tab.

James Yu's avatar
James Yu committed
## [9.15.0] - 2023-11-16

### Added
- (#3966) Add option to include filename in status bar.

### Fixed
- Update to PDF.js v4.0.189.
- (#4048) Gracefully fail `mkdirSync` during compile.
- (#4052) Viewer refresh checks all steps instead of the last one.
- (#4054) Custom editor follows `tab.editorGroup`.

James Yu's avatar
James Yu committed
## [9.14.1] - 2023-10-03

### Fixed
- Updates: cwl, unified, pdfjs.
- (#3962, #4022) Fix frozen hand tool if set in config.
- (#4021) Parse nested @string in bibtex.
- (#4023) Enable keybinds on doctex.

James Yu's avatar
James Yu committed
## [9.14.0] - 2023-09-19

### Added
- (#3981) Add a new `synctex.indicator.enabled` config item to control the visibility of the SyncTeX indicator in PDF.
- (#3999) Display missing character warning in the Problems pane.
- (#4017) Show appendix numbering in structure.

### Fixed
- (#3982) Make `\bibliography` accept a multiline argument.
- (#3983) Compute section ranges correctly once nested.
- (#3984) Fix newlines and indentations for BTA and BTB snippets.
- (#4003) Regain focus after creating viewer tab.

James Yu's avatar
James Yu committed
## [9.13.4] - 2023-08-06

### Fixed
- (#3978) Correctly parse `\providecommand` commands.
- (#3978) Fix the tab sequence of arguments of new commands.

James-Yu's avatar
James-Yu committed
## [9.13.3] - 2023-07-24

### Fixed
- Use `tab` as the default viewer fallback.

James-Yu's avatar
James-Yu committed
## [9.13.2] - 2023-07-24

### Fixed
- Update to PDF.js v3.8.162.
- Default viewer with `customEditor`.
  - The original mode is renamed to `legacy`.
- (#3973) Tweak structure refresh conditions.


James Yu's avatar
James Yu committed
## [9.13.1] - 2023-07-17

### Fixed
- (#3967) `kpsewhich` should be called from the current root or workspace folder.

James Yu's avatar
James Yu committed
## [9.13.0] - 2023-07-14

### Added
- (#3961) Add a "custom editor" viewer mode.
- (#3965) Use `kpsewhich` to find package imports defined in `.cls`.

### Changed
- Enable `kpsewhich` by default.

### Fixed
- (#3960) Support `\DeclarePairedDelimiterX(PP)` and `\DeclareRobustCommand`.
- (#3963) Arguments in AST can have labels, envs, and glossaries.

James Yu's avatar
James Yu committed
## [9.12.3] - 2023-07-07

### Fixed
- Even faster structuring on projects with a large number of sub-files.
- (#3573) Cache.content can be dirty.
- (#3937) Support globs when updating bib paths.
- (#3943) Hover hint considers package and optional arguments.
- (#3946) Env pair should use dirty content AST.
- (#3947) Macros must have a mandatory argument in order to appear in outline.
- (#3948) Re-implement `mathtools` and `amsopn` new command support.
- (#3950) Child tex wrongly all registered to root.

James Yu's avatar
James Yu committed
## [9.12.2] - 2023-06-22

### Fixed
- Very fast cache element parsing.
- Input files do not nest in outline.

James-Yu's avatar
James-Yu committed
## [9.12.1] - 2023-06-21

### Changed
- Update grammar files to https://github.com/jlelong/vscode-latex-basics/releases/tag/v1.5.3

### Fixed
- None blocking cache parsing.
- (#3941) Wrong replace range of browser citation.

James Yu's avatar
James Yu committed
## [9.12.0] - 2023-06-19

### Added
- (#3934) Now the content parsing and caching system is based on `unified-latex`.
  - We expect to encounter many issues and bugs. Please feel free to create ones at https://github.com/James-Yu/LaTeX-Workshop/issues after searching.

James-Yu's avatar
James-Yu committed
## [9.11.5] - 2023-06-13

### Fixed
- (#3875,#3914) `onSave` triggers on included bibs and non-TeX children.
- (#3897) Outline and structure won't work if the first section is starred.
- (#3898) When the parameter "latex-workshop.latex.outDir" is defined, the feature from #3890 doesn't work.
- (#3899) When manually close the "View LaTex PDF file", the command "SyncTex from cursor" doesn't open the PDF anymore.
- (#3902) Trimming dropdown menu in PDF viewer sometime overflows.
- (#3905) The structure on the left does not jump on click.
- (#3907) Increase the concurrent LU parser number.
- (#3912) Wrong number of steps in the recipe steps counter.
- (#3922) Trouble with LaTeX parsing related to listings and math mode.

James Yu's avatar
James Yu committed
## [9.11.4] - 2023-05-27
James Yu's avatar
James Yu committed
### Fixed
- `DOCUMENT_CHANGED` internal event of the extension is not logged.
- (#3890) Open PDF viewer on forward SyncTeX if not already opened.

James-Yu's avatar
James-Yu committed
## [9.11.3] - 2023-05-26

### Added
- (#3895) Revival of #3879 in `v9.11.0`, use `unified-latex` to parse structure.

### Fixed
- Repeatedly refreshing structure view when the view is active.

James Yu's avatar
James Yu committed
## [9.11.2] - 2023-05-26

### Fixed
- Repackaged #3892 to make the fix effective.

James-Yu's avatar
James-Yu committed
## [9.11.1] - 2023-05-25

### Fixed
- (#3892) Reverted #3879
  - Unfortunately, vscode does not support ESM, which is how `unified` works.

James-Yu's avatar
James-Yu committed
## [9.11.0] - 2023-05-24

### Added
- (#3879) Use `unified-latex` to parse structure.
  - This is a start of the transition to `unified-latex`-based AST parsing.
- (#3883) Add a `singleton` mode to pdf tab viewing.

### Fixed
- (#3872) Fix `latexlog` parsing.

James Yu's avatar
James Yu committed
## [9.10.0] - 2023-05-03

### Added
- (#3838) Properly stringify BibTeX fields containing `#`.
- (#3856) Add a configuration item `latex.rootFile.indicator` to choose the root file indicator.

### Fixed
- (#3867) Use bracket stack to `getLongestBalancedString`.
  - This can help the extension to better parse LaTeX AST.

James Yu's avatar
James Yu committed
## [9.9.0] - 2023-04-29

### Added
- (#3855) `latex.clean.fileTypes` support placeholders.

### Fixed
- (#3811) `\include` suggestion does not have file extension.
- (#3812) Fix computation of the section above current position.
- (#3813) Lazy load `usepackage` regex.
- (#3815) Detect more warnings of LaTeX log.
- (#3817) Let `)` may also close `[` when stripping text.
- (#3820) Swap symbols of `epsilon` and `varepsilon`.
- (#3827) Consider `\markdownInput` as input.
- (#3832) Change caption in BTA to top, add a BTB snippet.
- (#3841) `code-server` not loading PDFs from built-in PDF viewer.
- (#3842) Fix environment navigation and content selection for `$...$` and `$$...$$`.
- (#3844) Add port conflict warning to `internal.port` config.

James-Yu's avatar
James-Yu committed
## [9.8.2] - 2023-03-29

### Fixed
- (#3790) Resolving `bib` files according to `rootDir`.
- (#3791) Do not consider `%` in url encoding as comment.
- (#3794) No need to call `findRoot` on did open text document.

James Yu's avatar
James Yu committed
## [9.8.1] - 2023-03-24

### Fixed
- (#3787) Root finding fails when optional arguments of `\documentclass` have new lines.

James Yu's avatar
James Yu committed
## [9.8.0] - 2023-03-24

### Added
- (#711) Outline for .dtx file.
  - Implements basic .dtx outline with macro and environment document parsing. Guards are not parsed yet.
- (#3722) All viewer configs are now responsive to changes without reloading.
- (#3728) Auto clean can be triggered on success.
- (#3741) Add a `!LW recipe` magic comment to set recipe.
- (#3767) Add a new config `intellisense.package.exclude` to exclude package intellisense.
- (#3786) Add a new config `latex-workshop.latex.jobname` to define jobname.

### Changed
- (#3731) Use backspace and shift+bk to navigate the viewer.
- (#3735) Current root is prioritized on root-finding if there are multiple candidates.
- (#3743) Use `\documentclass[]{}` to detect root.
- (#3770) Refactor EnvPair module and use the `latexParser` to build an AST `CommandPair` of all the pairs in the current file.

### Fixed
- (#3747) Strip `%` comments from bibtex for parsing.
- (#3749) Viewer pages do not overflow.
- (#3751) Fast parse don't include `\s*[{` as args
- (#3778) Associate log warnings with no line number to line 1.

James-Yu's avatar
James-Yu committed
## [9.7.0] - 2023-02-14

### Added
- Update grammar files.
- (#3699) Add a pair of new commands to change hostname of the PDF viewer.
  - `latex-workshop.changeHostName` and `latex-workshop.resetHostName`.

### Changed
- LaTeX Workshop now requires VSCode 1.74.0+.

### Fixed
- Properly provide pair commands from `tex.cwl` and `latex-document.cwl`.
- (#3715) latexindent can format `.cls` and `.sty` files.
- (#3716) Command surrounding may have one more brace if a text placeholder is present.
- (#3718) Remove redundant `left`/`right` commands.
- (#3719) Properly provide `expl3` suggestions.

James Yu's avatar
James Yu committed
## [9.6.2] - 2023-02-08

### Fixed
- (#3679) remove `detached: true` when spawning `clean` command.
- (#3694) Add file polling for binaries (e.g. PDF).
  - Resume the use of `latex-workshop.latex.watch.pdf.delay` config to control binary polling.
- (#3700) Support file path suggestion for `\subfileinclude`.
- (#3701) Partial support to `\DeclarePairedDelimiter` environments with `*` in math preview.
- (#3705) Support `multline` environment in math preview.

James Yu's avatar
James Yu committed
## [9.6.1] - 2023-02-03

### Fixed
- Remove unnecessary PDF viewer dropdown menu elements.
- Reenabled fast parse on document contents for intellisense and outline.
  - Now fast parse can properly handle `label={eq1}`-like syntax.
- (#3682) Visually activate hand tool in viewer.
- (#3683) Explain on the conflict with extension `vscode-pdf`.

### Internal
- Change to use `vscode.FileSystemWatcher` to watch project files intead of `chokidar`.
  - The current version of `chokidar` possibly fails to emit events on `git pull`.

James Yu's avatar
James Yu committed
## [9.6.0] - 2023-01-29

### Added
- Support PDF viewer in code server.

### Fixed
- (#3662) Use `path.resolve` to find pkg json file

### Internal
- Reduce complexity of command finder.
  - `whichPackageProvidesCommand` is simplified by using a universal cmd suggestion array.
  - `commandSignatureDuplicationDetector` check is advanced.
- Expand cacher to cache AST of files, notable reducing the parsing times.
- Update grammar files to `jlelong/vscode-latex-basics@16ac438`.

James Yu's avatar
James Yu committed
## [9.5.0] - 2023-01-23

### Added
- (#3641)Support cross-ref from `xr` package.
- (#3650) New config `intellisense.command.user` to add/change/delete default commands.
  - Rename `intellisense.atSuggestionJSON.replace` to `intellisense.atSuggestion.user`.
- (#3658) Add config `intellisense.label.command` to enable label definitions other than `\label{}`.

### Fixed
- No repeat find root calls on active editor change
- (#3654) Don't enforce `-cd` on `latexmk` and `subfiles`.
- (#3657) A condition bug on `newcommand` detection.

James-Yu's avatar
James-Yu committed
## [9.4.5] - 2023-01-13

### Fixed
- New command finder now honors argument and optional one list.
- Entries in `bibtex-entries.first` should also be sorted.
- (#3585) A better description to `latex.watch.files.ignore` config.
- (#3640) Resolve a package conflict with `isort` that may prevent command suggestion.

James Yu's avatar
James Yu committed
## [9.4.4] - 2023-01-10

### Fixed
- (#3633) Embedded PDF viewer can copy texts.
- (#3634) `latexindent` cannot be directly called in the first invoke.
- (#3638) Itemize and enumerate completion injects `\\n\\t`.

James-Yu's avatar
James-Yu committed
## [9.4.3] - 2023-01-08

### Fixed
- (#3631) Fix error in SyncTeX with only `.synctex.gz` file.

## [9.4.2] - 2023-01-08

### Fixed
- Environment optional argument intellisense works again.

## [9.4.2] - 2023-01-08

### Fixed
- Environment optional argument intellisense works again.

James-Yu's avatar
James-Yu committed
## [9.4.1] - 2023-01-08

### Fixed
- Allow for parentheses in pkg/doc options for intellisense.

James-Yu's avatar
James-Yu committed
## [9.4.0] - 2023-01-08

### Added
- Base `beamer` and `tikz` intellisense.
- (#3612) Intelli-package dependency obeys package options.
- (#3628) More concise log messages.

### Fixed
- Refresh pdf viewers of only changed pdfs.
- Embedded viewer follows vscode light/dark theme, browser viewer follows OS theme.
- (#3630) Reconnect multiple times to viewer after OS sleep and wake up.

James-Yu's avatar
James-Yu committed
## [9.3.0] - 2023-01-05

### Added
- Class/package options now provide snippet completion.
- (#3617) More structure/outline configurations.
  - Floats can now be nested
  - Add config `view.outline.floats.caption.enabled` to disable float caption.
  - Add `config view.outline.numbers.floats.enabled` to show float number.
- (#3618) Now all extension config items are free from vscode reload
  - Selected ones related to viewer display requires to reopen the pdf viewer.
- (#3619) Command and environment intellisense are now based on packages used and their options if `latex-workshop.intellisense.package.enabled` is `true`.

### Changed
- Deprecated config items are removed.
- Let's use fast parse for structure/outline by default.
- (#3603) Remove unicode chars in recipe names.

### Fixed
- (#3611) Filter package cmds/envs with %, remove arg % part.

James Yu's avatar
James Yu committed
## [9.2.2] - 2022-12-31

### Fixed
- (#3607) Try reconnect websocket multiple times after operating system sleep.
- (#3610) Catastrophic backtracking of argument regex that may cause unresponsiveness on intellisense from a long line.

James-Yu's avatar
James-Yu committed
## [9.2.1] - 2022-12-28

### Fixed
- Performance regression due to improper caching of package intellisense data.

## [9.2.0] - 2022-12-23

### Added
- (#3579) Intellisense for optional arguments.

### Changed
- `intellisense.useTabStops.enabled` does not prevents tabbing.
  - It is replace with a new `intellisense.argumentHint.enabled` config.
- (#3594) Hinting data for many packages are updated.

### Fixed
- (#3578) Force no indent after `\begin{document}`.

James-Yu's avatar
James-Yu committed
## [9.1.1] - 2022-12-08

### Fixed
- (#3566, #3569) Make sure command names start with a `\`.
- (#3568, #3570) Use delay to prevent simultaneous auto build by file save or change.
- (#3571) Handle rejected promise on bib parsing.

James-Yu's avatar
James-Yu committed
## [9.1.0] - 2022-12-02

### Added
- (#3539) Add completion for environment starting with a `+`.
- (#3546) Completion in comma separated lists.

### Changed
- (#3540) Use `ctrl+shift+m` instead of `cmd+m` for macos keybindings.
- (#3550) Open http(s) directly from viewer, prompt to open for others.

### Fixed
- Fix wrong count of tools in recipe.
- (#3502) `href` boxes in viewer misplaced on trim.
- (#3549) Use base file name for latexindent temp file.
- (#3556) `check` icon in status on failed builds.

James Yu's avatar
James Yu committed
## [9.0.1] - 2022-11-08

### Fixed
- (#3526) The total number of tools in a recipe displays timestamp if there are more than one tools.

James-Yu's avatar
James-Yu committed
## [9.0.0] - 2022-11-07 - Builder Update

### General
- LaTeX Workshop refactored the previous builder logic and adopt a new queue based implementation.
  - Details are recorded in (#3514).
  - If you experience anything unusual, please file an issue and rollback to previous versions temporarily.
- PDF.js is updated to version 3.

### Added
- (#3451) Clean arguments now accepts placeholders.
- (#3468) Parse page number in fullbox logs.
- (#3488) Add `pageBorderColor` config for pdf viewer.

### Changed
- Copy `href` to clipboard instead of directly opening when clicking on embedded internal PDF viewer.
- (#3444) `view.outline` configs are now responsive without vscode reload.

### Fixed
- Enable completion on the first line of a `.bib` file.
- (#3445) Use source file extension to create temp indent file for `latexindent`.
- (#3419) Math preview also shows `flalign`.
- (#3478) Typo in `hyphenrules` newenv.
- (#3520) Select current environment content/name not working.

James-Yu's avatar
James-Yu committed
## [8.29.0] - 2022-08-25

### Added
- (#3400) Add an experimental faster AST-based structure construction.
  - Disabled by default. Can be enabled from `view.outline.fastparse.enabled`.
- (#3421) Provide file completion for `includesvg`.
- (#3423) Support sticky scrolling.

### Fixed
- Fix wrong structure: first section is child of preamble labels.
- (#3404) Fix `\input` arg does not take filenames with underscores.
- (#3408) Ctrl+A (Select All) grays out PDF preview.
- (#3411) Fix linter logs won't clear after all warnings fixed.
- (#3412) Ignore `\newenvironment` content when scanning for duplicate labels.

James-Yu's avatar
James-Yu committed
## [8.28.0] - 2022-07-25

### Added
- (#3342) Add `%` comments to bibtex.
- (#3347) Add "go to definition" support for glossaries and acronyms.
- (#3353) Clean up demanded empty folders after removing auxiliary files.
- (#3355) Add deprecated config alert on activating extension.
- (#3359) Enhance glossary completion.
- (#3360) Add support to `LaCheck`.

### Fixed
- (#3330) Pdf Viewer (Browser) does not refresh on Safari.
- (#3340) Typo in `exam` class intellisense data.
- (#3341) Add intellisense for labels with one optional arg.
- (#3344) Default zoom level of PDF viewer not working on `v8.27.0+`.
- (#3349) Make sure to populate documentation before returning a citation entry.

James-Yu's avatar
James-Yu committed
## [8.27.2] - 2022-06-08

### Fixed
- This time should really fix the `view` button issue.

James-Yu's avatar
James-Yu committed
## [8.27.1] - 2022-06-08

### Fixed
- (#3324) Fix the `view` command.

## [8.27.0] - 2022-06-07
James-Yu's avatar
James-Yu committed

### Added
- (#3316) Support `pageColorsForeground` and `pageColorsBackground` for the internal PDF viewer.
- Configurations `chktex.args.active` and `chktex.args.root` are deprecated in favour of `chktex.exec.args`.
- Configuration `chktex.args.path` is deprecated in favour of `chktex.exec.path`.
- Configuration `view.pdf.backgroundColor` is deprecated in favour of `view.pdf.color.light.backgroundColor` and `view.pdf.color.dark.backgroundColor`.
James-Yu's avatar
James-Yu committed
### Fixed
- (#2537) Reveal `.tex` tab if open when using internal `synctex`.
- (#3283) Refactor glossary intellisense data scanning.
  - Stop directly accessing `node.kind`. Instead use the `latexParser.isXXX` methods.
  - Use `stringify` to recompute labels and descriptions. Solves #3280.
- (#3289) Wrong indentation of new items in tabs indented `itemize` environment.
- (#3290) `/` is missing when using `%RELATIVE_DIR%` and `%RELATIVE_DOC%`.
- (#3296) Fix hover and provide definition for commands.
  - Refactor the `tokenizer` used to determine the command under cursor, if any. A LaTeX command name can only contain letters.
  - Fix `provideDefinition` for commands: tokenized commands start with `\`. Solves #3294.
  - Do not show link or `texdoc` command for 'user-defined' package: this is the package used for commands defined directly in the file.

James-Yu's avatar
James-Yu committed
## [8.26.0] - 2022-05-05

### Added
- (#3252) Refactor structure to add caching.
  - (#3260) Use eventbus to manage structure updates.
- (#3275) Add CTAN link to hover on package.
- (#3279) `onEnterKey` supports multi-cursors when all selected lines start with `\item`.

### Changed
- (#3263) Remove a configuration on `markdown.latex.codeblock`.

### Fixed
- (#3250) Add deprecation message to `intellisense.citation.maxfilesizeMB`.
- (#3253) When editing a `markdown_latex_combined` document, command `latex-workshop.onEnterKey` was not found.
- (#3256) Fix typo in `commands.json`.
- (#3258) `isTriggerSuggestNeeded` must match from the beginning of the command name.

James-Yu's avatar
James-Yu committed
## [8.25.0] - 2022-04-13

### Added
- (#3226) Support `\cite<text>{keylist}` commands from `apacite`.

### Fixed
- (#3221) Go to symbol leads to the wrong line.
- (#3227) `cleveref`'s commands loaded by `\usepackage` are not displayed in some cases.
- (#3231) The real time math preview does not work.
- (#3236) Can't display the outline of the paper in the `structure` column, but only the label.
- (#3239) `bibtex-format.sort.enabled` not effective in `settings.json` in multi-root workspace.


Evan Lee's avatar
Evan Lee committed
## [8.24.1] - 2022-04-01
James-Yu's avatar
James-Yu committed

### Changed

- The setting `latex-workshop.intellisense.citation.maxfilesizeMB` is deprecated in favour of `latex-workshop.bibtex.maxFileSize`.
James-Yu's avatar
James-Yu committed

### Fixed

- (#3219) Set `resource` scope to all `bibtex` settings.

Evan Lee's avatar
Evan Lee committed
## [8.24.0] - 2022-04-01
James Yu's avatar
James Yu committed
- (#1898) More precise error highlighting.
- (#3043) Handle multi-line `section` command in outline.
- (#3046) Add a configuration variable `texcount.autorun` to enable `texcount` to be automatically called.
- (#3055) Parse and show LaTeX3 warnings.
- (#3065) Add completion detail for snippets.
- (#3122) Use `resource`-scoped properties.
- (#3179) Support `editor.action.smartSelect.expand` and `editor.action.smartSelect.shrink`. The configuration is `latex-workshop.selection.smart.latex.enabled`.
- (#3207) Use `latex-workshop.intellisense.atSuggestionJSON.replace` to replace a default `@`-suggestion or define a new one. See https://github.com/James-Yu/LaTeX-Workshop/wiki/Intellisense#-suggestions
James Yu's avatar
James Yu committed
- (#3220) Add Structure view for `BibTeX`.

### Changed

- (#3207) The setting `latex-workshop.intellisense.snippets.trigger.latex` is deprecated in favour of `latex-workshop.intellisense.atSuggestion.trigger.latex`.
James Yu's avatar
James Yu committed
### Fixed

- (#2821) Properly remove temporary files from `latexindent`.
- (#3189) Ignore anything before `begin document` in structure.
- (#3192) Refactor completion to better handle duplicates.

James-Yu's avatar
James-Yu committed
## [8.23.0] - 2021-12-28

### Added
- (#3004) Add language configuration for BibTeX style.
- (#3022) Show commands in outline/structure views.
  - We introduce the new setting `latex-workshop.view.outline.commands` with default value ['label']. It replaces `latex-workshop.view.outline.labels.enabled`, which was specific for labels.

### Changed
- (#2963) Migrate to MathJax v3.2.
- (#3009) Drop support for LaTeX Utilities.
James-Yu's avatar
James-Yu committed
- (#3014) Remove `item` snippet.
Takashi Tamura's avatar
Takashi Tamura committed
- (#3027) Disable magic comments by default.
James-Yu's avatar
James-Yu committed

### Fixed
- (#2979) Incorrect structure when using `\verb|\section{...}|`.
- (#2985) Declare `[...)` and `(...]` as bracket pairs.
- (#2986) Disable commands and features on virtual workspaces.
- (#2996) Focus jump in viewer when using landscape pages.

James-Yu's avatar
James-Yu committed
## [8.22.0] - 2021-11-15

### Changed
- (#2881) Refactor `toggleSelectedKeyword`.
- (#2937) Drop the support for VS Code prior to v1.61.2.
- (#2951) Refactor the Input completer.
- (#2959) Remove Snippet Panel.

### Fixed
- (#2929) Highlight `(long|tall)tblr`.
- (#2935) `workspaceFolders` may have length 0.
- (#2950) Provide `@snippets` as completion items using a separate `CompletionItemProvider`.
- (#2952) Do not gobble trailing empty lines when folding.
- (#2967) Fix ranges for `(sub)*section` entries in the structure provider.

## [8.21.1] - 2021-10-22

### Fixed
- (#2917) Treat `latexmk --luatex` properly.
- (#2922,#2926,#2927) The previous package has some mysterious bugs preventing the extension from working properly.
- (#2923) Synctex in file with `\include`d files is not searching for the correct directory.

## [8.21.0] - 2021-10-19
James-Yu's avatar
James-Yu committed

### Added
- (#2841) Add `BibLaTeX` backend for intellisense.
- (#2852) Hightlight the content of the `markdown` environment as `md`.
- (#2870) Add a new configuration variable `latex-workshop.message.bibtexlog.exclude`.
- (#2900) Add three new placeholders.
  - `WORKSPACE_FOLDER`: current workspace path.
  - `RELATIVE_DIR`: file directory relative to the workspace folder.
  - `RELATIVE_DOC`: file path relative to the workspace folder.

### Fixed
- (#2838) Format multiline bibtex fields.
- (#2851) Highlight `tblr` envs as tabular.
- (#2855) Accept dash in cite keys.
- (#2897) Show `Open LaTeX Workshop log` button for some cases.
- (#2908) Highlight `alignedat`.
- (#2909) Replace `\texorpdfstring` by its second arg in outline.

Takashi Tamura's avatar
Takashi Tamura committed
## [8.20.2] - 2021-08-09
James-Yu's avatar
James-Yu committed

### Added
- (#2783) Add support for glossary external file.

### Changed
- (#2756) Use Custom Editor as a hook to start the internal PDF viewer.
- (#2759) Drop support for versions prior to VS Code `1.53.2`.

### Fixed
- A series of engineering improvements.
- (#2766) Declare `flalign` as a math environment.
- (#2770) intellisense for `\mathscr`.
- (#2777) Skip tikpicture content when scanning for labels.
- (#2782) Stop unescaping in surround function.
- (#2786) Skip labels in new command definitions.
- (#2787) Set a scope to `\text` in maths.
- (#2794) Highlights comments inside `\cite`.

Takashi Tamura's avatar
Takashi Tamura committed
### Others
 - 8.20.0 and 8.20.1 are skipped. [#2829](https://github.com/James-Yu/LaTeX-Workshop/issues/2829)

James-Yu's avatar
James-Yu committed
## [8.19.0] - 2021-06-11

### Added
- New log messages for recipes and undefined tools.
- (#2682) Adopt a more lazy approach to read tex content.
- (#2686) Added highlighting support for tabu package envs.

### Changed
- (#2579) Change the default value of `docker.image.latex` to an empty string.

### Fixed
- A series of engineering improvements.

### Fixed

James-Yu's avatar
James-Yu committed
## [8.18.0] - 2021-05-12

### Added
- (#2628) Support `<<child='...'>>=` for `.rnw` file inclusion.
- (#2636) Support SyncTeX buttons on PDF viewers.

### Removed
- (#2653) Remove `BuildInfo`.

### Fixed
- (#2627) Array syntax highlighting.
- (#2628) Refactor input path regexps.
- (#2639) Fix cached packages list update.
- (#2650) Highlight `\Verb` content as verbatim.
- (#2658) Improve find new command regex.
- (#2662) Fix auto build on save with subfiles.
- (#2666) Fix typo, highlight `\iftrue`, not `\ftrue`.
- (#2671) Make sure to remove any verbatim parts before scanning the .tex content.
  - For the moment, it breaks if there are nested verbatim environments.
- (#2671) Make the list of verbatim-like environments configurable by `latex-workshop.latex.verbatimEnvs`.

James-Yu's avatar
James-Yu committed
## [8.17.0] - 2021-04-21

### Added
- (#2566) Add IntelliSense for `\DeclareMathOperator` and any `\newcommand*` & co declarations.
- (#2584) Generate a `cpp` embedded language configuration.

### Fixed
- (#2542) Python code highlighting for all environments of the package `pythontex`.
- (#2561) Fix a regexp which might causes ReDoS.
- (#2562) Fix potential exponential backtracking when removing comments.
- (#2565) Use `spawn` instead of `exec` when looking for `latexindent`.
- (#2575) Make sure to wait for `findRoot` to return before proceeding.
- (#2600) Duplicate labels in the same file not spotted.
- (#2601) Do not filter files using `git`.
- (#2624) The outline view in the sidebar of the internal pdf viewer is too dark to see the content.
- (#2626) Set correct package field in cached element.command.

James-Yu's avatar
James-Yu committed
## [8.16.1] - 2021-03-03

### Fixed
- (#2536) Check for duplicate labels.
- (#2542) Highlight `pythontex` environments.
- (#2543) Make `import` accept a relative path starting from the `rootDir`.
- (#2547) Use `spawnSync` to prevent code injection.
- (#2549) `LintRoot` should lint the whole LaTeX project.
- (#2550) Raise a warning message when viewer cannot find PDF file.

James-Yu's avatar
James-Yu committed
## [8.16.0] - 2021-02-19

### Added
- (#2427) Add a config to show floats or not in outline `view.outline.floats.enabled`.
- (#2432) Make trigger characters for intellisense of LaTeX documents configurable.
- (#2461) Implement a `BibTeX` log parser.
- (#2471) Add a configurable clean command.
  - A fully configurable `clean` command and add three new configuration variables.
  - `latex.clean.method` can be `glob` (default) or `cleanCommand`.
- (#2476) Enable converting ChkTeX outputs' column numbers.
- (#2485) Configure align on equal signs for bibtex formatter `bibtex-format.align-equal.enabled`.
- (#2488) Accept any number of spaces for bibtex indentation given as a string in `bibtex-format.tab`.
- (#2508) Sorting fields can be enabled by `bibtex-fields.sort.enabled`.
- (#2512) Enable autofix on multiline maths.
- (#2529) Users can provide package intellisense data from `intellisense.package.dirs`. 

### Changed
- Use `.fls` file when finding the root file.
- (#2439) Use `vscode.env.asExternalUri` for the internal PDF viewer.

### Fixed
- (#2429) Fix quote escaping for `bst` language.
- (#2430) Stop opening scm view when focusing `tex` file in `diff` mode.
- (#2457) Check if git is available on OSX to prevent dev tools pop up.
- (#2458,#2503) Treat `\left.` `\right)]}` and `\left([{` `\right.` as bracket pairs.
- (#2484) Killing the build process makes vscode crash when `pkill` is provided by `proctools`.
- (#2504) Fix SyncTeX on horizonal scrolling.

James Yu's avatar
James Yu committed
## [8.15.0] - 2020-12-06

### Added
- Add Snippet View.
James-Yu's avatar
James-Yu committed
- Add `hover.preview.maxLines` to limit how much we go upward to find the beginning of the math environment.
James Yu's avatar
James Yu committed
- (#2380) Add toggle math preview.
- (#2384) Enable math preview on suggest detail widgets for references.
- (#2388) Add `bibtex` support for `markdown`.

### Changed
- Update syntax files for weave, dtx, LaTeX3.
- (#2392) Keep selected text in autocompletion/snippets.
- (#2408) Remove `subfileincludegraphics` in `data/commands.json`.