Releases: LintaoAmons/bookmarks.nvim
v2.4.0
RELEASE NOTE: Added automatic database backup feature. Bookmarks database is now automatically backed up after Neovim starts (configurable delay). Example config:
require('bookmarks').setup({
backup = {
enabled = true, -- enable/disable backup
-- Directory to store backup files
-- Default: vim.fn.stdpath("data").."/bookmarks.backup"
-- You can set a custom directory
---@type string?
dir = '~/.backups',
delay = 5 -- delay in minutes before backup starts, no back will be created if nvim earlier than the actually backup time
}
})
What's Changed
- Update README by @nfginola in #55
- feat: add database backup functionality by @LintaoAmons in #58
Full Changelog: v2.3.0...v2.4.0
v2.3.0
Goto Next/Prev mark in the list:
Use case:
Assume a situation where we might be exploring some code base we are not familiar with containing littered logic
We bookmark some places of interest first and write some description for it. At first we do not know the meaningful order we want to traverse them so these are bookmarked in random order.
What's Changed
- Update README by @nfginola in #46
- desc format config and update the default config with order id by @LintaoAmons in #47
- Add option for split dimension for Treeview by @nfginola in #53
- Goto within list by @nfginola in #50
Full Changelog: v2.2.0...v2.3.0
v2.2.0
What's Changed
- Add support for goto next and prev bookmark by @nfginola in #44
- config bookmark render format by @LintaoAmons in #45
New Contributors
Full Changelog: v2.0.2...v2.2.0
Release Notes v2.1.0
Release Notes
New Features
- Added
BookmarkRebindOrphanNode
command to fix orphaned nodes by attaching them to root - Added reverse sorting in tree view with
t
key - Added auto-refresh of tree view when making bookmark changes
- Added centering cursor (zz) after jumping to bookmark
Improvements
- Enhanced paste operation to prevent pasting lists into themselves
- Improved node deletion to clean up all relationships
- Enhanced bookmark info display to handle missing location data
- Updated tree view to maintain proper node ordering during cut/paste operations
Bug Fixes
- Fixed orphaned nodes handling in database operations
- Fixed node relationships cleanup during deletion
- Fixed tree view refresh issues after list creation
Release Notes v2.0.1
Release Notes v2.0.1
🔨 Improvements
-
Enhanced Active List Management: Improved handling of active bookmark lists with new
ensure_and_get_active_list
function- Better fallback behavior when active list is not found
- Automatic cleanup of stale active list references
- More robust error handling
-
List Creation Changes:
- Removed automatic bookmark creation when creating new lists
- Lists are now created empty by default
🐛 Bug Fixes
- Fixed potential errors when accessing non-existent active lists
- Improved stability when switching between bookmark lists
- Better handling of edge cases in list management
💡 Technical Details
- Renamed
get_active_list
toensure_and_get_active_list
for better clarity - Added automatic fallback to root list when active list is invalid
- Updated all internal calls to use the new active list handling
📝 Note
If you're upgrading from a previous version, no database migration is needed. The changes are backwards compatible.
V2.0.0
Changelog for v2.0.0
Breaking Changes
- Switched from JSON file storage to SQLite database for better performance and data integrity
- Removed JSON backup functionality
- Removed project-related features
- Removed hooks system
- Changed configuration structure and defaults
- Removed several commands in favor of a more streamlined interface
New Features
- Added SQLite database backend
- Added Telescope shortcuts for better workflow
- Added description support for bookmarks
- Added tree view improvements with better navigation and visualization
- Added grep functionality for bookmarked files
- Added bookmark info display
- Added ability to move bookmarks up/down in lists
- Added visual indicators for active lists
- Added better support for untitled bookmarks
Changed Commands
BookmarksMark
- Simplified toggle behaviorBookmarksGoto
- Added split/vsplit/tab options- Added
BookmarksDesc
- New command for bookmark descriptions - Added
BookmarksGrep
- New command for searching bookmark content - Added
BookmarksLists
- New command for list management - Added
BookmarksNewList
- Dedicated command for creating lists - Added
BookmarksInfo
- New command for plugin status - Added
BookmarksInfoCurrentBookmark
- New command for bookmark details - Removed
BookmarksGotoRecent
- No longer needed - Removed
BookmarksEditJsonFile
- No longer relevant with SQLite - Removed
BookmarksCalibration
- Replaced with automatic calibration
Configuration Changes
- New database configuration options
- Simplified sign configuration
- Improved tree view configuration
- Added calibration settings
- Added custom command support
- Removed project and hook configurations
UI Improvements
- Better tree view navigation
- Improved visual feedback for active lists
- Enhanced bookmark formatting
- Better window management for descriptions and info displays
Internal Changes
- Complete architecture overhaul
- Better separation of concerns
- Improved error handling
- More robust data management
- Better test coverage
v1.4.2 Without breaking change warning
Pin to this version so you can avoid breaking change and also get rid of the warning msg
Full Changelog: v1.4.1...v1.4.2
Before breaking change warning
An overhaul refactor is ongoing to support more functionalities
Please pin your plugin to v1.4.2
if you don't want any breaking change.
What's Changed
New Contributors
Full Changelog: v1.4.0-calibrate-bookmark...v1.4.1-before-breaking-change
v1.4.0-calibrate-bookmark
What's Changed
- readme improvements by @dmartzol in #34
- Calibrate the bookmarks by @shanlihou in #31
New Features:
- Automatic Calibration: Auto-calibrate bookmarks upon entering a buffer with the new option
auto_calibrate_cur_buf
(default: true). - Show Calibration Result: Control the display of calibration results with
show_calibrate_result
(default: true). - Manual Calibration Command: Introduced
:BookmarksCalibration
for manual bookmark calibration. - Enhanced Bookmark Handling: Improved API for finding bookmarks by absolute paths and checking for content discrepancies.
New Contributors
Full Changelog: v1.3.0...v1.4.0-calibrate-bookmark
v1.3.0
New Features
- Isolated Bookmark Database: Added an API function
reset_new_db_path
allowing users to specify a unique JSON database path for different Neovim sessions. This enhancement prevents database conflicts when multiple Neovim instances are open. - Custom Sorting Logic: The sorting logic for bookmarks has been modularized, allowing the customization of sorting criteria through the
vim.g.bookmarks_config.picker.sort_by
option. Built-in sorting options includelast_visited
andcreated_at
.
Bug Fixes
- Unsaved Changes Error Handling: Implemented a check to prevent errors when the current buffer is modified but not saved. The system warns the user to save their changes before navigating to a bookmark, thus avoiding exceptions related to unsaved changes.
- Bookmark Format Option: Corrected the
bookmark_format
keybinding issue that prevented custom format functions from working as intended, improving the customization capability of bookmarks displayed in the tree view. - Keymap for Quit Action: Fixed the issue related to traditional quit keybindings not functioning correctly within the bookmark tree view; users can now successfully quit the tree view using mapped keys like
q
or<ESC>
.
Code Improvements
- Linting and Code Cleanup: Improved code quality through static analysis and linting. Removed unnecessary methods and enhanced function decompositions.
- Sign Management Enhancement: The signing logic has been made more robust, and refresh procedures have been optimized for better performance when dealing with signs in the tree structure.
Full Changelog: v1.2.0-treevew...v1.3.0-remove-cache
What's Changed
- To resolve the conflict by @shanlihou in #28
- isolate the db file by @shanlihou in #32
New Contributors
- @shanlihou made their first contribution in #28
Full Changelog: v0.5.5...v1.3.0