Skip to content

243.0 - Release Notes - Jumpmind Commerce

Announcing

Commerce Central | Redesign and enhance the centralized Electronic Journal

The Electronic Journal (EJ) feature in Commerce Central has been totally redesigned. The new EJ allows users to view all transactions and search using an expanded list of criteria. The EJ is now a true transaction audit tool that allows users to see what happened in the transaction, loyalty customer links, details of the line items including Taxes and Price Modifiers for the item. The EJ will now be the go-to tool to research transactions and find details that are not on a clean receipt.

Order Fulfillment Revamp | Enhances to the Order (SHIP and BOPIS) process to added new features

The Order Fulfillment process has been enhanced. We have streamlined the process of accepting orders to make the fulfillment process quicker. We have also added support for BINs, which will provide better organization and locating of your BOPIS Orders. Lastly, we added the ability to decline individual items on an order based on product availability, as well as the ability to cancel orders in the event the customer does not pick the order.

Revamped Customer Signup | CX Connect Enhancements

The Customer Signup process has been totally redesigned. We now give you complete control over how much or how little customer information you want to collect. The enhanced flow allows you to determine the information that is required, as well as any optional information. We have also streamlined the Opt In and Terms and Conditions. Based on your configuration, Customer Signup can be as quick as a few fields of information. The customer lookup and signup processed have also been enhanced for CX Connect.

Point Of Sale

243.0.22

New + Improved

  • Enable server side heartbeat for websockets to minimize disconnect and reconnects (JMC-5922)

Fixed

  • Customer | Infinite loading screen when clicking "No, Thanks" and service is down. (JMC-6473)
  • CX Connect stops communicating with when it switches from ethernet to wireless (iPorts tend to do that) (JMC-6586)
  • On slower hardware, Commerce client can display an older dialog after a newer screen has been displayed (JMC-6451)
  • Price total rewards applying to unrelated items (JMC-6717)
  • Tapping device bar after scanning item causes loading screen (JMC-6224)

243.0.21

New + Improved

  • Charity Donation | Provide the ability to capture Charity Donations when tendering Cash (JMC-5000)
  • Create the ability to have a splash screen or loading dialog during credit card and gift card transactions on CX connect (JMC-6386)
  • Tax Exempt functionality breaks when form is empty. This can happen when openpos.sell.autoGenerateTaxExemptCustomer is set to true and the form fields are missing from CTX_CONFIG (the system tries to bypass the form but throws a null exception) (JMC-6423)

Fixed

  • Activated gift card paying for itself (JMC-6319)
  • Cash Up/ Cash Down buttons on ManageScreen are missing Badges for notifications (JMC-6304)
  • Slow calculation / OOM crash for large quantity price total promo baskets (JMC-6276)
  • Web returns are not working without data in the sls_order tables (JMC-6346)

243.0.20

Fixed

  • InitWhenNeededJPosScannerStrategy can cause slowness when changing from a non scanning screen to a scanning screen for certain scanners (Honeywell) (JMC-6278)
  • When promotions calcInBackground = true is set and dozens of items are rapidly scanned, discounts stop updating after a certain point (JMC-6129)

243.0.19

Fixed

  • Buttons on Transaction Summary should not require an icon (JMC-6114)
  • Cash drawer doesn't work when mobile printing is enabled (JMC-6220)
  • Duplicate sequence number after store close / voiding suspended transactions. (JMC-6075)
  • Product Id number missing from Item Inquiry Results Screen (JMC-6146)
  • The customer display is fighting for control of the shared printer when using the EpsonEposPrinterScanner (JMC-6221)

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.0.18

New + Improved

  • Add customerID and additionalCustomerFields to TransMgmtClient.getPromoCodesByIds() (JMC-6096)
  • AutopersonalizationOverwrite failover URL at regular intervals (JMC-4727)

Fixed

  • Internationalization | POS background image sometimes shows "lista" instead of "ready" (JMC-4612)
  • Voided tenders are published to OrPOS TR_LTM_TND table (JMC-6072)

243.0.17

Fixed

  • Promotions | Commerce price modifier lines do not have enough information about the method of modification (amount vs. percent) (JMC-5782)
  • Unable to apply multiple promo code coupons to a single basket when they are of the same promotion_id (JMC-5823)

243.0.16

New + Improved

  • CX Connect | Added configuration to disable address and email confirmation (JMC-5936)

Fixed

  • Bag Fees | Fix to select the correct bag fee item when one or more of the items aren't present in the database (JMC-5981)
  • Vertex Integration | Properly handle year 9999 end date (JMC-5947)

243.0.15

Fixed

  • Fix transitive dependency issue for projects with dependencies on JMC (JMC-5870)
  • 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 | Referenced return remaining tender amounts need to be tracked centrally. If no referenced return values are found then perform a normal return. (JMC-5732)

Upgrade Considerations

  • pay_return_tender was renamed to sls_return_tender. (JMC-5732)

243.0.14

New + Improved

  • 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)
  • CX Connect | Customer display has duplicated items during returns process (JMC-5664)
  • Payment Device | Null pointer exception after Aurus declined response (JMC-5778)
  • Promotions | Unable to complete a trans and apply a bounce back coupon (JMC-5741)
  • Returns Bridge | Orig transaction fields are set incorrectly on return line items from Orpos (JMC-5602)
  • 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 | 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)
  • Scanner | JPos Scanner stops working. Initialize and close when ready to use versus leaving the scanner enabled all the time. (JMC-4886)
  • Transaction Bridge | Performance issues with transaction publisher (JMC-5757)

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)
  • 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)

243.0.13

Fixed

  • Payment Device | Aurus referenced returns remove 2x amount_remaining (JMC-5452)
  • Returns Bridge | Orpos transaction needs to be updated after a transaction is post voided (JMC-5430)
  • Training Mode | TRAINING_END control transaction gets created with the business date from training mode (JMC-5329)

Upgrade Considerations

  • 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.0.12

Fixed

  • Customer | Allow anonymous Tax Exempt Customers to be created (JMC-5374)
  • Launch External | Electron ClientExecutable functionality is not functional on 243.x (JMC-5320)
  • Tax | Return tax amount rounding issue (JMC-5144)

243.0.11

Fixed

  • Log In | Change Ldap configuration to use different replace string instead of Spring ${} (JMC-5245)

243.0.10

Fixed

  • Promotions | Price override not working when an active promotion does not have stack rule defined (JMC-5225)

243.0.9

New + Improved

  • Services | Add an endpoint to ITaxService to upload and load a zip of tax table csv files (JMC-5182)

Fixed

  • Receipted Returnssystem allowing to refund more than the transaction total. (JMC-5060)
  • Refund amount not reflecting correctly when selecting tender type (JMC-4838)
  • Returns | Issues while returning two different transactions tendered using same card (JMC-5036)
  • Training ModeDo not publish training transactions (JMC-5143)

243.0.8

New + Improved

  • Bridge | Support "lookup original transaction by loyalty ID" (JMC-5030)

Fixed

  • Bridge | Duplicate inserts attempted forever if publication fails (JMC-5088)
  • Bridge | Quantity available to return not updated in ORPOS (JMC-4996)
  • Bridge | sls_tax_retail_line_item / tax_line_sequence_number needs to be set (JMC-5094)
  • Post Void | Void of sale transaction should be disabled if it was already returned (JMC-5007)
  • Scanner | Epson eSDK scanner uncommunicative (JMC-4031)
  • Store Close | Cash up/down should not impact deposit when store bank is disabled (JMC-5073)
  • Till Reconciliation | When store bank is disabled, excess amounts in till should move to external bank (JMC-5053)

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.0.7

Fixed

  • Customer | Email validation should allow any valid character to directly precede @ symbol. (JMC-4095)
  • Deposit Worksheet Report has inconsistent decimal precision (JMC-5009)
  • Returns | Search by Loyalty pulling in wrong transaction (JMC-5038)

243.0.5

Fixed

  • Aurus DCC | Save numeric currency code to pass to downstream systems (JMC-4991)
  • NullPointerException when attempting to add a bag item to a transaction and itm_item.tax_exempt_code is null (JMC-6141)
  • Returns | JMC becomes unresponsive when return is initiated from the home screen (JMC-4995)
  • Tax | Vertex integration rounding rule defaults to round .5 down instead of up. (JMC-5003)

243.0.4

New + Improved

  • Tender Adjustment | Provide the ability to edit Tender Amounts by moving one tender/amount to another tender/amount (JMC-4011)

Fixed

  • Bath-theme should have a red return icon (JMC-4951)
  • Symmetric | Registers fail to update due to 500 error (JMC-4505)
  • Total amount on return screen has a tax rounding error (JMC-4910)

243.0.3

Fixed

  • Aurus DCC (Dynamic Currency Conversion) is not working (JMC-4911)
  • Aurus referenced returns are not working (JMC-4914)
  • Dynamic logout buttons cannot be disabled. They can only be removed. (JMC-4913)
  • 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 | Referenced returns with multiple cards show incorrect back on card amount (JMC-4924)

243.0.2

Fixed

  • Tax | Vertex integration sets effective start time to local system time instead of date in RTE file (JMC-4566)

243.0.1

New + Improved

  • Add endpoint to get the default e-receipt email address displayed to the cashier (JMC-4755)
  • Add validation pattern configuration for Employee Discount prompt (JMC-4730)

Fixed

  • Charity Donation | Adding a Round Up from the 'Order Tender' screen, associates the round up with the order (JMC-4623)
  • Fixes for reconciliation when store bank is disabled (JMC-4826)
  • 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)
  • manager override user not stored for transaction/tender lines (JMC-4708)
  • Returns | Search by card should use token if available (JMC-4696)

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.0.0

New + Improved

  • Bag Fees | Provide the ability to select from multiple pre-configured bag types when charging for bag (JMC-3965)
  • Customer Loyalty | Add configuration to base to allow for the skipping of the check for loyalty savings (JMC-3760)
  • Customer Loyalty | Add configuration to base to allow the creation of a customer even if an existing is found (JMC-3759)
  • Customer Loyalty | Birthday selection dialog should make the user accept the selection (JMC-3812)
  • Customer Loyalty | Lookup Loyalty Customer dialog should show a message when no matching customer is found (JMC-3808)
  • Customer Loyalty | Populate the customers email address in the Add Customer Email field after a failed search (JMC-3617)
  • Customer Loyalty | Update the Customer Details dialog to a screen (JMC-2811)
  • Device Mode | Provide a method to map available modes to available devices (JMC-2849)
  • Employee Discount | Add alternate entry for EmployeeDiscountState (JMC-3767)
  • Gift Cards | Provide the ability to activate purchased Gift Cards after tender is captured (JMC-3436)
  • Gift Cards | Provide the ability to cash out remaining balance on a Gift Card when using that card for transaction tender (JMC-3894)
  • Internationalization | Add config for custom printer initialization codes in support of the French-Canadian character set (JMC-3516)
  • Internationalization | Add i18n support for Loyalty Terms and Conditions (JMC-3614)
  • Internationalization | Add support for Right To Left UI (JMC-3458)
  • Internationalization | Add the ability for associates to select a different language (JMC-3461)
  • Internationalization | Enhance language support to include Arabic i18n (JMC-3459)
  • Internationalization | Updates to POS to support international currency symbol/code on the Sell screen (JMC-3460)
  • Internationalization | When a different language is selected on CX Connect, it should reset back to store default after each transaction (JMC-3484)
  • Operations | Provide the ability to 'Fast Open' a till that was previous 'Fast Closed' (JMC-3435)
  • Operations | Provide Time Clock functionality in POS (JMC-3428)
  • Orders | Add an icon to the header to help distinguish the difference between Billing Address and Shipping Address (JMC-3856)
  • Payment Device | Enable swipe ahead for Aurus PIN Pads (JMC-3480)
  • POS Receipts | Add the Dynamic Currency Conversion data from the payment provider to the POS receipts (JMC-3478)
  • POS Receipts | Allow selection of number of Gift Receipts at time of print (JMC-3437)
  • Quickloader | Add support in Quickloader for reading & writing CSV files from sub folders/dirs (JMC-4025)
  • Returns | BBWAdd configurable way to prevent refunding more than original tender amount (JMC-3686)
  • Scanners | Add support for Honeywell scanners (JMC-3849)
  • Self Checkout | Update the process to streamline the SCO tender process (JMC-4179)
  • Self-Checkout | Add a watermark to SCO when an associate is logged in providing assistance (JMC-4304)
  • Self-Checkout | Prevent customers from entering their own date of birth for Age Restricted Items (JMC-4238)
  • Self-Checkout | Prevent customers from selecting the Reward Menu once a loyalty customer is linked (JMC-4233)
  • Self-Checkout | Provide the ability for Tender Options to show configurable tender based on SCO configurable options (JMC-579)
  • Self-Checkout | Remove the "remove" option from the Item panel on the Sell screen (JMC-4232)
  • Self-Checkout | Update Customer Lookup from SCO to match CX Connect (JMC-4180)
  • Serial Number | Provide the ability to capture serial number for applicable items (JMC-3982)
  • Tax Exemption | First Nation, Diplomat, Child... specific tax exemption not shown on the transaction only that there is a tax exemption (JMC-3259)
  • Tax | Update base tax data to use enumerated instructions instead of alternative string/numeric representations (JMC-3938)
  • Technical Enhancement | Add an option to clear the server cache from the point of sale dev menu for convenience (JMC-3736)
  • Technical Enhancement | Add configurable filtering logic to PrintTenderSummaryReceiptState (JMC-3763)
  • Technical Enhancement | Add configuration to base to determine display of Authorization Cancel button based on tender type (JMC-3758)
  • Technical Enhancement | Add container ID to receiving control and inventory adjustment line items (JMC-3574)
  • Technical Enhancement | Allow for tenders to be extended by customers (JMC-4305)
  • Technical Enhancement | Convert AddItemState to the new build patterns (JMC-3770)
  • Technical Enhancement | Convert AddOrderItemState to the new build patterns (JMC-3769)
  • Technical Enhancement | Convert HomeState to the new build patterns (JMC-3772)
  • Technical Enhancement | Convert SaleState to the new build patterns (JMC-3771)
  • Technical Enhancement | Enhance Builder pattern support for commerce Messages including UIMessages (JMC-4066)
  • Technical Enhancement | Modify CustomerModel to save GENDER_ID and CODE_ID instead of their display values (JMC-3674)
  • Technical Enhancement | Move to endpointlogic determining if card reuse is enabled (JMC-3703)
  • Technical Enhancement | The default fixed register configuration should have the ops service going REMOTE_FIRST to the businessunit server for open/close operations. It is currently missing. (JMC-4015)
  • Technical Enhancement | We lost the recording of the creation of transaction sequence numbers. Reenabling it. (JMC-4510)

Fixed

  • Architecture | Add promo field external_id to the price modifiers to appear in transaction JSON (JMC-4022)
  • Architecture | Fixed printers are being initialized by both the fixed device and the customer display which can cause failures (JMC-4419)
  • Architecture | Rest API security filter is not applied to almost all endpoints (JMC-4302)
  • Architecture | Symmetric CSV data loader used in commerce to load CSVs at startup does not properly handle data with a double quote in it (JMC-3537)
  • Architecture | Wildcards aren't working as expected in usr_workgroup_permission (JMC-3692)
  • Associate Assist | Need to be able to allow for prompting for both associate assisted and loyalty in a transaction. (JMC-3841)
  • Clientelling | Add new openpos.clienteling.appointments.allowCheckInForCompletedAppointment config to disable Check In button for Completed appointments (JMC-4242)
  • Clientelling | Appointment "Create Customer" stuck prompt (JMC-4027)
  • Customer | Gender is getting wiped out of the Customer Profile in several scenarios (JMC-4117)
  • Devices | POSPrinter instances hang around longer than they used to, possibly causing contention if there is shared code with synchronization blocks in a javapos driver (JMC-4471)
  • Internationalization | Advanced Loyalty Search does not support COUNTRY_CODE_PHONE (JMC-4258)
  • On POS display, change display of 'reward id' to promotion id and or promo code (JMC-3744, JMCH-132)
  • ADP (auto delivery program) discount still applies after removing the sign up within the transaction (JMC-3779, JMCH-136)
  • JMCH-163 (part a) - Employee promotions based on list price should reflect discount against list price (JMC-3908, JMCH-163)
  • No Sale, Payout transaction receipts do not account for local offset (JMC-4023, JMCH-188)
  • Linked customer details screen on customer display does not go back to initial state even after transaction is completed (JMC-4033, JMCH-189)
  • Double swiped prompted for a gift card tender (JMC-4215, JMCH-204)
  • Card Remaining amount on Tender screen not decremented when applying partial payment if original tender was cash and card (JMC-3630, JMCH-207)
  • Two prints happening at same time from different stores could print on same printer (ie wrong store for one) (JMC-4243, JMCH-208)
  • Store Created Concierge (Ship Order) / BISPIS Orders Duplicated (JMC-4246, JMCH-211)
  • Loyalty button on sale screen doesn't inform associate that customer is validating their address on customer display (JMC-4345, JMCH-216)
  • Tiered promotions do not support single-use promo codes in the POS (JMC-4545, JMCH-239)
  • Adding an item with a Minimum Buyer Age to a return causes shrug (JMC-4586, JMCH-242)
  • Operations | Closing the store can get caught in loop because of inconsistent remote configuration of find suspended transactions (JMC-4435)
  • Operations | NullPointerException in GetTillReconciliationCashTotalsEndpoint and Deposit Worksheet Report when currency is not set in request (JMC-4168)
  • Orders | Address Verification results show the prior list found for a moment even though the entered data does not match (JMC-3753)
  • Payment Device | Aurus Pinpad Timeout/Cancel issue (JMC-4239)
  • Payment Device | Aurus void displays swipe card message (JMC-4306)
  • Performance | Performance issues with updating items on both the sale and customer display screens (JMC-4558)
  • Performance | CX Connect gets out of sync when the customer closes the customer details dialog at the same time the cashier select PAY (JMC-4544)
  • Performance | Looping error when customer display lookup and item scan happen simultaneously (JMC-4269)
  • Pricing | Incorrect 2nd manager override prompting when setting price of item at its cost (JMC-3862)
  • 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)
  • Reason code not being populated when manually suspending a transaction (JMC-4701)
  • Receipt | Receipt item count should not include unused coupons (JMC-4454)
  • Repeat Delivery | Default values on Repeat Delivery Setup screen are not applied after pressing Save (JMC-3815)
  • Repeat Delivery | When user returns to sale screen from checkout and adds another item for a SKU that already has an RD discount applied, the newly added item is not also showing the RD discount (JMC-3820)
  • ReturnsWhen linking by loyalty the wrong transaction is linked (JMC-4963)
  • Returns | Receipted Return Items with price modifications cause multiple price modifications on return item to appear in final database records (JMC-4184)
  • Returns | Return allows scanning suspended transaction barcode (JMC-4226)
  • Shrug at checkout involving repeat delivery items (JMC-4061)
  • Single use promo codes should respect openpos.promotions.useBusinessDateAsEffectiveDate. They do not currently. (JMC-4705)
  • Tax | Vertex integration sets effective start time to local system time instead of date in RTE file (JMC-4566)
  • Transaction sequence numbers can jump around because the trans sequence number sync on a reconnect sends the initial value, not the latest value stored in local storage (JMC-4717)
  • Usability | Pay button remains enabled when an item is removed from the cart with no remaining items (JMC-4145)
  • Usability | Subtotal on sale screen does not display the regular price total (JMC-4429)
  • Usability | When you add an item, remove it, then try adding it again, the dollar amounts and item count on the right side of the screen update but the line item does not render (JMC-4428)

Upgrade Considerations

  • openpos.ui.deviceModesAvailable has been reconfigured to allow specific configurations based on the device_type and app_id tags. The new configuration looks like:
    openpos:
      ui:
        deviceModesAvailable:
          fixed:
            pos:
              - pos
              - selfcheckout
    
    There must always be a default configuration for both device_type and app_id as CustomerDisplayManager checks this configuration without either value being populated.If all devices will be configured the same, only the default configurations are necessary. (JMC-2849)
  • CreatePickupOrderEndpoint no longer saves the order it just creates the model and then later after the transaction has been finalized we call CommitOrderCreateEndpoint to save and publish the order. (JMC-4246)
  • This is a configuration change from 24.1 and 24.2. The previous configuration
    openpos:
      pay:
        common:
          displayCancelFor: GET_CARD_DATA
    
    will become
    openpos:
      pay:
        common:
          displayCancelFor:
            ALL: GET_CARD_DATA
    
    The change allows for different tenders to have the cancel button disabled for different AuthorizationLoading dialogs. So
    openpos:
      pay:
        common:
          displayCancelFor:
            CARD: ALL
            GIFTCARD: GET_CARD_DATA
            SHOPPING_PASS: AUTHORIZATION
    
    would display the cancel button on all "AuthorizationLoading" dialogs for CARD, on the GET_CARD_DATA loading dialog for GIFTCARD, and on the AUTHORIZATION dialog for SHOPPING_PASS (JMC-3758)
  • Any overrides to the base AddItemState will need to use the new extension framework to extend functionality. (JMC-3770)
  • Any overrides to the base AddOrderItemState class will need to use the new extension framework to extend functionality. (JMC-3769)
  • For any implementation that extends the SaleState will need to consider moving to the new extension patterns. (JMC-3771)

Promote

243.0.1

Fixed

  • Promote TVS 13 | Enhance the 'End Date/Time' to actually end at the end of the day (JMC-3878)
  • Promote | Custom promotion templates are getting overwritten on re-build (JMC-4805)

243.0.0

New + Improved

  • Promote | Add an option to download test environment promo codes (JMC-3523)

Fixed

  • Promo code publish batch size is too large (JMC-4637, JMCH-241)
  • Promote | A promotion which rewards "all items" (*) and has a qualification reward preference of REQUIRE has a side effect of showing any item in the basket as having the promotion as pending (JMC-3817)
  • Promote | Dates in Promote are continually offset on each save based on timezone offset (JMC-4555)
  • Promote | Editing a published promo with coupon codes sometimes fails to archive the old promo (JMC-4756)
  • Promote | Fix Promote coupon upload to set prm_promo_code.loyalty_number = * when omitted (JMC-3512)
  • Promote | Unable to upload 3k+ skus to promotion (JMC-1547)

Upgrade Considerations

  • When uploading coupons targeted at no specific customer, coupons will be targeted at loyalty number * instead of null or (JMC-3512)
  • Added configuration jmcc.promo.items.pageSize which is defaulted to 25. That will control how many items are shown per page in the "Get" and "Buy" accordions (JMC-1547)

Retail Core (Shared core by store applications)

243.0.15

Security

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

243.0.14

Security

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

243.0.12

Fixed

  • Add Pound Sterling icon to base to support currency icons in the UK (JMC-5323)

243.0.0

New + Improved

  • Add new bootstrap.jar file that can be used in conjunction with the auto update service (JMC-4041)
  • Add support for a special startup spring profile for running database scripts one time. Any sql or csv scripts in the startup directory will only ever be run once, regardless of whether they have changed from version to version (JMC-4236)
  • Add support in the new screen builder framework to force a screen to show, even if the actions have not settled (JMC-3807)
  • Fix the circular build dependencies in commerce (JMC-3846)
  • Lock down personalization to only allow clients to connect if they are the appropriate businessunitid (JMC-4046)
  • Supprot DateTime objects in persistence layer (JMC-3705)

Fixed

  • JMC is slow on under powered hardware. With each release of JMC, the performance of state transitions has gotten slow due to an increase of device scoped beans (JMC-4389)

Upgrade Considerations

  • The following all moved to headless/services. For customer implementations that reference them, the gradle coordinates will need to be updated when upgrading. pay-aurus was split between services:pay-aurus and point-of-sale:pay-flow-aurus.
    include 'customer'
    include 'customer-api'
    include 'pay'
    include 'pay:pay-adyen'
    include 'pay:pay-aurus'
    include 'pay:pay-aci'
    include 'pay-api'
    include 'puerto-rico'
    include 'puerto-rico-api'
    include 'sales'
    include 'sales-api'
    include 'scanandgo'
    include 'scanandgo-api'
    include 'clienteling'
    include 'clienteling-api'
    include 'publisher'
    include 'publisher-azure'
    
    (JMC-3846)
  • The default value of openpos.personalization.deviceBusinessUnitStrategy is now AcceptConfiguredBusinessUnitStrategy. This means that openpos.businessunitId or openpos.businessunitIds needs to be set for deployments or the strategy needs to be changed back to AcceptAnyBusinessUnitStrategy (JMC-4046)

Security

  • There is no fix and we do not intend to remove the functionality that pebble supports in order to address this CVE. As noted in the CVE description "the vendor disputes this because input to the Pebble templating engine is intended to include arbitrary Java code, and thus either the input should not arrive from an untrusted source, or else the application using the engine should apply restrictions to the input. The engine is not responsible for validating the input."In our use case the inputs to the engine are provided by a trusted source. (CVE-2022-37767)

Inventory

243.0.0

Fixed

  • Architecture | Base inventory uses a different set of tags than base commerce. Base should import application-devices.yml like other microcaps and standalone services (JMC-4575)
  • Serial Number | Update the Inventory transaction JSON to include serial number (JMC-3837)

Clientelling

243.0.0

Fixed

  • Clientelling | Add new openpos.clienteling.appointments.allowCheckInForCompletedAppointment config to disable Check In button for Completed appointments (JMC-4242)
  • Clientelling | Appointment "Create Customer" stuck prompt (JMC-4027)

Unified Promotion Engine

243.0.14

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.0.1

Fixed

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

243.0.0

Fixed

  • Category Reward Coupon is not getting marked as applied (only Category Rewards with promo codes are) (JMC-4225, JMCH-162)
  • Application of "Close Ness" is qualifying on Original Amount Instead of Discounted Amount (JMC-4053, JMCH-192)
  • Mismatch Between discountedItemTotalAmount and discountedItemTotalAmountForDisplay (JMC-4346, JMCH-218)
  • Promotion Id not getting populated in unused discount code for Item level coupon for expired promo (UPE). Promotion was expired. Should be marked with a status of PROMOTION_MISSING. (JMC-4587, JMCH-233)
  • Promotion Id is missing from unused discount codes when an item attribute exists in the qualification (JMC-4715)