Skip to content

Commit

Permalink
Merge pull request #5030 from getkirby/release/3.9.1
Browse files Browse the repository at this point in the history
3.9.1
  • Loading branch information
bastianallgeier authored Jan 31, 2023
2 parents 066b050 + 297ef5f commit 617a07a
Show file tree
Hide file tree
Showing 65 changed files with 783 additions and 472 deletions.
3 changes: 3 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,12 @@ jobs:
release_backend:
name: "Release: CI - Backend"
uses: ./.github/workflows/backend.yml
secrets: inherit
release_frontend:
name: "Release: CI - Frontend"
uses: ./.github/workflows/frontend.yml
secrets: inherit
release_integration:
name: "Release: CI - Integration"
uses: ./.github/workflows/integration.yml
secrets: inherit
20 changes: 9 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
[<img src="http://getkirby.com/assets/images/github/kirby.jpg" width="300">](https://getkirby.com)
[<img src="https://getkirby.com/assets/images/github/kirby.jpg" width="300">](https://getkirby.com)

[![Release](https://badgen.net/github/release/getkirby/kirby/stable?color=yellow)](https://github.com/getkirby/kirby/releases/latest)
[![CI Status](https://github.com/getkirby/kirby/workflows/CI/badge.svg)](https://github.com/getkirby/kirby/actions?query=workflow%3ACI)
[![Coverage Status](https://badgen.net/codecov/c/gh/getkirby/kirby/main?label=coverage)](https://codecov.io/gh/getkirby/kirby)
[![Downloads](https://badgen.net/packagist/dt/getkirby/cms?color=red)](https://github.com/getkirby/kirby/releases/latest)
[![Twitter](https://badgen.net/twitter/follow/getkirby?color=cyan)](https://twitter.com/getkirby)
[![Release](https://img.shields.io/github/v/release/getkirby/kirby)](https://github.com/getkirby/kirby/releases/latest)
[![CI Status](https://img.shields.io/github/actions/workflow/status/getkirby/kirby/ci.yml?branch=main&label=CI)](https://github.com/getkirby/kirby/actions?query=workflow%3ACI+branch%3Amain)
[![Coverage Status](https://img.shields.io/codecov/c/gh/getkirby/kirby?token=ROZ2RVA0OF)](https://codecov.io/gh/getkirby/kirby)
[![Downloads](https://img.shields.io/packagist/dt/getkirby/cms?color=red)](https://github.com/getkirby/kirby/releases/latest)

**Kirby: the CMS that adapts to any project, loved by developers and editors alike.**
With Kirby, you build your own ideal interface. Combine forms, galleries, articles, spreadsheets and more into an amazing editing experience. You can learn more about Kirby at [getkirby.com](https://getkirby.com).
Expand All @@ -14,7 +13,7 @@ This is Kirby's core application folder. Get started with one of the following r
- [Starterkit](https://github.com/getkirby/starterkit)
- [Plainkit](https://github.com/getkirby/plainkit)

<img src="http://getkirby.com/assets/images/github/kirby-screen.png" />
<img src="https://getkirby.com/assets/images/github/kirby-screen.png" />

### Try Kirby for free
Kirby is not free software. However, you can try Kirby and the Starterkit on your local machine or on a test server as long as you need to make sure it is the right tool for your next project. … and when you’re convinced, [buy your license](https://getkirby.com/buy).
Expand All @@ -30,8 +29,6 @@ If you have ideas for a feature or enhancement for Kirby, please use our [feedba
**Translations, bug fixes, code contributions ...**
Read about how to contribute to the development in our [contributing guide](/CONTRIBUTING.md).



## What's Kirby?
- **[getkirby.com](https://getkirby.com)** – Get to know the CMS.
- **[Try it](https://getkirby.com/try)** – Take a test ride with our online demo. Or download one of our kits to get started.
Expand All @@ -40,10 +37,11 @@ Read about how to contribute to the development in our [contributing guide](/CON
- **[Feedback](https://feedback.getkirby.com)** – You have an idea for Kirby? Share it.
- **[Forum](https://forum.getkirby.com)** – Whenever you get stuck, don't hesitate to reach out for questions and support.
- **[Discord](https://chat.getkirby.com)** – Hang out and meet the community.
- **[Twitter](https://twitter.com/getkirby)** – Spread the word.
- **[YouTube](https://youtube.com/kirbyCasts)** - Watch the latest video tutorials visually with Bastian.
- **[Mastodon](https://mastodon.social/@getkirby)** – Spread the word.
- **[Instagram](https://www.instagram.com/getkirby/)** – Share your creations: #madewithkirby.

---

© 2009-2022 Bastian Allgeier
© 2009-2023 Bastian Allgeier
[getkirby.com](https://getkirby.com) · [License agreement](https://getkirby.com/license)
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"description": "The Kirby 3 core",
"license": "proprietary",
"type": "kirby-cms",
"version": "3.9.0",
"version": "3.9.1",
"keywords": [
"kirby",
"cms",
Expand Down
2 changes: 1 addition & 1 deletion composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion config/api/routes/users.php
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@
$this->user($id)->avatar()?->delete();

return $this->upload(
function ($source, $filename) {
function ($source, $filename) use ($id) {
$props = [
'filename' => 'profile.' . F::extension($filename),
'template' => 'avatar',
Expand Down
2 changes: 1 addition & 1 deletion config/components.php
Original file line number Diff line number Diff line change
Expand Up @@ -280,7 +280,7 @@
* @param string|array $name Snippet name
* @param array $data Data array for the snippet
*/
'snippet' => function (App $kirby, string|array $name, array $data = [], bool $slots = false): Snippet|string {
'snippet' => function (App $kirby, string|array|null $name, array $data = [], bool $slots = false): Snippet|string {
return Snippet::factory($name, $data, $slots);
},

Expand Down
15 changes: 12 additions & 3 deletions dependencies/parsedown-extra/ParsedownExtra.php
Original file line number Diff line number Diff line change
Expand Up @@ -570,9 +570,18 @@ protected function processTag($elementMarkup) # recursive

$DOMDocument = new DOMDocument();

# http://stackoverflow.com/q/11309194/200145
$elementMarkup = htmlentities($elementMarkup);
$elementMarkup = htmlspecialchars_decode($elementMarkup);
// Migrating away from `mb_convert_encoding($elementMarkup,
//'HTML-ENTITIES', 'UTF-8');` has caused multibyte characters like
// emojis not to be converted into entities, which is needed so that
// the `DOM` extension can properly parse the markup.
// The following line works like this: It treats the input string
// as UTF-8 and converts every Unicode character with 8 or more bits
// (= character code starting at 128 or 0x80 up to the Unicode limit
// of 0x10ffff) to an entity; the third and fourth arguments for the
// map are not needed for our use case and are set to the default values
// (no offset and a full mask)
// [http://stackoverflow.com/q/11309194/200145]
$elementMarkup = mb_encode_numericentity($elementMarkup, [0x80, 0x10ffff, 0, 0xffffff], 'UTF-8');

# Ensure that saveHTML() is not remove new line characters. New lines will be split by this character.
$DOMDocument->formatOutput = true;
Expand Down
4 changes: 3 additions & 1 deletion i18n/translations/bg.json
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,8 @@
"error.blocks.min.singular": "You must add at least one block",
"error.blocks.validation": "There's an error on the \"{field}\" field in block {index} using the \"{fieldset}\" block type",

"error.cache.type.invalid": "Invalid cache type \"{type}\"",

"error.email.preset.notFound": "Email шаблонът \"{name}\" не може да бъде открит",

"error.field.converter.invalid": "Невалиден конвертор \"{converter}\"",
Expand Down Expand Up @@ -320,7 +322,7 @@
"installation.issues.headline": "Панелът не може да бъде инсталиран",
"installation.issues.mbstring": "Изисква се разширението <code>MB String</code>",
"installation.issues.media": "Папката <code>/media</code> не съществува или няма права за запис",
"installation.issues.php": "Бъдете сигурни, че използвате <code>PHP 7+</code>",
"installation.issues.php": "Бъдете сигурни, че използвате <code>PHP 8+</code>",
"installation.issues.server": "Kirby изисква <code>Apache</code>, <code>Nginx</code> или <code>Caddy</code>",
"installation.issues.sessions": "The <code>/site/sessions</code> folder does not exist or is not writable",

Expand Down
4 changes: 3 additions & 1 deletion i18n/translations/ca.json
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,8 @@
"error.blocks.min.singular": "You must add at least one block",
"error.blocks.validation": "There's an error on the \"{field}\" field in block {index} using the \"{fieldset}\" block type",

"error.cache.type.invalid": "Invalid cache type \"{type}\"",

"error.email.preset.notFound": "No es pot trobar la configuració de correu electrònic \"{name}\"",

"error.field.converter.invalid": "Convertidor no vàlid \"{converter}\"",
Expand Down Expand Up @@ -320,7 +322,7 @@
"installation.issues.headline": "El panell no es pot instal·lar",
"installation.issues.mbstring": "Es requereix l'extensió de <code>MB String</code>",
"installation.issues.media": "La carpeta <code>/media</code> no existeix o no es pot escriure",
"installation.issues.php": "Assegureu-vos d'utilitzar <code>PHP 7+</code>",
"installation.issues.php": "Assegureu-vos d'utilitzar <code>PHP 8+</code>",
"installation.issues.server": "Kirby requereix <code>Apache</code>, <code>Nginx</code> o <code>Caddy</code>",
"installation.issues.sessions": "La carpeta <code>/site/sessions</code> no existeix o no es pot escriure",

Expand Down
4 changes: 3 additions & 1 deletion i18n/translations/cs.json
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,8 @@
"error.blocks.min.singular": "Musíte přidat alespoň jeden blok",
"error.blocks.validation": "V poli \"{field}\" v bloku {index} je při použití \"{fieldset}\" typu chyba",

"error.cache.type.invalid": "Invalid cache type \"{type}\"",

"error.email.preset.notFound": "Nelze nalézt emailové přednastavení \"{name}\"",

"error.field.converter.invalid": "Neplatný konvertor \"{converter}\"",
Expand Down Expand Up @@ -320,7 +322,7 @@
"installation.issues.headline": "Panel nelze nainstalovat",
"installation.issues.mbstring": "Je vyžadováno rozšíření<code>MB String</code>",
"installation.issues.media": "Složka<code>/media</code> neexistuje, nebo nemá povolený zápis",
"installation.issues.php": "Ujistěte se, že používáte<code>PHP 7+</code>",
"installation.issues.php": "Ujistěte se, že používáte<code>PHP 8+</code>",
"installation.issues.server": "Kirby vyžaduje<code>Apache</code>, <code>Nginx</code> nebo<code>Caddy</code>",
"installation.issues.sessions": "Složka<code>/site/sessions</code> neexistuje, nebo nemá povolený zápis",

Expand Down
4 changes: 3 additions & 1 deletion i18n/translations/da.json
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,8 @@
"error.blocks.min.singular": "Du skal tilføje minimum een blok",
"error.blocks.validation": "There's an error on the \"{field}\" field in block {index} using the \"{fieldset}\" block type",

"error.cache.type.invalid": "Invalid cache type \"{type}\"",

"error.email.preset.notFound": "Email preset \"{name}\" findes ikke",

"error.field.converter.invalid": "Ugyldig converter \"{converter}\"",
Expand Down Expand Up @@ -320,7 +322,7 @@
"installation.issues.headline": "Panelet kan ikke installeres",
"installation.issues.mbstring": "<code>MB String</code> extension er påkrævet",
"installation.issues.media": "<code>/media</code> mappen eksisterer ikke eller er ikke skrivbar",
"installation.issues.php": "Sikre dig at der benyttes <code>PHP 7+</code>",
"installation.issues.php": "Sikre dig at der benyttes <code>PHP 8+</code>",
"installation.issues.server": "Kirby kræver <code>Apache</code>, <code>Nginx</code> eller <code>Caddy</code>",
"installation.issues.sessions": "/site/sessions mappen eksisterer ikke eller er ikke skrivbar",

Expand Down
4 changes: 3 additions & 1 deletion i18n/translations/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,8 @@
"error.blocks.min.singular": "Bitte füge mindestens einen Block hinzu",
"error.blocks.validation": "Fehler im \"{field}\" Feld in Block {index} mit dem Block Typ \"{fieldset}\"",

"error.cache.type.invalid": "Ungültiger Cachetyp: \"{type}\"",

"error.email.preset.notFound": "Die E-Mailvorlage \"{name}\" wurde nicht gefunden",

"error.field.converter.invalid": "Ungültiger Konverter: \"{converter}\"",
Expand Down Expand Up @@ -320,7 +322,7 @@
"installation.issues.headline": "Das Panel kann nicht installiert werden",
"installation.issues.mbstring": "Die <code>MB String</code> Erweiterung wird benötigt",
"installation.issues.media": "Der <code>/media</code> Ordner ist nicht beschreibbar",
"installation.issues.php": "Bitte verwende <code>PHP 7+</code>",
"installation.issues.php": "Bitte verwende <code>PHP 8+</code>",
"installation.issues.server": "Kirby benötigt <code>Apache</code>, <code>Nginx</code> or <code>Caddy</code>",
"installation.issues.sessions": "<code>/site/sessions</code> ist nicht beschreibbar",

Expand Down
4 changes: 3 additions & 1 deletion i18n/translations/el.json
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,8 @@
"error.blocks.min.singular": "You must add at least one block",
"error.blocks.validation": "There's an error on the \"{field}\" field in block {index} using the \"{fieldset}\" block type",

"error.cache.type.invalid": "Invalid cache type \"{type}\"",

"error.email.preset.notFound": "Δεν είναι δυνατή η εύρεση της προεπιλογής διεύθινσης ηλεκτρονικού ταχυδρομείου \"{name}\"",

"error.field.converter.invalid": "Μη έγκυρος μετατροπέας \"{converter}\"",
Expand Down Expand Up @@ -320,7 +322,7 @@
"installation.issues.headline": "Ο πίνακας ελέγχου δεν μπορεί να εγκατασταθεί",
"installation.issues.mbstring": "Απαιτείται η επέκταση <code>MB String</code> ",
"installation.issues.media": "Ο φάκελος <code>/media</code> δεν υπάρχει ή δεν είναι εγγράψιμος",
"installation.issues.php": "Βεβαιωθείτε ότι χρησιμοποιήτε <code>PHP 7+</code>",
"installation.issues.php": "Βεβαιωθείτε ότι χρησιμοποιήτε <code>PHP 8+</code>",
"installation.issues.server": "To Kirby απαιτεί <code>Apache</code>, <code>Nginx</code> ή <code>Caddy</code>",
"installation.issues.sessions": "Ο φάκελος <code>/site/sessions</code> δεν υπάρχει ή δεν είναι εγγράψιμος",

Expand Down
4 changes: 3 additions & 1 deletion i18n/translations/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,8 @@
"error.blocks.min.singular": "You must add at least one block",
"error.blocks.validation": "There's an error on the \"{field}\" field in block {index} using the \"{fieldset}\" block type",

"error.cache.type.invalid": "Invalid cache type \"{type}\"",

"error.email.preset.notFound": "The email preset \"{name}\" cannot be found",

"error.field.converter.invalid": "Invalid converter \"{converter}\"",
Expand Down Expand Up @@ -320,7 +322,7 @@
"installation.issues.headline": "The panel cannot be installed",
"installation.issues.mbstring": "The <code>MB String</code> extension is required",
"installation.issues.media": "The <code>/media</code> folder does not exist or is not writable",
"installation.issues.php": "Make sure to use <code>PHP 7+</code>",
"installation.issues.php": "Make sure to use <code>PHP 8+</code>",
"installation.issues.server": "Kirby requires <code>Apache</code>, <code>Nginx</code> or <code>Caddy</code>",
"installation.issues.sessions": "The <code>/site/sessions</code> folder does not exist or is not writable",

Expand Down
4 changes: 3 additions & 1 deletion i18n/translations/eo.json
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,8 @@
"error.blocks.min.singular": "Oni devas aldoni almenaŭ unu blokon",
"error.blocks.validation": "There's an error on the \"{field}\" field in block {index} using the \"{fieldset}\" block type",

"error.cache.type.invalid": "Invalid cache type \"{type}\"",

"error.email.preset.notFound": "La retpoŝta antaŭagordo \"{name}\" ne estas trovebla",

"error.field.converter.invalid": "Nevalida konvertilo \"{converter}\"",
Expand Down Expand Up @@ -320,7 +322,7 @@
"installation.issues.headline": "Ne eblas instali la panelon",
"installation.issues.mbstring": "La kromprogramo <code>MB String</code> estas deviga",
"installation.issues.media": "La dosierujo <code>/media</code> ne ekzistas, aũ ne estas skribebla",
"installation.issues.php": "Nepre uzu <code>PHP 7+</code>",
"installation.issues.php": "Nepre uzu <code>PHP 8+</code>",
"installation.issues.server": "Kirby bezonas <code>Apache</code>, <code>Nginx</code> aŭ <code>Caddy</code>",
"installation.issues.sessions": "La dosierujo <code>/site/sessions</code> ne ekzistas, aŭ ne estas skribebla",

Expand Down
Loading

0 comments on commit 617a07a

Please sign in to comment.