Skip to content

243.4 - Release Notes - Jumpmind Commerce

Announcing

New Webhooks

TO DO

Point Of Sale

243.4.7

Security

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

243.4.6

Fixed

  • CX Connect | Stops communicating when it switches from ethernet to wireless (iPorts tend to do that) (JMC-6586)

243.4.5

Fixed

  • Orders | Issue while calculating pricing for Repeat Delivery deals (JMC-6547)
  • Technical | InitWhenNeededJPosScannerStrategy can cause slowness when changing from a non scanning screen to a scanning screen for certain scanners (Honeywell) (JMC-6278)
  • Technical | On slower hardware, Commerce client can display an older dialog after a newer screen has been displayed (JMC-6451)

243.4.4

New + Improved

  • Angular Client | Add way to supply custom headers via configuration service in angular client (JMC-6312)
  • Wrong behavior when using Adyen cloud API with LIVE environment (JMC-6303)

Fixed

  • Promotions | Promotions not detecting coupon was used for qualifications of AMT_TOTAL (JMC-6344)
  • Transaction seq number duplicated when opening virtual till and then performing a sale (JMC-6387)
  • User Password Monthly updates causes login issues and shrug guy in some scenarios (JMC-6289)

243.4.3

Fixed

  • CX Connect | The customer display is fighting for control of the shared printer when using the EpsonEposPrinterScanner (JMC-6221)
  • Orders | Incorrect Change Due Calculation and Multiple Change Flow Triggered During Cash Tendering (JMC-6156)
  • Orders | Multiple PreAuth, TenderLines and CardLineItems with Cash and Carry transaction (JMC-6157)
  • Payment | Aurus: Even when we don't receive an approval, pin pad still displays 'transaction complete' (JMC-6250)
  • Printing | Issue with non-sellable item receipts not printing after upgrade to 243 (JMC-6243)
  • Promotions | AMT_TOTAL Not working under various item price and qualification amount combinations (JMC-6137)
  • Promotions | Single use coupon code import issue. (JMC-6292)
  • Quickloader | Entity item feed files are failing (JMC-6302)
  • TVS PROD issuePaymentGC tender when BYPASSSCREEN call timesout in Aurus waits for 3+ minutes in POS causing a confusion for customers (JMC-6210)
  • Usability | Cash drawer doesn't work when mobile printing is enabled (JMC-6220)
  • When openpos.sell.loyaltyEnabled is false on mobile screen, sale items don't expand to fill space loyalty part would have taken up (JMC-6139)

Upgrade Considerations

  • To enable the Epson Scanner on the point of sale only change:
      clientConfiguration:
        defaultConfigs:
          EpsonEposPrinterScanner:
            pluginEnabled: true
    
    to:
    clientConfiguration:
      clientConfigSets:
        pos:
          configsForTags:
            EpsonEposPrinterScanner:
              pluginEnabled: true
    
    (JMC-6221)

243.4.2

Fixed

  • AMT reward with REWARD_APPLICATION_TYPE_CODE = LOWEST_PRICE when an item exists in the basket that is less than the reward amount (JMC-5975)
  • Buyer Age | Entering an invalid Buyer Age is causing a shrug (JMC-5909)
  • Customer display is attempting to initialize and deactivate jpos scanners configured with the InitWhenNeededJPosScannerStrategy (JMC-6053)
  • Infinite loop with lowest price reward application type with price total rewards (JMC-6046)
  • Internationalization | POS background image sometimes shows "lista" instead of "ready" (JMC-4612)
  • MobileTill and Store Bank transactions when neither is available (JMC-5983)
  • Multi receipted even exchange has erroneous 1 cent in tax return (JMC-5713)
  • Partial return with referenced returns enabled to Interac not handling multiple cards properly (JMC-6020)
  • PromotionAMT_TOTAL as a qualifier is not working properly when using the item quantity option (JMC-5921)
  • Returns | When Returning items and a Prompt is configured for Returns Error Dialog is shown. (JMC-6022)
  • Slow performance on certain large baskets with large amounts of promotions (JMC-6055)
  • When partially returning items from multiple sale transactions the tender card selection allows to over tender to incorrect card (JMC-6019)

Upgrade Considerations

  • openpos.promotions.allowAprWhenRewardAmtExceedsItemAmount is changing from false to true in this release (JMC-5975)

243.4.1

Fixed

  • A manual amount discount applied to a line item with a large quantity results in an incorrect discount amount (JMC-5971)
  • Promotions | Add logging for how long it takes to load active promotions (JMC-5860)
  • Promotions | Commerce price modifier lines do not have enough information about the method of modification (amount vs. percent) (JMC-5782)

243.4.0

New + Improved

  • Add DigitalPersona UareU based implementation for biometric fingerprint authentication (JMC-5350)
  • AutopersonalizationOverwrite failover URL at regular intervals (JMC-4727)
  • Bank Deposits | Enhance POS to capture Bank Deposit Bag ID (JMC-2595)
  • Capture pre and post tender amounts for Tender Adjustments (JMC-5640)
  • Charity Donation | Update the Charity Donation screen to include client configurable image and text (JMC-4771)
  • CX Connect | Support Pass to Customer for customer sign up (JMC-5772)
  • Discount Calculation Config | Allow item PCT rewards calculations and rounding to be configurable (JMC-5233)
  • DSR Tender Reconciliation should display an amount for all tenders regardless (JMC-5371)
  • Enable server side heartbeat for websockets to minimize disconnect and reconnects (JMC-5922)
  • MPOS Screen Refinement | Enhance the Customer screen for smaller mobile devices (JMC-5190)
  • Payment Device | Add support to Payment Device Status Job to work when running centrally (JMC-5304)
  • Restocking Fee | Provide the ability to link a Restocking Fee to items (JMC-5253)
  • Show loyalty number on the lookup results and on loyalty part of sale screen (JMC-5647)
  • Special Order | Special order with preAuthLines and TenderLines in Order object (JMCH-332) (JMC-5385, JMCH-332)
  • Special Order | Special order with promoCodeLines and priceModifiers for BISSTC (JMCH-329) (JMC-5384, JMCH-329)
  • Special Order | Special order with RepeatDeliveryLineItems (JMCH-340) (JMC-5386, JMCH-340)
  • Special Order | Special order with taxSaleLineItems in order object (JMCH-341) (JMC-5387, JMCH-341)

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)
  • Authentication | Wrong logger used in LdapStrategyHelper causing NPE when provider offline (JMC-5813)
  • Customer | Customer Signup Phase Two form does not populate default State and Country (JMC-5480)
  • Customer | Prevent NPE when customer partially mapped (JMC-5578)
  • CX Connect | Customer display has duplicated items during returns process (JMC-5664)
  • Data Refresh | Caching at central pod instances has caused issues in not refreshing data timely (JMC-4760)
  • Display Message | Application Shrugs when trying to display Trigger Message (JMC-5555)
  • Duplicate Shift Change Transactions and Incorrect Till Count Mismatch Prompt (JMC-5942)
  • Endless loop when promptAssociateAssistedSaleEnabled enabled (JMC-5925)
  • Fix transitive dependency issue for projects with dependencies on JMC (JMC-5870)
  • Gift Card | Expand Scan Gift Card i18n configurable keys (JMC-5472)
  • Gift Card | ScanGiftCardState.onGetCardDataComplete NPE when closing error dialog (JMC-5807)
  • Internationalization | "Invalid Input" error message when using min or max validation. (JMC-5705)
  • Internationalization | When using a foreign currency if the tender policy is set to remaining balance the dialog shows the default currency (JMC-4894)
  • Mobile Usability | Toasts on smaller Mobile resolutions are squished (JMC-5686)
  • Operations | Allowed to return when till is not open (JMC-5485)
  • Orders | Check out Button not Display for large BOPIS orders (JMC-4989)
  • Payment Device | ADP Transaction client is stuck after preauth / get token requestIssue #2The cancel button should not have been shown here on the UI. Aurus does not allow cancelling of an in-progress authorization. (JMC-5722)
  • Payment Device | Aurus referenced returns remove 2x amount_remaining (JMC-5452)
  • Payment Device | Gift Card balance on Activation and activation through Aurus is not displayed on sale receipt (JMC-4742)
  • Payment Device | Null pointer exception after Aurus declined response (JMC-5778)
  • Payment Device | PaymentDeviceStatusJob relies on clientcontext (JMC-5453)
  • Printing performance is slow on Epson serial printers (JMC-5891)
  • Product Inquiry | Product Options not displaying in displayOrder (JMC-5483)
  • 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)
  • Promotions | Add logging for how long it takes to load active promotions (JMC-5860)
  • Promotions | AMT_TOTAL promotion throws NPE (JMC-5650)
  • Promotions | Attributes do not work in Exclusion section (JMCH-225) (JMC-4757, JMCH-225)
  • Promotions | Employee Sale with Price Override is not reacting as expected (LIST REWARD_BASE_PRICE_TYPE_CODE) (JMC-5289)
  • 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 | Item Manual Discount and Item Amount Discount functions do not require an amount to be entered (JMC-5771)
  • Promotions | Manual coupon item selection screen has no ability to scroll down if there is several items (JMC-5397)
  • Promotions | Unable to apply a generic promotion coupon code (not tied to a loyalty_number) to a transaction with linked customer (JMC-5861)
  • Promotions | Unable to complete a trans and apply a bounce back coupon (JMC-5741)
  • Quantity | Shrug when select option to change quantity of an item and click enter with no value supplied. (JMC-5723)
  • Reports | Report-Designer tool Integration post 243. release is affected by missing DOC_DOCUMENT_DEFINITION table in JMC (JMC-5109)
  • Returns Bridge | Orig transaction fields are set incorrectly on return line items from Orpos (JMC-5602)
  • Returns Bridge | Orpos transaction needs to be updated after a transaction is post voided (JMC-5430)
  • Returns | After a series of related sales, returns, and exchanges, tender buckets aren't tracked correctly (JMC-5468)
  • 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)
  • Returns | Referenced return remaining tender amounts need to be tracked centrally. If no referenced return values are found then perform a normal return. (JMC-5732)
  • Returns | Returns bridge is not updating ORPOS price modifier table (JMC-5291)
  • Returns | Split Receipt Transaction Number Changing (JMC-5750)
  • Returns | Suggested Tender Amount Incorrect For Split Tender With Multiple Receipted Return (JMC-5801)
  • Returns | The return bucket is incorrect when multiple items are returned to the same tender bucket from different original transactions (JMC-5571)
  • Returns | Transaction out of balance after "addPennyToExchange" (JMC-5779)
  • Sales Tax | 243.3 Vertex job failing (JMC-5833)
  • Scanner | JPos Scanner stops working. Initialize and close when ready to use versus leaving the scanner enabled all the time. (JMC-4886)
  • Single order or transaction JSON not bracketed from Transaction Publisher (JMC-5865)
  • Suspend/Resume | Shrug occurs when resumed transaction has unsuccessful customer reattachment (JMC-5075)
  • Tender | ADP transaction JSON contains GIFT_CARD as tenderTypeCode for Repeat Delivery in Prod (JMC-5394)
  • Tender | Prevent NPE in FinalizeTenderingState if customers map data incorrectly (JMC-5557)
  • Training Mode | TRAINING_END control transaction gets created with the business date from training mode (JMC-5329)
  • Transaction Bridge | Performance issues with transaction publisher (JMC-5757)
  • Transaction Publisher | DefaultRequestStrategy for publisher should use RawValue instead of custom record (JMC-5759)
  • Transaction Publisher | Publisher is not unlocking and updating status on postgres databases (JMC-5754)
  • Transaction Publisher | Publishing stage uses read only transaction (JMC-5632)

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)
  • The ScanGiftCardState was upgraded to use different i18n keys as determined by the new ScanGiftCardI18nKeyBuilder component class. The three out of the box possible i18n key bases added to the existing Gift Card Scan keys (giftcard.scan.xxx) are:The four key configs for these scenarios are: (JMC-5472)
  • 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)
  • 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)
  • pay_return_tender was renamed to sls_return_tender. (JMC-5732)
  • Added new configuration to initialize scanners only on screens that allow scanning:
    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
    
    (JMC-4886)

Security

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

Promote

243.4.3

New + Improved

  • Promotions | Move Reward Application Type: and Reward Base Price: from first screen/Advanced details to offer screen to support template request from TVS (JMC-6144)

Fixed

  • Promote | Download codes button not working in V. 243.2 for Spark of "Single Use Promo Code Generation" (JMC-6201)
  • Promote | Sorting in 243.4.2sort by name is sorting by Case-sensitive order in stead of ignoring case. (JMC-6213)

243.4.2

Fixed

  • Promote | Promote UI timing out (JMC-5986)
  • Promotion Type being listed not in the prm_promotion_type table (JMC-5079)
  • The dashboard call to getCampaignStatistics is REALLY slow and causes the Promote dashboard to not load (JMC-6021)

243.4.0

New + Improved

  • Add an auto refresh of the promote home page if there are promotions that are generating promo codes present (JMC-4978)
  • Don't leave the Review screen if there are additional possible actions that the current user can take. Make sure the actions are updated accordingly. (JMC-4920)
  • Promote Coupon Codes | Enhance the process of generating Coupon Codes to ensure they remain unique and not predictable (JMC-4982)
  • Promote Enhancement | Improvement to data displayed on the Promote DashboardDisplay Advanced Search Chips/Tags (JMC-5831)
  • Promote Enhancement | Improvement to data displayed on the Promote DashboardPersistent Search/Filter (JMC-5756)
  • Promote Enhancement | Improvement to data displayed on the Promote DashboardPersistent Campaign Folder / View (JMC-4319)
  • Promote Enhancement | Improvement to Search to include uploaded coupons, Promo ID, Item ID, Business Unit and Archives (JMC-4276)
  • Promote Enhancement | Link Dashboard Overview Sections to Dashboard Details Sections (JMC-5293)
  • Promote Enhancement | Provide the ability to add additional promotion messaging that can be interfaced to external PDP and PLP pages (JMC-4300)
  • Promote Enhancement | Provide the ability to change the campaign assigned to a promotion (JMC-4278)
  • Promote Enhancement | Provide the ability to quickly remove all inclusions and/or exclusions from a promotion (JMC-4299)
  • Promote Enhancement | Show start & end dates for all promotions (JMC-5292)

Fixed

  • Promote | Turn off caching in Promote or provide a way to refresh cache (JMC-3706)

Retail Core (Shared core by store applications)

243.4.8

Fixed

  • Technical | Running Java in the container does not respect classpath ordering (JMC-7040)

Upgrade Considerations

  • This requires a change to the Helm chart in order to use a wrapper script that is needed to resolve this issue. Additionally, the wrapper is needed within the container so that it may be executed. This wrapper is already included in the commerce-jre:17-bookworm and commerce-jre:17-alpine images, so you must use one of Jumpmind's base JRE images. (JMC-7040)

243.4.5

Fixed

  • Technical | JSON stdout logging of container doesn't expand out message parameters (JMC-6508)
  • Technical | The ConfigManager.findDeviceLocalTimeForBusinessDate function will not preserve the input year affecting queries across new year boundaries (JMC-6520)

Upgrade Considerations

  • To use the new logging encoder, when building your container, edit the logback.xml of your container project and replace:nullwith: (JMC-6508)

243.4.0

New + Improved

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

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)

Inventory

243.4.0

Fixed

  • Adhoc Shipping Docs should not prompt for items not on document (JMC-5785)

Unified Promotion Engine

243.4.7

Fixed

  • Unified Promotion Engine | Promotions are not working when the database is Postgresql (JMC-6822)

243.4.6

Fixed

  • Unified Promotion Engine | UPE is slow when using a range of effective dates that are outside the current caching strategy window (JMC-6694)

Upgrade Considerations

  • The promotion cache is no longer keyed by the local server time only. Effective promotions are read into memory from 24 hours ago including all future dated promotions for active business units. When asking the repository for a promotion they are filtered in memory. The only setting that is still valid for configuring the promotions cache is cacheRefreshCronExpression. (JMC-6694)

243.4.2

Fixed

  • PromoteProduction bug observed on messaging around excluded items (JMC-5888)

243.4.0

New + Improved

  • Promote Enhancement | When adding an items to Promotion, we need to check to make sure item data existing in needed tables to allow UPE to return needed data (JMC-5737)

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)
  • Unified Promotion Engine | Promotion details are not in the response payload when a category reward is rewarded (JMC-5416)
  • 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)
  • Unified Promotion Engine | UPE is taking longer for some calculate calls because it is not hitting the cache when looking up promotions (JMC-5811)