Improved
- Twig in page content can use the
guardtag to check that a function, filter or test exists before calling it #4341
Bugfix
- Folder settings in a
.envfile, such asGRAV_BACKUP_PATHandGRAV_TMP_PATH, now apply on hosts that turn off PHP'sputenv()for web requests, and no longer write an error to the log on every request #4344 - An SVG with only a viewBox now reports its real width and height, a viewBox separated by commas is understood, and a relative width such as
100%is no longer read as 100 pixels #4347 - A redirect with a status code followed by a query string, such as
/new[301]?a=1&b=2, is now sent with that status code and without the[301]in the address, instead of as a 302 to an address containing it #3320 #4343 - A page's group permissions now deny every letter after a
-up to the next+, so-c+r-ud, which the Admin saves for create, update and delete denied, no longer allows delete #4340 - Query parameters reach the Admin and API on web servers that rewrite to
index.phpwithout passing the query string on, such as an nginxtry_filesline missing?$query_string, so switching the editor to another language no longer loads the default language's page #4338 - A form field directive written in page frontmatter can now only check whether its Flex object exists; directives in blueprint files are unchanged
- The current page address no longer includes the visitor's HTTP Basic username and password when it is printed or turned into an array, and
Uri::user()andUri::password()are empty for the current request