================================================================================
                                                         *telescope.changelog*

# Changelog

                                                     *telescope.changelog-922*

Date: May 17, 2021
PR: https://github.com/nvim-telescope/telescope.nvim/pull/922

This is one of our largest breaking changes thus far, so I (TJ) am adding some
information here so that you can more easily update (without having to track
down the commit, etc.).

The goal of these breaking changes is to greatly simplify the way
configuration for layouts happen. This should make it much easier to configure
each picker, layout_strategy, and more. Please report any bugs or behavior
that is broken / confusing upstream and we can try and make the configuration
better.

|telescope.setup()| has changed `layout_defaults` -> `layout_config`.
    This makes it so that the setup and the pickers share the same key,
    otherwise it is too confusing which key is for which.


`picker:find()` now has different values available for configuring the UI.
    All configuration for the layout must be passed in the key:
        `layout_config`.

    Previously, these keys were passed via `picker:find(opts)`, but should be
    passed via `opts.layout_config` now.
        - {height}
        - {width}
        - {prompt_position}
        - {preview_cutoff}

    These keys are removed:
        - {results_height}: This key is no longer valid. Instead, use `height`
          and the corresponding `preview_*` options for the layout strategy to
          get the correct results height. This simplifies the configuration
          for many of the existing strategies.

        - {results_width}: This key actually never did anything. It was
          leftover from some hacking that I had attempted before. Instead you
          should be using something like the `preview_width` configuration
          option for |layout_strategies.horizontal()|

    You should get error messages when you try and use any of the above keys now.

                                                     *telescope.changelog-839*

Date: July 7, 2021
PR: https://github.com/nvim-telescope/telescope.nvim/pull/839

Small breaking change regarding `shorten_path` and `hide_filename`.
This allows to configure path displays on a global level and offers a way for
extension developers to make use of the same configuration, offering a better
overall experience.

The new way to configure to configure path displays is with:
    `path_display`: It is a table and accepts multiple values:
        - "hidden"    hide file names
        - "tail"      only display the file name, and not the path
        - "absolute"  display absolute paths
        - "shorten"   only display the first character of each directory in
                      the path
    see |telescope.defaults.path_display|

Example would be for a global configuration:
  require("telescope").setup{
    defaults = {
      path_display = {
        "shorten",
        "absolute",
      },
    }
  }

You can also still pass this to a single builtin call:
    require("telescope.builtin").find_files {
      path_display = { "shorten" }
    }

For extension developers there is a new util function that can be used to
display a path:
    local filename = utils.transform_path(opts, entry.filename)

                                                     *telescope.changelog-473*

Date: July 14, 2021
PR: https://github.com/nvim-telescope/telescope.nvim/pull/473

Deprecation of telescope.path

Extension developers need to move to plenary.path, because we will remove the
telescope.path  module soon.

Guide to switch over to plenary.path
    - separator
        before: require("telescope.path").separator
        now:    require("plenary.path").path.sep
    - home
        before: require("telescope.path").home
        now:    require("plenary.path").path.home
    - make_relative
        before: require("telescope.path").make_relative(filepath, cwd)
        now:    require("plenary.path"):new(filepath):make_relative(cwd)
    - shorten
        before: require("telescope.path").shorten(filepath)
        now:    require("plenary.path"):new(filepath):shorten()
                with optional len, default is 1
    - normalize
        before: require("telescope.path").normalize(filepath, cwd)
        now:    require("plenary.path"):new(filepath):normalize(cwd)
    - read_file
        before: require("telescope.path").read_file(filepath)
        now:    require("plenary.path"):new(filepath):read()
    - read_file_async
        before: require("telescope.path").read_file_async(filepath, callback)
        now:    require("plenary.path"):new(filepath):read(callback)

                                                    *telescope.changelog-1406*

Date: November 4, 2021
PR: https://github.com/nvim-telescope/telescope.nvim/pull/1406

Telescope requires Neovim release 0.5.1 or a recent nightly

Due to making use of newly implemented extmark features, Telescope now
requires users to be on Neovim 0.5.1 (the most recent stable version) or on
the LATEST version of Neovim nightly.


                                                    *telescope.changelog-1549*

Date: December 10, 2021
PR: https://github.com/nvim-telescope/telescope.nvim/pull/1549

Telescope requires now Neovim release 0.6.0 or a more recent nightly.
If you are running neovim nightly, you need to make sure that you are on the
LATEST version. Every other commit is not supported. So make sure you build
the newest nightly before reporting issues.


                                                    *telescope.changelog-1553*

Date: December 10, 2021
PR: https://github.com/nvim-telescope/telescope.nvim/pull/1553

Move from `vim.lsp.diagnostic` to `vim.diagnostic`.

Because the newly added `vim.diagnostic` has no longer anything to do with lsp
we also decided to rename our diagnostic functions:
    Telescope lsp_document_diagnostics -> Telescope diagnostics bufnr=0
    Telescope lsp_workspace_diagnostics -> Telescope diagnostics
Because of that the `lsp_*_diagnostics` inside Telescope will be deprecated
and removed soon. The new `diagnostics` works almost identical to the previous
functions. Note that there is no longer a workspace diagnostics. You can only
get all diagnostics for all open buffers.


                                                    *telescope.changelog-1851*

Date: April 22, 2022
PR: https://github.com/nvim-telescope/telescope.nvim/pull/1851

Telescope requires now Neovim release 0.7.0 or a more recent nightly.
If you are running Neovim nightly, you need to make sure that you are on the
LATEST version. Every other commit is not supported. So make sure you build
the newest nightly before reporting issues.
In the future, we will adopt a different release strategy. This release
strategy follows the approach that the latest telescope.nvim master will only
work with latest Neovim nightly and we will provide tags for specific Neovim
versions. You can read more about this strategy here:
https://github.com/nvim-telescope/telescope.nvim/issues/1772


                                                    *telescope.changelog-1866*

Date: April 25, 2022
PR: https://github.com/nvim-telescope/telescope.nvim/pull/1866

We decided to remove both `lsp_code_actions` and `lsp_range_code_actions`.
Currently, both functions are highly duplicated code from neovim, with fewer
features, because it's out of date. So rather that we copy over the required
changes to fix some bugs or implement client side code actions, we decided to
remove both of them and suggest you use `vim.lsp.buf.code_action` and
`vim.lsp.buf.range_code_action`. The transition to it is easy thanks to
`vim.ui.select` which allows you to override the select UI. We provide a small
extension for quite some time that make it easy to use telescope for
`vim.ui.select`. You can found the code here
https://github.com/nvim-telescope/telescope-ui-select.nvim. It offers the same
displaying as the current version of `lsp_code_actions`. An alternative is
https://github.com/stevearc/dressing.nvim which has support for multiple
different backends including telescope.



 vim:tw=78:ts=8:ft=help:norl:
