Hyperdrive.el Changelog
Hyperdrive.el Changelog ¶
Table of Contents
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 insidehyperdrive-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 fromshadow
to show its relative lack of trustworthiness compared tohyperdrive-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 [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 inhyperdrive-menu
and the hyperdrive menu bar.
Added ¶
- Easy installation: After
M-x package-install hyperdrive.el
, runM-x hyperdrive-install
to install the gateway. - Cancel installation in progress with
hyperdrive-cancel-install
. - Add
hyperdrive-install
andhyperdrive-cancel-install
bindings tohyperdrive-menu
and menu bar. - Add
hyperdrive-restart
to restart the gateway, also bound inhyperdrive-menu
and menu bar. - When visiting an old version of a hyperdrive file, press
n
andp
to traverse the version history. Pressq
to kill the current buffer. - View hyperdrive disk usage with
hyperdrive-describe
andhyperdrive-menu
. - Delete the local copy of a file or directory with
hyperdrive-forget-file
, also bound inhyperdrive-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
tohyper-gateway-ushin
fork! RunM-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 assafe
now always enable a major mode. - Remove
hyperdrive-gateway-process-type
user option. To customize gateway startup, see optionshyperdrive-gateway-start-function
,hyperdrive-gateway-stop-function
,hyperdrive-gateway-live-predicate
. - Remove
hyperdrive-gateway-command
user option. To customize gateway command, see optionshyperdrive-gateway-directory
,hyperdrive-gateway-program
,hyperdrive-gateway-command-args
. - Rename and alias
hyperdrive-hyper-gateway-ushin-port
tohyperdrive-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 Transienthyperdrive-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 thecompleting-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 starthyper-gateway
as an Emacs subprocess or systemd service
Changed ¶
- Simplified
hyperdrive-menu
by moving commands which required selecting a hyperdrive intohyperdrive-menu-hyperdrive
- Refactored the
*hyperdrive-mirror*
buffer to use taxy-magit-section - Removed
rx
form option inhyperdrive-mirror
- The "Hyperdrive" menu bar now shows up at the top-level
- Use positional arguments in
hyperdrive-mirror
andhyperdrive-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 wasunknown
- Uploaded files now retain the timestamp of the local file
- Fixed a regression in
hyperdrive-mirror
without confirmation
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 drivehyperdrive-find-file-other-window
: Presso
in the directory or history buffer to open a new windowyank-media
: On Emacs 29 or later, runM-x yank-media
in a hyperdrive directory to upload the image in the clipboardinfo-look
: Pressi
in*help*
to open the user manualsave-some-buffers
integrationview-mode
: Pressv
in the directory or history buffer to open a file inview-mode
- Org-mode link completion
- directory view sorting by column (with clickable headers)
Changed ¶
hyperdrive-version-ranges
is now persisted, speeding uphyperdrive-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
0.1 [2023-08-12 Sat] ¶
- Initial release