Compare commits

..
Author SHA1 Message Date
makiolaj 16bfda49ef Add localized 22201 changelogs (#357) 2026-10-02 18:33:14 +02:00
makiolaj 34e35d9ad7 Release v2.22.1 changelog (#357) 2026-10-02 18:31:44 +02:00
makiolaj c5ed499cb0 Inline location links, harden link handling (#357) 2026-10-02 18:28:22 +02:00
makiolaj 630b8e2cd7 Open location links in the browser instead of maps (#357)
Bump to 2.22.1.
2026-10-02 18:18:23 +02:00
27 changed files with 4 additions and 144 deletions
-6
View File
@@ -7,11 +7,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased] ## [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 ## [2.22.1] — 2026-10-02
### Fixed ### Fixed
@@ -1828,4 +1823,3 @@ automatically, with zero telemetry and no internet permission.
[#331]: https://codeberg.org/jlmakiola/calendula/issues/331 [#331]: https://codeberg.org/jlmakiola/calendula/issues/331
[#336]: https://codeberg.org/jlmakiola/calendula/issues/336 [#336]: https://codeberg.org/jlmakiola/calendula/issues/336
[#357]: https://codeberg.org/jlmakiola/calendula/issues/357 [#357]: https://codeberg.org/jlmakiola/calendula/issues/357
[#359]: https://codeberg.org/jlmakiola/calendula/issues/359
+2 -2
View File
@@ -28,8 +28,8 @@ android {
// which builds this version and then creates the matching vX.Y.Z tag + // which builds this version and then creates the matching vX.Y.Z tag +
// release itself (versionCode is pinned to MAJOR*10000 + MINOR*100 + // release itself (versionCode is pinned to MAJOR*10000 + MINOR*100 +
// PATCH from versionName, e.g. 2.7.2 -> 20702). See docs/RELEASING.md. // PATCH from versionName, e.g. 2.7.2 -> 20702). See docs/RELEASING.md.
versionCode = 22202 versionCode = 22201
versionName = "2.22.2" versionName = "2.22.1"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
} }
+1 -1
View File
@@ -184,7 +184,7 @@ on every pull request:
| `images/icon.png` | 512×512, 32-bit PNG | | `images/icon.png` | 512×512, 32-bit PNG |
| `images/featureGraphic.png` | 1024×500, JPEG or 24-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 | | `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; the code must be one Play accepts (`nl-NL`, not `nl`) | | locale directories | exactly the ones in `fastlane/store-locales.txt`, which maps every app `values-*` to a Play locale code |
A locale without its own images falls back to en-US in both stores, so graphics 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 only need to exist there. Adding an app language means adding its line to
@@ -1,7 +0,0 @@
لم يصل الإصداران 2.22.0 و2.22.1 إلى Google Play، لذا هذا أول إصدار 2.22 هناك. التطبيق مطابق للإصدار 2.22.1.
• يتنقّل اليوم والأسبوع والشهر بمُنزلق يتبع إصبعك.
• يعرض العرض متعدد الأيام عدداً قابلاً للتخصيص من الأيام جنباً إلى جنب.
• الساعات المرئية: يملأ نطاق ساعات تختاره الشاشة.
• يبرز اليوم في شبكة الشهر.
• يُفتح الرابط في موقع الحدث في المتصفح.
@@ -1,7 +0,0 @@
Вэрсіі 2.22.0 і 2.22.1 не трапілі ў Google Play, таму гэта першая вэрсія 2.22 там. Праграма такая ж, як 2.22.1.
• Дзень, Тыдзень і Месяц перагортваюцца пэйджарам, які сочыць за пальцам.
• Шматдзённы выгляд паказвае наладжвальную колькасць дзён побач.
• Бачныя гадзіны: абраны дыяпазон гадзін запаўняе экран.
• Сёньня вылучаецца ў сетцы месяца.
• Спасылка ў месцы падзеі адкрываецца ў браўзеры.
@@ -1,7 +0,0 @@
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.
@@ -1,7 +0,0 @@
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.
@@ -1,7 +0,0 @@
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.
@@ -1,7 +0,0 @@
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.
@@ -1,7 +0,0 @@
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.
@@ -1,7 +0,0 @@
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.
@@ -1,7 +0,0 @@
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.
@@ -1,7 +0,0 @@
2.22.0と2.22.1はGoogle Playに配信されなかったため、これがGoogle Playでの最初の2.22です。アプリの内容は2.22.1と同じです。
• 日・週・月ビューが指に追従するページャーでめくれます。
• マルチデイビューで、設定可能な日数を横に並べて表示します。
• 表示時間帯: 選んだ時間の範囲が画面いっぱいに表示されます。
• 月表示で今日が目立ちます。
• 予定の場所にあるリンクはブラウザで開きます。
@@ -1,7 +0,0 @@
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.
@@ -1,7 +0,0 @@
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.
@@ -1,7 +0,0 @@
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.
@@ -1,7 +0,0 @@
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.
@@ -1,7 +0,0 @@
Версии 2.22.0 и 2.22.1 не попали в Google Play, поэтому это первая версия 2.22 там. Приложение то же, что и 2.22.1.
• День, Неделя и Месяц листаются пейджером, который следует за пальцем.
• Многодневный вид показывает настраиваемое число дней рядом друг с другом.
• Видимые часы: выбранный диапазон часов заполняет экран.
• Сегодня выделяется в сетке месяца.
• Ссылка в месте события открывается в браузере.
@@ -1,7 +0,0 @@
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.
@@ -1,7 +0,0 @@
2.22.0 和 2.22.1 未能发布到 Google Play,因此这是 Google Play 上的第一个 2.22 版本。应用内容与 2.22.1 相同。
• 日、周、月视图可以用跟手的分页手势滑动切换。
• 多日视图并排显示可自定义天数。
• 可见时段:选定的时间范围会铺满整个屏幕。
• “今天”在月视图网格中突出显示。
• 日程地点中的链接会在浏览器中打开。
+1 -1
View File
@@ -12,7 +12,7 @@ fr fr-FR
hu hu-HU hu hu-HU
it it-IT it it-IT
ja ja-JP ja ja-JP
nl nl-NL nl nl
pl pl-PL pl pl-PL
pt pt-PT pt pt-PT
pt-rBR pt-BR pt-rBR pt-BR
-15
View File
@@ -7,7 +7,6 @@ fail the upload after the release has shipped everywhere else.
- every locale directory is listed in fastlane/store-locales.txt, and every - every locale directory is listed in fastlane/store-locales.txt, and every
app language (res/values-*) has an entry there and a directory 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, - title / short / full description exist, are non-empty and within Play's caps,
and the full description isn't hard-wrapped and the full description isn't hard-wrapped
- icon: 512x512 32-bit PNG; featureGraphic: 1024x500 JPEG or 24-bit PNG - icon: 512x512 32-bit PNG; featureGraphic: 1024x500 JPEG or 24-bit PNG
@@ -30,16 +29,6 @@ SCREENSHOT_DIRS = {"phoneScreenshots", "sevenInchScreenshots", "tenInchScreensho
"tvScreenshots", "wearScreenshots"} "tvScreenshots", "wearScreenshots"}
IMAGE_EXTS = {".png", ".jpg", ".jpeg"} 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 = [] errors = []
@@ -91,10 +80,6 @@ def check_mapping():
for q in sorted(mapping.keys() - app_langs): for q in sorted(mapping.keys() - app_langs):
error(f"{rel(MAPPING)} maps '{q}' but the app has no values-{q}") 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()) stores = set(mapping.values())
dirs = {d.name for d in META.iterdir() if d.is_dir()} dirs = {d.name for d in META.iterdir() if d.is_dir()}
for d in sorted(dirs - stores): for d in sorted(dirs - stores):