diff --git a/CHANGELOG.md b/CHANGELOG.md index 54a45345..28fbd4f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [2.22.2] — 2026-10-02 + +### Fixed +- **2.22 reaches Google Play.** The Dutch store listing used the locale code `nl`, which Play rejects, so the Play uploads of 2.22.0 and 2.22.1 failed. It now uses `nl-NL`, and CI checks every store locale against the codes Play accepts. The app is unchanged from 2.22.1 ([#359]). + ## [2.22.1] — 2026-10-02 ### Fixed @@ -1823,3 +1828,4 @@ automatically, with zero telemetry and no internet permission. [#331]: https://codeberg.org/jlmakiola/calendula/issues/331 [#336]: https://codeberg.org/jlmakiola/calendula/issues/336 [#357]: https://codeberg.org/jlmakiola/calendula/issues/357 +[#359]: https://codeberg.org/jlmakiola/calendula/issues/359 diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 306f2d88..2e752eb7 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -28,8 +28,8 @@ android { // which builds this version and then creates the matching vX.Y.Z tag + // release itself (versionCode is pinned to MAJOR*10000 + MINOR*100 + // PATCH from versionName, e.g. 2.7.2 -> 20702). See docs/RELEASING.md. - versionCode = 22201 - versionName = "2.22.1" + versionCode = 22202 + versionName = "2.22.2" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } diff --git a/docs/RELEASING.md b/docs/RELEASING.md index 2b227dbd..2801ac76 100644 --- a/docs/RELEASING.md +++ b/docs/RELEASING.md @@ -184,7 +184,7 @@ on every pull request: | `images/icon.png` | 512×512, 32-bit PNG | | `images/featureGraphic.png` | 1024×500, JPEG or 24-bit PNG | | `images/*Screenshots/*` | JPEG or 24-bit PNG (no alpha), sides 320–3840, long edge ≤ 2× short, 2–8 per type | -| locale directories | exactly the ones in `fastlane/store-locales.txt`, which maps every app `values-*` to a Play locale code | +| locale directories | exactly the ones in `fastlane/store-locales.txt`, which maps every app `values-*` to a Play locale code; the code must be one Play accepts (`nl-NL`, not `nl`) | A locale without its own images falls back to en-US in both stores, so graphics only need to exist there. Adding an app language means adding its line to diff --git a/fastlane/metadata/android/ar/changelogs/22202.txt b/fastlane/metadata/android/ar/changelogs/22202.txt new file mode 100644 index 00000000..9234a6c1 --- /dev/null +++ b/fastlane/metadata/android/ar/changelogs/22202.txt @@ -0,0 +1,7 @@ +لم يصل الإصداران 2.22.0 و2.22.1 إلى Google Play، لذا هذا أول إصدار 2.22 هناك. التطبيق مطابق للإصدار 2.22.1. + +• يتنقّل اليوم والأسبوع والشهر بمُنزلق يتبع إصبعك. +• يعرض العرض متعدد الأيام عدداً قابلاً للتخصيص من الأيام جنباً إلى جنب. +• الساعات المرئية: يملأ نطاق ساعات تختاره الشاشة. +• يبرز اليوم في شبكة الشهر. +• يُفتح الرابط في موقع الحدث في المتصفح. diff --git a/fastlane/metadata/android/be/changelogs/22202.txt b/fastlane/metadata/android/be/changelogs/22202.txt new file mode 100644 index 00000000..61bbd344 --- /dev/null +++ b/fastlane/metadata/android/be/changelogs/22202.txt @@ -0,0 +1,7 @@ +Вэрсіі 2.22.0 і 2.22.1 не трапілі ў Google Play, таму гэта першая вэрсія 2.22 там. Праграма такая ж, як 2.22.1. + +• Дзень, Тыдзень і Месяц перагортваюцца пэйджарам, які сочыць за пальцам. +• Шматдзённы выгляд паказвае наладжвальную колькасць дзён побач. +• Бачныя гадзіны: абраны дыяпазон гадзін запаўняе экран. +• Сёньня вылучаецца ў сетцы месяца. +• Спасылка ў месцы падзеі адкрываецца ў браўзеры. diff --git a/fastlane/metadata/android/cs-CZ/changelogs/22202.txt b/fastlane/metadata/android/cs-CZ/changelogs/22202.txt new file mode 100644 index 00000000..8816fc98 --- /dev/null +++ b/fastlane/metadata/android/cs-CZ/changelogs/22202.txt @@ -0,0 +1,7 @@ +Verze 2.22.0 a 2.22.1 se na Google Play nedostaly, takže tohle je tam první verze 2.22. Aplikace je stejná jako 2.22.1. + +• Den, Týden a Měsíc listují stránkovačem, který sleduje prst. +• Vícedenní zobrazení ukazuje nastavitelný počet dní vedle sebe. +• Viditelné hodiny: zvolený rozsah hodin vyplní obrazovku. +• Dnes vyniká v mřížce měsíce. +• Odkaz v místě události se otevře v prohlížeči. diff --git a/fastlane/metadata/android/de-DE/changelogs/22202.txt b/fastlane/metadata/android/de-DE/changelogs/22202.txt new file mode 100644 index 00000000..ac131d56 --- /dev/null +++ b/fastlane/metadata/android/de-DE/changelogs/22202.txt @@ -0,0 +1,7 @@ +Google Play hat 2.22.0 und 2.22.1 verpasst, deshalb ist das dort die erste 2.22-Version. Die App ist dieselbe wie 2.22.1. + +• Tag, Woche und Monat lassen sich mit einem fingerfolgenden Pager wischen. +• Mehrtagesansicht: einstellbare Anzahl Tage nebeneinander. +• Sichtbare Stunden: ein gewählter Stundenbereich füllt den Bildschirm. +• Heute hebt sich im Monatsraster ab. +• Ein Link im Ort eines Termins öffnet sich im Browser. diff --git a/fastlane/metadata/android/en-US/changelogs/22202.txt b/fastlane/metadata/android/en-US/changelogs/22202.txt new file mode 100644 index 00000000..24fbb3cc --- /dev/null +++ b/fastlane/metadata/android/en-US/changelogs/22202.txt @@ -0,0 +1,7 @@ +Google Play missed 2.22.0 and 2.22.1, so this is the first 2.22 release there. The app is the same as 2.22.1. + +• Day, Week and Month follow your finger when you swipe between dates. +• A multi-day view shows a set number of days side by side. +• Visible hours fits the hours you choose to the screen. +• Today stands out in the month grid. +• A link in an event's location opens in the browser. diff --git a/fastlane/metadata/android/es-ES/changelogs/22202.txt b/fastlane/metadata/android/es-ES/changelogs/22202.txt new file mode 100644 index 00000000..98ad2f32 --- /dev/null +++ b/fastlane/metadata/android/es-ES/changelogs/22202.txt @@ -0,0 +1,7 @@ +2.22.0 y 2.22.1 no llegaron a Google Play, así que esta es la primera versión 2.22 allí. La app es la misma que 2.22.1. + +• Día, Semana y Mes se deslizan con un paginador que sigue tu dedo. +• Vista de varios días: muestra un número configurable de días uno junto a otro. +• Horas visibles: un rango de horas elegido llena la pantalla. +• Hoy destaca en la cuadrícula del mes. +• Un enlace en la ubicación de un evento se abre en el navegador. diff --git a/fastlane/metadata/android/fr-FR/changelogs/22202.txt b/fastlane/metadata/android/fr-FR/changelogs/22202.txt new file mode 100644 index 00000000..37023a77 --- /dev/null +++ b/fastlane/metadata/android/fr-FR/changelogs/22202.txt @@ -0,0 +1,7 @@ +Les versions 2.22.0 et 2.22.1 ne sont pas arrivées sur Google Play ; voici donc la première version 2.22 sur Play. L'app est identique à la 2.22.1. + +• Jour, Semaine et Mois défilent avec un pager qui suit le doigt. +• Vue multi-jours : affiche un nombre de jours réglable, côte à côte. +• Heures visibles : une plage d'heures choisie remplit l'écran. +• Aujourd'hui ressort dans la grille du mois. +• Un lien dans le lieu d'un événement s'ouvre dans le navigateur. diff --git a/fastlane/metadata/android/hu-HU/changelogs/22202.txt b/fastlane/metadata/android/hu-HU/changelogs/22202.txt new file mode 100644 index 00000000..f2641354 --- /dev/null +++ b/fastlane/metadata/android/hu-HU/changelogs/22202.txt @@ -0,0 +1,7 @@ +A 2.22.0 és a 2.22.1 nem jutott el a Google Playre, így ez az első 2.22-es verzió ott. Az alkalmazás ugyanaz, mint a 2.22.1. + +• A Nap, Hét és Hónap nézet ujjkövető lapozóval lapozható. +• A többnapos nézet beállítható számú napot jelenít meg egymás mellett. +• Látható órák: a kiválasztott óratartomány kitölti a képernyőt. +• A mai nap kiemelkedik a havi rácsban. +• Az esemény helyszínében lévő link a böngészőben nyílik meg. diff --git a/fastlane/metadata/android/it-IT/changelogs/22202.txt b/fastlane/metadata/android/it-IT/changelogs/22202.txt new file mode 100644 index 00000000..f6e4458f --- /dev/null +++ b/fastlane/metadata/android/it-IT/changelogs/22202.txt @@ -0,0 +1,7 @@ +Le versioni 2.22.0 e 2.22.1 non sono arrivate su Google Play, quindi questa è la prima versione 2.22 lì. L'app è la stessa della 2.22.1. + +• Giorno, Settimana e Mese scorrono con un pager che segue il dito. +• Vista multi-giorno: mostra un numero configurabile di giorni affiancati. +• Ore visibili: un intervallo di ore scelto riempie lo schermo. +• Oggi risalta nella griglia del mese. +• Un link nel luogo di un evento si apre nel browser. diff --git a/fastlane/metadata/android/ja-JP/changelogs/22202.txt b/fastlane/metadata/android/ja-JP/changelogs/22202.txt new file mode 100644 index 00000000..187482ad --- /dev/null +++ b/fastlane/metadata/android/ja-JP/changelogs/22202.txt @@ -0,0 +1,7 @@ +2.22.0と2.22.1はGoogle Playに配信されなかったため、これがGoogle Playでの最初の2.22です。アプリの内容は2.22.1と同じです。 + +• 日・週・月ビューが指に追従するページャーでめくれます。 +• マルチデイビューで、設定可能な日数を横に並べて表示します。 +• 表示時間帯: 選んだ時間の範囲が画面いっぱいに表示されます。 +• 月表示で今日が目立ちます。 +• 予定の場所にあるリンクはブラウザで開きます。 diff --git a/fastlane/metadata/android/nl/changelogs/22200.txt b/fastlane/metadata/android/nl-NL/changelogs/22200.txt similarity index 100% rename from fastlane/metadata/android/nl/changelogs/22200.txt rename to fastlane/metadata/android/nl-NL/changelogs/22200.txt diff --git a/fastlane/metadata/android/nl/changelogs/22201.txt b/fastlane/metadata/android/nl-NL/changelogs/22201.txt similarity index 100% rename from fastlane/metadata/android/nl/changelogs/22201.txt rename to fastlane/metadata/android/nl-NL/changelogs/22201.txt diff --git a/fastlane/metadata/android/nl-NL/changelogs/22202.txt b/fastlane/metadata/android/nl-NL/changelogs/22202.txt new file mode 100644 index 00000000..093599d7 --- /dev/null +++ b/fastlane/metadata/android/nl-NL/changelogs/22202.txt @@ -0,0 +1,7 @@ +2.22.0 en 2.22.1 zijn nooit op Google Play verschenen, dus dit is daar de eerste 2.22-versie. De app is gelijk aan 2.22.1. + +• Dag, Week en Maand blader je door met een pager die je vinger volgt. +• Een meerdaagse weergave toont een instelbaar aantal dagen naast elkaar. +• Zichtbare uren: een gekozen tijdsbereik vult het scherm. +• Vandaag valt op in het maandraster. +• Een link in de locatie van een afspraak opent in de browser. diff --git a/fastlane/metadata/android/nl/full_description.txt b/fastlane/metadata/android/nl-NL/full_description.txt similarity index 100% rename from fastlane/metadata/android/nl/full_description.txt rename to fastlane/metadata/android/nl-NL/full_description.txt diff --git a/fastlane/metadata/android/nl/short_description.txt b/fastlane/metadata/android/nl-NL/short_description.txt similarity index 100% rename from fastlane/metadata/android/nl/short_description.txt rename to fastlane/metadata/android/nl-NL/short_description.txt diff --git a/fastlane/metadata/android/nl/title.txt b/fastlane/metadata/android/nl-NL/title.txt similarity index 100% rename from fastlane/metadata/android/nl/title.txt rename to fastlane/metadata/android/nl-NL/title.txt diff --git a/fastlane/metadata/android/pl-PL/changelogs/22202.txt b/fastlane/metadata/android/pl-PL/changelogs/22202.txt new file mode 100644 index 00000000..ca940138 --- /dev/null +++ b/fastlane/metadata/android/pl-PL/changelogs/22202.txt @@ -0,0 +1,7 @@ +Wersje 2.22.0 i 2.22.1 nie trafiły do Google Play, więc to pierwsza wersja 2.22 w tym sklepie. Aplikacja jest taka sama jak 2.22.1. + +• Dzień, Tydzień i Miesiąc przewijają się pagerem, który podąża za palcem. +• Widok wielodniowy pokazuje ustawialną liczbę dni obok siebie. +• Widoczne godziny: wybrany zakres godzin wypełnia ekran. +• Dziś wyróżnia się w siatce miesiąca. +• Link w miejscu wydarzenia otwiera się w przeglądarce. diff --git a/fastlane/metadata/android/pt-BR/changelogs/22202.txt b/fastlane/metadata/android/pt-BR/changelogs/22202.txt new file mode 100644 index 00000000..d698d94f --- /dev/null +++ b/fastlane/metadata/android/pt-BR/changelogs/22202.txt @@ -0,0 +1,7 @@ +As versões 2.22.0 e 2.22.1 não chegaram ao Google Play, então esta é a primeira versão 2.22 lá. O app é o mesmo da 2.22.1. + +• Dia, Semana e Mês avançam com um pager que acompanha o dedo. +• Visualização de vários dias: mostra um número configurável de dias lado a lado. +• Horas visíveis: um intervalo de horas escolhido preenche a tela. +• Hoje se destaca na grade do mês. +• Um link no local de um evento abre no navegador. diff --git a/fastlane/metadata/android/pt-PT/changelogs/22202.txt b/fastlane/metadata/android/pt-PT/changelogs/22202.txt new file mode 100644 index 00000000..764f2c97 --- /dev/null +++ b/fastlane/metadata/android/pt-PT/changelogs/22202.txt @@ -0,0 +1,7 @@ +As versões 2.22.0 e 2.22.1 não chegaram ao Google Play, por isso esta é a primeira versão 2.22 lá. A app é a mesma da 2.22.1. + +• Dia, Semana e Mês deslizam com um pager que acompanha o dedo. +• Vista de vários dias: mostra um número configurável de dias lado a lado. +• Horas visíveis: um intervalo de horas escolhido preenche o ecrã. +• Hoje destaca-se na grelha do mês. +• Uma ligação no local de um evento abre no navegador. diff --git a/fastlane/metadata/android/ru-RU/changelogs/22202.txt b/fastlane/metadata/android/ru-RU/changelogs/22202.txt new file mode 100644 index 00000000..4507bf44 --- /dev/null +++ b/fastlane/metadata/android/ru-RU/changelogs/22202.txt @@ -0,0 +1,7 @@ +Версии 2.22.0 и 2.22.1 не попали в Google Play, поэтому это первая версия 2.22 там. Приложение то же, что и 2.22.1. + +• День, Неделя и Месяц листаются пейджером, который следует за пальцем. +• Многодневный вид показывает настраиваемое число дней рядом друг с другом. +• Видимые часы: выбранный диапазон часов заполняет экран. +• Сегодня выделяется в сетке месяца. +• Ссылка в месте события открывается в браузере. diff --git a/fastlane/metadata/android/sk/changelogs/22202.txt b/fastlane/metadata/android/sk/changelogs/22202.txt new file mode 100644 index 00000000..59e3aa78 --- /dev/null +++ b/fastlane/metadata/android/sk/changelogs/22202.txt @@ -0,0 +1,7 @@ +Verzie 2.22.0 a 2.22.1 sa na Google Play nedostali, takže toto je tam prvá verzia 2.22. Aplikácia je rovnaká ako 2.22.1. + +• Deň, Týždeň a Mesiac sa listujú stránkovačom, ktorý sleduje prst. +• Viacdňové zobrazenie ukazuje nastaviteľný počet dní vedľa seba. +• Viditeľné hodiny: zvolený rozsah hodín vyplní obrazovku. +• Dnešok vyniká v mriežke mesiaca. +• Odkaz v mieste udalosti sa otvorí v prehliadači. diff --git a/fastlane/metadata/android/zh-CN/changelogs/22202.txt b/fastlane/metadata/android/zh-CN/changelogs/22202.txt new file mode 100644 index 00000000..9f51429a --- /dev/null +++ b/fastlane/metadata/android/zh-CN/changelogs/22202.txt @@ -0,0 +1,7 @@ +2.22.0 和 2.22.1 未能发布到 Google Play,因此这是 Google Play 上的第一个 2.22 版本。应用内容与 2.22.1 相同。 + +• 日、周、月视图可以用跟手的分页手势滑动切换。 +• 多日视图并排显示可自定义天数。 +• 可见时段:选定的时间范围会铺满整个屏幕。 +• “今天”在月视图网格中突出显示。 +• 日程地点中的链接会在浏览器中打开。 diff --git a/fastlane/store-locales.txt b/fastlane/store-locales.txt index 370a09ea..0c084811 100644 --- a/fastlane/store-locales.txt +++ b/fastlane/store-locales.txt @@ -12,7 +12,7 @@ fr fr-FR hu hu-HU it it-IT ja ja-JP -nl nl +nl nl-NL pl pl-PL pt pt-PT pt-rBR pt-BR diff --git a/scripts/check_store_listing.py b/scripts/check_store_listing.py index 37d375d5..0d91a823 100644 --- a/scripts/check_store_listing.py +++ b/scripts/check_store_listing.py @@ -7,6 +7,7 @@ fail the upload after the release has shipped everywhere else. - every locale directory is listed in fastlane/store-locales.txt, and every app language (res/values-*) has an entry there and a directory + - every store code is a language Play accepts (supply's ALL_LANGUAGES) - title / short / full description exist, are non-empty and within Play's caps, and the full description isn't hard-wrapped - icon: 512x512 32-bit PNG; featureGraphic: 1024x500 JPEG or 24-bit PNG @@ -29,6 +30,16 @@ SCREENSHOT_DIRS = {"phoneScreenshots", "sevenInchScreenshots", "tenInchScreensho "tvScreenshots", "wearScreenshots"} IMAGE_EXTS = {".png", ".jpg", ".jpeg"} +# fastlane supply/lib/supply/languages.rb, with `_` back to `-`. +PLAY_LOCALES = set(""" +af am ar az-AZ be bg bn-BD ca cs-CZ da-DK de-DE el-GR en-AU en-CA en-GB en-IN +en-SG en-US en-ZA es-419 es-ES es-US et eu-ES fa fi-FI fil fr-CA fr-FR gl-ES +hi-IN hr hu-HU hy-AM id is-IS it-IT iw-IL ja-JP ka-GE km-KH kn-IN ko-KR ky-KG +lo-LA lt lv mk-MK ml-IN mn-MN mr-IN ms ms-MY my-MM ne-NP nl-NL no-NO pl-PL +pt-BR pt-PT rm ro ru-RU si-LK sk sl sr sv-SE sw ta-IN te-IN th tr-TR uk vi +zh-CN zh-HK zh-TW zu +""".split()) + errors = [] @@ -80,6 +91,10 @@ def check_mapping(): for q in sorted(mapping.keys() - app_langs): error(f"{rel(MAPPING)} maps '{q}' but the app has no values-{q}") + for q, store in sorted(mapping.items()): + if store not in PLAY_LOCALES: + error(f"{rel(MAPPING)} maps '{q}' to '{store}', which Play doesn't accept as a listing language") + stores = set(mapping.values()) dirs = {d.name for d in META.iterdir() if d.is_dir()} for d in sorted(dirs - stores):