Hyperdrive.el Changelog

Hyperdrive.el Changelog

Hyperdrive.el Changelog


0.6-pre

Nothing yet…


0.5 [2024-12-06 Fri]

Version 0.5 adds the peer graph/list, adds a global hyperdrive context menu, and simplifies the internal logic for getting file history.


Added

  • Add peer graph and peer list for discovering sources of information and exploring the connections between peers.
  • Enable hyperdrive-context-menu-mode to enable right-click menus on on hyperdrive names.

Changed

  • It’s now possible to attempt to jump to the next version of a file even before the gateway knows if it exists or not.
  • More descriptive error messages when attempting to load nonexistent or unknown file versions.
  • Removed persist variable hyperdrive-version-ranges. Feel free to delete the old data inside hyperdrive-persist-location.
  • Link website, library source, and Info manual in Customize group.
  • More colorful version descriptions in hyperdrive-menu.
  • Hyperdrive nickname metadata are now loaded when opening any file, not just directories.
  • hyperdrive-read-hyperdrive now parses the hyperdrive from a URL or public key and returns it.
  • hyperdrive-nickname face now inherits from shadow to show its relative lack of trustworthiness compared to hyperdrive-petname.

Fixed

  • Handle diffing a file when the previous version is not known to exist.
  • hyperdrive-menu and the menu bar now correctly indicate when the next and/or previous version of current directory do not exist.
  • Correctly jump to headings when following Org links to a hyperdrive file whose buffer is already open in a window.
  • Only mark deleted hyperdrive file buffer as modified if it’s live.
  • hyperdrive-ewoc-next now correctly handles empty directories.

Internal

  • hyper-gateway-ushin can now directly control the hyperbee, so key/value (like peer graph data) can now be stored efficiently.
  • hyper-gateway-ushin now has a /$/history API which can be queried to get the file history for a particular file.
  • Add hyperdrive-fully-replicate to fully replicate a hyperdrive’s inode db, blob store, or both.
  • hyperdrive-fill-metadata can now optionally be called asynchronously.
  • Bump package dependencies.

0.4.2 [2024-09-24 Tue]


Fixed

  • Set major mode in hyperdrive files even before it is saved.
  • Compiler warnings. (Thanks to Jonas Bernoulli!)

0.4.1 [2024-09-13 Fri]


Fixed

  • Fix following a link to an Org document whose target is not found.

0.4 [2024-09-09 Mon]

Version 0.4 features org-transclusion integration, easy gateway installation with M-x hyperdrive-install, and a command to save disk space by "forgetting" your copy of a file (hyperdrive-forget-file)!


Security

  • By default, don’t automatically load major mode when browsing hyperdrive files. To enable this behavior for certain trusted hyperdrives, mark them as "safe" with M-x hyperdrive-mark-as-safe, which is also bound in hyperdrive-menu and the hyperdrive menu bar.

Added

  • Easy installation: After M-x package-install hyperdrive.el, run M-x hyperdrive-install to install the gateway.
  • Cancel installation in progress with hyperdrive-cancel-install.
  • Add hyperdrive-install and hyperdrive-cancel-install bindings to hyperdrive-menu and menu bar.
  • Add hyperdrive-restart to restart the gateway, also bound in hyperdrive-menu and menu bar.
  • When visiting an old version of a hyperdrive file, press n and p to traverse the version history. Press q to kill the current buffer.
  • View hyperdrive disk usage with hyperdrive-describe and hyperdrive-menu.
  • Delete the local copy of a file or directory with hyperdrive-forget-file, also bound in hyperdrive-menu and the menu bar, as well as directory and history buffers.
  • Indicate how much of a file has already been downloaded based on the color of its file size in the directory view.

Changed

  • Switch from hyper-gateway to hyper-gateway-ushin fork! Run M-x hyperdrive-install to download and install the new gateway.
  • Directory listings load faster.
  • Make hyperdrive-stop asynchronous by default.
  • Improve gateway status indicators in hyperdrive-menu to update asynchronously with "starting", "installing", "upgrading", etc.
  • Improve messages and errors when starting and stopping gateway.
  • Remove gateway status indicator in hyperdrive menu bar since menu bar labels cannot be updated while the menu bar is open.
  • Improve error message when the gateway is not installed. Thanks to magnum on XMPP for reporting.
  • Make hyperdrive-download asynchronous.
  • Remove hyperdrive-reuse-buffers user option to ensure consistent behavior when uniquifying buffer names.
  • Embark map now has a binding for hyperdrive-describe-hyperdrive.
  • Remove hyperdrive-honor-auto-mode-alist user option; hyperdrives marked as safe now always enable a major mode.
  • Remove hyperdrive-gateway-process-type user option. To customize gateway startup, see options hyperdrive-gateway-start-function, hyperdrive-gateway-stop-function, hyperdrive-gateway-live-predicate.
  • Remove hyperdrive-gateway-command user option. To customize gateway command, see options hyperdrive-gateway-directory, hyperdrive-gateway-program, hyperdrive-gateway-command-args.
  • Rename and alias hyperdrive-hyper-gateway-ushin-port to hyperdrive-gateway-port. Alias will be removed in a later version.
  • Improve defcustom types

Fixed

  • Fix text encoding when reading and writing hyperdrive files.
  • Fix link targets/fragments for non-Org documents, like HTML.
  • More reliably kill intermediate buffers when generating a diff.
  • Avoid unnecessarily updating hyperdrive-version-ranges.
  • Include the first file in a directory as an imenu candidate.
  • Start gateway subprocess on hyperdrive-gateway-port.
  • Properly quote existing value of ffap-url-regexp when modifying it.
  • Following explicit file:-prefixed links in hyperdrive Org files now opens hyperdrive files in the same hyperdrive.
  • Fix edge cases when loading version history for nonexistent entries.
  • Edge case where revert-buffer popped to the wrong hyperdrive buffer.
  • Improve reading of hyperdrive URLs.
  • Improve visible buttons in hyperdrive-menu-bar-mode.
  • Avoid unnecessary prompt to save hyperdrive EWW buffers.
  • More accurately calculate file size when writing a hyperdrive file.

Internal

  • Refactor to accommodate hyperdrive-org-transclusion.
  • History-related functions now accept hyperdrive-entry structs.
  • Update hyperdrive latest-version metadata when deleting directories.
  • Reduce memory usage in hyperdrive-write-buffer.
  • Add Org 9.7.6 as a dependency.
  • Bump package dependencies.

0.3 [2023-12-02 Sat]


Added

  • Added hyperdrive-mirror interface to the Transient hyperdrive-menu
  • hyperdrive-open-at-version: Open the current file or directory at a specific version
  • Support following relative filename links in hyperdrive markdown-mode buffers
  • find-file-at-point integration
  • Added hyperdrive completion category which affects the completing-read interface for selecting a hyperdrive.
  • Embark integration: Run embark-act while interactively selecting a hyperdrive to choose an alternative action
  • Add customization options to control how hyperdrives, files, and folders are displayed: hyperdrive-entry-format customization group
  • Add customization option hyperdrive-gateway-process-type to start hyper-gateway as an Emacs subprocess or systemd service

Changed

  • Simplified hyperdrive-menu by moving commands which required selecting a hyperdrive into hyperdrive-menu-hyperdrive
  • Refactored the *hyperdrive-mirror* buffer to use taxy-magit-section
  • Removed rx form option in hyperdrive-mirror
  • The "Hyperdrive" menu bar now shows up at the top-level
  • Use positional arguments in hyperdrive-mirror and hyperdrive-upload-files
  • Require at least Emacs 28.1+

Fixed

  • Fixed single click on directory column header
  • Fixed a bug which caused hyperdrive-menu to fail when the current entry’s next version was unknown
  • Uploaded files now retain the timestamp of the local file
  • Fixed a regression in hyperdrive-mirror without confirmation

Internal

  • Use Emacs 28 shorthands

0.2 [2023-10-14 Sat]


Added

  • hyperdrive-menu is the new control panel. Bind it to a convenient key!
  • hyperdrive-menu-bar-mode enables the "Hyperdrive" menu bar inside "Tools"
  • org-insert-link automatically inserts relative links to hyperdrive files within the same drive
  • hyperdrive-find-file-other-window: Press o in the directory or history buffer to open a new window
  • yank-media: On Emacs 29 or later, run M-x yank-media in a hyperdrive directory to upload the image in the clipboard
  • info-look: Press i in *help* to open the user manual
  • save-some-buffers integration
  • view-mode: Press v in the directory or history buffer to open a file in view-mode
  • Org-mode link completion
  • directory view sorting by column (with clickable headers)

Changed

  • hyperdrive-version-ranges is now persisted, speeding up hyperdrive-history
  • Fewer buffers are created by default (see hyperdrive-reuse-buffers)
  • hyperdrive-mode keybindings now work when viewing ‘hyper://’ files in EWW
  • History buffer displays right away; press + to load an unknown range
  • hyperdrive-delete now works in hyperdrive file buffers
  • Removed unused hyperdrive-storage-location defcustom

Fixed

  • Fixed "Hyperdrive" listing in *info* dir (top)
  • Fixed imenu face
  • Removed unused defcustom hyperdrive-hyper-gateway-p2p-port
  • Fixed version history navigation in directories
  • Allow entering URLs without hyper://
  • Prevent accidental loss of unsaved hyperdrive files
  • Prompt before overwriting with hyperdrive-write-buffer
  • Fixed a native compilation bug related to kill-all-local-variables
  • Fixed opening hyperdrive PDFs in doc-view
  • Improved error handling

Security

  • Check DNSLink domains for suspicious characters

0.1 [2023-08-12 Sat]

  • Initial release

Last updated 2023-11-06 Mon 23:58 PST. History | Sitemap