diff --git a/templates/stackyard.xml b/templates/stackyard.xml index 67713ba2..582faaf2 100644 --- a/templates/stackyard.xml +++ b/templates/stackyard.xml @@ -24,55 +24,178 @@ If Stackyard is useful to you, you can buy me a coffee. https://buymeacoffee.com/sandobserver -### 1.15.0 - 2026-09-28 +### 1.16.0 - 2026-10-04 ### Added -- Add swatches and hue, saturation and brightness sliders to the Solid color - background. +- Add Allowed Addresses to Settings, General, to list extra host names + Stackyard answers on while no password is set. + +- Add a Type to Search switch to Settings, so typing on the dashboard can stop + opening search. ### Changed -- Restyle Settings to match iOS and iPadOS 27. +- Keep widget pages in the browser cache between dashboard loads, and check + translation files for changes instead of downloading them again in every + widget. + +- Make typing in search faster when folders match, and show the dashboard sooner + on slow connections by sending its start-up requests together. + +- Show the Clear app icon background as a checkerboard in the colour picker. -- Restyle the home screen and app icons to match iOS and iPadOS 27. +- Show numbers in the digits of the language chosen in Settings, such as Persian + digits for Persian, instead of the browser's region. -- Give widget cards the iOS 27 edge light and drop the uppercase widget - headings. +- Show the Shahanshahi date with its year on the clock in Persian. -- Redraw the logo as exact geometry in the favicon, the app icons and Settings. +- Draw the analog clock date at the same weight as the digital clock date. ### Fixed -- Admin error messages for badge tests and widget option fetches are translated - instead of always English. +- Translate the remaining English labels and hints in Settings, the colour + picker and the sign-in screen, and show failure reasons in the selected + language. + +- Show counts, totals, badge values and other numbers on the dashboard, in + widgets and in Settings in the reader's digits. + +- Mirror folder rows, the phone folder title and widget swipes in right-to-left + languages, and keep brackets around names in place. + +- Read Prometheus series whose label values contain spaces. + +- Say why an address check got no answer, such as a refused connection, an + unknown host or an invalid address, instead of a certificate warning. + +- Report a service that hangs up mid-reply at once, instead of as a timeout. + +- Answer an oversized icon upload or wallpaper link with an error instead of + dropping the connection. + +- Refuse a Settings save that would overwrite dashboard changes made in another + tab or on another device. + +- Keep both changes when two dashboard edits or two Appearance switches are + saved in quick succession. + +- Keep the last saved wallpaper when a wallpaper link fails, or when another + setting is saved before a new upload. + +- Stop a failed Unsplash key save from taking effect until the next config read. + +- Use a saved widget's or app's stored key, headers and parameters when its + Fetch button is pressed, and show the specific reason a Fetch failed. + +- Show the Settings load-failure message and Retry button when the config cannot + be read, readable in both themes. + +- Raise the contrast of text, badges, fields and icons in the light theme across + the dashboard, Settings, the sign-in screens and the DNS and Weather widgets. + +- Show Settings controls, selected items, keyboard-selected results and text + field edges in Windows high contrast mode. + +- Show focus rings on the search, header, poll interval and icon search fields, + the Cancel and Import buttons and the Settings sliders. + +- Keep keyboard focus in place when Settings redraws or edits an item, inside + the sign-in screen, and off switched-off sections of the item editor. + +- Name and announce Settings controls, Fetch and Test results, the current + section, group headings and folder app badges for screen readers. + +- Open widget links from the keyboard in the DNS, Weather, GitHub, VPN and + Backup widgets, and fix Enter on the Now Playing arrows and Books spines. + +- Fit Settings and the empty dashboard on narrow and short screens, at 400% zoom + and around the iPhone notch, and keep the Settings sidebar on screen. + +- Make folder page dots and badges that open a value list easier to tap. + +- Blur the background behind the Settings sign-in and set-password screens on + Safari 17. + +- Style the text field in the current password and New Folder dialogs like other + Settings fields. + +- Stop extra dashboard and widget refreshes after the tab is hidden, the + dashboard page is swiped or a phone rotates. + +- Mark badges and health as out of date when the dashboard is signed out, + instead of showing frozen values as current. + +- Stop the Connections map from adding another animation loop on every refresh + and resize. + +- Release the Pi-hole session when a DNS widget refresh fails, so repeated + failures no longer lock the widget out. + +- Show an error instead of stale or empty data when the GitHub, Books, Weather, + Backup or System Stats source fails, or a Backup job is deleted. + +- Make the widget template report failures as errors, so widgets copied from it + do not show them as empty data. + +- Show a disk that failed its SMART check as failed on Disk Health, instead of + as a warning. + +- Colour each System Stats value with its own slot colour, whatever the slot + order. + +- Show "Unknown timezone" on the clock when its timezone name is not recognised, + instead of a blank or stopped clock. + +- Show Persian and other joined-script dates correctly on the analog clock in + Safari. + +- Show an emoji initial on an app with no icon. + +- Open Settings when the browser blocks site storage. + +- Stop the container cleanly on `docker stop` instead of killing the dashboard + mid-shutdown. + +### Security + +- Stop a widget provider set to an inherited object name from returning saved + API keys. + +- Require the current password to change the password or turn off password + protection. + +- Keep sign-in on and refuse saves when the config file is damaged or cannot be + read, and show how to fix it. -- A failed badge test reports why the request failed instead of always blaming a - missing API path. +- Answer only IP addresses, local names and allowed addresses while no password + is set. Add each extra domain name in Settings, General, Allowed Addresses. -- Status and error messages in Settings use the full width of their row instead - of wrapping in a narrow strip. +- End the session on the server at sign-out, so a copied session cookie stops + working. -- A malformed background colour falls back to the default instead of painting an - unintended colour. +- End every session 30 days after sign-in, even while it is in use. -- Show a message in Settings when the Unsplash wallpaper cannot be loaded. +- Stop a crafted XML or Prometheus reply from a configured service from freezing + the API. -- Hide the empty page indicator on the connection error screen. +- Close health checks and refused redirects against a service that streams + without end, so they no longer pile up connections. -- Opening an app from search opens one tab, not two. +- Count the DNS lookup toward the time limit for addresses tested in Settings. -- Dashboard switch names are readable in the light theme. +- Keep malformed request bodies, such as a mistyped password, out of the server + log. -- Show the whole logo on the empty dashboard in the light theme. +- Stop requests for unknown widget ids from growing the API's memory. -- Fill the Android home screen icon to its edges instead of leaving transparent - corners. +- Refuse a Dashy or Homepage import file that expands to more than 5,000 + entries, instead of freezing the page. -- Turning off Allow Fullscreen on an iframe widget now stops the framed page - going fullscreen. +- Send a restrictive Content-Security-Policy on API responses. -- Open folders no longer wash out the wallpaper in the light theme. +- Apply the Compose file's capability, privilege and resource limits to the + Unraid template. 8700 /mnt/user/appdata/stackyard/data