1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
|
```
__ __ __ ___
| /\ / _` |__) /\ |\ | / _` |__
|___ /~~\ \__> | \ /~~\ | \| \__> |___
```
# Release notes
## 1.1
* Added identity importing: existing client certificates in PEM format can be imported from the current page, from clipboard, or from drag-and-dropped files.
* Added setting for maximum cache size. This is the amount of fetched data kept in memory for page navigation and content lookup. The default is 10 MB.
* Added a bold UI font. It is used for unread feed entries and default dialog buttons.
* Added support for Finger links (courtesy of John Cowan).
* Added option to show full link URL when hovering on it.
* Added keybindings for page reload, opening link in new tab via home row keys (${SHIFT+}F), and hovering on a link via home row keys (H).
* Added keybinding for switching to next set of links for home row navigation.
* Added keybindings for new tab, close tab, adding a bookmark.
* Better alignment of quick lookup result icons and labels.
* Remote bookmarks are grouped under their source in the bookmark list.
* A bookmark's icon is updated after loading the page so it matches the site.
* Trusting a new server certificate manually will update the current page without reloading.
* Middle-clicking on a tab title closes the tab.
* Fixed timestamps of visited URLs. Your browsing history will be erased but can still be found in "visited.txt".
* Fixed issue where "heading" feed entries would turn unread after a while.
* Fixed duplicate U key for home row navigation.
* Fixed an issue with Unicode characters in quick lookup search terms.
## 1.0.3
* Improved font glyph caching: only rasterize glyphs when drawing text, and retry after failure. This makes initial document layout faster and avoids issues with permanently lost glyphs.
* Fixed parts of text disappearing when the glyph cache fills up. The cache also uses less memory now.
* Fixed percent-encoding of spaces when copying URLs to clipboard.
* Fixed feed entry context menu showing the wrong menu item for Mark as Read/Unread.
* Fixed parentheses and brackets being trimmed from feed entry titles.
* Fixed quotes appearing continuous even when there are empty lines in between.
* Fixed quote border line not showing up on empty quote lines.
* Fixed handling of redirection in a background tab — redirected URL would open in the current tab.
* Fixed Gemini URL normalization with regard to default port.
* Fixed a very minor memory leak.
* Fixed missing "gopher:" URL scheme registration on macOS.
## 1.0.2
* Fixed URL input field showing the wrong URL when opening tabs in the background.
* Fixed trusting a renewed server certificate when multiple tabs are open.
* Fixed opening sidebar feed entries in new/background tab with modifier keys.
* Fixed editing identity notes. The entered new notes were not being applied.
* Server certificate domain name check accepts a matching CN even when SAN doesn't match.
## 1.0.1
* Fixed percent-encoding of the query string.
* Fixed cursor positioning in input fields.
## 1.0
* Added remote bookmarks. Any bookmarked 'text/gemini' page with the "remotesource" tag is a source of remote bookmarks. Each link on the page is shown as a remote bookmark in Bookmarks.
* Added a way to export bookmarks via the special page "about:bookmarks". The page can also list all bookmarks by tag or by creation date.
* Added context menu item for duplicating a bookmark.
* Import all links on a page as bookmarks. (Importing tags is not supported in this version.)
* Links can be bookmarked via context menu.
* Open links with an unrecognized scheme in the default browser.
* Open sidebar items in new/background tab via context menu or modifier keys.
* "Edit Feed..." menu item shows the Feed Settings dialog.
* Removed unimplemented menu items.
## 0.13.2
* Added a little spinner to indicate ongoing requests.
* Fixed very thin progress bar on HiDPI displays.
* Fixed link to Help page from the Identities sidebar tab.
* Fixed incorrect text colors in the UI (e.g., selected lookup result).
* macOS: Disable menu shortcuts for navigation when editing text to prevent accidental page changes.
## 0.13.1
* Fixed build failure on Linux.
## 0.13
* Support for Internationalized Domain Names (IDN) in network requests.
* Percent-encoded URL paths are shown decoded in the UI, and encoded in outgoing requests.
* Added option to disable decoding of percent-encoded paths for the UI.
* Quick search via URL bar shows entries from subscribed feeds.
* Added keybindings for zooming.
* Improved usability of page content searching (${CTRL+}F, Escape).
* Clicking on a certificate warning shows the Certificate Status dialog.
* macOS: Keyboard shortcuts in native menus are updated according to bindings.
* Tweaked handling of Emojis in monospace text. They are given more space as needed, but the original monospace spacing is restored after whitespace.
* Fira Mono replaced with Iosevka Term Extended.
* Fixed use of variable-width fonts in input fields.
* Fixed handling of Unicode joiners and modifiers (by ignoring them, since we lack the glyphs).
* Fixed a layout issue with sidebars where the bottommost content line was occasionally not visible.
* Fixed exit when a hook program didn't read its input.
* Fixed crash when using an identity (with LibreSSL on OpenBSD).
## 0.12.1
* 'text/*' content falls back to plain text.
* Minimized visual artifacts in Unicode box-drawing characters (overlapping/gaps) by fine-tuning glyph scaling.
* Fixed truncated tab titles when opening tabs in background.
* Fixed possible exit if hook program not found (SIGPIPE).
* REQUEST_URL is set in the environment when running MIME hooks.
* "about:debug" lists the configured MIME hooks.
* macOS: Fixed excessive CPU usage while idling.
## 0.12
* Added MIME hooks: pipe Gemini responses through external programs for arbitrary processing. (See "about:help" for usage.)
* Added a right-hand sidebar; have a sidebar on the right or on both sides at once.
* Added a clear warning banner when there is an issue with the server's TLS certificate.
* Follow Weiph/pikkulogs — subscribe to new headings on pages.
* Added UI for subscribing: feed name, entry type (Gemini feed or new headings).
* Added keyboard shortcut ${SHIFT+}${CTRL+}D for subscribing to page.
* Feeds sidebar is capped to 100 entries. "about:feeds" shows all known entries.
* Network connections have a timeout in case server doesn't respond at all.
* Adjusted spacing before/after links to reflect use of empty lines in the source.
* Clicking on page area unfocuses URL input field.
* Added keybindings for switching tabs.
* Gopher: Query links have a 🔍 icon.
* Fixed handling of "file:///" URIs on Windows.
* Fixed misaligned Unicode box-drawing characters.
* Fixed missing error page if status code is unknown (torture test 34).
* Fixed detection of invalid headers (torture test 39).
* Fixed rendering of soft hyphens (torture test 50).
## 0.11
* Added feed subscriptions. A subscription is any bookmark with the "subscribed" tag. Subscribed feeds are refreshed in the background while Lagrange is running.
* Added a new sidebar tab for feeds.
* Added "about:feeds" to show entries from all subscriptions on one page.
* Added icons for special bookmark tags, and context menu items for toggling "homepage" and "subscribed".
* Improved stability: fixed data races, undefined behavior, thread leaks.
* Wide preformatted blocks can be scrolled horizontally with the mouse wheel or trackpad.
* Line widths are slightly narrower for improved readability.
* Light mode UI color palette is less saturated, more sepia-toned.
* Tall menus/dialogs can be scrolled with the mouse wheel.
* Improved download progress updates: never update more often than the UI can be refreshed.
* macOS: Control-Click works as a right mouse click.
* Unix: Location of `xdg-open` is no longer hardcoded.
* Fixed large downloads (10 MB+) stopping prematurely due to a decryption error.
* Fixed window contents not being updated during window resizing.
* Fixed selection/search markers disappearing when scrolling down.
* Fixed displaying of "about:" URLs in history.
* Fixed build on FreeBSD (tested on 12.1).
## 0.10
* Added option to load inline images when pressing Space or ↓ for a more focused reading experience — just keep tapping a single key to proceed. If an image link is visible, it will be loaded instead of scrolling. This option is disabled by default.
* Added context menu item to save inline images to Downloads.
* Added an option to use a proxy server for Gemini requests.
* Added a new keyboard link navigation mode focusing on the home row keys. The default keybinding for this is "F".
* Added a keybinding to activate keyboard link modifier mode. The keyboard link keys are active while the modifier is held down. The default is ${ALT}.
* Clearing and resetting keybindings via a context menu.
* Added a Window tab in the Preferences dialog; moved some of the settings around for better organization.
* Improved page search visualization: if the match is inside a link URL, the link icon is now highlighted. Previously these matches were not visualized in any way.
* Improvements to URI parsing with regard to RFC 3986. Cases that are handled better are double slashes, query-only relative URIs, relative URIs that begin with a tilde, IPv6 literals, username in the authority.
* Replaced EB Garamond with Tinos for improved readability.
* Replaced Kosugi Maru with Noto Sans CJK JP for better glyph coverage.
* Fixed font sizing of level 3 headings.
* Fixed download progress indicators sometimes remaining visible even after leaving the page.
## 0.9
* Clicking on the top banner of a page (where the site icon and hostname are shown) navigates to the root directory of the site.
* Added menu items and keybindings for navigating to site root or the parent directory.
* Added option to use a monospace body text font on all Gemini and/or Gopher pages.
* Remember redirect source URLs as visited but not shown in the History tab. Note that "visited.txt" is no longer fully compatible if opened in an older version of Lagrange.
* "gopher:" scheme is allowed in command line arguments.
* XDG: .desktop file declares support for opening Gopher URLs.
* Fixed an issue where copying the URL input field would not place anything on the clipboard.
* Fixed the Lagrange window visibly changing position during launch.
* Fixed crash when a single percent sign was typed in an input field.
* macOS: Fixed native menu keyboard shortcuts causing redundant command activations.
* macOS: Fixed assigning keybindings when there is an equivalent native menu shortcut.
## 0.8.1
* Fixed potential lockup when navigating back to a query prompt.
* macOS: Improved handling of scroll wheel events from a mouse.
## 0.8
* Added support for Gopher.
* Added support for the full palette of 8-bit ANSI foreground colors.
* Added option to disable smooth scrolling.
* Added button to manually set server certificate as trusted (if the certificate is valid but untrusted).
* Added keybindings for Back/Forward navigation.
* Added a context menu item for opening HTTP links in the default browser even when a proxy is configured.
* Revised identity creation dialog: changed field order, added warning about temporary identities not being saved.
* ${CTRL+}Click opens tab in background, ${SHIFT+}${CTRL+}Click opens as foreground tab. The same modifier keys work with keyboard navigation.
* Improved word wrapping of emoticons (:D).
* Automatic redirects allowed when the destination URL uses the same scheme as the originating URL. For example, when using a proxy, HTTP(S) is allowed to automatically redirect to other HTTP(S) URLs.
* Windows: Fixed handling of drag-and-dropped and command line file paths.
## 0.7.2
* Fixed parsing of the server's response. In some cases it was possible that the response was only partially read.
* Fixed handling of TLS/SSL connection being closed without the socket being closed.
## 0.7.1
* Fixed build on OpenBSD.
* Fixed build with LibreSSL.
* Fixed a potential crash at app shutdown.
* Fixed a potential crash when a thread exits.
* Fixed a potential lockup when a thread exits.
* Linux/Unix: Open "mailto:" links with xdg-open instead of the web browser.
## 0.7
* Basic set of user-configurable key bindings.
* Sidebar: Added a "New Identity" button and a link to "about:help" if there are no identities.
* Faster drawing of certain UI elements: site icon and current heading in the left margin, unfocused input fields, timestamp at the end of the page.
* History is not updated until a network request finishes.
* Improved opening connections when multiple IP addresses are found for a hostname.
* Fixed handling of TLS/SSL errors and hostname lookup problems — an error page is shown.
* Fixed an issue where window contents were not being updated immediately after the window gets exposed when using, e.g., openbox or dwm.
## 0.6
* Added an indicator to visualize progress of network requests.
* Added new color themes for page content: Colorful Light, Black, Gray, Sepia, High Contrast.
* Added page content color theme selection in Preferences.
* Added quote indicator option: icon or vertical line.
* Added a new font for Korean glyphs.
* Smoother smooth scrolling, making it easier to keep one's eyes on the content throughout the motion.
* Windows: Register Lagrange as a handler of "gemini:" URLs.
* macOS: Fixed glitchy window dragging during audio playback.
* Fixed timestamps of cached pages.
## 0.5
* Added MP3 support in the audio player (using mpg123).
=> https://mpg123.org/ mpg123: MPEG audio player and decoder library
* Added volume control in the audio player.
* Metadata in Vorbis and MP3 audio content (title, artist, etc.) is shown in the audio player menu.
* Added new serif fonts: EB Garamond and Literata.
* Allow configuring separate fonts for headings and body text for better visual distinction.
* Preferences dialog remembers the previously open tab.
* Paste from clipboard on middle mouse button click.
* Open links in new tab with middle mouse button.
* Fixed failure to find resources when launching via PATH.
* Fixed color saturation setting not affecting the default color theme.
## 0.4.1
* Set keyboard focus to URL input field after opening a new tab.
* Pause other audio players when a new one is started. One can still choose to have multiple audio players playing simultaneously by unpausing them again.
* Fixed dismissing an audio player that is still downloading content. The partially downloaded data is discarded.
* Fixed saving pages whose name starts with a tilde.
* Fixed saving pages restored from cache.
* Windows: The app is now distributed as an installer created with Inno Setup.
* Windows: All binaries are signed.
## 0.4
* Added audio playback with support for streaming. Supported audio formats in this release are WAV (PCM, mono/stereo, 8/16/24/32 integer/float) and Ogg Vorbis. Shoutout to Sean Barrett et al. for stb_vorbis:
=> https://github.com/nothings/stb stb: single-file public domain libraries for C/C++
* Added inline audio player that works like inline images. Clicking on an audio link opens the audio player below the link (works for URLs that have file extension .wav/.ogg).
* Visual fine-tuning: increased Fira Sans line spacing; list bullets use an accent color; adjusted accent colors in the light mode palette.
* Sidebar has a maximum width — the document must remain visible.
* Windows: Support for HiDPI displays and the system UI scaling factor. The UI will be scaled according to your settings automatically without having to adjust the UI scaling in Preferences.
* macOS: Use OpenGL on 10.13 for potentially better compatibility.
* Fixed a memory leak when closing tabs.
* Fixed unnecessary continual window redrawing related to the scrollbar hover outline.
## 0.3
* Added style customization.
* Added new font option: Fira Sans.
* Added a setting for maximum line width.
* Added a setting for adjusting color saturation.
* Added an option for "Outline on scrollbar": page outline appears when mouse is hovering over the scrollbar.
* Added an option for site icon and current top heading that appear when the window is wide enough.
* Added tabs in Preferences for better grouping.
* Added "Open Link in Background Tab" in link context menus.
* More flexible text selection behavior when starting on empty space.
* Smaller first paragraph font size.
* Fixed centering of popups so they remain centered when window is resized.
* Fixed sizing and alignment of Unicode symbols in preformatted text.
* Fixed sizing of Japanese glyphs in UI text (e.g., tab titles).
## 0.2.1
* Fixed window size/state restoration issues, e.g., after window is maximized.
* Windows: Fixed text disappearing when window is resized.
## 0.2
* Added an icon for quote paragraphs.
* Added Downloads folder to Preferences.
* Added "Save to Downloads" menu item (${CTRL+}S) for saving page contents.
* Added a download progress indicator in the URL input field.
* Added a progress indicator for inline image fetching.
* Added `--sw` option to force software rendering.
* Added macOS touch bar buttons for Back, Forward, Find, New Tab, and sidebar modes.
* Home button opens a random bookmark with the "homepage" tag.
* Improved context menu when right-clicking on links or the page.
* Recognize and handle "mailto:" links.
* Fixed behavior of images on single-image pages; cannot be hidden like inline images.
* Fall back to software rendering automatically if accelerated graphics are not available.
* Minor bug fixes.
## 0.1.1
* Fixed a potential crash at startup.
* Fixed bug where user's query input is handled by all tabs.
* Default sidebar mode is Bookmarks.
* Windows: Fixed opening HTTP links in the default web browser.
## 0.1
* The major version zero is reserved for non-feature-complete releases.
* Beautiful typography using Unicode fonts.
* Autogenerated page style and Unicode icon for each Gemini domain.
* Smart suggestions when typing the URL — search bookmarks, history, identities.
* Sidebar for page outline, managing bookmarks and identities, and viewing history.
* Multiple tabs.
* Identity management — create and use TLS client certificates.
* Light and dark UI themes.
* Select and copy text with the mouse.
* Find text on the page.
* Open image links inline on the same page.
* Open links via keyboard shortcuts.
* Instant back/forward navigation.
* Smooth scrolling.
* Scaling page content (50%...200%).
* Scaling factor for the UI (for arbitrary monitor DPI).
* Persistent app state — tabs and history are restored on next run.
|