Skip to content

Releases

v1.0.1 — the assistant on your own OpenAI key, reminders and recurring events

Choose a tag to compare

@tengosro tengosro released this 09 Nov 00:09

What's new:
• "Remind me tomorrow at 8 to call the bank" becomes a calendar event with a reminder, even when
it belongs to no project.
• A recurring event ("every Monday at 9 a meeting") is written into the calendar day by day;
when you don't say until when, the assistant usually asks.
• On your own server with an OpenAI key the assistant works with reasoning models too (e.g.
gpt-5.6-luna) without extra settings: a refused reasoning setting is retried with "none", then
without it, and what worked is remembered. Before, every turn ended with error 400.
• Drawing through OpenAI defaults to gpt-image-1-mini (many new keys no longer have gpt-image-1);
set KB_IMAGE_MODEL for another one. The error message no longer shows doubled braces.
• New guide in the docs: Your own OpenAI key — the assistant and drawing with one key, which
model to pick, what we measured and what to do when something fails.

Verified: 10 runs before × after with gpt-5.6-luna — reminder 3/10 → 10/10, recurring meeting
2/10 → 10/10, other tasks unchanged; no regression with another assistant model; targeted suites
ai-chat-openai-strict, ai-obrazky, proces-asistent, ai-chat, chat-rezimy, help index, i18n, en-first;
full regression (290 suites) green.

Upgrade note: no migration. If you added KB_CHAT_OPENAI_EXTRA with reasoning_effort none for
OpenAI, you can keep it (it takes precedence) or delete it. As always git pull and rebuild the image.

Česky

Novinky:
• „Připomeň mi zítra v 8 zavolat do banky“ asistent zapíše jako událost v kalendáři
s připomínkou, i když nepatří k žádnému projektu.
• Opakovanou událost („každé pondělí v 9 porada“) asistent rozepíše do kalendáře na jednotlivé
dny; když neřeknete, do kdy, obvykle se zeptá.
• Na vlastním serveru s klíčem OpenAI asistent funguje i s uvažujícími modely (třeba
gpt-5.6-luna) bez nastavování navíc: odmítnuté nastavení přemýšlení zopakuje s „none“, pak bez
něj, a co prošlo, si pamatuje. Dřív každý tah skončil chybou 400.
• Kreslení přes OpenAI má výchozí model gpt-image-1-mini (gpt-image-1 řada nových klíčů už nemá);
jiný nastavíte v KB_IMAGE_MODEL. Chybová hláška už neukazuje zdvojené závorky.
• Nový návod v dokumentaci: Vlastní klíč OpenAI — asistent i kreslení s jedním klíčem, jaký model
zvolit, co jsme naměřili a co dělat, když něco nejde.

Ověřeno: 10 běhů před × po s gpt-5.6-luna — připomínka 3/10 → 10/10, opakovaná porada
2/10 → 10/10, ostatní úkoly beze změny; s jiným modelem asistenta beze zhoršení; cílené sady
ai-chat-openai-strict, ai-obrazky, proces-asistent, ai-chat, chat-rezimy, nápověda, i18n, en-first;
plná regrese (290 sad) zelená.

Poznámka k upgradu: bez migrace. Kdo kvůli OpenAI přidal KB_CHAT_OPENAI_EXTRA s
reasoning_effort none, může ho nechat (má přednost), nebo smazat. Jako vždy git pull a přestavba image.

v1.0.0 — killBottleneck is open source under the MIT license; the beta is over, first stable release

Choose a tag to compare

@tengosro tengosro released this 07 Nov 11:11

What's new:
• MIT license: the whole product — server, web client, MCP server and the Windows app — is open
source from this version on. Download it, modify it, run it for yourself or for others, build on
it. Only the name and the logo stay with the authors (TRADEMARKS.md); a fork needs its own name.
• End of the beta: v1.0.0 is the first stable release. The update check offers it to everyone who
has not turned it off — including instances still on v0.33-beta that never got an offer. The
KB_UPDATE_PRERELEASE switch now means release candidates (-rc).
• English first: docker-compose.yml, .env.example and the Dockerfile are commented in English, new
code and logs are written in English, AGENTS.md describes the repository for people and AI
agents; a regression test keeps the amount of Czech in the code from growing. The documentation
stays in both English and Czech.
• Behaviour change — the fallback language is English: an account without a language and a
visitor who is not signed in (closed registration, a public map link) get English unless their
browser asks for Czech or Slovak. Existing accounts without a language get Czech from the
migration, so nothing changes for them; an account created through the API without a
language gets English server texts until its owner signs in through the web app (which stores
the browser's language, as before).
• The website and the About dialog say MIT; the commercial-license offer is gone. The v0.x
releases stay under the Sustainable Use License; the change is not retroactive.
• Six behaviour fixes from the feature analysis: "Delete selection" no longer loses anything (goals
assigned by others are skipped and counted), quick add in lite offers only writable projects, only
the owner can archive (everyone else gets a clear message), projects can be taken over before an
account is deleted and ownership transferred via the API, a deleted account's address is removed
from the sharing of every map, an agent over MCP can rename a project (update_map, 35 tools).

Verified: the full regression suite green; new suites en-first (the latch), upgrade-jazyk
(an account without a language before/after the upgrade, mutation-checked), upgrade-stara-verze
(a jump from v0.33-beta and v0.65-beta straight to v1.0.0: migrations, sign-in, data, writes),
mapa-vlastnictvi (archiving, transfer, share cleanup after account deletion) and
ui-lite-prava-projektu; two panels of four review agents with the findings fixed.

Upgrade notes: one data migration (filling in the account language). Behaviour change for scripts: a
PATCH of archived by a non-owner returns 400 instead of a silent 200; a PATCH of owner by the owner
derives owner_email and the share lists. If you jump from a very old
version, read the upgrade notes of the versions in between (above all the removal of standalone
task items in v0.34). As always: git pull and rebuild the image; back up first.

Česky

Novinky:
• Licence MIT: celý produkt — server, webový klient, MCP server i aplikace pro Windows — je od
této verze open source. Stáhněte, upravte, provozujte pro sebe i pro druhé, stavte na něm.
Autorům zůstává jen jméno a logo (TRADEMARKS.md); fork potřebuje vlastní jméno.
• Konec bety: v1.0.0 je první stabilní vydání. Kontrola nové verze ji nabídne každému, kdo ji
nemá vypnutou — i instancím, které jedou na v0.33-beta a nikdy nic nedostaly. Přepínač
KB_UPDATE_PRERELEASE od teď znamená kandidáty vydání (-rc).
• Angličtina napřed: docker-compose.yml, .env.example a Dockerfile jsou komentované anglicky,
nový kód a logy se píšou anglicky, AGENTS.md popisuje repozitář lidem i AI agentům; regresní
test hlídá, že češtiny v kódu nepřibývá. Dokumentace zůstává česky i anglicky.
• Změna chování — záložní jazyk je angličtina: účet bez nastaveného jazyka a nepřihlášený
návštěvník (zavřená registrace, veřejný odkaz na mapu) dostane angličtinu, pokud jeho prohlížeč
nechce češtinu nebo slovenštinu. Stávajícím účtům bez jazyka migrace doplní češtinu, takže se
jim nic nemění; účet založený přes API bez jazyka má anglické serverové texty, dokud se jeho majitel nepřihlásí ve webové aplikaci (ta mu uloží jazyk prohlížeče jako dřív).
• Web killbottleneck.com/.cz a dialog O aplikaci říkají MIT; nabídka komerční licence zaniká.
Vydání v0.x zůstávají pod Sustainable Use License, změna není zpětná.
• Šest oprav chování z analýzy funkcí: „Smazat výběr“ už nic neztratí (cizí zadání přeskočí a
řekne kolik), rychlý zápis v lite nabízí jen zapisovatelné projekty, archivovat smí jen vlastník
(ostatním srozumitelná zpráva), před smazáním účtu jde převzít jeho projekty a vlastnictví
předat přes API, po smazání účtu zmizí jeho adresa ze sdílení všech map, agent přes MCP umí
přejmenovat projekt (update_map, 35 nástrojů).

Ověřeno: plná regrese všech sad zelená; nové sady en-first (západka), upgrade-jazyk (účet bez
jazyka před/po upgradu, mutačně ověřeno), upgrade-stara-verze (skok z v0.33-beta a v0.65-beta
rovnou na v1.0.0: migrace, přihlášení, data, zápis), mapa-vlastnictvi (archivace, převod, úklid
sdílení po smazání účtu) a ui-lite-prava-projektu; dva panely čtyř kontrolních agentů s opravami.

Poznámka k upgradu: jedna datová migrace (doplnění jazyka účtům). Změna chování pro skripty: PATCH
pole archived nevlastníkem vrací 400 místo tiché 200; PATCH pole owner vlastníkem dopočítá
owner_email a sdílení. Kdo skáče z hodně staré verze,
ať si přečte poznámky k upgradu verzí mezi tím (zejména zánik samostatných úkolových položek od
v0.34). Jako vždy git pull a přestavba image; záloha předem.

v0.101-beta — License housekeeping from the third code review: KB Sans fonts, template authors credited, licenses in the app

Choose a tag to compare

@tengosro tengosro released this 06 Nov 10:49

What's new:
• Licenses are available right in the app: the About dialog links to the Sustainable Use License and to
the third-party license list that ships with every instance (/LICENSE.txt, /THIRD-PARTY-LICENSES.txt) —
also from the Android app.
• The Business Model Canvas and Lean Canvas templates credit the framework authors (Osterwalder, Maurya)
and describe the Lean Canvas blocks in our own words; existing instances get the new texts, a template
edited by an admin is left alone.
• The PDF fonts (invoices, Office, PDF text fixes) are now called KB Sans and KB Serif — Latin subsets of
Liberation, which under the OFL must not carry the original name; documents look exactly the same.
• The third-party license list is regenerated: dual-licensed libraries state the option we use and the
GPL text is no longer reproduced; the generator rejects any copyleft combination. The About text says
precisely what the license allows.
• The MCP package killbottleneck-mcp 0.101.0 knows the generate_image tool (34 tools).

Verified: full regression of all 284 suites green; 3 new suites (licence-soubory 33/33, licence-instance 8/8,
upgrade-canvas-texty 9/9 from v0.99 including an admin-edited template kept) — each red before this
wave; a panel of four review agents with their findings fixed.

Upgrade note: one data migration (texts of two system templates). As always: git pull and rebuild the
image. The MCP package is published to npm separately.

Česky

Novinky:
• Licence najdete přímo v aplikaci: dialog O aplikaci odkazuje na Sustainable Use License i na seznam
licencí třetích stran, které jedou s každou instancí (/LICENSE.txt, /THIRD-PARTY-LICENSES.txt) — i z
Android aplikace.
• Šablony Business Model Canvas a Lean Canvas uvádějí autory rámce (Osterwalder, Maurya) a bloky Lean
Canvasu popisují vlastními slovy; na existujících instancích se texty obnoví, šablona upravená
správcem zůstane.
• Písma pro PDF (faktury, Kancelář, opravy textu v PDF) se jmenují KB Sans a KB Serif — jsou to latinské
podmnožiny Liberation, které podle licence OFL nesmí nést původní jméno; dokumenty vypadají stejně.
• Seznam licencí třetích stran je přegenerovaný: duálně licencované knihovny mají uvedenou zvolenou
stranu, text GPL se už nepřikládá; generátor nepustí kombinaci s copyleftem. Popis v O aplikaci říká
přesně, co licence dovoluje.
• MCP balíček killbottleneck-mcp 0.101.0 zná nástroj generate_image (34 nástrojů).

Ověřeno: plná regrese všech 284 sad zelená; 3 nové sady (licence-soubory 33/33, licence-instance 8/8,
upgrade-canvas-texty 9/9 z v0.99 včetně zachování úprav správce) — každá červená před vlnou; panel
čtyř kontrolních agentů s opravami nálezů.

Poznámka k upgradu: jedna datová migrace (texty dvou systémových šablon). Jako vždy git pull a
přestavba image. Balíček MCP na npm se publikuje zvlášť.

v0.99-beta — Fixes from the third code review: reliable backups, assistant, calendars and My Day

Choose a tag to compare

@tengosro tengosro released this 05 Nov 14:35

What's new:
• Backups are consistent while the instance runs: backup.sh snapshots the database instead of packing
live files (under load some archives used to be silently broken) and restore refuses a damaged archive
before stopping anything.
• The assistant survives reading large maps: only what the model really receives is stored in the
conversation, so the fourth read of a map no longer kills the chat and your message (voice note,
photo) is not lost. If saving fails, the app says so honestly.
• Calendars "for selected people only" can be assigned again — the member list in Organization settings
had been empty since v0.83.
• The "Today / This week" chip in My Day shows the same tasks as the list after you click it; the manual
filter on the Tasks page is therefore called "In 2–7 days" (today and tomorrow have their own chips).
The timeline keeps week 53 of 2026 in one block and a node's own plan moves the start of its bar.
• Events in an archived calendar can no longer be edited or deleted (just like creating them) —
unarchive the calendar first.
• Minor: "today" without a browser date uses the instance time zone; the new-version bell does not repeat
after a month; invited users get the invitation's or inviter's language; MCP via a customer's own
domain answers with the address the client used; the MCP package knows the offer_assistant action.

Verified: full regression of 274 suites green (2 suites needing a live box/Discord skipped as always); 12 new suites (chat-velka-mapa 30/30, kalendar-archiv-zapis
22/22, backup-konzistence 34/34, backup-skript 26/26, ui-kalendar-vybrani 20/20, ui-myday-horizont 15/15,
horizont-parity 200/200 matches with the server, klic-tydne, nova-verze-prune, my-day-den-instance,
vlastni-domena-mcp, pozvanka-jazyk) — each red on v0.98-beta; a panel of four review agents with their
findings fixed.

Upgrade note: no migration. The image now ships sqlite3 (+2.8 MB) for backup snapshots — rebuild once
after updating (git pull && docker compose up -d --build); an older image stops a running-instance backup
with a clear message instead of a silently broken archive. Behaviour change: events in an archived
calendar are read-only.

Česky

Novinky:
• Záloha je konzistentní i za běhu instance: backup.sh si udělá snímek databáze místo balení živých
souborů (při zátěži byla dřív část archivů tiše vadná) a obnova vadný archiv odmítne dřív, než cokoli
zastaví.
• Asistent přežije čtení velkých map: do rozhovoru se ukládá jen to, co model opravdu dostane, takže
čtvrté přečtení mapy už rozhovor nezabije a vaše zpráva (hlasovka, fotka) se neztratí. Když se uložení
nepovede, aplikace to poctivě řekne.
• Kalendář „jen pro vybrané" jde zase přidělit lidem — seznam členů ve Správě organizace byl od v0.83
vždy prázdný.
• Čip „Dnes / Do týdne" v Mém dni ukazuje stejné úkoly jako seznam po kliknutí; ruční filtr na Úkolech
se proto jmenuje „Za 2–7 dní" (dnešek a zítřek mají vlastní čipy). Časová osa nerozděluje 53. týden
roku 2026 na dva a plán uzlu posouvá začátek jeho pruhu.
• Události v archivovaném kalendáři už nejdou upravit ani smazat (stejně jako založit) — nejdřív
kalendář odarchivujte.
• Drobné: „dnes" bez údaje z prohlížeče se počítá v časovém pásmu instance; zvoneček o nové verzi se
po měsíci neopakuje; pozvaný dostane jazyk pozvánky nebo zvoucího; MCP přes vlastní doménu zákazníka
odpovídá adresou, kterou klient použil; balíček MCP zná akci offer_assistant.

Ověřeno: plná regrese 274 sad zelená (2 vynechané sady s živým boxem/Discordem jako vždy); 12 nových sad (chat-velka-mapa 30/30, kalendar-archiv-zapis 22/22,
backup-konzistence 34/34, backup-skript 26/26, ui-kalendar-vybrani 20/20, ui-myday-horizont 15/15,
horizont-parity 200/200 shod se serverem, klic-tydne, nova-verze-prune, my-day-den-instance,
vlastni-domena-mcp, pozvanka-jazyk) — každá červená na v0.98-beta; panel čtyř kontrolních agentů
s opravami nálezů.

Poznámka k upgradu: žádná migrace. Image nově obsahuje sqlite3 (+2,8 MB) pro snímky zálohy — po
aktualizaci jednou přestavte image (git pull && docker compose up -d --build); starý image zálohu za běhu
zastaví s jasnou hláškou místo tiše vadného archivu. Změna chování: události v archivovaném kalendáři
jsou jen ke čtení.

v0.100-beta — Pictures drawn by the assistant

Choose a tag to compare

@tengosro tengosro released this 05 Nov 17:06

What's new:
• The assistant can draw: write "draw an illustration…" or "make an e-mail banner…" and a picture appears under the reply, ready to download or redraw.
• Office has a new Pictures tab: New image without a chat (seven styles, Painting by default), a viewer and pinning forever; unused pictures are cleaned up after 90 days.
• Presentations, cards, invitations and posters from Office get a picture on their own, and assistant Pages can carry up to three illustrations.
• The daily summary can also come by e-mail, with the picture of the day as its header — turn it on in Notifications.
• On your own server, connect your picture service via the OpenAI Images API (KB_IMAGE_PROVIDER=openai); without it, drawing does not show up at all.

Verified: full regression 281/281 suites (the only red one was a hard-coded MCP tool count in a test, fixed), ai-obrazky 139/0, ui-obrazky-prohlizec 75/0, ui-kancelar-obrazky 26/0, ui-ai-obrazky 15/0, sumar-email 23/0, ai-stranky 107/0, mcp-http 61/0; mutation checks 9/9 caught. Not verified: manual click-test, the OpenAI Images API with a real key (tested against a stand-in only), delivery of the summary e-mail to Outlook.

Upgrade note: migrations run on start. Drawing stays off until you connect a picture service (KB_IMAGE_* in .env, see .env.example and the Pictures guide).

Česky

Novinky:
• Asistent umí kreslit: napište „nakresli ilustraci…“ nebo „udělej banner do e-mailu…“ a pod odpovědí se objeví obrázek ke stažení nebo k nakreslení znovu.
• V Kanceláři přibyla záložka Obrázky: Nový obrázek bez rozhovoru (sedm stylů, výchozí Malba), prohlížeč a připíchnutí natrvalo; nepoužité obrázky se po 90 dnech samy uklidí.
• Prezentace, přání, pozvánky i plakáty z Kanceláře dostanou obrázek samy a Stránky asistenta umí až tři ilustrace.
• Denní sumář může chodit i e-mailem, s obrázkem dne v záhlaví — zapnete si ho v Notifikacích.
• Na vlastním serveru připojíte svou službu obrázků přes OpenAI Images API (KB_IMAGE_PROVIDER=openai); bez nastavení se kreslení vůbec neukáže.

Ověřeno: plná regrese 281/281 sad (jediná červená = pevný počet nástrojů MCP v testu, opraveno), ai-obrazky 139/0, ui-obrazky-prohlizec 75/0, ui-kancelar-obrazky 26/0, ui-ai-obrazky 15/0, sumar-email 23/0, ai-stranky 107/0, mcp-http 61/0, brana-obrazky 32/0; mutační důkazy 9/9 chyceny; dvě kontroly panelem /checkup s opravami. Neověřeno: klik-test Richardem (vydáno na jeho pokyn bez něj), OpenAI Images API se skutečným klíčem (jen proti podvržené službě), doručení sumáře e-mailem do Outlooku.

Poznámka k upgradu: migrace proběhnou samy při startu. Kreslení je vypnuté, dokud nepřipojíte službu obrázků (KB_IMAGE_* v .env, viz .env.example a návod Obrázky od asistenta).

v0.98-beta — A different skin every day and clearer Organization settings

Choose a tag to compare

@tengosro tengosro released this 03 Nov 11:24

What's new:
• A different skin every day: switch it on in the Appearance dialog and the built-in skins rotate on their own —
the same one on all your devices, the next one at midnight. Light or dark mode stays your choice. Also in the
simplified view and via the assistant ("change my look every day").
• Clearer Organization settings: six tabs with a tab list instead of one long page — People, Organization and look,
Structure and deputies, Shared calendars, Subscription and invoices (just Invoices on a self-hosted server), AI.
The arrow keys switch tabs too, and a link to a tab survives a page reload.
• The people table has 7 columns instead of 9; password reset and account deletion sit in the ⋯ menu at the end of
the row, and on a phone everyone gets a card. Nothing was removed and permissions are unchanged.

Verified: full regression of 261 suites, all green; new suites ui-sprava-oddily 52/52 (tabs, keyboard,
phone, structure manager, old links), ui-skins 65/65 (rotation, faked date, crossing midnight and waking the computer,
mutation check), upgrade-skin-rotace 7/7 (v0.97-beta data → new version on the same volume); a panel of four review
agents with the findings fixed; click-test by Richard.

Upgrade note: migration 1793260418 adds the field skin_rotace to accounts (off by default) and runs automatically on
start; no new variables. The old links /admin/users#ai and ?fakturace=1 keep working. The Android app offers the
rotation after its next update.

Česky

Novinky:
• Každý den jiný skin: v dialogu Vzhled zapnete přepínač a vestavěné skiny se střídají samy — na všech vašich
zařízeních stejný, o půlnoci další. Světlý nebo tmavý režim zůstává podle vás. Jde to i v jednoduchém zobrazení
a přes asistenta („měň mi vzhled každý den“).
• Přehlednější Správa organizace: místo jedné dlouhé stránky šest oddílů s rozcestníkem — Lidé, Organizace a vzhled,
Struktura a zástupci, Sdílené kalendáře, Předplatné a faktury (na vlastním serveru jen Faktury), AI. Mezi oddíly
se dá přepínat i šipkami a odkaz na oddíl přežije obnovení stránky.
• Tabulka lidí má 7 sloupců místo 9; obnova hesla a smazání účtu jsou v menu ⋯ na konci řádku a na telefonu má
každý člověk vlastní kartu. Nic neubylo a oprávnění se nemění.

Ověřeno: plná regrese 261 sad, všechny zelené; nové sady ui-sprava-oddily 52/52 (oddíly, klávesnice, telefon,
správce struktury, staré odkazy), ui-skins 65/65 (rotace, podvržené datum, přechod přes půlnoc i probuzení počítače,
mutační kontrola), upgrade-skin-rotace 7/7 (data z v0.97-beta → nová verze nad týmž svazkem); panel čtyř kontrolních
agentů s opravami nálezů; klik-test Richardem.

Poznámka k upgradu: migrace 1793260418 přidá účtům pole skin_rotace (výchozí vypnuto) a proběhne sama při startu;
žádné nové proměnné. Staré odkazy /admin/users#ai a ?fakturace=1 fungují dál. Aplikace pro Android nabídne rotaci
až po své příští aktualizaci.

v0.97-beta — Security update: PocketBase 0.39.11, sign-in rate limiting and five hardening fixes

Choose a tag to compare

@tengosro tengosro released this 02 Nov 23:35

What's new:
• Server core PocketBase 0.39.6 → 0.39.11: fixes a publicly known bug (GHSA-84vh-m24q-wjjx) where a crafted request could
crash the server. Self-hosters: please upgrade soon (git pull && docker compose up -d --build).
• Sign-in has a brake: after 20 wrong attempts within a minute from the same address the server refuses further ones
for a moment (record creation 20 / 5 s; 300 API requests / 10 s per address) — password guessing can no longer run forever.
• The own-AI-server address check can no longer be fooled by a specially formed address — it checks exactly where the server will connect.
• After posting, a comment's author and map can no longer be changed through the API — only the text.
• Changing or resetting a password (also through "Forgotten password") revokes the account's API keys and connected AI
agents — a key issued before the change stops working, connect the agent again.
• The legacy uploads collection (unused by the app; node attachments live in node_files) is closed: not readable
without signing in and nothing new can be uploaded into it.
• Base image Alpine 3.22; the PocketBase download is checksum-verified at build time.

Verified: full regression 259 suites / 259 OK (2 Office suites first failed on missing packages in the test environment, 51/0 and 55/0 after install); audit-vlna0 suite 30/0 (21/9 on v0.94 — fails exactly on the
brake, comments, keys after password change and reset, uploads); hosted-guards 63/0 (59/4 on v0.94); volume upgrade from
v0.94 data (map and existing shares readable, API key works, uploads locked); heavy suites with the brake on: ui-relax 141/0, ai-chat-funkce 127/0, sdileni-pozvanka 67/0, kalendare 174/0, ai-balicky 155/0; trial instance with the brake on: registration and sign-in pass.

Upgrade note: migration 1791700000 (uploads collection) runs automatically on start, once. Rate limiting is on by
default. Behind a reverse proxy (Caddy, nginx — see the HTTPS guide) add KB_TRUSTED_PROXY_HEADER=X-Forwarded-For to
.env, otherwise the whole company counts as one client; KB_RATE_LIMITS=0 turns it off. No data changes.

Česky

Novinky:
• Serverové jádro PocketBase 0.39.6 → 0.39.11: opravuje veřejně známou chybu (GHSA-84vh-m24q-wjjx), kdy šel server
shodit speciálně sestaveným požadavkem. Self-host: aktualizujte prosím co nejdřív (git pull && docker compose up -d --build).
• Přihlášení má brzdu: po 20 špatných pokusech za minutu ze stejné adresy server chvíli odmítá další (zakládání záznamů
20 / 5 s, 300 požadavků na API / 10 s na adresu) — hádání hesla už nejde zkoušet donekonečna.
• Kontrola adresy vlastního AI serveru už nejde obelstít speciálně zapsanou adresou — ověřuje přesně to, kam se server připojí.
• U komentáře už po odeslání nejde přes API změnit autora ani mapu, jen text.
• Změna nebo reset hesla (i přes „Zapomenuté heslo“) zruší API klíče a připojené AI agenty účtu — klíč vydaný před změnou
dál nefunguje, agenta připojíte znovu.
• Stará kolekce uploads (aplikace ji nepoužívá, přílohy uzlů jsou v node_files) je zavřená: bez přihlášení nejde číst
a nic nového do ní nejde nahrát.
• Základní obraz Alpine 3.22, stažení PocketBase se při sestavení ověřuje kontrolním součtem.

Ověřeno: plná regrese 259 sad / 259 OK (2 sady Kanceláře napoprvé spadly na chybějících balíčcích testovacího prostředí, po doinstalaci 51/0 a 55/0); sada audit-vlna0 30/0 (nad v0.94 21/9 — padá přesně brzda, komentáře,
klíče po změně i resetu hesla, uploads); hosted-guards 63/0 (nad v0.94 59/4); upgrade přes volume z dat v0.94 (mapa i
existující sdílení čtou, API klíč funguje, uploads zamčené); těžké sady s brzdou zapnutou: ui-relax 141/0, ai-chat-funkce 127/0, sdileni-pozvanka 67/0, kalendare 174/0, ai-balicky 155/0; zkušebka s brzdou zapnutou: registrace i přihlášení projdou.

Poznámka k upgradu: migrace 1791700000 (kolekce uploads) proběhne sama při startu, jen jednou. Brzda je zapnutá
ve výchozím stavu. Za reverzní proxy (Caddy, nginx — návod HTTPS) přidejte do .env
KB_TRUSTED_PROXY_HEADER=X-Forwarded-For, jinak se celá firma počítá jako jeden klient; KB_RATE_LIMITS=0 brzdu vypne.
Žádná změna dat.

v0.96-beta — Office in the assistant: presentations, cards and invitations as files, every document to PDF and Word

Choose a tag to compare

@tengosro tengosro released this 02 Nov 21:00

What's new:
• Office: the briefcase icon in the assistant header opens a panel with the tabs Documents, Pages and PDF (the PDF
tools moved here). The New button offers a presentation, greeting card, invitation, poster, thank-you, e-mail,
meeting points, note, summary or invoice — fill in a few fields and the assistant prepares it. The same form
opens from the "Presentation, card, invitation" helper in AI helpers.
• A project presentation to download as PowerPoint or PDF: the assistant takes the facts from the map and writes the
slide outline into Documents; edit the outline (yourself or via the assistant) and download again. Your skin
colour, the organization logo, speaker notes under the slides. After a project summary the assistant offers the
chip "Turn this into a presentation".
• Greeting card, invitation, poster and certificate as a printable PDF from four templates — template and colour
to choose, the organization logo, your own photo (it goes only into the file, nothing is stored) and a QR code
on the invitation and poster when you give a link.
• Every assistant document (e-mail, minutes, summary…) downloads as a PDF on a letterhead or as Word; download as
text stays. Files are generated in your browser; the server never stores them.
• For operators with a local model: the assistant no longer stalls when the model asks again for tools it already
has, and a tool call written as text by mistake is executed instead of an empty reply.

Verified: full regression of 258 suites, all green; new suites kancelar-soubory 51/51 (real PDF, PPTX and DOCX with Czech
diacritics, decoded QR), ai-kancelar 53/53, ui-ai-kancelar 55/55 (downloads in Chrome), upgrade-kancelar 11/11
(v0.95-beta data → new version on the same volume); a panel of four review agents with the findings fixed; the
assistant run on live turns with a local model (invitation from the form, season's greetings, summary → chip →
presentation); PowerPoint and click-test by Richard.

Upgrade note: migration 1792001345 adds the document kinds presentation and card and a meta field (empty for existing
documents) and runs automatically on start; no new variables. New libraries pptxgenjs and docx (MIT) are listed in
THIRD-PARTY-LICENSES.md.

Česky

Novinky:
• Kancelář: ikona kufříku v hlavičce asistenta otevře panel se záložkami Dokumenty, Stránky a PDF (nástroje na PDF
se přestěhovaly sem). Tlačítko Nový nabídne prezentaci, přání, pozvánku, plakát, poděkování, e-mail, body
k poradě, poznámku, souhrn nebo fakturu — vyplníte pár polí a asistent to připraví. Stejný formulář otevře
pomocník „Prezentace, přání, pozvánka“ v AI pomocnících.
• Prezentace projektu ke stažení jako PowerPoint nebo PDF: asistent vezme fakta z mapy a napíše osnovu snímků
do Dokumentů; osnovu upravíte (sami nebo přes asistenta) a soubor stáhnete znovu. Barva vašeho vzhledu, logo
organizace, poznámky řečníka pod snímky. Po shrnutí projektu asistent sám nabídne čip „Udělat z toho prezentaci“.
• Přání, pozvánka, plakát a diplom jako PDF k tisku ze čtyř šablon — šablona a barva na výběr, logo organizace,
vlastní fotka (jde jen do souboru, nikam se neukládá) a QR kód na pozvánce a plakátu, když dáte odkaz.
• Každý dokument asistenta (e-mail, zápis, souhrn…) stáhnete jako PDF na hlavičkovém papíře nebo jako Word;
stažení jako text zůstává. Soubory vznikají ve vašem prohlížeči, server je neukládá.
• Pro provozovatele s místním modelem: asistent se nezasekne, když model znovu žádá o nástroje, které už má,
a volání nástroje napsané omylem jako text se provede místo prázdné odpovědi.

Ověřeno: plná regrese 258 sad, všechny zelené; nové sady kancelar-soubory 51/51 (skutečná PDF, PPTX a DOCX s českou
diakritikou, QR dekódovaný), ai-kancelar 53/53, ui-ai-kancelar 55/55 (stažení v Chromu), upgrade-kancelar 11/11
(data z v0.95-beta → nová verze nad týmž svazkem); panel čtyř kontrolních agentů s opravami nálezů; asistent projet
ostrými tahy s místním modelem (pozvánka z formuláře, PF, sumář → čip → prezentace); PowerPoint a klik-test Richardem.

Poznámka k upgradu: migrace 1792001345 přidá dokumentům druhy presentation a card a pole meta (u stávajících
prázdné), proběhne sama při startu; žádné nové proměnné. Nové knihovny pptxgenjs a docx (MIT) jsou
v THIRD-PARTY-LICENSES.md.

v0.95-beta — From an invitation to the calendar: a photo, PDF or e-mail with dates becomes events on one card

Choose a tag to compare

@tengosro tengosro released this 02 Nov 11:39

What's new:
• Take a photo of a lecture schedule on a door, attach a PDF or paste an invitation e-mail — the assistant puts
every date on one card (weekday, time, place) and adds them to your calendar once you confirm. Nothing is saved
without a click.
• Repetition like "every Tuesday and Thursday until December" is expanded into single days, and exceptions
(holidays, "no training that day") are left out. A date already in your calendar is not added twice; when you
have something else at that time, the card says so.
• Afterwards the app offers "Also create a project for the preparation" — sign-up, payment, equipment with the
deadlines the invitation states. The event dates themselves stay in the calendar.
• Events now have a place — in the dialog, the calendar, My day, the reminder and the export. A series of events
from one invitation can be deleted at once.
• For developers and AI agents: REST POST /api/kb/v1/events/batch (1–30 events, all or nothing), deleting a
series and the MCP tool create_events; a place field on events.

Verified: full regression 253 suites, 252 green; the only red one (ui-kalendar) fails the same way on the previous
release — it depends on today's date and is unrelated to this change. New suites z-pozvanky 54/54,
ai-z-pozvanky 31/31, ui-z-pozvanky 15/15, upgrade-z-pozvanky 10/10 (v0.94-beta data → new version on the same
volume); a panel of four review agents with the findings fixed, fixes verified by mutation; the assistant run on
live turns (a schedule on a door, a poster, a seminar e-mail, a course PDF, a training schedule — every date
right, always one card) plus control inputs (a photo of tasks, notes, a project brief, an invoice e-mail) — no
unwanted event; click-tested by Richard.

Upgrade note: migration 1792621271 adds the place and series fields to events (empty for existing ones) and runs
automatically on start; no new variables. In the API, the hint for an unknown location field now points to place.

Česky

Novinky:
• Vyfoťte rozpis přednášek na dveřích, přiložte PDF nebo vložte e-mail s pozvánkou — asistent dá všechny termíny
na jednu kartu (den v týdnu, čas, místo) a po potvrzení je zapíše do kalendáře. Bez kliknutí se nic neuloží.
• Opakování jako „každé úterý a čtvrtek do prosince“ asistent rozepíše na jednotlivé dny a výjimky (prázdniny,
„trénink odpadá“) vynechá. Termín, který už v kalendáři máte, znovu nezaloží; když v tu dobu máte něco jiného,
karta upozorní.
• Po zápisu aplikace nabídne „Založit i projekt s přípravou“ — přihláška, platba, vybavení s termíny, které
pozvánka uvádí. Samotné termíny akce zůstanou v kalendáři.
• Události mají nově místo konání — v dialogu, v kalendáři, v Můj den, v připomínce i v exportu. Sérii událostí
z jedné pozvánky smažete naráz.
• Pro vývojáře a AI agenty: REST POST /api/kb/v1/events/batch (1–30 událostí, vše, nebo nic), smazání série
a MCP nástroj create_events; pole place u událostí.

Ověřeno: plná regrese 253 sad, 252 zelených; jediná červená (ui-kalendar) padá stejně i na předchozím vydání
— závisí na dnešním datu, s touto změnou nesouvisí. Nové sady z-pozvanky 54/54, ai-z-pozvanky 31/31,
ui-z-pozvanky 15/15, upgrade-z-pozvanky 10/10 (data z v0.94-beta → nová verze nad týmž svazkem); panel čtyř
kontrolních agentů s opravami nálezů, opravy ověřené mutací; asistent projet ostrými tahy (rozpis na dveřích,
plakát, e-mail se semináři, PDF kurzu, rozpis tréninků — všechny termíny správně, vždy jedna karta) a kontrolně
fotka úkolů, poznámky, zadání projektu a e-mail s fakturou — žádná nechtěná událost; klik-test Richardem.

Poznámka k upgradu: migrace 1792621271 přidá k událostem pole place a series (u stávajících prázdná), proběhne
sama při startu; žádné nové proměnné. V API nápověda u neznámého pole location nově ukazuje na place.

v0.94-beta — Two map styles: a project to finish, or a process that keeps running

Choose a tag to compare

@tengosro tengosro released this 29 Oct 12:35

What's new:
• When creating a map, pick 🎯 Project (finish something — % done, archive when everything is done) or
🔁 Process (keep something running — steps repeat, nothing gets "finished"). The style can be switched any
time in the ⋮ menu; steps and deadlines stay.
• Instead of "% done", a process shows its run health: how many steps are on time, how many overdue and when it
last ran — on the map's apex, in the overview and in Organization. Process steps never count as "Not moving".
• Richer recurrence: chosen weekdays (e.g. Tue and Thu), a day of the month, every 2nd week… "Every month on the
31st" stays on the 31st after February. In a process a repeating step also resets its sub-steps, so an "every
Monday" checklist starts over. A reminder on a recurring step is no longer lost when the step is ticked off.
• The home page has an All · Projects · Processes switch, and Tasks show which items belong to a process
(🔁 Process, process step, the step's rhythm).
• The assistant knows processes: "make Stock check repeat every Friday" sets the rhythm, "change it to a
project" switches the style.
• A new system template "Weekly office operations"; the former "Process template" is now "Template with a schedule".

Verified: full regression 248 suites, 247 green on the first run, the only red one (templates-en expected 40 system
templates, now 41) fixed and green; new suites proces-typ 48/48, proces-opakovani 48/48, proces-asistent 36/36,
ui-proces 50/50, upgrade-proces 13/13 (v0.93-beta data → new version on the same volume); a panel of four review
agents with every finding fixed, fixes verified by mutation; the assistant run on live turns.

Upgrade notes: migration 1792928875 (process style, process template) runs automatically on start, once; no new
variables. Existing maps stay projects, unchanged; existing recurrences keep running. The "today" a recurring step's
next deadline is counted from follows the instance's time zone (TZ, default UTC), like the scheduled jobs.

Česky

Novinky:
• Při zakládání vyberete 🎯 Projekt (chci něco dokončit — % hotovo, po splnění archiv) nebo 🔁 Proces (chci, aby
něco běželo — kroky se opakují, nic se „nedokončuje“). Styl jde kdykoliv přepnout v menu ⋮; kroky ani termíny
se nemění.
• Proces místo „% hotovo“ ukazuje zdraví běhu: kolik kroků je včas, kolik po termínu a kdy proběhl naposledy —
na vrcholu mapy, v přehledu i v Organizaci. Kroky procesu se nikdy nehlásí jako „Nehýbe se“.
• Bohatší opakování: vybrané dny v týdnu (třeba út a čt), den v měsíci, každý 2. týden… „Každý měsíc 31.“ zůstane
na 31. i po únoru. V procesu se při opakování obnoví i podkroky, takže kontrolní seznam „každé pondělí“ začíná
znovu. Připomínka u opakovaného kroku se po odškrtnutí už neztratí.
• Na titulce přepínač Vše · Projekty · Procesy, v Úkolech je proces poznat (🔁 Proces, krok procesu, rytmus).
• Asistent rozumí procesům: „ať se Inventura opakuje každý pátek“ nastaví rytmus, „změň to na projekt“ přepne styl.
• Nová systémová šablona „Týdenní provoz kanceláře“; dřívější „Procesní šablona“ se jmenuje „Šablona s harmonogramem“.

Ověřeno: plná regrese 248 sad, 247 zelených napoprvé, jediná červená (templates-en čekala 40 systémových šablon,
nově 41) opravena a zelená; nové sady proces-typ 48/48, proces-opakovani 48/48, proces-asistent 36/36,
ui-proces 50/50, upgrade-proces 13/13 (data z v0.93-beta → nová verze nad týmž svazkem); panel čtyř kontrolních
agentů s opravami všech nálezů, mutační ověření oprav; asistent projet ostrými tahy.

Poznámka k upgradu: migrace 1792928875 (styl Proces, šablona procesu) proběhne sama při startu, jen jednou;
žádné nové proměnné. Stávající mapy zůstanou projekty beze změny, stávající opakování dál běží. „Dnešek“ pro
výpočet dalšího termínu opakovaného kroku se řídí časovou zónou instance (TZ, výchozí UTC), stejně jako noční úlohy.