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-modeto 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-hyperdrivenow parses the hyperdrive from a URL or public key and returns it.hyperdrive-nicknameface now inherits fromshadowto show its relative lack of trustworthiness compared tohyperdrive-petname.
Fixed ¶
- Handle diffing a file when the previous version is not known to exist.
hyperdrive-menuand 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-nextnow correctly handles empty directories.
Internal ¶
hyper-gateway-ushincan now directly control the hyperbee, so key/value (like peer graph data) can now be stored efficiently.hyper-gateway-ushinnow has a/$/historyAPI which can be queried to get the file history for a particular file.- Add
hyperdrive-fully-replicateto fully replicate a hyperdrive’s inode db, blob store, or both. hyperdrive-fill-metadatacan 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-menuand the hyperdrive menu bar.
Added ¶
- Easy installation: After
M-x package-install hyperdrive.el, runM-x hyperdrive-installto install the gateway. - Cancel installation in progress with
hyperdrive-cancel-install. - Add
hyperdrive-installandhyperdrive-cancel-installbindings tohyperdrive-menuand menu bar. - Add
hyperdrive-restartto restart the gateway, also bound inhyperdrive-menuand menu bar. - When visiting an old version of a hyperdrive file, press
nandpto traverse the version history. Pressqto kill the current buffer. - View hyperdrive disk usage with
hyperdrive-describeandhyperdrive-menu. - Delete the local copy of a file or directory with
hyperdrive-forget-file, also bound inhyperdrive-menuand 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-gatewaytohyper-gateway-ushinfork! RunM-x hyperdrive-installto download and install the new gateway. - Directory listings load faster.
- Make
hyperdrive-stopasynchronous by default. - Improve gateway status indicators in
hyperdrive-menuto 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
magnumon XMPP for reporting. - Make
hyperdrive-downloadasynchronous. - Remove
hyperdrive-reuse-buffersuser option to ensure consistent behavior when uniquifying buffer names. - Embark map now has a binding for
hyperdrive-describe-hyperdrive. - Remove
hyperdrive-honor-auto-mode-alistuser option; hyperdrives marked assafenow always enable a major mode. - Remove
hyperdrive-gateway-process-typeuser option. To customize gateway startup, see optionshyperdrive-gateway-start-function,hyperdrive-gateway-stop-function,hyperdrive-gateway-live-predicate. - Remove
hyperdrive-gateway-commanduser option. To customize gateway command, see optionshyperdrive-gateway-directory,hyperdrive-gateway-program,hyperdrive-gateway-command-args. - Rename and alias
hyperdrive-hyper-gateway-ushin-porttohyperdrive-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
imenucandidate. - Start gateway subprocess on
hyperdrive-gateway-port. - Properly quote existing value of
ffap-url-regexpwhen 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-entrystructs. - Update hyperdrive
latest-versionmetadata 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-mirrorinterface 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-modebuffers find-file-at-pointintegration- Added
hyperdrivecompletion category which affects thecompleting-readinterface for selecting a hyperdrive. - Embark integration: Run
embark-actwhile interactively selecting a hyperdrive to choose an alternative action - Add customization options to control how hyperdrives, files, and
folders are displayed:
hyperdrive-entry-formatcustomization group - Add customization option
hyperdrive-gateway-process-typeto starthyper-gatewayas an Emacs subprocess or systemd service
Changed ¶
- Simplified
hyperdrive-menuby moving commands which required selecting a hyperdrive intohyperdrive-menu-hyperdrive - Refactored the
*hyperdrive-mirror*buffer to use taxy-magit-section - Removed
rxform option inhyperdrive-mirror - The "Hyperdrive" menu bar now shows up at the top-level
- Use positional arguments in
hyperdrive-mirrorandhyperdrive-upload-files - Require at least Emacs 28.1+
Fixed ¶
- Fixed single click on directory column header
- Fixed a bug which caused
hyperdrive-menuto fail when the current entry’s next version wasunknown - Uploaded files now retain the timestamp of the local file
- Fixed a regression in
hyperdrive-mirrorwithout confirmation
0.2 [2023-10-14 Sat] ¶
Added ¶
hyperdrive-menuis the new control panel. Bind it to a convenient key!hyperdrive-menu-bar-modeenables the "Hyperdrive" menu bar inside "Tools"org-insert-linkautomatically inserts relative links to hyperdrive files within the same drivehyperdrive-find-file-other-window: Pressoin the directory or history buffer to open a new windowyank-media: On Emacs 29 or later, runM-x yank-mediain a hyperdrive directory to upload the image in the clipboardinfo-look: Pressiin*help*to open the user manualsave-some-buffersintegrationview-mode: Pressvin 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-rangesis now persisted, speeding uphyperdrive-history- Fewer buffers are created by default (see
hyperdrive-reuse-buffers) hyperdrive-modekeybindings now work when viewing ‘hyper://’ files in EWW- History buffer displays right away; press
+to load an unknown range hyperdrive-deletenow works in hyperdrive file buffers- Removed unused
hyperdrive-storage-locationdefcustom
Fixed ¶
- Fixed "Hyperdrive" listing in
*info* dir (top) - Fixed
imenuface - 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