Skip to content

243.1 - Release Notes - Jumpmind Commerce

Announcing

Point Of Sale

243.1.27

New + Improved

  • SSCO | Provide ability to add a placeholder on the receipt option selection screen to display an image (JMC-7389)

Fixed

  • Backport changes for Endless loop when promptAssociateAssistedSaleEnabled enabled issue to 243.1 (JMC-7321)
  • Self Checkout | Revert changes for On-screen keyboard is overlapping various dialogs on the SCO Tender screen (JMC-7330)
  • SSCO | Fix styling on tender screen split while paying with multiple tenders (JMC-7320)

243.1.26

New + Improved

  • Self Checkout | Provide the ability to show split tenders on the Tender screen when paying with multiple tenders and prevent customers from removing tenders (JMC-6771)
  • Technical | Update spring versions to address CVEs (JMC-6912)

Fixed

  • Guest Checkout | Not able to checkout as Guest when customer is not a Shukran member (JMC-6774)
  • Self Checkout | Loyalty points balance does not display on Tender tile in Self-checkout customer mode (JMC-6903)
  • Self Checkout | On-screen keyboard is overlapping various dialogs on the SCO Tender screen (JMC-6772)
  • Self Checkout | Quantity adjusted in Associate Mode does not display properly in SCO Mode (JMC-6859)
  • Training Mode | Training mode causes sequence number to be reset (JMC-7149)

Security

  • Addressing CVE-2024-8184 (Technical | Updating Jetty Version)

243.1.25

Fixed

  • Returns | Processing is slow with large baskets because the transaction is looked up twice and details dialog makes too many calls to find original transactions (JMC-6711)

243.1.24

Fixed

  • Tenders | Restore Additional Text for Tile Buttons on Tender Option screen (JMC-6551)
  • Transaction Bridge | Transaction bridge does not populate the JMC AuthLineItemModel on a transaction thus preventing referenced returns from OrPOS from working (JMC-6595)

243.1.22

New + Improved

  • Cherry pick Convert CustomerResultsLookupState to state-bean pattern (JMC-6438)

Fixed

  • Receipts | Images created in local temp dir for Epson JavaPOS printer can accumulate (JMC-6452)
  • Technical | On slower hardware, Commerce client can display an older dialog after a newer screen has been displayed (JMC-6451)
  • UareU Biometric reader stops working when a customer display is launched with the point of sale (JMC-6428)

243.1.21

New + Improved

  • Technical Enhancement | Improve JavaPOS printing performance on Epson printers (JMC-6357)

Fixed

  • Loyalty rewards do not render on the customer details screen (JMC-4980)
  • Promotions | Special single item "clearance" promotion processor shouldn't require a reward item because the engine doesn't require the reward item row (JMC-6358)
  • qualification attribute NOT IN not working (JMC-6396)

243.1.20

New + Improved

  • BackportPromotionAdd ability to choose 'NOT IN' as an attribute option (JMC-6255)
  • Discounted line items with qty > 1 are not mapping correctly into OrPOS price modifier table (JMC-6070)
  • Internationalization | Add support for i18n business unit names and addresses (JMC-6230)
  • Multi Lingual Receipt (JMC-3457)
  • Receipts | Configurable QR Code and Barcode size on receipt (JMC-5996)

Fixed

  • Fast closed tills can be reconciled while the store is closed. (JMC-5985)
  • Printing | Problems with printing to Epson TM-T88 printers using JavaPOS printing protocol (JMC-6214)
  • Quickloader | Entity item feed files are failing (JMC-6302)
  • Technical | NullPointerException when attempting to add a bag item to a transaction and itm_item.tax_exempt_code is null (JMC-6141)
  • When promotions calcInBackground = true is set and dozens of items are rapidly scanned, discounts stop updating after a certain point (JMC-6129)

243.1.19

New + Improved

  • AutopersonalizationOverwrite failover URL at regular intervals (JMC-4727)
  • Move Bag Fee Fix to all branches (JMC-6032)

Fixed

  • Detailed Till Tender Count Reconcile screen does not display currency in correct locale (JMC-6083)
  • Infinite loop with lowest price reward application type with price total rewards (JMC-6046)
  • PromotionAMT_TOTAL as a qualifier is not working properly when using the item quantity option (JMC-5921)
  • Slow performance on certain large baskets with large amounts of promotions (JMC-6055)
  • Store close dialog money prompt fields do not show localized currency values (JMC-6078)
  • The default Till Tender Count reconcile amount can mismatch the Expected till amount on the Detailed Till Tender Count screen for foreign currencies (JMC-6084)
  • Transaction Publisher | Publisher should honor retry/failure logic when unlocking a queued item (JMC-5760)
  • Voided tenders are published to OrPOS TR_LTM_TND table (JMC-6072)

243.1.18

New + Improved

  • Add support to display static text on receipts for multiple locales (JMC-6027)

Fixed

  • Internationalization | POS background image sometimes shows "lista" instead of "ready" (JMC-4612)

243.1.17

New + Improved

  • Enable server side heartbeat for websockets to minimize disconnect and reconnects (JMC-5922)
  • Include the locale in the log when promotions are loaded (JMC-5923)

Fixed

  • A manual amount discount applied to a line item with a large quantity results in an incorrect discount amount (JMC-5971)
  • Cashier can get stuck in an infinite loop on Returns screen if manager override is declined (JMC-5974)
  • Long tender names can cause returns virtual receipt text to overflow (JMC-5940)
  • Promotions | Commerce price modifier lines do not have enough information about the method of modification (amount vs. percent) (JMC-5782)
  • Promotions | Transaction Manual Percent/Amount Discounts do not require an amount to be entered (JMC-5991)
  • Store cycle screen does not show keyboard shortcuts (key bindings) on buttons (JMC-5965)
  • Transaction Publisher | DefaultRequestStrategy for publisher should use RawValue instead of custom record (JMC-5759)
  • Unable to apply multiple promo code coupons to a single basket when they are of the same promotion_id (JMC-5823)

243.1.16

Fixed

  • Promotion cache is primed for each connection, versus just on the first connection. Priming the cache on every connection can slow down a reconnect. (JMC-5906)

243.1.15

New + Improved

  • Add DigitalPersona UareU based implementation for biometric fingerprint authentication (JMC-5350)
  • CX Connect | Support Pass to Customer for customer sign up (JMC-5772)

Fixed

  • Customer | Customer Signup Phase Two form does not populate default State and Country (JMC-5480)
  • Fix transitive dependency issue for projects with dependencies on JMC (JMC-5870)
  • Payment Device | Null pointer exception after Aurus declined response (JMC-5778)
  • Printing performance is slow on Epson serial printers (JMC-5891)
  • Promotions | Unable to apply a generic promotion coupon code (not tied to a loyalty_number) to a transaction with linked customer (JMC-5861)
  • Returns | After a series of related sales, returns, and exchanges, tender buckets aren't tracked correctly (JMC-5468)
  • Returns | Suggested Tender Amount Incorrect For Split Tender With Multiple Receipted Return (JMC-5801)

Security

  • (CVE-2023-22102 for com.mysql_mysql-connector-java)

243.1.14

Fixed

  • Promotions | Item Manual Discount and Item Amount Discount functions do not require an amount to be entered (JMC-5771)
  • Promotions | Unable to complete a trans and apply a bounce back coupon (JMC-5741)
  • Transaction Bridge | Performance issues with transaction publisher (JMC-5757)

243.1.13

Fixed

  • CX Connect | Customer display has duplicated items during returns process (JMC-5664)
  • Quantity | Shrug when select option to change quantity of an item and click enter with no value supplied. (JMC-5723)
  • Returns Bridge | Orig transaction fields are set incorrectly on return line items from Orpos (JMC-5602)
  • Returns | Change due uses RETURN_CASH max tender amount instead of CHANGE_DUE_CASH (JMC-5599)
  • Returns | Employee Discount Sale in JMC and Returned in ORPOS not showing discounted amount (JMC-5486)
  • Transaction Publisher | Publisher is not unlocking and updating status on postgres databases (JMC-5754)

Upgrade Considerations

  • From application-bridge-orpos.yml:
            UPDATE TR_LTM_SLS_RTN
            SET QU_ITM_LN_RTN = QU_ITM_LN_RTN + :quItmLnRtn
            WHERE ID_STR_RT = :idStrRtOrg
                AND ID_WS = :idWsOrg
                AND DC_DY_BSN = :dcDyBsnOrg
                AND AI_TRN = :idTrnOrgRaw
                AND AI_LN_ITM = :aiLnItmOrg
    
    (JMC-5602)

243.1.12

New + Improved

  • Capture pre and post tender amounts for Tender Adjustments (JMC-5640)

Fixed

  • Promotions | AMT_TOTAL promotion throws NPE (JMC-5650)

243.1.11

Fixed

  • Transaction Publisher | Publishing stage uses read only transaction (JMC-5632)

243.1.10

New + Improved

  • DSR Tender Reconciliation should display an amount for all tenders regardless (JMC-5371)

Fixed

  • Internationalization | When using a foreign currency if the tender policy is set to remaining balance the dialog shows the default currency (JMC-4894)
  • Log In | After lock out, occasionally entering a valid password does not work and must restart app (JMC-5343)
  • Operations | Allowed to return when till is not open (JMC-5485)
  • Promotions | Promotion with a TRN_AMT qualification is not applied multiple times when maxUses > 1 (JMC-5339)
  • Returns Bridge | Orpos transaction needs to be updated after a transaction is post voided (JMC-5430)
  • Returns | Returns bridge is not updating ORPOS price modifier table (JMC-5291)
  • Returns | The return bucket is incorrect when multiple items are returned to the same tender bucket from different original transactions (JMC-5571)

Upgrade Considerations

  • The value displayed in a blank cell on the Review Tender Adjustments dialog is now controlled by the manage:reviewTenderAdjustments.adjustmentTable.zeroDisplayValue i18n property. The base commerce default display value is 0. (JMC-5371)
  • application-bridge-orpos.yml has been updated as follows. Any overrides or replacements of the bridge services referenced may need to be modified accordingly: (JMC-5430)

243.1.9

New + Improved

  • Pay With Points | Support displaying loyalty points monetary value on Customer Details (JMC-5218)

Fixed

  • Launch External | Electron ClientExecutable functionality is not functional on 243.x (JMC-5320)
  • Receipted Returnssystem allowing to refund more than the transaction total. (JMC-5060)
  • Refund amount not reflecting correctly when selecting tender type (JMC-4838)

Upgrade Considerations

  • To enable display of the points monetary value, openpos.customer.membership.points.showMoneyBalance needs to be set to true. The default value is false. Commerce uses the CalculateAvailableLoyaltyBalance endpoint to retrieve the value to display. (JMC-5218)

Security

  • (CVE-2022-25647)

243.1.8

New + Improved

  • Promotions | Unable to get entryMethod from Employee discount entry (JMC-5175)
  • Services | Allow base IFinalizeSaleSessionListener implementations to be ordered to 0 (JMC-5178)

Upgrade Considerations

  • As with before this change, in order to allow scanning of the employee Id on the employee discount dialog, you must have openpos.sell.employeeDiscountAllowScan = true. When that config is true and you scan an employee, the resulting retail line item will have an entry_method_code of SCANNED. Otherwise, the retail line item will now have an entry_method_code of KEYED. Previously, it always had an entry_method_code of OTHER. (JMC-5175)

243.1.7

New + Improved

  • Enhance base LookupEmployeeForDiscountEndpoint to include user check and allow for mutation of username (JMC-5167)
  • Receipt Tile List View (JMC-5132)
  • Support Tile View on Homescreen (JMC-4800)

Fixed

  • Customer | Email Validation Not Displaying on Customer Display (JMC-5087)
  • Sub text for tender options is not styled for tiles (JMC-5135)

243.1.6

New + Improved

  • Change tender options UI to tile view (JMC-4806)
  • Update Add Bag UI to Tile view (JMC-4803)

Fixed

  • Bridge | sls_tax_retail_line_item / tax_line_sequence_number needs to be set (JMC-5094)
  • Tender Tiles cause foreign currency shrug (JMC-5134)

243.1.5

New + Improved

  • Bridge | Support "lookup original transaction by loyalty ID" (JMC-5030)
  • Tender | All tenders are allowed to continue if set to zero. (JMC-5027)

Fixed

  • Bridge | Duplicate inserts attempted forever if publication fails (JMC-5088)
  • Bridge | Quantity available to return not updated in ORPOS (JMC-4996)

Upgrade Considerations

  • When a transaction is published out of our Bridge webhook subscriber, any failure, including timeouts, will keep that publication in Commerce's queue until it succeeds. In the case of INSERTs to ORPOS which have succeeded at least in part, this will result in PK violations in perpetuity, as the publication will never complete successfully and will therefore never be released from the queue.Rather than address this issue at the pub/sub framework level in the short term, the fix is to perform a pre-check on any published transactions destined for ORPOS. If the transaction already exists, do nothing and report a "success" status so the publication can be purged from the queue. (JMC-5088)

243.1.4

New + Improved

  • Cash label when foreign currency should allow translation override (JMC-4890)
  • Enhance extensibility of Transaction Bridge field adapters (JMC-5012)
  • Tender Adjustment | Provide the ability to edit Tender Amounts by moving one tender/amount to another tender/amount (JMC-4011)

Fixed

  • Application hangs indefinitely after selecting Email receipt option (JMC-4986, JMCH-301)
  • Prevent commerce from starting if two modules are defined with the same name (JMC-5005)

Upgrade Considerations

  • This will result in your bean being used over the default ItemTypeAdapters.ToOrpos bean. (JMC-5012)

243.1.3

New + Improved

  • Add tender line item should allow for tender specific properties without requiring base changes (JMC-4355)

Fixed

  • Aurus DCC (Dynamic Currency Conversion) is not working (JMC-4911)
  • Currency Text Component doesn't react to locale changes (JMC-4891)
  • Dynamic logout buttons cannot be disabled. They can only be removed. (JMC-4913)
  • JMC hangs at promotion calculation when the reward is super small (in this case $0.01) (JMC-4820)
  • JPOS scanners sometimes fail to initialize. Try several times at startup to connect. Also reinitialize when an error event is received (JMC-4930)
  • PRICE_TOTAL rewards best deal can be inconsistent (JMC-4927)
  • Returns | Search by card should use token if available (JMC-4696)
  • Symmetric | Registers fail to update due to 500 error (JMC-4505)
  • Voids that are canceled do not allowed the tender line items to stay on the transaction (JMC-4846)

243.1.2

New + Improved

  • Add validation pattern configuration for Employee Discount prompt (JMC-4730)
  • Allow for a tax group override on a tagged item options record (JMC-4613)

Fixed

  • TenderReturnPoliciesEndpoint does redundant requests for original transactions (JMC-4726)

243.1.1

New + Improved

  • Add endpoint to get the default e-receipt email address displayed to the cashier (JMC-4755)

Fixed

  • Charity Donation | Adding a Round Up from the 'Order Tender' screen, associates the round up with the order (JMC-4623)
  • 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, JMCH-215)
  • Discount on non-receipted return item does not work (JMC-4735, JMCH-253)

Upgrade Considerations

  • The new endpoint for getting the default email address value is (HTTP GET) /transmgmt/eReceiptDefaultEmail located in ITransMgmtService.getEreceiptDefaultEmail(). Retailers can override this endpoint if they want to diverge from the default base commerce logic. Default logic is:The logic above is the same as it has been prior to this release. The logic has just been moved into this new endpoint to better support customization. (JMC-4755)

243.1.0

New + Improved

  • Add support for creating loyalty promotions on the fly from GetPromoCodesEndpoint (JMC-4681)
  • Allow addNewCustomer from Customer Results for POS or Customer Display (JMC-4461)
  • CustomerModel should support a customers country of origin or nationality (JMC-4465)
  • CustomerModel should support a customers preferred language/locale (JMC-4463)
  • Enable Biometric support (JMC-3481)
  • No image image should be configured to appear when no image is assigned (JMC-4525)
  • Promote Near Miss | Add support for displaying "Near Miss" information in Point Of Sale (JMC-3520)
  • Self-Checkout RFID Box Integration (JMC-4010)
  • Tender Line Item should support extended models to store data for custom tenders (JMC-4677)

Fixed

  • Payment Device | Aurus pinpad displays "Transaction Complete" message after a decline (JMC-4188)
  • ReturnsWhen linking by loyalty the wrong transaction is linked (JMC-4963)
  • Three decimal currency adds zero when a decimal is typed (JMC-4532)

Upgrade Considerations

  • Customer Search Results will now be configurable to show a button to allow an associate to start the add new customer flow whenever a search result is found instead of just when the customer searches for their loyalty information by enabling openpos.customer.add.allowAddCustomerIfExistingIsFound. This changes the existing behavior that requires this flag to be enabled AND for the customer to have initiated the search. (JMC-4461)
  • Customer forms now support adding nationality as a COMBO form field type.Nationality is a dropdown of countries that are sourced from ctx_country. (JMC-4465)
  • Customer forms now support adding preferredLanguage as a COMBO form field type.Supported languages are configured in the ctx_language table with tags to change which languages can be used in specific scenarios. (JMC-4463)

Promote

243.1.4

Fixed

  • Editing a promotion with promo codes can cause the promotion to previous revision of the promotion to NOT be archived due to a race condition (JMC-4979)
  • If the server dies while generating codes, then we need a way to recover that promotion. Allow the promotion to be recalled while in that status (JMC-4981)
  • Promote allowed a promotion to be published without a RHS of an item attribute that was added and resulted in a null pointer exception during publishing (JMC-4861)

Upgrade Considerations

  • Additional server-side validation rule added to commerce-central-server/src/main/resources/data/jmcc_svr/startup/post_01_jmcc-prm-validation-rule.csv (supplements new front-end validation):Same location as other promotion validation rules, such as "Rewards Misconfigured" and "No Qualifying Conditions". (JMC-4861)

243.1.1

Fixed

  • Promote | Editing a published promo with coupon codes sometimes fails to archive the old promo (JMC-4756)
  • Promote | start date / release date is not reassigned on promo code reassign (JMC-4762)

Retail Core (Shared core by store applications)

243.1.15

Security

  • (CVE-2024-7254StackOverflow vulnerability in Protocol Buffers)

243.1.12

Security

  • (CVE-2024-45491: libexpat: Integer Overflow or Wraparound)
  • (CVE-2024-45492: libexpat: integer overflow)
  • (CVE-2024-4590: libexpatNegative Length Parsing Vulnerability)

243.1.10

New + Improved

  • Technical Enhancement | Create "transaction publisher" microservice (JMC-5223)

243.1.4

New + Improved

  • Turn off registration.auto.create.group.link in SymmetricDS's base configuration (JMC-4948)

243.1.1

New + Improved

  • Remove foreign keys from SymmetricDS for the embedded version. They have caused issues in the past when doing rollout testing by restoring CORP to an older database. (JMC-3971)

Unified Promotion Engine

243.1.17

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)

243.1.3

New + Improved

  • Add support for AMT_TOTAL qualification promotions with a QUAL_ITEMS_REWARD_PREFERENCE of REQUIRED to include all qualifying items as the REWARD (JMC-4860, JMCH-235)

243.1.1

Fixed

  • Effective date is not being passed when doing the promo code lookup in the Unified Promotion Service (JMC-4761)