Změny pro vývojáře 07/2026
Technický přehled změn za červenec 2026, korelovaný napříč repozitáři (backend, terminal, vue-design-system, elasticr-admin-assets, elasticr-assets). Zákaznický přehled najdete na stránce Novinky: Release notes 07/2026.
Pokladna (POS)
Repozitáře: backend, vue-design-system, elasticr-admin-assets · Jira: MATEZAWMS-869, MATEZAWMS-874, MATEZAWMS-876, MATEZAWMS-889, MATEZAWMS-900, MATEZAWMS-911, MATEZAWMS-915
Postavena celá prodejní vrstva na prodejně. V backendu vznikl POS picker produktů a napojení POS na page-data providery, zpřístupnění jednotek, sazeb DPH a výchozího kanálu, picker služeb a povýšení POS na samostatnou položku hlavního menu (b74a52e5, 13c04b23, 89c2e207, 5b41adb3, e002dec3, d778ad55). Ve vue-design-system byly dodány Firestore relace košíku (park/resume), fronta, historie prohlížení, varianty a jednotky v košíku, zákaznický displej a čtečka čárových kódů (b98cddbc, b6dbcf0c, 0586bfed, 12e9564e, e8834b96, 5aec0bc6, ce984b08). Expozici dat naskenovaných štítků do POS a dohledání boxů ve skladovém vyhledávání řeší 39fdd42e.
Platební terminály
Repozitáře: backend, elasticr-admin-assets, vue-design-system · Jira: MATEZAWMS-846, MATEZAWMS-911
Zavedena provider-neutrální vrstva platebních terminálů: neutrální výjimka a resolver adaptérů, univerzální API pro platbu, vratku a stav terminálu a integrace Comgate CloudPOS (ed363db9, 37a576da, 9b70ce66, 1f7dd758, 541482ab, 77703d19, d306e0fa). Vznikla kategorie platební metody TERMINAL s vlastní entitou a nastavením a typová registrace platebních metod řízená přes DI strategie (eb099e39, 91803bba, dda1c4a5, a400f835, 48990730, f9a7e992, f42c90bd). POS získalo backendem řízené platební metody a průchod platby přes terminál (dd086584, 92f85b3e).
Vyhledávání – synonyma, oblasti a panel
Repozitáře: backend, vue-design-system, elasticr-admin-assets · Jira: BODOVKA26-205, BODOVKA26-206, BODOVKA26-207, BODOVKA26-208, MATEZA-1155, INGREDIEU-1017, INGREDIEU-1018
Do administrace přibyla konfigurace vyhledávání: indexované a vyhledávané oblasti zvlášť pro našeptávač a stránku s výsledky, váhy prohledávaných polí, operátor shody, pravidla upřednostnění a rozvržení výsledků (be6f86b5, dfa1c8a6, 36743c2c, 09c8dd69, 2baab61b). Synonymová pravidla lze zúžit na množinu oblastí (bez globálního sentinelu — prázdná množina je globální rozsah) a řešeno je i jejich detekce změn a deduplikace (5e83c795, fefd7aa6, 945668d5, 98073814, 069fa4f7, 184addfe). Doplněny normalizace, boostování a dynamická cenová/relevanční strategie (3b03215f, de54f44e, 373c622b).
Konfigurátor produktů (výroba na míru)
Repozitáře: backend, vue-design-system, elasticr-admin-assets · Jira: MATEZAWMS-895, MATEZA-1130, MATEZA-1132
Přidán kontrakt formuláře konfigurátoru a jeho napojení na POS i prodejní doklady s dopočtem výrobních detailů a ceny (b74a52e5, 13c04b23, f5e5f081, 699d3896, aebef010, 1f42f5db). Výrobní zakázka byla převedena na billable-document stack a produkce se rozpadá na komponenty přes workflow akci (7b9ca018, 27515452, 5d2b2a89, 20be7f78, a6b5fa8b, 8644f929). Konfigurátor umí přeskočit přepis ceny přes ImmutablePriceProductConfigurationContract.
Hlídací pes a dotazy k produktům
Repozitáře: backend, elasticr-admin-assets, elasticr-assets · Jira: INGREDIEU-941
Přidány dotazy k produktu, hlídací pes hlídající dostupnost i cenový práh a e-mailové notifikace (ca8bd4e8, 0556d1f0, 78a28251, d4db586a). Hlídací pes je za feature flagem a notifikační automatizace běží hodinově; sekce dotazů je gateována vlastním flagem (d665b5b2, 64b5414e, e2d35a16, 203cdd2f).
Automatické doplňování zásob (replenishment)
Repozitáře: backend, elasticr-admin-assets · Jira: EP-364, MATEZAWMS-875
Doplněno jádro min/max nákupního replenishmentu se sdíleným zakladatelem položek nákupních objednávek, automatizace s rozlišením skladové lokace a respektováním dodavatelských strategií i preference otevřených nákupních objednávek (9aa5f9f7, e72a9ed4, 3a5b06c5, dbf5f1cc, 67748177). Přidán datový provider a UI pro správu min/max po skladech a ruční akce doplnění (136251d8, e5c761cc, ad8dad7e).
Vícejazyčná administrace
Repozitáře: backend, vue-design-system, elasticr-admin-assets · Jira: LUMAX-797
Do administrace přidán přepínač jazyka uložený u uživatele a i18n katalogy pro češtinu, angličtinu, polštinu a slovenštinu (0e225b67, cfbabbea, beb72b52, 141c2bdf, 41ac6131, c31b82fb, e48a4257, 58cdea46). Ve vue-design-system přibylo vue-i18n a překlady jednotlivých modulů, doplněné o polský a slovenský katalog (12bd37d8, bac748bc, 728b9738).
Podobné produkty
Repozitáře: backend, elasticr-admin-assets · Jira: MATEZA-1173
Přidána entita alternativ a jejich persistence z formuláře produktu, karta alternativ v záložce distribuce a podpora hromadné správy přes XLSX (d531d858, f75e2b3d, a421c4d8, cb7b64df, dc040d90, 0e1acbec). Typ „replacement“ byl přejmenován na „similar product“ (9f93a679, 92211ec5).
Ostatní
Kompletní seznam ostatních změn (CI/CD, závislosti, refaktoring, testy, opravy a drobná vylepšení), řazeno po repozitářích.
backend
94185cab— rename of variable externalId in ProductParameterDto8b188526— fix logging Eso9Client responses to correct resourcefc43e899— fix silencing skipped violations in StockDocumentToEsbTransferFacade091cbfea— CreateDocumentFromDocumentItemsAutomationHandler extended - split by sockContext, keep items origins even when merge more docs0fc32c08— transformations to StockTransfer fix - allow more origins of items with correct output992aef13— valid clear of TransferRecordContext in SyncOrdersServicef6782a72— add bypass for TaggingServiceActionabc62ded— add locale for comgate payments6de43411— Bump vue-design-system to 1.15.1a4d29e0d— add missing translations for automation action handlers41fae80e— Show running automation in process title for pscb6350b0— Add scanning/idle process title states for automations:run8c397426— Terminate automations:run after queue drain to dodge gRPC shutdown hang5ed99ec2— normalize e-mail (lowercase + trim)e05b1776— Lowercase stored email columns across all owning packagesfcdbf868— fixing ComgatePaymentFactoryTest456e57e8— Úprava phone-input a gridu v checkoutu9255cd1d— Update assetů26a8349c— rename UserTypes constants91dad171— EP-313 bridge integrations phase343cc723— add tag_value_kpi product sorting adapter61a7ef0b— Veterix 461 reporty3f8696e5— clear EM after each automation is finished to not mess the automations process memory0a375fdf— Fix flaky AutomationServiceTest single-tick run-time assertioncc3a19aa— EP-348: experimental MCP server + API Platform 4.3 upgrade970aa108— PROIZS-290: product actions bar (porovnání, sdílení, tisk)1a436c59— fix(data-synchronization): insert host-agnostic routes on transferab752a51— CommandService update - capture logs into output, run command correctly with all events etc.611af51f— move event dispatch after the try-catch to not affect transaction (rollback) in ProductDataProcessor8b6640ad— add process_id tag to Sentryc0e57cec— AuditLogMetaData: extraContext via tagged providers, move url/command out4d927cba— Add CurrentAutomationProvider, feed running automation id into audit log context26b20ab2— Add workflow-stack audit-log context providerfab773ff— Clear ProductProvider cache on EntityManager onClear55fba1d7— composer update14b351bc— fix testů85f2e773— fix API / filebased bulk product patching to NOT CLEAR UNITSd41ac627— do not silence original update exception when rollback in ProductDataProcessor1458c381— automation run by ID must claim its running status, dont run when its not allowed toee97a694— config reference.php upd763342de— EP-352 post live migration, migration refa2f2c72f4— versioner: gate update-project asset build on pre-deploy only4463da94— Cover the configurator contracts and document the integration57fb3c15— Bump vue-design-system to 1.16.0ff4ae7c7— Get master E2E green: fix VDS resource-list crash + stale integrations regression tests51cab58a— added option to send email to helper in SendBatchPdfEmailToDriverHandlere82b7ec3— Pin the product embed on the POS stock-item list dataSources82c25a2a— Cover POS sales-unit selection end to end7f6426dc— Bump vue-design-system to 1.18.0a33ae915— automation.id as tag to Sentryd7a4c37e— EP-354 Filtrování kontejnerů podle dokladu na /stock-containers4389ba13— Eso9OrderDtoFactory - resolve stockroom from nested items23127d01— WF action to run any DocumentItemsCoverageHandlerContract with the current document ativitiesa8a28c53— Fixes INGREDI-29G supplier WMS extension upsert on edit38da8777— EP-353 content builder: slot brick, symbol replacement and hidden components3ad3706c— EP-353 preview: hover highlight and click-to-edit for nested components1c69c4cb— EP-353 pass component id and hidden flag through nested template rendersfe9cadc5— EP-353 preview: click-to-edit resolves components only, never bricks7551468e— EP-353 preview: render hidden components dimmed instead of skipping them901a712d— Match Unicode whitespace when detecting KB CSV transaction header0f375367— externalId for all documentItems749efa4a— map service bus document item id to BaseDocumentItem externalId830d59f1— use document item externalId as DocumentItemDto id when set, fallback to uuida2b8e0f8— add useExternalItemsIds order setting to opt into externalId as outbound item id3fe63f07— 0 => '' E9 for itemsb79d99d6— container items fixturesb42e0697— pass correct data to Eso9 PUT Delivery to update items6c556c01— paid dates for PaymentAggregationDtobe9991df— paidDate for service-bus, sending to Eso9 Order498aec41— php 8.5 support56cba816— CI: duální podpora PHP 8.3/8.571f90a53— composer.lock: downgrade závislostí vyžadujících PHP >= 8.437f41138— Bump elasticr-admin-assets to master (EP-353 content builder)2566f576— Automations - persistent startTime, primary to calc reboot from it on stuckc5743d73— notify about only real diff in DocumentStockReservationsService::storeReservations2366c93a— debug logs added to ElasticsearchProductsIndexer, index method switch in ProductsBulkEditAutomationActionHandler113e0c9d— Skip products with missing calculated price during ES indexation instead of aborting the whole batchea8a1053— Drop client-error (4xx) HTTP exceptions in Sentry before_send to stop scanner noise22365867— AuditLogNewOrderDataProvider dont fall in not initialized state5d5f31af— Migrate services admin list to the Vite resource-list system00c0b6f2— Port the services list e2e spec to the Vite patternd19d24fe— Seed a POS register for the e2e suite0cc7f26d— Bump vue-design-system to 1.19.0ae7da08b— CI: buildy a deploye zpět pod PHP 8.3, image 8.5 jen pro testovací joby04e86549— StockDocumentsAutomationDataProvider addedbc02c785— automation admin list ID column sort support6afe8c98— allow more stateIds in lastStateChangeHistory pointer for automations9dbdeab5— StockTransferCreateReceiptFromCoverageAction updated to handle picking components over the composed product, which is part of parents coverage8653a112— correct qty in unit recalculations in PutAwayItemsFromDocumentFactorybb68da04— StockDocumentsAutomationDataProvider generic docs extending65fcaace— logger typo fix525d0739— fix ExplodeProductionItemsFactoryce8e9108— fix ExplodeProductionItemsFactoryTest4cdd7792— Shopify: delay transfer of new orders06db0cf1— order with manufatured configurator fixture943cd35f— upd assets583fed27— silence recordTypeDataProvider errors in AuditLogPayloadFactorycbe18c21— upd assets844e895a— refactoring ShippingAndPaymentRuleProductMaskFactory61ef55f9— take correct eso9 identifier when reading stock documents (HanMove)94803214— dont gate the PrintPickupLabelsHandler just for pickup type shipping methods2135e97d— fix: reuse existing customer on EMAIL_ALREADY_REGISTERED during ESO9 delivery-list transfer84e2a6fb— Přestylování patičky fakturyd75c14ee— Eso9 getting Eso9_Id prior to HanMove_Id with fallback to former identifier, testcase fixed83d9bc58— docs: zdokumentování dual-PHP strategie (8.3 produkce, 8.5 dopředná kompatibilita)78e1f68d— feat(framework-admin): add sub-row, render-condition and currency list-config builderseee62d31— feat(framework-admin): render service variants as sub-rows via ServiceListConfigurator78b230f9— test(e2e): cover adding a service from the POS picker8ff2ec79— Bump vue-design-system to 1.20.071a78532— Pin the POS services picker add-service column to a fixed width8c764670— Bump vue-design-system to 1.20.17ed46fb1— add ETA for products, moneys5 purchase supplier orders0e6ea95a— assets update48561c32— Reset stateful services and collect cycles between automation runs to prevent momory exhaustion43f2e548— Pass selected country to product configurator component items provider47b0130f— add country into runtime exception in CalculatedPrice8b7eb1db— Move country parameter to last position in configurator component providerscdd477f1— Resolve channel deterministically when switching by countryc23e34c8— Carry channel selection across host boundary on cross-domain switch1681c49c— Export honors the configured channel's locale and domainc84bd04b— Drop $baseUrl from PricingFox export after aggregator refactora4ffaf3e— Resolve feed image URLs against the channel host too5bb9f95c— Add plan for dropping locale prefix from Route path in multi-domain setupb23a6043— Drop locale path prefix from routes when the locale has a dedicated domain41a132b9— Drop locale prefix for product/category/page routes on dedicated domains59337c6d— Přidání tlačítka na smazání celého košíku; úprava košíku9235525e— Update assetů8de4618a— Show production details for all sales document items in admin70da0b4f— ESB external IDs must be used at the last point of DTO factory84f1a44b— recursion for replace item IDs by external one for ESB doc9e9adc9e— add new supported format to DateHelper3219f91c— MATEZA-1110: Ecomail – send 2-char country code in order transaction and subscriber list payload8f06f956— Odebrání duplicitního drift-zoomu z app package72ab8319— Shopify quantity sync: respect publishedAndApprovedOnly from config587655e5— edit sorting by kpi5295dcec— Ingredieu 964: money s5 received order data enhancerc550281b— Úprava escapování a zdroje dat pro meta description a OG popisky - jednotná sanitizace přes MetaTexta574e8e3— Update assetů7c165ce5— fix DocumentDtoFromBillableDocumentFactory - using document currency instead of entitybc4adcc0— fixing DocumentDtoFromBillableDocumentFactoryTest02d4a406— MATEZAWMS-911: add visibility to shipping and payment methods6378c371— MATEZAWMS-911: expose method visibility in admin API and forms8c243e63— MATEZAWMS-911: make visibility filter optional in CombinationByCountriesQuerye93404ab— MATEZAWMS-911: guard method visibility against empty bitmask30ca63df— assets3a49d2a2— update product eta breakdown8f557400— assets updateebb729c6— catch exception from DateHelper5ad5e64f— add hreflang to product sitemap itemsc3b34128— add carrier and carrier provider to shipping method UI9465a15c— upd assets: bump vue-design-system to 1.20.270e11953— feat(pos): break the configuration picker's stock down per configurationf060d313— docs: map stock storage, gating and configurator settingsd682dc80— upd assets: bump vue-design-system to 1.21.03bc0a2ee— fix: paměťová optimalizace exportů — streamování produktů a skalární načítání skladůf4da98f2— add brackets to StockReservationsGroupedDataDBALQuery92f7865b— add productConfigurationReference into StockDocumentCrudService557383a4— ecs7a9ab610— add order data constraints validation for complete addresses and update validation logic0349d724— Fix E2E POS red: align every Firestore consumer on the CI emulator19afd1cb— POS specs: locate add-bar buttons by icon, labels collapse in CI83a92b75— Publish the Firestore emulator port to the client6bd014bc— upd assets: bump vue-design-system to 1.22.0e33bf2fa— upd assets: bump vue-design-system to 1.22.184addced— Sort the import Rector added to the Firestore config test84c25d16— Add the trailing comma ECS wants in StockDocumentCrudServicee81cc992— Put the e2e POS register where the stock isc7adb9a5— versioner: use cache:clear --no-warmup in migration dry-run gate1b2580f7— prefer document item title over product title in Firebase items data02b2355d— upd app/yarn.lockaf6e34ef— Odebrání jQuery z Elasticru; výměna lightGallery za GLightbox65eb8759— Ep 360 fix gate b2b api routes, cache flush after feature flag change, frontend gate for org availability5d49510c— Update assetůc17976be— add POS barcode scanner e2e spec8f75d7a1— fix scanner e2e cleanup scoping22bc1177— document POS register recovery and emulator REST access in e2e docs7e87ea57— upd assets: bump vue-design-system to 1.23.0206bcc29— fixed transfer of Poradi_Dok and Reference_Poradi_Dok in requests to eso9 apibe250da3— Exclude payment/shipping items from negative-quantity flip in service bus modifier87c9779d— added unique value validator for translations for slug prope7d43e84— take put away item title from origin document item in Firebase items data8050266f— Render an empty reporting chart for data-less reports instead of crashingc43312df— Add composite index (action, level, created) to audit log entries1deb4e96— Cache audit log listing count in Doctrine result cache0d487d13— Extend audit log index with record_type6dda8feb— Add createdDateFromByInterval filter to audit log listing0c83f127— Skip products without a route during Elasticsearch product indexingb2c810a7— Normalize inverted Elasticsearch range bounds073413cf— assets update9403484f— Update assetů0681c7d5— php-to-ts: survive and render array-shape docblocksb406380b— Ignore app/.env.local7c290512— Fall back to translated menu item title in category SEO data833ce611— Make Pohoda tax rates configurable per country3d552225— Úprava dropdownů u akčních ikon87cf4e81— Update assetů1488d04b— BODOVKA26-206 Drop the brainstorming design doc from the ES search-area MR314803dd— added new scope flag on tag type group5c7227f1— added parameter variant types on products1f6e951e— updated frontend UI and elasticsearch to include variant scope logicc1d2c58a— added display logic for variant params related to product templates8772fa8e— added missing logic to product masks for variant scope parameters2a47323f— ES code improvementsada4c52d— fixed variant scope issues in category filters, admin picker and product detail paramsf6fee058— added logic to handle variant scope groups in product parameters template provider81bd5bcc— added migration to fix workflow conditions priority values682288ac— fix container db leak0c2c2a07— DeadlockRetryService - log just as error when deadlock catched and retried114bf695— fix rendering in product name in ETA breakdown modal586dd62f— decode product name entities safely instead of v-html in ETA modalef99b215— correct qty comparision with unit recalculation in TransactionsDataAvailabilityValidator7ee287a4— Fix Reference_Poradi_dok for delivery-note receipts in Eso9 HanMove82465185— added delivery country and number of packages columns in shipment list and csv exportb7349b48— Cover the POS barcode scanner flows in e2e15b2d9a9— stock containers: VDS list with items panel, print and bulk delete115a718e— Let composite filter fields opt out of namespaced serialization34728b69— Make documentReference column work without a static resource nameec45abb8— stock containers: composite document origin filter, route-linked items panel6b7c7888— stock containers: review round — default toolbar, card column, count param, explicit selection gatingaf052aca— card column: full SummaryCard surface with a composable actiondf0a5d0b— action body: narrow the accepted params to FilterParam579e521f— Expose location-aware POS stock data0e77b528— upd assets: bump vue-design-system to 1.24.0baebfc7e— Drobná úprava TemplatePreview383110fa— Update assetů740e334a— data transformation for ESO9 PUT Delivery updates according to docsd9a704e1— fix discountCalculationPriced3759bb1— Úprava zobrazování tlačítko Vyprázdnit košik06cd24ed— Decode base64 BaseLinker shipping label before saving, Add BaseLinker remove-shipment handler deleting courier packages276c2814— fix product import route path uniqueness against target host706a0861— ReceiptToPutAwayDataTransformer added3c01227b— reload default customer group when not managed by EM any more55a18e5e— Přidání SKU produktů do košíku086a0417— fix EU Omnibus reference price ranking for prices without VATac66e8dd— restore static calculator in CalculatedPriceTest teardown to avoid suite-wide leak68895596— update zavislostid2b7ace5— add admin i18n testsa10b2334— translate product state and revision labelsabab6711— upd assets92097ca1— BODOVKA26-207 normalizers, rank refae3492446— EP-356: Volitelné vložení produktů do dry-run inventury z filtru15d8322b— Allow to add manual prices for shipping and payment methods6b815d2c— use correct rounding in PutAwayItemsDataValidator, omit rounding in service for integers with step = 1c21c24d6— Add host bypass for localhost87927482— reset unavailable item state to IDLE when its transfer action is not covered4de94951— use ItemStockValueData::createAvailableIntersection for transfer coverage matching9ce79980— never downgrade unavailable items already in DONE stateb79ba381— treat closed transfer with no pickup coverage as zero covered579a11fa— Volba způsobu potvrzení přidání do košíku (dialog / hláška)6c8f61f9— LUMAX-799 Audit document tagging changescc38b520— LUMAX-799 Translate tagging audit action2fa67a81— Skip automatic calculated price when all countries are manually priced0fe13f38— Speedup file manager loadingf28bb27a— assets upd1faf0199— LUMAX-799 Fix merged audit regressions3cbd348c— upd assets4f0a9401— drop testing monoreposplit942a7956— INGREDIEU-964: load employees from MoneyS5 Employees endpointe00afaab— allow DeadlockRetryService to return the callback result99c0b1a7— retry automation claim update on deadlockbe3cc924— Cache existujících kódů CMS modulůf8917041— Zahrnout wrap a 24h čas do cache klíče CMS modulu9091fcb1— Sjednotit vkládání dividerů mezi regiony search dropdownu34a16813— Update assetů3c525ec2— Qswms 85: ignore orders by shipping codec3e7520f— allow change product's sales deafault unit when its coefficient is same as the new onesf136267c— synonymsce953b6f— BODOVKA26-208 bump vue-design-system pin to 1.26.03da31f70— BODOVKA26-208 fix synonym rules terms column to LONGTEXTa2d0e44c— Always require Company ID and make VAT ID optional in checkoutef2efaa1— Drop required marker from optional VAT ID field941c4fed— Require Company ID and make VAT ID optional server-sidea5cf1eb9— Add elasticr-add-integration skill9bf11e3b— updated product xlsx export and import with new supplier and stock fieldsb20b415a— product xlsx supplier/replenishment import perf and round-trip fixes76f2c974— product xlsx: review fixes — memoize stockroom export query, keep parsing after blank reserved-sheet row42c9065b— Add payment-terminal adapter feature-consistency test and changelog entry06bec651— Apply code review feedback on payment-terminal APIce3aafff— Use INTEGRATION object type and integration id in terminal error audit loga01dc476— BODOVKA26-181: add automation action for bulk product editing1a886d5f— LUMAX-799 Ignore unchanged recreated tags in audit log90ff0a0b— Fix product automation English translations2ae27d1c— Dodání chybějící ikony v adminu8246f357— Fix shipping and payment method create forms18794e90— Wire per-type payment-method setting constraints and options emissiond9ea18ad— Make payment-method setting-constraint isolation tests discriminatingd2315b98— Extend payment-method tests from UnitTestCase instead of PHPUnit TestCase92a992a7— replace correctly when whitespaces present, replace { with ] to avoid ecomail faila619f1f6— edit sitemap generator to generate all hosts39efe549— upd assetscda2fa04— Label Slovak billing VAT field as IČ DPH instead of VAT IDb87f3318— Ingredi 979: column with source documents of items0d412203— assets updateff0fd59f— Ingredieu 992: write back actual received quantity from receipts instead of stale DN statusa0d51b30— feat: add typed shortcut configuration to resource builderse92e1cff— feat: integrate shortcuts into admin workflowse21d4372— docs: document shortcut integration conventionsf5c8dd61— test: harden shortcut integration coverage487a6f6a— test: stabilize admin regression setupeff848d5— upd assets: bump vue-design-system to 1.28.0d3fa0a31— do not loose deadlock exception trace in DeadlockRetryService733dc76f— EP-368: seed branch/vhost deploys on their own host instead of shared preview hosts6a13dad3— docs: record synonym area scoping in the BC-breaking changes log8662d053— fix: correct synonym-set change detection and graph-unsafe deduplication783083f6— feat: let a synonym rule cover a set of search areas, not just onece5192ec— docs: update the BC log for set-valued synonym areasf5dcb830— upd assets: bump vue-design-system to 1.29.021829dd3— Fix schema check: declare watchdog notify flag defaults in ORM mapping3097afc3— MR comments fixes29e37d35— Fix Variant import after enum moved to Framework\Support\Enum1bcbbfb0— Drop danger icon color from row delete actionc125482d— Detect DateTimeInterface-typed DTO props as date columns3088b426— Fix duplicate watchdog_items key in sk translations after rebase55d9acaf— fix UniCredit statement import failing on duplicate transaction_id for reference-less rows60aa52c4— fix transferItem origin propagation into ESB6a9739b1— resolve variant product mask tagged item by main product uuida24f1aa1— default columns price rules3455d911— Úprava českých překladů0d748115— report alternative row violations in the products bulk XLSX import486423e6— let the caller own the flush when syncing product alternativesb19cbdde— fix copy of product7e6c6b24— EF-356: Media size ladder for liip_imagine filtersadf4865e— Adding watchog to fixtures33564ff6— fix lost price of nested relation items when transforming documents7b641f14— fix message in ShipmentOrderStatesValidator1b71182c— extend StockTaking with DocumentSeriesbd4a97f6— address MR review commentsc3e2884f— fixed rector and phpstan findings from ci0c9cc4d7— added purchase replenishment sample fixturesef2635ad— fixed put-away detail spec to resolve document id from the listing9c8107b2— addressed mr 4791 review: paged stock fetching, strategy cache, provider contract, narrowed error handlingb613cb62— INGREDIEU-969: Add multilingual annotation & description columns to XLSX product import/exportf676b223— extended stockrooms filtering of physical stocksc2d3dd4f— handover data for shipment detail2bcedb30— StockDocumentsAutomationDataProvider bugfix5bf33611— Distinguish shared vs localhost Claude agents via .local.md suffixbcd1212e— make sure coverage operations warehouseLocations is list of ints on API input1e76fe2f— alow preset filters for stockItems in operation settings for OperationStockItems APIea6961de— EP-370: divert major project updates to a review branch, bar Claude from the changelog53fd1ef5— fix: stop a NULL synonym rule areas column from breaking the Settings pagece57bad8— simple command to dupm FS document8b1e3702— remove API filters extender from StockDocumentsAutomationDataProvider, its not supported (StockDocumentDto is not a standalone API resource)3e0df89f— INGREDIEU-992: fix issued order coverage when more items was received823c9116— pass handover detail route to Vueecc2768d— Volitelný počet kusů a flash hláška u ovládání produktuf177b000— Sjednocení breakpointu řazení a rozvržení výpisu s CSS5b834c72— Update assetů
terminal
6c0f413e— Refaktorizace detailu dokumentu - načítání kontejnerůb8e9b731— Příjemka: označení doporučené pozice/zóny jako doskladněnéa9bfff55— inventurycc48d869— labs langs88e1ad51— Merge branch 'master' of gitlab.com:elasticr/terminalsd9478454— Oprava agregace doneQuantity kontejnerů: seskupení aktivit dle itemId místo SKU17c043b8— Sjednocení jednotek v agregaci kontejnerů: součet quantity místo coverageQuantity9118a286— Oprava jednotky u kopie produktu: zachování coverage jednotky při toMap/fromMap
vue-design-system
55898526— EP-313 bridge support68a30ccf— POS: surface customer email on Firestore object rootd3cca970— Veterix 461 reportsc52b1743— PROIZS-290: unique + capped options in input-group-collection selects80e2af81— Resolve dataSource params into grid base filters and merge repeated collection params07cd7c7b— Add a deriveValues form field effect with a shared per-host pipelinec83be729— Update POS configuration docs and platform learnings1afe9069— Inject the configured product into generate configuration payloadseae95a54— Break useListGrid filters↔filterParams reactive cycled276c01d— Add step handling to the library quantity inputs29810bd9— Offer product sales units in the POS detail and pickerc9b84743— Make POS cart lines unit-awareda428299— Add an explicit edit-in-cart action to the product detail6d7e6ffb— config-renderer: object-reference status via param; enum-as-text valueMap0fbadf3b— config-renderer: add generic code editor field type43a44101— feat(pos): add custom (placeholder) item to the POS cart9cbb50f1— feat(data-grid): render expandable sub-rows with per-variant cellse023bc84— feat(pos): add the services picker with per-variant add-to-cart1a65c1c7— feat(pos): responsive add-bar — reorder, icon-collapse, gate services on POS90eca0db— style(data-grid): soften the variant sub-row connector0a5be026— fix(data-grid): label tag-group filter chips by value title7eb98008— feat(data-grid): source catalog sort dropdown from all columnsbce385f7— feat(tagged-item-input): render stockroom + availability filter selectsea7a0447— feat(sidebar): render link rail items; fix active + drawer state0fcc0f53— feat(pos): cap POS add-to-cart at the stock already accounted for in the cart481c01eb— feat(pos): scope POS stock to the picked configurationda590bd4— Route Firestore emulator by server-published port, not hostname3b570c73— Stop stock-gating the POS unit select2a737494— add scan lookup url/classification/payload helpers9abb6b28— add scan dispatch orchestrationc5ece81f— add barcode scanner composable with input hygiene and feedback toastsfe069561— fix lint and formatting in scanner modules4aedc03a— add scanner composable wiring testsb1b7f8cc— stamp own-location stock on scanned adds621dd881— document the barcode scanner in the POS docsb31b3386— Show an immediate scanning ack toast while the POS scan lookup runsdb8012a8— POS cart: scannable identifier model, unit coverage, issued-on-add47cde2b6— POS scanner: label prefixes, local matching, optimistic dispatchd7833c16— POS cart scan UX: placeholder, seamless swap, scroll and highlight3badcdaf— action system: request-body support, selection-gated actions, confirm error surfacing913b520b— embedded lists: isolate grid store per mount191a3a86— data-grid: spread non-namespaced composite filter params at top leveld5df44f9— document-reference: prefer the row's resolved route for the link548ea9dd— review round: card cell, count param, generic body params, explicit selection flag77b5e317— card cell: render via a SummaryCard library componentcbfbfa0c— action body: narrow the wire type to FilterParam56692e3b— Unify POS stock presentation by locationac810f07— MATEZAWMS-915: Scope variant picker by parent UUID8003c6b3— feat(i18n): accept a runtime locale in the DS pluginab8eadb4— feat(i18n): type window.elasticr locale fields55a52bd2— feat(i18n): complete DS English catalogsa95dcd20— fix(i18n): satisfy eslint in i18n test files395a3753— style(i18n): apply prettier formatting84ab8062— Fine tunningf9f603ba— i18n user drawer workspace and terminal labelscce5df61— MATEZA-1155 synonyms: uuid package + stable uid row keysf80cc5f0— feat: add scoped keyboard shortcut infrastructuree4ccc8e2— docs: describe shortcut architecture and POS behavior051f1f37— fix: close keyboard shortcut coverage gapsa0e650a0— fix: route list toolbar actions through action hostc01a7ced— Panel collection for settingsfc89a42c— refactor(synonym-rules): make the row merge unable to drop fieldsf79d4334— feat(synonym-rules): let a rule cover a set of areasceff407c— refactor(synonym-rules): drop the global sentinel; add Select placeholderaca53cd9— refactor(synonym-rules): drop dead type re-exports from the component
elasticr-admin-assets
303854cf— added option to send email to helper in SendBatchPdfEmailToDriverHandler67a5814c— new WF form for handle_document_items_coverage3ceaead7— EP-353: content builder slot brick and inline component item editing511ad697— EP-353: fix eslint violations062a40e0— EP-353: resolve nested components from preview editComponent messagesc1135293— EP-353: ignore brick ids in preview editComponent messages19523942— EP-353: dim hidden components in the preview61dd83ee— automations list ID col support194cd9ee— state fallback to object if just int given in TableProductInfoRendererbf5d7f0a— manufactured configurator assets moved from app so it hooks on projectsc188ca37— Fix production order item picker crash; migrate to base-document stack8f5964f9— feat(sidebar): order the POS rail item under Homebd38cc20— MATEZAWMS-911: add visibility select to shipping and payment method formsf95d1036— MATEZAWMS-911: switch visibility to multiselect of backend/frontend flagsdcfd48fe— pridani carrier a carrier provider do shipping methody30bc3661— updated product active supplier list to properly match suppliers2beb2c6e— added ui for order validations whitelist/blacklistc9ff0358— oprava titulku produktove polozky na dokumentu - bere se title z polozky misto z produktudf6966cc— Úprava chování editoru; filtrování tříd, inline stylů a atributů při kopírováníea4783bc— Úprava chování editoru; pročištění HTML tagů při kopírování06ec311e— Add createdDateFromByInterval filter to audit log listing5d31337e— Regenerate TS contracts and satisfy the stricter address shape55f32bf4— updated tag group ui to include scope typeb5c5b5c4— added ui for parameter variant types on productsd31e2e30— added delivery country and number of packages columns in shipment listeeefcd21— showing transactions tab on putAway/receipt tweaks93f240de— Ruční ceny u dopravních a platebních metod (admin UI)56f342f8— LUMAX-799 Send document edit surface context40b9c825— lazy-load file manager folder tree via jstree ajaxb4862401— fix passing invalid uuid to stockTransfer on unavailableItems list, reload the list after transfer created2b500d44— updated ui for product import/exports47d2605c— Dodání chybějící ikony0df9867e— Pin webpack to 5.109.0 to match the app and fix linked-dev admin buildb3b832c1— i18n: translate core modulec8b5c168— i18n: translate content-builder module28fd9127— i18n: translate wms moduleac7bcd8c— i18n: translate distribution modulefcbf9338— i18n: translate remaining admin modules453adb4c— fix: prettier formatting and duplicate catalog key93fe9724— fix: narrow vue-i18n t() return type via patch-packagec5708e6f— test: provide i18n $t/$tc fallback in jest setupbde0930a— i18n remaining admin strings17242a82— add Polish (pl) translation catalog and i18n wiring53f2b80a— add new XLSX export labels to pl and sk catalogs76785acf— run patch-package explicitly instead of on postinstallb437a221— INGREDI-979: column for items source documents2d0c1c1b— SummaryDeliveryInfo - branch id0b10d94c— Předvyplnit výchozí stav/viditelnost/pořadí u nové platební a dopravní metody977087ec— coerce the alternative percentage to an integer and floor it at zero9517ceb3— Pin jquery-contextmenu below 2.10 to avoid @use SCSS incompatibilityb0c496f5— document series for StockTaking creation form903d914a— shipment handover card at shipment detail2be88e9e— coverage opration edit form fix (not required locations)fe5ea54a— handing null state of document origin (fits to API docs) and empty origin's pathe483e202— Apply vue-i18n patch before running tests3df7a101— correct path for shipment hadover card at shipment detail3663d665— allow admin UI to connect to other than default FS databased79b0c95— add stock taking cover settings form to the store document in firebase action01b23eb5— add the other stockrooms quantity option to the stock taking cover settings
elasticr-assets
67b95845— Úprava phone-input5ee7a53b— PROIZS-290: SlidePanel + product actions (porovnání, sdílení, tisk)fcec6d23— PROIZS-290: oprava stylelintu (pořadí properties, currentcolor, duplicitní selektor)8b8b1411— PROIZS-290: address code review commentsfeb819b9— zobrazeni eta na produkteched4c1d8c— Přidání tlačítka na smazání celého košíku; úprava košíku91cc1a3f— Odebrání nepoužívaných knihovena24308be— Úprava vkládání meta description při facetové navigaci - setAttribute místo skládání HTML60f99e8b— Odebrání jQuery z Elasticru; výměna lightGallery za GLightbox89960cdf— Úprava chování HoverToggleru a Drilldownu352faa90— Refaktorizace HoverToggleru a vyčlenění Drilldownu z Menu; přístupnost navigace (klávesnice, dotyk, ARIA); safe-triangle; oprava hover-item-default; unit testy a dokumentaceee782281— Úprava dropdownů u akčních ikonaef02eea— Drobná úprava TemplatePreviewdc44346e— Úprava calculateScrollbarWidthd583f277— Vytvoření ef-dropdown__stacka4556ca2— Úprava modalu kvůli lintu7080792c— EF-356: Adjust component SCSS for media size laddered626d64— Úklid nepoužívaných modifikátorů a proměnných v list-item0d94c1af— Ovládání produktu v tile-view: spacing, centrování a úklid mrtvých pravidel3de10462— Tokenizace number-inputuc06f0d0b— Kompaktní varianta product-controls pro našeptávač