Skip to content

Breaking changes #1

Open
Open
@jghauser

Description

@jghauser
Owner

Breaking changes will be communicated in this issue.

Activity

pinned this issue on Sep 30, 2022
jghauser

jghauser commented on May 5, 2023

@jghauser
OwnerAuthor

With #19 (thanks to @davvil!), we now depend on yq rather than the lyaml lua rock to convert papis' .yaml files. This should eliminate difficulties that have always plagued the installation of such rocks (especially, but not only, when it comes to lazy.nvim). Please check out the installation section in the README for further information.

jghauser

jghauser commented on May 6, 2023

@jghauser
OwnerAuthor

With #21, we now use the papis_id to identify entries (rather than depending on the ref). This brings advantages as papis_id is supposed to be stable, whereas the user might change ref (which has at times led to some funny behaviour). After updating, please close all neovim instances, start a new one (there might be an error message when you run :PapisStart) and run :PapisReInitData.

I had some error messages appear due to duplicate refs, which weren't caught before. If that happens, please edit the relevant info.yaml files (check papis.nvim debug messages to find out which ones) and rerun :PapisReInitData.

If failures persist, please delete the papis.nvim database. Use :checkhealth papis to find out its location.

jghauser

jghauser commented on Nov 26, 2023

@jghauser
OwnerAuthor

With #28, I introduced a change in default keymaps. Given that only keymaps are affected and that these aren't enabled by default, this probably won't break anyone's setup -- but it might mess with your muscle memory for a bit. The change comes because the <c-n> and <c-p> insert commands are used by Neovim and Telescope for selecting next/previous items and the way things were set up messed with this (see #22).

The new functionality is:

  1. papis.nvim keymaps are only active for the files that match what's set in the init_filenames option
  2. Telescope insert mode <c-n> (open note) and <c-o> (open file) have become <c-o>n and f`
  3. Cursor action (normal mode) <leader>pn and <leader>po have become <leader>pon and <leader>pof
    EDIT: 4. Insert mode <c-p>p to open Telescope search has become <c-o>p.

These keybinds are unfortunately a bit longer, but I thought it more important that the papis.nvim default keybinds do not clash with neovim/telescope defaults. Of course, the keybinds can still be disabled and set to your heart's content 😄

jghauser

jghauser commented on May 30, 2024

@jghauser
OwnerAuthor

With #33, we've added an initial way of inserting formatted references (thank you @panosz!). This has required a small adjustment to the db schema and you might get a notification because of this:

.../myNeovimPackages/start/sqlite.lua/lua/sqlite/assert.lua:79: sqlite.lua: schema defined ~= db schema. Please drop `data` table first or set ensure to false.

Run :PapisReInitData to re-initialise the db with the required additional fields.

jghauser

jghauser commented on Jun 2, 2024

@jghauser
OwnerAuthor

With #48, I've tried to improve the papis.nvim startup procedure. This also lays the groundwork for various future improvements (and more breaking changes). For now the following has changed:

  • init_filenames is now init_filetypes. papis.nvim now only autostarts depending on certain filetypes. This makes the codebase easier to manage. If you've customised this, make sure to update it to a list of valid Neovim filetypes.
  • papis_python needs no longer be set. papis.nvim now gets the options automatically from Papis when first starting and saves them (even across Neovim restarts) in the db. When you update your Papis configuration, import it again into papis.nvim with :PapisReInitConfig
  • :PapisStart has been removed. Please use the init_filetypes to define when to start the plugin.

All in all, this should make papis.nvim easier to set up without the speed penalties of querying papis config at startup. It will also make adding stuff like #25 easier.

Note also that I've started cutting releases. So if the breaking changes annoy you, feel free to use e.g. v0.1.0. 😉

jghauser

jghauser commented on Jun 4, 2024

@jghauser
OwnerAuthor

With #58, I have removed plenary.nvim and introduced the new dependency pathlib.nvim. nvim-treesitter is also not needed anymore (In fact, it hasn't been for a while, I just had failed to notice 😅). Note that this is where the rocks.nvim package manager shines and where this isn't a breaking change (as it should be!).

To give an outlook on future changes: I want to make use of the neovim ecosystem's increasing ability to handle luarocks and integrate some of them. First will be a re-introduction of lyaml, so that we do no longer need yq (though I will leave that as a fallback). Next, I'll also look at citeproc-lua, so that we can insert proper formatted references. Finally, I'm gonna see if I can use nvim-nio to get async working in some of the slower parts of papis.nvim. No promises on when this is going to happen though 😉.

jghauser

jghauser commented on Jun 13, 2024

@jghauser
OwnerAuthor

With #70, papis.nvim sorts entries by time-added initially (before entering a query). This required changing the db schema and that in turn requires running :PapisReInitData to re-initialise the db with the updated schema. One of the next tasks is to find a way to catch such changes automatically :).

jghauser

jghauser commented on Jun 18, 2024

@jghauser
OwnerAuthor

Various breaking changes have come with v0.5.0

Pretty icons
These require nerd font or a similar font. If you don't have that, set enable_icons to false. Please reload the database to update pre-calculated data for the Telescope picker.

Command with subcommands
The :Papis command now has subcommands and various subcommands have been renamed. So instead of for example :PapisReInitData you should now use Papis reload data. The ReInit subcommand is now reload, I've added Papis search (which opens Telescope), and all the commands that interact with the ref under cursor are in the at-cursor subcommand (the cursor-actions module has been renamed to at-cursor too).

The enable_commands option has been removed.

Custom keymaps you may have set should now call the new Papis commands.

jghauser

jghauser commented on Jun 25, 2024

@jghauser
OwnerAuthor

Not really a breaking change, but more of an elimination of an entire class of breaking changes ;). With #81, papis.nvim can now detect when the database schema has changed and informs the user to run :Papis reload data (rather than me having to post about it here). 🎉

jghauser

jghauser commented on Sep 1, 2024

@jghauser
OwnerAuthor

The plugin now handles acting on multi selections in the Telescope picker (see #88, and thanks @maxmahlke!). This means you can now select multiple entries with tab, and then do whatever action you already know from before (add refs, open notes, etc.). This required some significant changes, in particular the following:

  1. The syntax of the cite_formats option changed. Refer to the README for more.
  2. The name and function of the (now) format_notes (before: format_notes_fn) and format_references (before: format_references_fn) changed. They now both simply return lines. Refer to the README for more.

If you didn't touch these options, you don't need to do anything.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @jghauser

        Issue actions

          Breaking changes · Issue #1 · jghauser/papis.nvim