Skip to content

Releases: mrossinek/cobib

v5.2.3

15 Dec 15:21
d4d3741
Compare
Choose a tag to compare

[5.2.3] - 2024-12-15

Pypi: https://pypi.org/project/cobib/5.2.3/

Fixed

  • the interactive handling of notes inside the TUI (#148,!288)

v5.2.2

06 Dec 20:52
be1532c
Compare
Choose a tag to compare

[5.2.2] - 2024-12-06

Pypi: https://pypi.org/project/cobib/5.2.2/

Breaking Change

  • The config.theme.dark and config.theme.design settings have been replaced
    by the new config.theme.theme setting, which can be either the name of one
    of textual's builtin themes, or a custom textual.theme.Theme instance
    (#147,!279). Due to how recent these settings have been introduced (as part of
    5.2.0), I am opting for a quick removal in this bugfix release rather than a
    proper version bump (in the sense that they have likely not been adopted, yet)
    and the severness of the bug that this is causing outweighs the needs here.

Fixed

  • compatibility with textual>=0.86

v.5.2.1

30 Oct 20:01
5aa71ed
Compare
Choose a tag to compare

[5.2.1] - 2024-10-30

Pypi: https://pypi.org/project/cobib/5.2.1/

Fixed

  • compatibility with textual>=0.80

v5.2.0

30 Oct 19:41
7f1a254
Compare
Choose a tag to compare

[5.2.0] - 2024-10-30

Pypi: https://pypi.org/project/cobib/5.2.0/

Prelude

With the addition of the new note command, the database entry fields called
"note" have obtained a special meaning. Use the lint command to check
whether your database is affected by this. If it is, you should rename those
fields.

Added

  • new configuration settings to customize the appearance of coBib (!222):
    • cobib.config.theme.dark: to specify whether a dark or light theme is used
    • cobib.config.theme.design: to customize the colors themselves
    • the following settings to customize the appearance of rich.Syntax displays:
      • cobib.config.theme.syntax.theme
      • cobib.config.theme.syntax.background_color
      • cobib.config.theme.syntax.line_numbers
  • the note command (#139,!206).
    Please refer to its online documentation or the man-page for more details on
    how to use it.
    This new command comes with:
    • the cobib.config.commands.note.default_filetype setting
    • the PreNoteCommand and PostNoteCommand event hooks
  • (DEV) the add_files argument to the BaseCommand.git function
  • Python 3.13 is now officially tested and supported
  • new configuration settings for the search command (#146,!269)
    • For dealing with skipping/including associated files during searches:
      • cobib.config.commands.search.skip_files sets the default
      • --skip-files overwrites this at runtime (this is not actually new)
      • --include-files overwrites this at runtime (the opposite)
    • For dealing with skipping/including associated notes during searches:
      • cobib.config.commands.search.skip_notes sets the default
      • --skip-notes overwrites this at runtime (this is not actually new)
      • --include-notes overwrites this at runtime (the opposite)

Changed

  • the keybinding to recursively toggle all folds in the TUI's search result view
    was changed from ENTER to BACKSPACE (!218)
  • (DEV) cobib.ui.components.entry_points was moved to cobib.utils.entry_points
  • replaced the custom help screen with textual's new builtin help panel (!240)

Fixed

  • the behavior of the Home and End keybindings in the TUI's list view (!217)
  • gracefully handles Zotero imported entries without a journal field (#145)

v5.1.2

23 Jun 11:20
bd4b0b6
Compare
Choose a tag to compare

[5.1.2] - 2024-06-23

Pypi: https://pypi.org/project/cobib/5.1.2/

Fixed

  • support database locations in nested folders of a git repository (!204)

v5.1.0

28 May 18:20
229a2d8
Compare
Choose a tag to compare

[5.1.0] - 2024-05-28

Pypi: https://pypi.org/project/cobib/5.1.0/

Prelude

Check out my blog post to learn more about the features of this new release:
https://mrossinek.gitlab.io/programming/cobib-becomes-fuzzy/

Added

  • approximate (or fuzzy) filter matching and search functionality (#107,#130,!177)
    • the list and search commands now support the following features to
      perform approximate filter matching and searching, respectively:
      • LaTeX sequences can be decoded to Unicode characters:
        • using --decode-latex from the command-line
        • setting config.commands.list_.decode_latex = True
        • setting config.commands.search.decode_latex = True
      • Unicode characters can be converted to a close ASCII equivalent:
        • using --decode-unicode from the command-line
        • setting config.commands.list_.decode_unicode = True
        • setting config.commands.search.decode_unicode = True
      • a number of fuzzy errors can be set (this requires the optional dependency
        regex to be installed):
        • using --fuzziness <int> from the command-line
        • setting config.commands.list_.fuzzines to some integer
        • setting config.commands.search.fuzzines to some integer
  • (DEV) the following method arguments have been converted to be accepted only
    as keyword arguments:
    • in cobib.database.Entry.matches: ignore_case
    • in cobib.database.Entry.search: context, ignore_case, and skip_files
  • (DEV) the return-type of cobib.database.Entry.search has been changed

v5.0.1

01 May 13:52
1317908
Compare
Choose a tag to compare

[5.0.1] - 2024-05-01

Pypi: https://pypi.org/project/cobib/5.0.1/

Fixed

  • the ability to use an empty string as the separator in config.database.format.label_suffix (#138)

v5.0.0

28 Apr 12:14
cdc91cb
Compare
Choose a tag to compare

[5.0.0] - 2024-04-28

Pypi: https://pypi.org/project/cobib/5.0.0/

Added

  • the ability to add custom commands, importers, and parsers through entry points (#135, !139)
    • (DEV) a dummy plugin show-casing these extensions

Changed

  • the entire shell_helper module has been replaced as follows (!139):
    • the following deprecated helper methods were removed without replacement:
      • _list_commands
      • _list_filters
      • _list_labels
    • the following secondary commands have been refactored:
      • _lint_database is now cobib.commands.lint.LintCommand
      • _unify_labels is now cobib.commands.unify_labels.UnifyLabelsCommand
      • _example_config is now cobib.config.command.ExampleConfigCommand
  • the interactive disambiguation mechanism during the add command now handles
    multiple matching related entries (#121,!168)
    • this includes the ability to cancel the disambiguation and entry addition

Removed

  • the previously deprecated console attribute of all commands has been removed (!139)
  • the previously deprecated prompt attribute of all commands has been removed (!139)
  • the cobib.ui.shell_helper and cobib.utils.shell_helper modules have been removed (!139)
  • the previously deprecated --update argument of the add command (!168)
  • the previously deprecated --skip-existing argument of the add command (!168)
  • the previously deprecated LabelSuffix.CAPTIAL attribute (!168)
  • Python 3.8 is no longer supported (!173)

v4.5.0

17 Mar 15:44
1a5b9da
Compare
Choose a tag to compare

[4.5.0] - 2024-03-17

Pypi: https://pypi.org/project/cobib/4.5.0/

Added

  • the new cobib.utils.context.get_active_app method which returns any running
    textual App and replaces the need for the cobib.utils.prompt.Prompt.console
    and cobib.utils.progress.Progress.console (which have been removed) (!137)
  • cobib.parsers.YAMLParser.parse can now also parse strings directly (rather
    than always interpreting the argument as the path to a file) (!137)
  • the review command (#131,!137).
    Please refer to its online documentation or the man-page for more details on
    how to use it.
  • the cobib.database.Entry.merge method (!137)

Changed

  • log messages will now be displayed in the LogPanel of the TUI (which can be
    toggled with the z keybinding) (#132,!133)
  • the cobib.ui.components.prompt module has been refactored into cobib.utils.prompt (!133)

Deprecated

  • the console argument to all commands has been deprecated since it no longer
    has any effect (!133)
  • the prompt argument to all commands has been deprecated since it no longer
    has any effect (!133)
  • access to the following shell_helper commands will change in the next release:
    • cobib _lint_database will become cobib lint
    • cobib _unify_labels will become cobib unify_labels
    • cobib _example_config will become cobib example_config

Fixed

  • loading a cached database will be bypassed during _lint_database (#133)
    • to support this the bypass_cache keyword-argument was added to the
      Database.read method

Removed

  • official Windows support label. It might work but no guarantees are made (#136)

v4.4.0

15 Dec 11:59
140d402
Compare
Choose a tag to compare

[4.4.0] - 2023-12-15

Pypi: https://pypi.org/project/cobib/4.4.0/

Added

  • a primitive caching mechanism to speed up the database loading. This feature
    is enabled by default and will store its cache at ~/.cache/cobib/databases/.
    You can configure the location via config.database.cache or even disable
    caching entirely by changing this setting to None. (see also #129 and !108)
  • added the -r/--remove option to the modify command (#128)
    • this can achieve the opposite of -a/--add in the sense that it will try to
      remove the specified modification from a list or subtract a number from
      numeric values
    • other field types than lists or numbers are not supported by this option
  • added the -l/--limit option to the list command (#127)
    • exposed the ListCommand.sort_entries method in the public API
    • added the ListCommand.execute_dull method in the public API
  • the search, export, and modify commands now also support sorting and limiting options to be
    passed onto the list command (along with the already existing filtering options)
  • the config.tui.tree_folding setting which allows you to configure the
    default folding state of the tree nodes in the TUI's search result view
  • the ENTER binding in the TUI's search result view to recursively toggle all
    folds of the current node

Changed

  • when using the TUI you may now use the :show <label> command to jump to the
    specified label (#126,!116)
  • the search command now reports its progress live (!117)

Fixed

  • unblocked the vertical scrollbar of the TUI's list view from the scroll offset