v0.6.0
glanceapp/glancev0.6.0Sep 8, 2024by svilenmarkov
AI Summary
Introduced new widgets and customization options including Group, DNS stats, and branding controls.
Key Highlights
- New Group widget to combine multiple widgets
- New DNS stats widget for AdGuard Home and Pi-hole
- Branding customization with logo, favicon, and footer options
- Releases widget now supports Docker Hub and GitLab
- Page width customization and base URL support for reverse proxy
New Features
- Preconfigured pages documentation
- Group widget for aggregating widgets
- DNS stats widget for monitoring DNS providers
- Branding customization (logo, favicon, footer)
- Releases widget supports Docker Hub and GitLab sources
- Page width property (`slim` and `wide`)
- Page customization: hide desktop navigation and center vertically
- New `base-url` property for hosting behind a reverse proxy
- New `commits-limit` property for Repository widget
- New `new-tab` and `autofocus` properties for Search widget
- New `instance-url` and `custom-url` for Lobsters widget
- New `title-url` and `css-class` properties for all widgets
- New `check-url` for Monitor widget
- New `show-flairs` property for Reddit widget
- New `show-failing-only` property for Monitor widget
- New `single-line-titles` property for RSS widget
- Shorts removed by default in Videos widget
- Custom bangs now work without a query in Search widget
- Twitch avatars are now clickable
Full Release Notes
More information about each new widget and property can be found in the [configuration docs](https://github.com/glanceapp/glance/blob/main/docs/configuration.md).
## New
### Preconfigured pages
There's a [new document with a couple of example preconfigured pages](https://github.com/glanceapp/glance/blob/main/docs/preconfigured-pages.md) for those who are looking for inspiration or just want to copy-paste something without going through the effort of configuring entire pages from scratch. Pull requests are welcome if you'd like to share your page configs!
### Group widget

```yaml
- type: group
widgets:
- type: reddit
subreddit: gamingnews
show-thumbnails: true
- type: reddit
subreddit: games
show-thumbnails: true
- type: reddit
subreddit: pcgaming
show-thumbnails: true
```
Grouping widgets of any type is possible, not just reddit. It also works for both `small` and `full` columns! The only exception is that you can't have a group within a group, for those who were going to be cheeky and try that.
(thanks @VeryEvilHumna #169)
### DNS stats widget

Supports showing stats from both AdGuard Home and Pi-hole.
```yaml
- type: dns-stats
service: adguard
url: https://adguard.domain.com/
username: ...
password: ...
```
```yaml
- type: dns-stats
service: pihole
url: https://pihole.domain.com/
token: ...
```
### Branding customization
You can now change things such as the logo, favicon, footer, etc through the new top level `branding` property:
```yaml
branding:
# With support for HTML
custom-footer: |
<p>Powered by <a href="https://github.com/glanceapp/glance">Glance</a></p>
# Or remove the footer entirely
hide-footer: true
logo-url: /assets/logo.png
favicon-url: /assets/logo.png
```
(thanks @realdavidops #75)
### Releases widget now supports showing releases from Docker Hub and GitLab

To help distinguish the source of each repository, there is also a new `show-source-icon` property:
```yaml
- type: releases
show-source-icon: true
repositories:
- go-gitea/gitea
- jellyfin/jellyfin
- glanceapp/glance
- gitlab:fdroid/fdroidclient
- dockerhub:gotify/server
```
(thanks @bigsk1 #120 & @Fumesover #165)
### New customization properties for pages
You can now change the maximum width of pages with the new `width` property:
```yaml
- name: Startpage
width: slim
```
Possible options are `slim` and `wide`. The maximum width for each is:
* default: `1600px`
* slim: `1100px`
* wide: `1920px`
**Note that when set to `slim`, the maximum number of columns you can have goes down from 3 to 2.**
You can now hide the desktop navigation for individual pages, useful for creating minimalsitic pages:
```yaml
- name: Startpage
hide-desktop-navigation: true
```
You can now vertically center the content on the page:
```yaml
- name: Startpage
center-vertically: true
```
Combining all 3 properties can give you a pretty clean startpage:

_The config for this page is available in the [preconfigured pages doc](https://github.com/glanceapp/glance/blob/main/docs/preconfigured-pages.md)_.
### New `base-url` property under `server`
This allows you to host Glance behind a reverse proxy and under a path rather than having to give Glance its own subdomain:
```yaml
server:
base-url: /glance
```
Without `base-url`:
```
https://glance.yourdomain.com/
```
With `base-url` (assuming you have your reverse proxy setup correctly):
```
https://yourdomain.com/glance/
```
(thanks @fenying #125 & @CremaLuca #167)
### New `commits-limit` property for the Repository widget
Along with showing the latest issues and pull requests, you can also show the latest commits made to the main branch of a repository:
```yaml
- type: repository
commits-limit: 3
```
(thanks @aharivel #77)
### New `new-tab` and `autofocus` properties for the Search widget
```yaml
- type: search
# defaults to showing results in a new tab when pressing Enter and same tab when pressing Ctrl + Enter
new-tab: true
# Automatically focuses the search input on page load so you can start typing immediately
autofocus: true
```
(thanks @ralphocdol #137 & @tversteeg #170)
### New `instance-url` and `custom-url` properties for the Lobsters widget
```yaml
- type: lobsters
instance-url: # lobsters instance hosted somewhere other than https://lobste.rs/
custom-url: # custom URL to a lobsters instance that returns posts in JSON format
```
(thanks @bersace #129)
### New `title-url` and `css-class` properties for all widgets
You can now set links for widget titles:
```yaml
- type: calendar
title-url: https://calendar.google.com/calendar/u/0/r
- type: weather
title-url: # link to your favorite weather provider
```
Some widgets (`hacker-news`, `lobsters`, `reddit`, `twitch-channels` and `twitch-top-games`) have sensible URLs set by default, though they can be changed to whatever you like.
To help with styling specific widgets using custom CSS, you can now add your own CSS classes to individual widgets:
```yaml
- type: rss
css-class: my-custom-class-that-makes-links-glow
```
(thanks @DickenSerm #147)
### New `check-url` for the Monitor widget
```yaml
- type: monitor
sites:
- title: Jellyfin
# this is the URL that will open when you click on the title
url: https://jellyfin.yourdomain.com
# this is the URL that will be requested to determine the status
check-url: https://jellyfin.yourdomain.com/healthcheck
```
(thanks @MrExplode #154)
### New `show-flairs` property for the Reddit widget
When set to `true`, shows post flairs.
### New `show-failing-only` property for the Monitor widget
When set to `true` shows only the sites which were unreachable or returned an error response. Useful if you're monitoring a lot of sites and only want to look for issues.
```yaml
- type: monitor
show-failing-only: true
sites:
...
```
### New `single-line-titles` property for the RSS widget with default styling
When set to `true`, truncates titles if they are longer than a single line. Useful if you're using the RSS widget with default styling in a small column and are unreasonably annoyed by frequent orphans.
## Changed
### Removed `style: dynamic-columns-experimental` and made it the default behavior
You no longer need to specify the style in order to have the bookmarks, monitor and markets widgets scale in `full` sized columns.
(thanks @DVDAndroid)
### Shorts are now removed by default from the Videos widget
You can revert to showing them again using the new `include-shorts` property:
```yaml
- type: videos
include-shorts: true
channels:
...
```
(thanks @3rd #176 & @bigsk1 #106)
### You can now use custom bangs in the Search widget without a query
Before, if you had a custom bang that simply takes you to a link rather than perform a search, you couldn't use it unless you entered something after it:
```
doesn't work:
"!jellyfin"
works:
"!jellyfin 123"
```
This has now been changed and you can simply enter `"!jellyfin"` with nothing else and it will open the link for you.
(thanks @dracarys18 #163)
### Twitch avatars are now clickable
... and they open the channel in a new tab. Neat.
(thanks @DVDAndroid #172)
### RSS feeds without any items will no longer show an error
Before, if your RSS feeds didn't return any items you'd get a scary looking error message telling you no content could be fetched. This has now been changed for a more neutral message.
(thanks @DickenSerm #156)
## Fixes
* [Reddit widget] fixed crossposts so that they now show the subreddit of the original post in place of the link domain
* [RSS widget] fixed feeds without titles so that the descriptions are used instead (thanks @ssrtw #145)
* [RSS widget] fixed additional instances where the thumbnail wasn't showing when it should have
* [RSS widget] fixed a crash when items had an empty link (thanks @ccjjxl #197)
* [Releases widget] fixed instances where the version would include an extra `v` in the beginning (thanks @jbonadiman #202)
* [Twitch channels widget] fixed streams without a category showing incorrect live since (thanks @DVDAndroid #171)
## Notable community contributions
[DVDAndroid/glance-docker-container-ext](https://github.com/DVDAndroid/glance-docker-container-ext) - a Glance extension that shows the status of Docker containers:

## Milestones
Glance has surpassed 100,000 downloads on Docker Hub. I did not expect my little side project to grow this much in the span of a couple of months. Thank you so much to everyone who's helped by contributing or simply spreading the word.
## Sponsors
A special thank you to the people who have sponsored Glance:
* @bigsk1
* @rxlict
If you'd also like to sponsor the project you can do so [here](https://github.com/sponsors/glanceapp). Thank you!