Added telescope-identity(1) to create, delete and manage client certificates.
Improvements
Implemented a new URI parser: this will allow in the future to support IRIs too.
Allow configuration options to be booleans ("true" and "false") and change a few options where it made sense. The old settings with 0 and 1 will continue to work for some time.
Removed the dependency on libevent: Telescope now uses a custom built-in event loop.
Rework the history management: the code is cleaner and requires less memory.
Reduced the amount of memory needed for rendering the pages by roughly 50%.
Landlock sandboxing is enabled again on Linux.
Update data/emoji.txt to UNICODE 15.0.
Bug Fixes
Fixed wrapping of link lines.
Fixed `bookmark-page' bogus error message.
Fixed caching of finger pages too.
Save to the persistent history finger:// and gopher:// URLs as well.
Fixed handling of gopher selectors with spaces and other "funny" characters.
Improved handling of connect(2) failures, as well as error reporting.
Changed the default colours for patch/diff to magenta and cyan.
Updated the link to the official gemini project capsule in about:new.
Corrected and extended about:license.
Breaking changes
Removed the -C/--colours flag: telescope is not a colour picker.
2022/05/25 0.8.1 "Le Scarpe Volanti" bugfix release
fix build on macos. Reported by sikmir, thanks!
2022/05/25 0.8 "Le Scarpe Volanti"
The 0.8 release is named after "Le Scarpe Volanti" a song by Verdena.
Note: landlock is currently disabled on linux due to the fs/ui merge.
New Features
save and restore scroll position
new command reply-last-input; idea from a conversation with thfr@, thanks!
allow push urls to an already opened telescope session
autocompletions for load-url and load-current-url
new command write-buffer (with alias w)
new command mini-kill-whole-line for the minibuffer
split the minibuffer input into words and try to match out of order
Improvements
move aliases at the top of the completions
add alias `open' for load-url; suggested by Florian, thanks!
update emoji-data.txt to 14.0.0
persist the list of visited URLs to the disk
fix builds out-of-tree
correctly mark variables in the manpage so it's possible to jump to them
rework completions selection: the selected entry is *always* the one used. if nothing is selected, the minibuffer content is used instead.
merge the ui and fs processes
rate-limit the update of the download pane
Bug Fixes
fix parsing of invalid link lines
initialize each tab' loadingev timer event
fix the build on recent version of musl
2022/01/15 0.7.1 "Via Paolo Fabbri 43" bugfix release
fix use after free when loading an about:* page from about:about. Reported by Brian Callahan, thanks!
2022/01/13 0.7 "Via Paolo Fabbri 43"
The 0.7 release is named after "Via Paolo Fabbri 43", a song by
Francesco Guccini.
Note: the format of the session file was extended. Old session file will
be opened fine, but older telescope version won't be able to correctly
handle session files generated after v0.7.
New features
caching: telescope will keep a in-memory copy of the visited page for some time to speed up history navigation. See also the new command `cache-info'.
persistent tab history: telescope will remember the full history for each tab across sessions.
re-open closed tabs (even across sessions!) The `u' key is now bound to `tab-undo-close' by default.
allow to customise the space after the end of the buffer. By default telescope now renders a vi-like tilde fringe "~", but it's fully customisable using the new `line.fringe' style identifier. See also the new setting `fringe-ignore-offset'.
Improvements
ask before quitting telescope.
execute-extended-command: execute the selected command on RET.
bump default fill-column to 120.
bind `del' (backspace) to previous-page. Suggested by Florian, thanks!
add --colours as --color alias. Suggested by Florian.
Bug fixes
fixed crash on --colors. Reported by Florian, thanks!
don't push the current url to the history *twice* at startup.
Breaking changes
variable `set-title' renamed to `update-title'. The old name will still be supported for a while to ease backwards compatibility.
2021/11/29 0.6.1 "Piccola storia ignobile" bugfix release
handle gracefully when landlock is disabled at runtime. Reported and tested by Nikolay Korotkiy, thanks!
2021/11/29 0.6 "Piccola storia ignobile"
New Features
added a pane that lists all the downloads (current or not)
download-path is customizable
sandbox/safe mode: telescope won't write anything to the file system.
XDG-style directories if ~/.telescope does not exists; idea and implementation by Andrea Feletto, thanks! (there's a script also by him in contrib to migrate the setup)
Improvements
prefill the save prompt with the file name
use landlock on linux if available
add HOSTCC and HOSTCFLAGS variables for the configure script to allow cross-compiling (`pagebundler' needs to be built with the host compiler no matter what.) Prompted and tested by Nikolay Korotkiy, thanks!
Bug Fixes
fix diff syntax highlighting with more than one header involved
[gemini] fix item line detection: a space is required after the `*' character
handle empty replies (i.e. no header.) Found thanks to ondollo' capsule :)
fixed a crash on macOs, by Nikolay Korotkiy (sikmir on github). Thanks!
mention that telescope expects an UTF-8 environment in the CAVEATS section of the manpage
2021/09/13 0.5.2 “Le Nuvole” bugfix release
Bugfixes
some very long pages can cause (rarely) telescope to render a blank page
allow creating files in ~/Downloads on OpenBSD
reset download byte counter
2021/08/28 0.5.1 “Le Nuvole” bugfix release
Telescope used to trim the initial “/” in gopher requests: this is not correct and while some servers are forgiving, other (rightfully) aren't.
2021/08/27 0.5 "Le nuvole"
New features
support for the finger protocol
support for the gopher protocol (only item types 0, 1 and 7 for the moment)
highlight diff/patches
typing the protocol of a URI is not needed anymore: added some heuristics to assume file:// URLs and fall back to gemini:// as default
open local files and directories
add an autosave timer to persist the session once in a while
scroll completions with M-v/C-v (mini-scroll-up/mini-scroll-down)
variable `tab-bar-show' controls the visibility of the tab bar
Improvements
new heuristics to extract a title for pages without headings: use the domain name or the "tilde username"
about:new updated with some gopher links too
reload doesn't push the current url to the history anymore
push-button-new-tab opens a new tab *right after* the current one, not as the last
improved the crash detection
M-[ and M-] are bind to tab-move-to/tab-move
Bugfixes
fixed some crashes caused by cursor movements on empty pages
correctly parse multiple attributes
2021/07/24 0.4.1 “La faccia della luna” buildfix release
fixed the distributed tarball
2021/07/24 0.4 “La faccia della luna”
New Features
completions in the minibuffer: this allowed various new commands to be implemented (swiper M-/, link-select M-l, toc t and tab-select M-t)
emojify links: when a link starts with an emoji followed by a space, use that emoji as link prefix. This is similar to what Lagrange does.
tabs lazy loading: don’t load all tabs on startup; instead, load them only when selected.
add inc/dec-fill-column (C-c {, C-c })
push-button (RET) also toggle preformatted blocks
various new settings (hide-pre-blocks, hide-pre-content, hide-pre-closing-line)
load an alternate config file per-term
add suspend-telescope available as C-z
built-in about:* pages can be overridden by creating ~/.telescope/pages/about_*.gmi
added reload-page, available as ‘r’ or ‘<f5>’
M-prior/next (i.e. alt-pageup/down) binded to tab-previous and next. Currently doesn't seem to be supported by any terminal emulator I tried though.
Improvements
the net and fs process are now re-exec'd to gain a completely new random address space. All the messages between the processes are completely asynchronous.
various new “intuitive” bindings: C-t for tab-new, C-w for tab-close, [ and ] for tab navigation, B and F for history navigation.
keep the scroll position after resize
invalid certificates that are accepted (but not saved) are remembered for the current session (i.e. don't ask at every page)
deal with BOMs
the side window (“*Help*”) is focusable with C-x o (other-window)
pretty-print help lines in side window
telescope now uses a lockfile to prevent multiple instances
don’t flash the screen when entering in the minibuffer
<home> and <end> moves to the beginning/end of the line
handle unknown protocols gracefully
keep the current tab from the last session on startup
drop trailing spaces when formatting a page
added about:crash with information on how to report crashes
tabs are now separated by a vertical line
make some newlines optional in the config file
Bug Fixes
fix the bogus certificate mismatch error when navigating back from a proxied page to a normal gemini page
don't crash when there's a redirect immediately after an accepted certificate mismatch
fixed styling of empty lines inside a pre block
print the trailing face until the right column
allow editing old minibuffer history entries
push-button-new-tab (M-enter) now works on relative URLs too
Breaking changes
up and down arrow in the minibuffer are bound to previous-completion and next-completion instead of previous/next-history-item
the default styling changed. The old “brutalist” theme was dropped in favour of a more eye-catching one. If you like the old style, load contrib/brutalist.config to restore it
select the *next* tab instead of the previous when closing the current one.
2021/07/16 0.3.1 “Spaceman” bugfix release
This bugfix release includes a fix for libevent2 that, in some cases, could lead to a crash. Prompted and tested by Andrea Feletto, thanks!
2021/06/26 0.3 "Spaceman"
New features
new tab url customizable
fill-column customizable
new about:* pages: about:blank, about:about and about:help
olivetti-mode (enabled by default)
256 colors support: all the colors and properties can be customized (but honour NO_COLOR)
added protocol proxy support: allows to use the duckling-proxy
added next-heading and prevous-heading bound to ‘C-c n’ and ‘C-c p’
Improvements
connect(2) asynchronously on non-OpenBSD systems: I’m having problems using asr_run on linux, but at least the connect(2) can be done asynchronously, improving the load time with multiple tabs opened.
telescope can be customized using a configuration file!
“humanized” byte progress: when downloading a file, shows the human-readable size instead of the raw number of bytes
don’t jump to the beginnig/end of buffer during a previous/next link when there are none
bind ‘>’ to ‘load-url’: it’s more intuitive than ‘C-x C-f’, idea stolen from tinmop (thanks for the idea cage!)
default to a blue foreground for link lines
Bufixes
ignore SIGPIPE: prevents telescope from dying when connecting to non-tls or non-gemini servers (found by trying to connect to a bogus gemini://gemini.nytpu.com, the correct url is gemini://nytpu.com)
fixed the end-of-buffer (M->) glitch
use the first level 2 or 3 heading as tab title if there are no level 1 heading (due to an error it would use the *last* heading)
2021/06/12 0.2
save certificates per (host, port) tuple, not only per-host
allow saving the new certificate after a mismatch
make scroll-down/up scroll by the right number of lines
unbreaked forward-char
display a “!” when a non-focused tab finishes to load