241.0 - Release Notes - Jumpmind Commerce¶
Announcing¶
Address validation via Experian & Google¶
No description
Integration with payment provider Aurus¶
No description
Internationalization | Ability to switch language on CX Connect and Self Check Out displays¶
Point Of Sale¶
241.0.33¶
New + Improved¶
- Authentication | LDAP & password resets issue when password needs to be reset (JMC-6470)
Fixed¶
- Cherry pick fixes for thread pool leaking issues fro, JMC-6337, JMC-6363 and JMC-6362 (JMC-7381)
- Customer | Email validation should allow any valid character to directly precede @ symbol. (JMC-4095)
- Training Mode | Training mode causes sequence number to be reset (JMC-7149)
Upgrade Considerations¶
- An additional configuration has been added to allow for look-ups based on either the user's username or alternateId, openpos.user.authentication.useAlternateIdForValidation. If it is false, the user's username will always be sent as a part of the validation request even if alternateId is the entered value.The following i18n properties in the user bundle should be updated or added: login.passwordprompt should be updated with a parameter to display the username as a part of the prompt login.password.validation.give.requirements should be updated with a parameter to display the username as a part of the prompt login.password.validation.give.requirements.withUser should be added with 2 named parameters, username and alternateId, to display both the username and the alternatedId as a part of the prompt. (JMC-6470)
241.0.32¶
Fixed¶
- Training Mode | Training mode causes sequence number to be reset (JMC-7149)
241.0.31¶
New + Improved¶
- Authentication | LDAP & password resets issue when password needs to be reset (JMC-6470)
Fixed¶
- CX Connect | Stops communicating when it switches from ethernet to wireless (iPorts tend to do that) (JMC-6586)
- Payment | Cloud and Local Adyen client can't share the same CustomerAdyenHttpClient (JMC-6726)
Upgrade Considerations¶
- An additional configuration has been added to allow for look-ups based on either the user's username or alternateId, openpos.user.authentication.useAlternateIdForValidation. If it is false, the user's username will always be sent as a part of the validation request even if alternateId is the entered value.The following i18n properties in the user bundle should be updated or added: login.passwordprompt should be updated with a parameter to display the username as a part of the prompt login.password.validation.give.requirements should be updated with a parameter to display the username as a part of the prompt login.password.validation.give.requirements.withUser should be added with 2 named parameters, username and alternateId, to display both the username and the alternatedId as a part of the prompt. (JMC-6470)
241.0.30¶
New + Improved¶
- Port back support for Adyen cloud api and http client settings (JMC-6667)
Fixed¶
- Gift Cards | Cash outdoes not show change due prompt (JMC-6501)
241.0.29¶
Fixed¶
- CLONEPressing checkout quickly after scanning item causes shrug (JMC-6373)
- Manual Coupons | Associate is prevented from adding an amount coupon on an exchange when basket is negative (JMC-6092)
241.0.28¶
Fixed¶
- Multiple returns (with receipt/without receipt) is not allowing the without a receipt to be refunded to card (presented) if there is balance left on card (not all items returned) (JMC-6257)
- Printing | Store receipt printed at incorrect store (JMC-5943)
241.0.27¶
Fixed¶
- Users | LDAP & password resets issue when password needs to be reset (JMC-3667)
241.0.26¶
Fixed¶
- Partial return with referenced returns enabled to Interac not handling multiple cards properly (JMC-6020)
- Till reconciliation report Cash section is off when there are US funds (in Canadian store with CA cash as well). (JMC-5219)
- When partially returning items from multiple sale transactions the tender card selection allows to over tender to incorrect card (JMC-6019)
241.0.25¶
Fixed¶
- Adyen referenced returns is not honoring the preferReferencedReturns setting (JMC-5939)
- Backport changes from JMC-4760Provide a cache refresh process and/or option for when JMC is deployed as a central only scenario. (JMC-3781)
- Internationalization | French store with English user returning to the main tile menu sees the tiles in French. English store with French user returning to the main menu sees the tiles in English (JMC-3453)
241.0.24¶
New + Improved¶
- Payment Device | Add support to Payment Device Status Job to work when running centrally (JMC-5304)
Fixed¶
- Architecture | Open Till and Open Device don't get sync'd to the client for purposes of cloud failover. OpsClient needs to call peekAndCommit for those two operations. (JMC-5631)
- Fix transitive dependency issue for projects with dependencies on JMC (JMC-5870)
- Promotions | Employee Sale with Price Override is not reacting as expected (LIST REWARD_BASE_PRICE_TYPE_CODE) (JMC-5289)
- Returns | The return bucket is incorrect when multiple items are returned to the same tender bucket from different original transactions (JMC-5571)
- Scanner | JPos Scanner stops working. Initialize and close when ready to use versus leaving the scanner enabled all the time. (JMC-4886)
- Transaction sequence numbers are duplicated after a system goes offline and fails over to the cloud and comes back online (JMC-5129)
Upgrade Considerations¶
- Added new configuration to initialize scanners only on screens that allow scanning:
(JMC-4886)
DOC_scanners: "Configuration for JPos/Server connected Scanners (e.g. Zebra scanner in SNAPI mode)" scanners: jpos: enableForAppIds: - pos - pricechecker - selfcheckout enabled: false deviceNames: - ZebraAllScanners - DataLogicMagellan1500iUSB connectionTimeout: 1000 numberOfInitializationRetries: 2 initializationRetryDelay: 3000 reinitializeOnFailure: true DOC_strategy: "The strategy to use for initializing the scanner. The default strategy is to initialize the scanner when a device connects to the server (initOneTimeJPosScannerStrategy). The other strategy is to initialize the scanner on demand (initWhenNeededJPosScannerStrategy)." strategy: initOneTimeJPosScannerStrategy
241.0.23¶
New + Improved¶
- Discount Calculation Config | Allow item PCT rewards calculations and rounding to be configurable (JMC-5233)
Fixed¶
- Manual Coupons (Group Discount)when resuming a suspended transaction the discount row is missing (JMC-5419)
- Payment Device | PaymentDeviceStatusJob relies on clientcontext (JMC-5453)
- Promotions | Group Discount (Manual Coupon)When clicking view details of a transaction with a group discount you get a shrug error (JMC-5396)
- Promotions | Group Discount (Percent) remains applied after removing manual coupon (JMC-5367)
- Promotions | Manual coupon item selection screen has no ability to scroll down if there is several items (JMC-5397)
- Suspend/Resume | Shrug occurs when resumed transaction has unsuccessful customer reattachment (JMC-5075)
241.0.22¶
New + Improved¶
- Payment Device | Add support to Payment Device Status Job to work when running centrally (JMC-5304)
Fixed¶
- Lockout Override button is not visible on the ipad screen if the user name is too long (JMC-5084)
- Promotions | Excess price modifiers when manually discounting a return item that has a promotion (JMC-5103)
241.0.20¶
Fixed¶
- Customer | Email Validation Not Displaying on Customer Display (JMC-5087)
241.0.19¶
New + Improved¶
- Manual Coupon | Provide a method of applying multiple manual coupons to selected items (JMC-5099)
Fixed¶
- Gift card cash out not working properly (JMC-5070)
- Scanner | Epson eSDK scanner uncommunicative (JMC-4031)
241.0.17¶
New + Improved¶
- Log In | Login usercase insensitive configuration (JMC-4977)
Fixed¶
- Adyenreferenced returns of Ecommerce trans failing (JMC-4767)
- Issue with return of split tender with original using GC/CC, return of second portion not completing (JMC-4436)
- Auto Suspended Store Order that was at the payment screen, when resumed there are issues with shipping info (JMC-4400)
- Customer display recommended items display in English even when display is set to French (JMC-4928)
- Application hangs indefinitely after selecting Email receipt option (JMC-4986)
- ReturnsWhen linking by loyalty the wrong transaction is linked (JMC-4963)
241.0.16¶
Fixed¶
- JMC hangs at promotion calculation when the reward is super small (in this case $0.01) (JMC-4820)
- Split tender return does not always track tenders used (JMC-4679)
- Child Tax Exemption has wrong tax amounts in tables and on receipt (JMC-3918)
- PRICE_TOTAL rewards best deal can be inconsistent (JMC-4927)
- Returns | Referenced returns with multiple cards show incorrect back on card amount (JMC-4924)
- Symmetric | Registers fail to update due to 500 error (JMC-4505)
241.0.15¶
Fixed¶
- Birthdate selected from calendar then select to pass to Customer the birthdate is not preserved (JMC-4829)
- Cancel Process button on fixed station breaks customer sign up flow on CX Connect (JMC-4849)
- Fix customer display stability issue that was solved by JMC-3336 in 242.0 (JMC-4842)
- Order Items 'label' appears on transaction search and EJ search even when no orders were included (JMC-3774)
- Customer display is active prompt shows even though the customer display is not active (JMC-4822)
- Customer display continues to show empty cart with customer attached - cannot exit from it (JMC-4763)
- Single use promo codes should respect openpos.promotions.useBusinessDateAsEffectiveDate. They do not currently. (JMC-4705)
241.0.14¶
Fixed¶
- Adyenreferenced returns of Ecommerce trans failing (JMC-4767)
- E-Receipts - When customer wishes to have an email receipt BUT the transaction includes store copies of receipts those are not printing out. (JMC-4322)
- Discount on non-receipted return item does not work (JMC-4735)
- Tax | Vertex integration sets effective start time to local system time instead of date in RTE file (JMC-4566)
241.0.13¶
New + Improved¶
- Backport - POS Receipts | Allow selection of number of Gift Receipts at time of print (JMC-4602)
Fixed¶
- Tiered promotions do not support single-use promo codes in the POS (JMC-4545)
- Backport 4184 - Receipted Return Items with price modifications cause multiple price modifications on return item to appear in final database records and on return receipt (JMC-4582)
- Adding an item with a Minimum Buyer Age to a return causes shrug (JMC-4586)
241.0.12¶
Fixed¶
- No Sale, Payout transaction receipts do not account for local offset (JMC-4023)
- Loyalty button on sale screen doesn't inform associate that customer is validating their address on customer display (JMC-4345)
- Shrug at checkout involving repeat delivery items (JMC-4061)
241.0.11¶
Fixed¶
- Label missing from a Child PST Exemption form (JMC-3107)
241.0.10¶
Fixed¶
- Payment Device | Aurus Pinpad Timeout/Cancel issue (JMC-4239)
- Performance | Looping error when customer display lookup and item scan happen simultaneously (JMC-4269)
- Pricing | JMC is always using LIST price if it is set (JMC-4326)
- Promotions | LIST price promotion (employee) maintains LIST price values after employee is removed from sale (JMC-4330)
- Promotions | LIST price promotion discount on very first trans reverts discount (JMC-4329)
241.0.9¶
Fixed¶
- Backport changes to 24.1.8Store Order that suspended, when resumed was allowed to complete payment with no customer information attached. (JMC-4213)
- Backport JMC-2880 to 24.1.9 - Reconcile Till transaction is not sending the correct information (Ex. Credit Card amounts are not correct, amounts sent for many tenders even not used) (JMC-4048)
- Double swiped prompted for a gift card tender (JMC-4215)
- Two prints happening at same time from different stores could print on same printer (ie wrong store for one) (JMC-4243)
- Payment Device | Aurus Pinpad Timeout/Cancel issue (JMC-4239)
- Register 'freezes' with repeating customer display log entries (JMC-4174)
241.0.8¶
Fixed¶
- Split tender returns across multiple transactions do not track tenders used (JMC-4006)
- POS 'amount due' off by penny when returning items from 2 different sale transactions in same return trans. Customer display shows correct amount. (JMC-3450)
- Split tender refund including an INTERAC debit card is not handled properly to prevent referenced return (JMC-3852)
- Detailed View of tender counts does not update the 'counted' amount in the window (JMC-3859)
- openpos.sell.sellItemActionHandlers.itemDiscount.allowedOnReturn does not work when set to true. (JMC-3931)
- Toggle of customer display language causes some scenarios where receipt prints incorrect language (JMC-3950)
- Birthdate selected from calendar then select to pass to Customer the birthdate is not preserved (JMC-3977)
241.0.7¶
Fixed¶
- Gift Card Cashout fails on Fixed Aurus (JMC-3415)
- JMCH-183 MPOS e285 pinpad issues (JMC-4038)
- JMCH-186 Customer DIsplay tried to connect to Aurus Payment end point and throws errors (JMC-4037)
241.0.6¶
Fixed¶
- Cash Up or Down in a store that has both local and foreign currency cash transactions causes the external bank deposit amount to be incorrect for the foreign amount (JMC-3666)
- Customer display continues to show customer after unlinking customer (JMC-3456)
- Language drop down selection overlays option box (JMC-3697)
- Orders | Address Verification results show the prior list found for a moment even though the entered data does not match (JMC-3753)
241.0.5¶
New + Improved¶
- Support UNSUPPORTED_CARD error when authorizing a card (JMC-3553)
Fixed¶
- A transaction (sequence) number is burned when adding the loyalty customer to the transaction and then completing the sale (JMC-3500)
- Auto personalization fails on iOS in release 24.1 (JMC-3616)
- Buy X Items for $Y Promo Not Applying Correctly (JMC-3303)
- Cash Refund amount not presented to cashier on a split tender if Cash refunded first , CC 2nd (JMC-3536)
- Email receipt sometimes does not email receipt/gift receipt from a standalone installation (JMC-2874)
- openpos.promotions.useBusinessDateAsEffectiveDate does not work for item lookups, which means coupons don't work with this parameter (JMC-3548)
- Pin pad does not respond for the first transaction for the day, and often later in the day it also fails. After the timeout, the next transaction is successful. (JMC-3486)
- POS sequence number needs set in Aurus referenceNumber field (JMC-3475)
- Price changes from Promotions are not taking effect for price total rewards with qualifying attributes (JMC-3424)
- Split tender returns across multiple transactions do not track tenders used (JMC-3419)
- Unexpected error when cancelling out of the terminal when issuing or loading a giftcard if needing to select payment device (JMC-3240)
- When using Aurus payment provider in commerce, Gift Card remaining balance is incorrectly set as requested authorization amount minus the approved amount (JMC-3668)
241.0.4¶
Fixed¶
- NO_SALE reason code in Trans Publisher JSON is the Reason Code display text instead of the actual Reason Code value (JMC-3418)
- Resuming of suspended transaction allowed multiple times; ResumeSaleSessionEndpoint has implicit dependency on MarkTransResumedEndpoint being local also (JMC-3417)
241.0.3¶
New + Improved¶
- Capture billing address when creating a pickup order (JMC-3264)
- Locked user can be unlocked by resetting their password (JMC-2586)
Fixed¶
- Applying manual Item discount then Transaction discount results in java.lang.UnsupportedOperationException in PromoHelper.groupByCategories() (JMC-3332)
- Closing store appears to have changed register number (JMC-3209)
- Gift Card cash-out fails immediately (provider Givex) (JMC-3247)
- Order Bug - After attaching a customer, they are asked again for customer after adding item for pickup (JMC-3316)
- Repeat Delivery exception on Postgres due to empty list of Repeat Delivery IDs (JMC-3409)
- Store closing Till Position Report (tender summary) is not including cash tender in the Tenders Total amount (JMC-2904)
- Tracking number is not captured from Delivery Solutions response when creating an order (JMC-3379)
- When Canceling Delivery Order with remote CO offline received shrug error (JMC-3238)
241.0.2¶
New + Improved¶
- Need ability to apply tax percentage override at different levels (JMC-2957)
Fixed¶
- Property 'validateEmailOnPaymentDevice' does not appear to be functioning properly (JMC-3089)
241.0.1¶
Fixed¶
- Environment variables in application yml files were not being resolved when using contextService.getObject() (JMC-3241)
- Icons missing from JMC when running from Electron (JMC-3263)
241.0.0¶
New + Improved¶
- Ability to cancel a BISPIS order (JMC-2384)
- Ability to set custom cadences for Repeat Delivery (JMC-2209)
- Ability to set minimum limit for editing item quantity in basket (JMC-2633)
- Add configuration to Experian email validation to control what experian result codes constitute an invalid email address (JMC-2779)
- Add configuration to turn off modifying the database schema by module/microservice (JMC-1946)
- Add endpoint to evaluate if Order address collection at end of Order checkout flow is supported/required (JMC-1949)
- Add jackson-dataformat-xml to java.gradle and associated Spring Boot configuration so XmlMapper is available for integrations during implementations (JMC-1915)
- Add new ctx_business_unit_* tables to the base SymmetricDS config (JMC-1813)
- Add opentelemetry statistic gathering to the point of sale (JMC-2104)
- Add support for displaying multiple loyalty membership pills on Customer panel and customer details (JMC-3096)
- Add symmetricds configuration for rpd_cadence and rpd_item_cadence (JMC-2921)
- Add tags to permission table for 4.6-BAB (JMC-2342)
- birthday to birthDay was changed in the customer table (JMC-1856)
- Change configuration that controls displaying of the cancel button during payment authorization to allow control of display of the cancel button or not for each operation (JMC-2818)
- Change posTransactionId in AbstractPaymentRequest to be configurable (similar to barcode). It should be able to be configured as a combo of business unit id, sequence number, business date, and/or device id (JMC-1925)
- Changes to support Endless Aisle local tax in Canada (JMC-1815)
- Configurable Confirmation prompt for Close Store (JMC-2510)
- Create helm chart for vertex integration (JMC-2669)
- Create Helm installation for SymmetricDS (JMC-1441)
- Create sls order status transaction for tracking updates to orders (JMC-1679)
- Default itemintranslimit unlimited (previously the default was 50) (JMC-1752)
- Deprecate loyaltyNumber, loyaltyPoints and memberTier from the customer model. Remove CustomerGroupModel. (JMC-2668)
- Embedded data sync URL updated following SymmetricDS 3.15 upgrade (JMC-2489)
- Enhance order line item model to support fulfilling business unit (JMC-1976)
- Enhanced charity donation display for customer in CX Connect (JMC-1802)
- Expand existing card reuse feature to support reusing the card token from any previous credit/debit card tender instead of just pre-auth tenders (JMC-2624)
- Experian email domain validation (JMC-2201)
- Forms now include country code (JMC-1962)
- Improved filtering in Transaction Publisher increases message routing efficiency (JMC-2550)
- Improved performance by removing unnecessary calls for loyalty rewards (JMC-2313)
- Improved tender prompts are more user friendly (JMC-2708)
- Item skus (classifiers) replaced with attributes for employee, loyalty and repeat delivery (JMC-2579)
- Make the customer service REMOTE_FIRST in the project starter configuration (JMC-2886)
- MicroCaps now support checking permissions before loading (JMC-2659)
- Modify Order checkout flow to set addresses on Order template if addresses were collected (JMC-1950)
- Move roundup next to price. Allow for 4th buttons on tendering screen (JMC-1801)
- Move the check for loyalty savings which occurs during checkout to occur early in the checkout process in front of the Repeat Delivery checkout flow (JMC-2241)
- New feature config to prevent under-funded tills from replenishing to meet float amount. When configured, always set prompt value to zero. (JMC-2501)
- Option to use single-use coupons more than once via override functionality for rejections (JMC-2200)
- Orders now support Adyen pre-authorization (JMC-2537)
- Pass any additional fields of the transaction or the employee UserModel to the promotion engine as transaction level attributes for use a promotion qualifications (JMC-3137)
- Promo engine enhanced to allow loyalty points/points multiplier as a reward (JMC-1984)
- Promo engine now supports free shipping as a reward (JMC-1820)
- Promo engine now supports gift items as rewards (JMC-1821)
- Promo engine now supports mix and match BOGO promotions (JMC-1921)
- Promo engine now supports tiered promotions (JMC-1817)
- Provide the ability to validate a scanned gift card (specifically if the number is in an acceptable range for a given store) and show an error and stop the current gift card flow if the card number is not valid (JMC-1882)
- Qualifying items can be configured to be items rewarded (JMC-2628)
- Record the email captured when openpos.sell.optIntoAnonymousEmailMarketingEnabled is enabled (JMC-1753)
- Remove currency code from published JSON (JMC-1758)
- Remove OrderAssignmentModel (JMC-1979)
- Remove state and country entries from the transaction publisher's JSON payload (JMC-402)
- Remove the seconds from the timer on the sale screen (JMC-1797)
- Report templates can be sourced from the database (JMC-2506)
- Review high CVEs and fix for 24.1 (JMC-2625)
- Scanners | Add support for Honeywell scanners (JMC-3849)
- Simplified customer information integration in Order Fulfillment (JMC-2638)
- State manager enhanced to allow routing of return actions (JMC-2576)
- Style CX Connect item card the same as the sale screen (JMC-1692)
- Support added for +4 zip code (JMC-2069)
- Support added to fetch customer purchase history from external source (JMC-2446)
- Support allowing the user to select an alternate language on CX central (JMC-1685)
- Support allowing user to select an alternate language on Self Checkout (JMC-1687)
- Support M400 pinpad and virtual receipt in Adyen implementation (JMC-1778)
- Support qualification expressions against attribute values in the promotion engine (JMC-1646)
- Support round buttons on the home screen (JMC-1794)
- Turn on clusterEnabled: true for the trans and order publisher jobs by default and in the base profile (JMC-3062)
- Tweak the Loyalty Prompt UX (JMC-1796)
- Tweak the Prompt UX (JMC-1795)
- UnlinkCustomerMessagesEndpoint should also indicate whether or not the customer can be unlinked from the transaction (JMC-2530)
- Update promo engine to be able to calculate based on list price versus retail price (JMC-1734)
Fixed¶
- "__transModelType" duplicated in serialized transaction JSON (JMC-1769)
- A promotion with an AMT_TOTAL qualification will only apply a single time regardless of max_uses setting (JMC-2794)
- A published order message is missing tender details. Publish the original transaction along with the order so a complete picture is avialable (JMC-1785)
- Able to add unavailable items to order if previous option was available (JMC-2369)
- Appears that Auto Personalization from an iPad is not working properly (JMC-3467)
- Bogo Promotion Best Deal not chosen when only two reward items are both the HIGHEST and LOWEST price in the basket (JMC-2372)
- CreateTednerSettlementTransactionEndpoint and AddTenderSettlementItemToTenderSettlementTransEndpoint should not save the transaction (JMC-2367)
- Delivery order item tax is not displayed on the sales receipt (JMC-2988)
- Difference amount shows opposite sign than expected on the Till Reconciliation Till Tender Count screen (JMC-3270)
- Earned promo code is randomly added and then removed. (JMC-3002)
- Error: cannot invoke ...DeviceModel.getBusinessUnitId() because deviceModel is null (JMC-3221)
- FinalizeTender performance issue, searching original transactions per receipted return item (JMC-2148)
- Fix performance issues with PRICE_TOTAL promotions on big baskets (JMC-626)
- Inconsistent Data on return vs original sale transaction json (JMC-2515)
- Manager Override "No" Not Working (JMC-2778)
- Manually entering a Gift Card number for a Gift Card Issue/Load/Inquiry is treated like a Cancel (JMC-3175)
- On a French POS there are multiple places English spelling exists (JMC-3271)
- Order status of DECLINED or PACKED not recorded in SLS_ORDER_LI_STATUS_TRANS (JMC-2635)
- Original transactions not found when returning against an order ID (JMC-2836)
- Point of sale does not recognize promo codes imported through promote (JMC-2876)
- PRICE_TOTAL promotions with a large number of qualifications and a large basket size can lock up the point of sale (JMC-2080)
- prm_promo_code can become slow because there is no index on the code column (JMC-3142)
- Product Searchtoo much whitespace (JMC-1972)
- Promo Label Changes are not triggering SaleItems to be refreshed on Sale Screen (JMC-2011)
- Purchase History Endpoint needs to be set to remote (JMC-2910)
- Returns cash rounding amount prompt not showing rounded amount (JMC-2340)
- Roundup on Return cancels return amount, stuck in loop (JMC-1782)
- Shruggy returning against OMS-generated order missing transaction barcode (JMC-2820)
- Till Reconciliation Report doesn't show totals by credit card (JMC-2746)
Upgrade Considerations¶
- If using repeat delivery SymmetricDS configuration will need to be added for rpd_cadence and rpd_item_cadence (JMC-2921)
- Be aware that the birthday column changed to birth_day (JMC-1856)
- Customers should consider moving to the helm based Kubernetes SymmetricDS build if they are currently have a custom SymmetricDS build (JMC-1441)
- loyaltyNumber, loyaltyPoint and memberTier have been deprecated from the CustomerModel. CustomerGroupModel was deprecated (JMC-2668)
- The embedded SymmetricDS url was renamed from /symds/ to /sync/ as part of the 3.15 upgrade (JMC-2489)
- We added an index to prm_promo_code. The application might take a while depending on how big prm_promo_code is. (JMC-3142)
- The order assignment table was deprecated and removed in favor of an order line item assignment table (JMC-1979)
- Installations migrating to 24.1 will have to: (JMC-2638)
- If some retailers are dependent on the common.properties for postal code configuration, they will need to update to use the ctx_form_field configuration instead. (JMC-2069)
- The new customerSale service should be configured as a REMOTE_FIRST service.
(JMC-2446)
openpos: services: specificConfig: customerSale: strategy: REMOTE_FIRST profileIds: - remote_central
Promote¶
241.0.5¶
New + Improved¶
- PromotePull performance fixes from 24.2 back into 24.1 (JMC-3511)
Fixed¶
- Custom Item Groups Throw Error When Selected After Just Being Created (JMC-3509)
- In Promote, a qualification level of Transaction gets overwritten with value of Item during editing (JMC-3401)
- Lots of apparently unnecessary logging from the Central Promote Authoring tool (JMC-3465)
- Promote doesn't seem to successfully save item group exclusions to itm_item_group_member table when there are item inclusions and excluded groups in the qualification (JMC-3594)
241.0.4¶
Fixed¶
- Bulk upload coupon code promotion goes missing after editing the promotion. (JMC-3451)
241.0.3¶
Fixed¶
- Category reward goes missing after you edit a promotion that has been published (JMC-3310)
241.0.0¶
New + Improved¶
- Add advanced search button on Pricing & Promotions Home page (JMC-2327)
- Add longDescription field to promotion details step under advanced details section (JMC-2805)
- Add Sort/Filter button on Pricing & Promotions Home page to be able to sort campaign cards view by create time, labels, etc (JMC-1314)
- Add support for tiered by amount promotions (JMC-1818)
- Allow specifying qualification items as the rewarded items (JMC-2629)
- Import items function for custom item groups (JMC-1874)
- Make configuring mix & match reward application more intuitive (JMC-2425)
- Move maximum uses field from promotion details step to the offers step. Pre-populate accordingly based on offer template selected. (JMC-2577)
- On promotion publish, update employee spark & loyalty customer spark to add to the promotion as a qualifying transaction attribute rather than a qualification item. (JMC-2578)
- Support configuring a promotion to calculate off of List Price (JMC-1732)
- Support getting user informtion from SSO provider (JMC-1658)
- Support item level attribute qualifications (JMC-1651)
- Support SSOOkta Integration (JMC-1652)
- Support transaction level attributes as promotion qualifications (JMC-1649)
- Update create flow to support choosing price type (JMC-1871)
- Update create flow to support free shipping (JMC-1823)
- Update create flow to support gift item rewards (JMC-1824)
- Update Single Use Coupon Spark to allow tying to a specific customer (JMC-2533)
Fixed¶
- Back button on promotion with PENDING_PUBLISH status should take you back to DRAFT (JMC-3058)
- Promote sales metrics don't populate (JMC-2905)
- Reward Frequency field on the rewards should be a required field. (JMC-3033)
- UsabilityUsers of promote keep creating promotions with a reward quantity of 0 which don't work. Can we do anything about that? (JMC-3032)
- When we try to edit an existing promotion the start date cannot be selected as current date or esisting promotion date which was set. . (JMC-2455)
Upgrade Considerations¶
- Added a "tier" column to OfferTemplateQualificationModel and OfferTemplateRewardModel. Because of this, and to update the tiered template, there were updates to the csv's for these 2 tables as well as OfferTemplateQualificationFieldModel OfferTemplateRewardFieldModel and OfferTemplateModel which will wipe those tables on the next deployment. (JMC-1818)
- Any customizations to the offer template tables would need to be migrated forward. (JMC-2577)
- Any existing promotions using the customer type spark will break after this change. We are no longer supporting customer programs through this spark and it will be loyalty only (JMC-2578)
- Any staged promotions with the old spark with a textbox input or .txt file upload will not properly add the single use promo codes on publish. (JMC-2533)
Retail Core (Shared core by store applications)¶
241.0.24¶
Security¶
- (CVE-2024-45491: libexpat: Integer Overflow or Wraparound)
- (CVE-2024-45492: libexpat: integer overflow)
- (CVE-2024-4590: libexpatNegative Length Parsing Vulnerability)
- (CVE-2024-7254StackOverflow vulnerability in Protocol Buffers)
241.0.17¶
New + Improved¶
- Turn off registration.auto.create.group.link in SymmetricDS's base configuration (JMC-4948)
241.0.6¶
New + Improved¶
- Add
typologySpreadConstraintsto the Helm chart (JMC-3699)
Upgrade Considerations¶
- Each application defined in the Helm chart now has its own field for topologySpreadConstraints. Refer to the official Kubernetes documentation for more information on how this field can be used. The Helm chart doesn't perform any validation of fields and instead just allows Kubernetes to perform the verification during apply. Additionally, for convenience, if the labelSelector field is omitted from a defined spread spread constraint, the Helm cart will automatically assume you would like to you the generated pod selector labels and populate it for you. Finally, for convenience, while each application can define its own topologySpreadConstraints, you may also define the default.pod.topologySpreadConstraints value. When set, for any application that does not have its topologySpreadConstraints explicitly defined, this default will be used instead. The same rule for the labelSelector convenience feature still applies. This is useful to reduce the amount of repetition incase you would like to blanket apply a policy to all or most applications. (JMC-3699)
241.0.5¶
Fixed¶
- The trans publisher blindly marks all published items as published when it should really be checking the response of the publisher which returns the actual messages that were sent (JMC-3508)
- Update the base SymmetricDS profile with newer tables (JMC-3407)
241.0.3¶
Fixed¶
- Fix CVE-2024-1597 (upgrade the postgres driver) (JMC-3317)
241.0.0¶
New + Improved¶
- Add a Jenkins software provider for auto update server (can download builds for deployment from Jenkins CI/CD) (JMC-2613)
- Add support for constructor injection in States versus having to rely on @Autowired attributes for injection (JMC-665)
- Multiple Architecture build artifacts are now supported. (AMD64 (x64) and ARM64/v8) (JMC-2610)
- Split API Client and Rest Controller for services (JMC-2454)
Fixed¶
- Track: CVE-2022-45868, CVE-2024-25710, CVE-2024-26308, CVE-2023-36478, CVE-2024-22243, CVE-2024-22259 (JMC-3991)
Clientelling¶
241.0.0¶
New + Improved¶
- MicroCaps now support checking permissions before loading (JMC-2659)
Unified Promotion Engine¶
241.0.25¶
Fixed¶
- The internal promotion engine has a hard coded thread pool that limits throughput under higher loads which results in this ERROR message: Timed out calculating promotion deal for future result {} at index of {} (JMC-5938)
241.0.24¶
Fixed¶
- Unified Promotion Engine | UPE is finding expired coupon items when there are multiple rows in itm_assigned_item, some of which were expired (JMC-5775)
241.0.5¶
Fixed¶
- Fix unified promotion service console logging to log to json format (JMC-3524)
- NullPointerException happens in the price list endpoint when the selling price is not found (JMC-3522)
- The promotion id lookup for coupons might fail when testing coupons in the future (JMC-3588)
241.0.3¶
New + Improved¶
- Return the software version, build time and git hash in the response for the unified promotion engine (JMC-3325)
Fixed¶
- AMT_TOTAL qualification promo does not apply when another promo discounts the qualifying items first, even though it should (JMC-3318)
- The unified promotion api returns back too many unused promotions today for the purposes of reporting promotions that are not applied, yet have an excluded item (JMC-3411)
- The promotion id is not being returned for unused coupons that are assigned to a specific store in the calculate response (JMC-3341)
241.0.1¶
New + Improved¶
- External IDInclude Calculate API Response (JMC-3022)
241.0.0¶
New + Improved¶
- Add a boolean to the generatePriceList api as to whether all items will be returned in the api or just the ones with the price group(s) specified (JMC-2663)
- Expose service that takes a promotion type and returns a complete list of items that qualify for the promotion along with the original price and the discounted price (JMC-2294)
Fixed¶
- Request to populate promotionId in the unusedDiscountCodes api response (JMC-3215)