# Akinon Release Notes (03.30.2026)

***

## <mark style="color:$primary;">Commerce Cloud</mark>

**Version Deactivation Capability Added to ACC**

* A new **Deactivate Version** action has been introduced under the **Versions** table in **Application Details** on [Akinon Commerce Cloud Console](https://console.akinoncloud.com/). This action allows users to permanently delete a specific version if it has not been deployed. Once deactivated, the version becomes **undeployable** and **cannot be restored.**
  * Versions that are **not actively used in any project app** can be deactivated
  * Previously deployed versions can also be deleted, as long as they are not currently in use
  * Prevents incorrect or unnecessary versions from remaining in the system
  * Ensures cleanup of mistakenly created or unused versions

<figure><img src="https://1066499406-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxpVRheUHzJXXkDHR0KGf%2Fuploads%2FnjJJwhbXoavWoD5a1hQe%2Fimage.png?alt=media&#x26;token=8dd4f8a6-181a-437b-bf45-c44fa34aaf44" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1066499406-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxpVRheUHzJXXkDHR0KGf%2Fuploads%2FPbf4QXWXehdX4RzClQJw%2Fimage.png?alt=media&#x26;token=b03367d7-e045-4da0-b248-a07c3632bd53" alt=""><figcaption></figcaption></figure>

***

## <mark style="color:$primary;">Omnitron</mark>

{% hint style="warning" %}
The following changes are available in **Omnitron FE versions later than** `v3.5.2` and **Omnitron BE versions later than** `r3292`.
{% endhint %}

#### <mark style="color:$primary;">Resolved Issues</mark>

**Variant Uniqueness Validation Enhanced in Attribute Config**

* Previously, the validation added for an attribute marked as a variant within an attribute set only checked for issues that would arise from that specific attribute being a variant. With the new update, the validation now considers all variant attributes and attributes intended to be set as variants under the related attribute set. If any conflicting combinations are detected, an appropriate error message is displayed to the user.

**Stock Calculation Fixed for Simple Products When Child Offers Are Removed from Catalog**

* The stock of simple products that are parents of offer products is calculated as the sum of the stocks of their child offers. However, when any of the child offers was removed from the catalog, the stock calculation was not being performed. This issue has been resolved, ensuring that stock is correctly recalculated for parent simple products whenever a child offer is removed from the catalog.

#### <mark style="color:red;">Enhancements</mark>

**SKU-Based Upsert Added to Product Submission Services for Update Validation**

* An SKU-based upsert operation has been added to the `products/`, `erp_pre_products/`, and `erp_products/` product submission services. This ensures that before performing an update operation, the system checks whether the product exists via SKU, and either updates the existing record or inserts a new one accordingly.

**AI Credit Limit Changes Now Reflected in Ledger on Settings Page**

* In the *Settings > AI Credit* page, limit change actions are now also displayed in the Ledger, providing users with a complete and transparent record of all AI credit limit modifications made on the page.

**Performance Improvements for "Categorize with AI" Action on Category Tree Page**

* In the Products and *Catalogs > Catalogs > Category Tree* page, performance updates have been made to the "Categorize with AI" action, resulting in improved speed and efficiency when categorizing products using AI.

**Easy Return Code Now Written to Supplier Omnitron for Unified**

* For brands using Unified, the Easy Return Code is now successfully written to the Supplier Omnitron, ensuring that return codes are properly propagated to the supplier's Omnitron instance and maintaining data consistency across the Unified ecosystem.

**New Sidebar Items Added Under Integrator with Role-Based Visibility**

* New sidebar menu items have been added under the Integrator section in Omnitron. The visibility of these items is determined by the user's role.&#x20;
  * Super Users have access to the full set of menu items: Integration Flows,  Logs, Flow Trigger, Versions, Flow Performances and Alarms.&#x20;
  * Non-Super Users can access a subset of these items: Logs, Flow Trigger, Flow Performances and Alarms, ensuring that sensitive integration management pages remain restricted to authorized users only.

**Staff Flag and WhatsApp Permission Management Added to User Detail Page**

* Authorized users can now toggle the `is_staff` flag directly from the User Detail page in Omnitron, accessible via *Sales Channels > Users*. A toggle control has been added to the page, reflecting the user's current `is_staff` status. Additionally, WhatsApp permission management has also been introduced on the User Detail page, allowing authorized users to manage WhatsApp communication permissions for the relevant user from the same page.

<figure><img src="https://1066499406-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxpVRheUHzJXXkDHR0KGf%2Fuploads%2FQ4z5Hqz4HYKi7AncbJq8%2Funknown.png?alt=media&#x26;token=136f3a5d-b79b-4cfd-9965-3dc39ba15e9e" alt=""><figcaption></figcaption></figure>

***

## <mark style="color:$primary;">Commerce</mark>

{% hint style="warning" %}
The following changes are available in **Commerce versions as of March 30, 2026**.
{% endhint %}

#### <mark style="color:$primary;">**Resolved Issues**</mark>

**Search Service Keyword Argument Handling**&#x20;

* Resolved a conflict in the core search service that triggered errors when multiple values were passed for site identification parameters. The enrichment method has been updated to safely handle dictionary parameters, preventing runtime crashes and ensuring stable cache generation.

**External Service Timeout Handling for Loyalty Cards**

* Addressed a system error occurring during cart calculations when external loyalty providers failed to respond within the expected timeout window. The service now gracefully manages empty or timed-out responses by securely handling null status codes, preventing subsequent transaction failures.

**Continuous Price Facet Count Extraction**&#x20;

* Fixed a data extraction error triggered when applying continuous price filters on search and category listing pages. The aggregation strategy has been updated to correctly interpret and process continuous facet formats alongside discrete ranges, ensuring accurate total product counts are displayed without throwing iteration exceptions.

**Shipping Address District Validation**

* Resolved an issue that caused checkout calculations to fail when a customer's selected shipping address lacked specific district information. The rules engine now includes robust validation to verify the presence of district data before calculating available shipping options, improving overall checkout stability.

**Merchant Feed Configuration Security Validation**&#x20;

* Implemented strict schema-based security validations for external product feed integrations to prevent unauthorized database operations. The system now actively scans and blocks unsafe configuration parameters (such as delete, update, or bulk commands), mitigating potential remote execution vulnerabilities.

**Payment Cards Endpoint Performance Optimization**&#x20;

* Resolved an N+1 query performance bottleneck on the payment cards retrieval endpoint. Database query structures were optimized to eliminate repetitive sequential queries to category tables, significantly reducing response times and database load.

**Product Price Alert Concurrency Handling**

* Fixed a concurrency issue that triggered multiple object returned errors when identical requests were sent simultaneously to create product price alerts. The endpoint now safely handles parallel requests, ensuring reliable alert creation without duplicating database records for the same product.

#### <mark style="color:$primary;">**New Features**</mark>

**Loyalty Service Transaction Labeling**&#x20;

* Enhanced the loyalty account service by introducing detailed transaction labels and language support. This structural improvement allows the system and downstream interfaces to clearly distinguish, filter, and categorize different types of loyalty transactions (e.g., standard rewards vs. digital wallet interactions) within a user's account.

**Current User Serializer Administrative Status**&#x20;

* Upgraded the core user data payload to include administrative status indicators. This addition allows client-side applications to instantly verify a user's staff authorization levels, streamlining access control for internal tools directly from the active session payload.

**Superuser Administrative Status Management**

* &#x20;Expanded user management capabilities to allow superusers the ability to dynamically update administrative access levels (is\_staff) for other accounts via standard management endpoints. Dedicated permission layers have been added to strictly limit this capability to superusers, preventing unauthorized elevation by standard staff members.

**Bulk Voucher Upload Limit Increase**&#x20;

* Significantly increased the capacity of the bulk voucher management system. Administrators can now seamlessly upload and process up to 100,000 voucher codes in a single Excel import operation without experiencing system timeouts, greatly streamlining large-scale promotional campaigns.

**Isolated Pre-Order Flow for Wallet Payments**&#x20;

* Introduced an isolated pre-order mechanism for digital wallet transactions. This security enhancement freezes cart and shipping details at the exact moment checkout is initiated, strictly preventing users from manipulating order data in secondary browser tabs during the payment redirect session.

**B2B Quotation Order Status Filter and Export**&#x20;

* Upgraded the B2B quotation dashboard with comprehensive filtering and advanced export tools. Users can now filter historical quotations based on the specific fulfillment status of their associated orders (e.g., pending, approved) and export this consolidated data directly to spreadsheet formats for improved operational tracking.

**Language Parameter Support for Search Plans**

* &#x20;Integrated language parameter support into the search plan creation workflow. Default language mappings have been added to system configurations, enabling accurate, localized search behavior mapping for multi-region infrastructures.

***

## <mark style="color:$primary;">OMS</mark>

{% hint style="warning" %}
The following changes are available in **OMS versions later than** `oms722`.
{% endhint %}

#### <mark style="color:$primary;">**Resolved Issues**</mark>

**Click & Collect Package Status Stuck After Cancellation Plan Rejection**

* When a cancellation plan was rejected for "Click & Collect orders", order items in ready for pickup status were not included in the rollback process, causing packages to remain stuck in cancellation `waiting` status. The state comparison logic has been fixed to ensure packages in ready for pickup and ready for customer pickup states are correctly restored to their previous states after a cancellation plan rejection.

**Unnecessary Omnitron Update When Using MP Carrier**

* When using the Marketplace flow, cargo status updates were being reflected directly to Omnitron, while the OMS cargo query process was sending an additional redundant update. A new update method has been introduced to ensure that in this scenario only the OMS-side shipment and package statuses are updated, preventing double-writes to Omnitron.

**Extension Cargo Incorrect Reference Number Used in Package Label Query**

* The package label query was using instance number instead of `shipment_id`. This has been corrected so that cargo label queries now return accurate results.

**KeyError Fixed During OOS Package Creation**

* During out of stock (OOS) package creation, the system was throwing an error when a virtual OOS location was not found in the stock map. The logic has been updated to return an empty response when the location is missing, allowing the process to complete without errors.

**Race Condition Fixed in Stock Location Address Fetch Task**

* When creating a new stock location, the address fetch task for cargo integration could run before the record was committed to the database, causing a "Does Not Exist" error. The task call has been moved inside a transaction on commit block to eliminate this race condition.

#### <mark style="color:$primary;">**Enhancements**</mark>&#x20;

**Unique Barcode Enforcement During Packaging**

* A validation mechanism has been added to prevent the same barcode from being used in more than one package or more than once within the same request during the packaging process. This feature can be enabled or disabled via configuration and does not affect existing system behavior.

**Order Number QR Code Added to Shipping Label**

* A QR code containing the order number is now printed on Trendyol shipping labels. This allows store staff to complete Trendyol return approvals by scanning the QR code instead of manually entering the 23 character order number.

**Auto Run Ship The Package Task Optimization**

* Comprehensive performance improvements have been made to the background task responsible for updating the status of shipped packages. Processing is now limited to packages updated within the last 15 days, tasks run in parallel per sales channel, and redundant database queries have been eliminated. This ensures significantly more stable and faster execution in high volume environments.

**Package Invoice Created Event**

* A new `package.invoice` created event is now triggered whenever invoice information is added to or updated on a package. This enables integrations and workflows dependent on invoice creation to be managed through this event.

**Cargo Company Selection Extended for Channel Based Orders Condition**

* The Channel Based Orders cargo condition can now work with a cargo company id, defined in the configuration, allowing a specific cargo company to be assigned per sales channel. Channel validation has also been added to the related endpoint.

**Don’t Replan Order Item Setting Moved to Dynamic Configuration**

* The "Don’t Replan Order Item" setting, which was previously only manageable via the environment settings file, has been migrated to the ApplicationSettings infrastructure. This allows the setting to be changed without requiring a redeployment.

**PackageSyncOmnitronStatus Command Runs in Cancellation Waiting State**

* The `PackageSyncOmnitronStatus` command now also runs for packages in cancellation waiting status, ensuring Omnitron status synchronization is maintained at this stage as well.

**Location-Based Command Condition for Packaging**

* Location based conditions can now be defined for package commands, allowing different command conditions to be applied at specific store or warehouse locations.

**Finalize Package Command Post-Picking Omnitron Synchronization**

* A new "Finalize Package Command" has been introduced to collect all package content changes after the picking process is complete  including OOS items, product substitutions, and weight updates and transmit them to Omnitron in a single step. The package status is automatically updated based on whether an additional payment is required.

***

## <mark style="color:$primary;">Instore</mark>

{% hint style="warning" %}
The following changes are available in **Instore FE versions later than** `acc-818` **and Instore BE versions later than** `s156`.
{% endhint %}

#### <mark style="color:$primary;">**Enhancements**</mark>

**Checkout Authorization Code Input for Pay on Delivery Card Payments**

* On the checkout screen, an authorization code input field has been added for pay on delivery orders where the payment method is `card_pos`. The code is submitted to the system before the order is completed, ensuring compliance with POS authorization requirements. There is also a 6-character limit in this “authorization code” field.<br>

  <figure><img src="https://1066499406-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxpVRheUHzJXXkDHR0KGf%2Fuploads%2Fr7b4HE6jlBO4opTrLI0k%2Funknown.png?alt=media&#x26;token=478abba2-50da-4d80-b07a-c6e810b78974" alt=""><figcaption></figcaption></figure>

**Bulk Cancellation Request Permission Control**

* Permission based access control has been added to the bulk cancellation request endpoint, ensuring that only authorized staff can initiate bulk cancellation operations.

**Easy Return Screen Redesign**

* The Easy Return screens have been redesigned to improve usability. The updated layout provides a clearer and more streamlined experience for staff handling return operations.

<figure><img src="https://1066499406-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxpVRheUHzJXXkDHR0KGf%2Fuploads%2FDctoH5Qin05bVd1kWUu3%2Funknown.png?alt=media&#x26;token=ed525632-19bf-4394-b88b-cc2477ac158a" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1066499406-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxpVRheUHzJXXkDHR0KGf%2Fuploads%2FyOFPjB8Af4oH5eH47uNz%2Funknown.png?alt=media&#x26;token=ff041441-99b2-466c-9d8c-421c228f203e" alt=""><figcaption></figcaption></figure>

**Non Returnable SKU Restriction on Return & Cancellation Screens**

* Items marked as non-returnable in the system are now blocked from being selected on the return and cancellation screens. When a restricted item is encountered, staff receive an explanatory warning message. The "Select All" button also excludes non-returnable items automatically. Backend validation ensures that requests containing blocked SKUs are rejected even if the frontend is bypassed.

<figure><img src="https://1066499406-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxpVRheUHzJXXkDHR0KGf%2Fuploads%2FsnTnhsHHsL1PjsDZ3u7n%2Funknown.png?alt=media&#x26;token=7470fe57-adc6-4076-900a-694af0adae7c" alt=""><figcaption></figcaption></figure>

**Customer Name Display on Click & Collect Delivery Screen**

* The customer's full name is now displayed on the Click & Collect delivery screen, allowing store staff to quickly verify the recipient's identity during handover.

<figure><img src="https://1066499406-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxpVRheUHzJXXkDHR0KGf%2Fuploads%2FbGzQLurhHCyYfa3taL1x%2Funknown.png?alt=media&#x26;token=01a235ea-c550-4f3c-95a8-514e50bacc69" alt=""><figcaption></figcaption></figure>

**Address Detail Field Placeholder Added**

* A placeholder text has been added to the address detail input field on all address entry and edit screens in Instore. The placeholder guides users to enter neighbourhood, street, building and door number information, reducing incomplete address submissions.

<figure><img src="https://1066499406-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxpVRheUHzJXXkDHR0KGf%2Fuploads%2F3U2h8yAXiGK9khWRoT9J%2Funknown.png?alt=media&#x26;token=39705977-f5be-4cee-a1ab-830f77ba7b47" alt=""><figcaption></figcaption></figure>

**ZPL Label Printing Support**

* Instore now supports direct ZPL format label printing for Aras Kargo shipments. Labels are rendered from ZPL data in the browser using an optimized rendering library, eliminating the need for PDF preview steps. Label dimensions and DPI settings are aligned with thermal printer standards, and the existing PDF flow is retained as a fallback.

**Duplicate Barcode Prevention During Packaging**

* A validation check has been added to the packaging step to prevent a barcode that has already been used in a previous package from being scanned again. Clear error messages and user guidance are displayed when a duplicate barcode is detected.

<figure><img src="https://1066499406-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxpVRheUHzJXXkDHR0KGf%2Fuploads%2FKkPqwqGAFMxEQpjyyfgm%2Funknown.png?alt=media&#x26;token=0a4043b8-794a-4c01-a69b-3f4a0b0e7516" alt=""><figcaption></figcaption></figure>

**Cross Border Address Support**

* Instore now supports cross-border address management for brands operating in multiple countries. Stores can view and add delivery addresses from other countries within the same region, in addition to their own. Address list and new address form have been updated accordingly, while brands that do not require this feature continue to work as before.

**Barcode Visibility Setting for Packaging Step**

* A new configurable setting has been added to UI Settings to control whether barcodes are displayed during the packaging step. When the setting is enabled, barcodes are visible; when disabled, they are hidden. This allows brands to adjust barcode visibility based on their operational requirements.

<figure><img src="https://1066499406-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxpVRheUHzJXXkDHR0KGf%2Fuploads%2FkpECx2TIV4qD6FAT3anE%2Funknown.png?alt=media&#x26;token=0a5cce9b-2b3b-4047-8e0e-5477075998f2" alt=""><figcaption></figcaption></figure>

**Marketplace Order Returns via Instore**

* Instore now supports processing returns for marketplace orders directly through the store interface. This feature is configurable and can be enabled per brand; brands that do not require this functionality continue to operate with their existing return flows unchanged.

**Cargo Tracking Number Added to Bulk Shipment Reconciliation Form**

* The cargo tracking number is now included in the bulk shipment reconciliation form printed for orders in "Packaged and Shipped at Store" status. If no tracking number is available, the field is left blank. This form can be accessed by pressing the "Print" button in the packing list.

<figure><img src="https://1066499406-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxpVRheUHzJXXkDHR0KGf%2Fuploads%2FM0TabQbbUlv6QsXmo6g2%2Funknown.png?alt=media&#x26;token=e7efaeb0-9ebc-4e5c-98f8-449052b7f61d" alt=""><figcaption></figcaption></figure>

**Return Restriction for Non-Web Channel Orders**

* A UI Settings-controlled option has been added to restrict returns for orders from non-web channel types. When enabled, staff attempting to process a return for such orders will see the message "This order was not placed through the web channel be refunded from the store. Please contact customer service."

<figure><img src="https://1066499406-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxpVRheUHzJXXkDHR0KGf%2Fuploads%2FY2NjAKwUwNdJw0Ixqo3Z%2Funknown.png?alt=media&#x26;token=2d848566-1492-48f2-a6d3-2b39fa1d03c4" alt=""><figcaption></figcaption></figure>

**Attribute Based C\&C Option Hiding at Checkout**

* A new widget based configuration allows the Click & Collect delivery option to be hidden at checkout for products with specific attribute key value combinations. This is managed through UI Settings.

**GDPR Consent Step Added to Customer Profile Updates**

* The customer profile update screen now includes a GDPR consent mechanism. When customer information is updated, the required consent text is displayed and the staff member must confirm approval before the changes are saved.

<figure><img src="https://1066499406-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxpVRheUHzJXXkDHR0KGf%2Fuploads%2Ff5Zuh1bblmCx7vsAHyp8%2Funknown.png?alt=media&#x26;token=9b966dea-fac4-4f01-bc81-ad90d1d5af64" alt=""><figcaption></figcaption></figure>

***

## <mark style="color:$primary;">Seller Center</mark>

{% hint style="warning" %}
The following changes are available in **Seller Center FE versions later than** `v.08.131` and **Seller Center BE versions later than** `v1.1.178`.
{% endhint %}

#### <mark style="color:$primary;">Resolved Issues</mark>

**Submit Actions For Sellers**

* A bug is fixed that happened in the bulk submit action when sellers resolve their pre rejected offers and their `auto_approve_enabled` config is `true`. This issue is fixed when resolved offers are not validated Seller’s faulty offers are automatically directed to the *Offer Actions > Rejected Offer* page.

#### <mark style="color:$primary;">New Features</mark>

**Masking of Personal Information**

* Users can now mask sensitive information (such as `identity_number`, `tax_office`, `tax_company`, and `phone_number`) exposed via `api/v1 resources`.This feature is controlled via the `MASKED_FIELDS` setting, accessible under *Settings > Dynamic Settings*. Please refer to the provided example for guidance on configuration.

<figure><img src="https://1066499406-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxpVRheUHzJXXkDHR0KGf%2Fuploads%2FeiOllFm2HhsT4cRzpmts%2Funknown.png?alt=media&#x26;token=c260f6aa-fdb2-4f7f-a704-8bc1bc5b28e7" alt=""><figcaption></figcaption></figure>

<figure><img src="https://1066499406-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxpVRheUHzJXXkDHR0KGf%2Fuploads%2FXeHUT0P0W0WOS88ajFBu%2Funknown.png?alt=media&#x26;token=39cd513c-8901-47bd-a4da-a56797a240ba" alt=""><figcaption></figcaption></figure>

**`api/i2/packages`** **`package_index` Enhancement**

* The `package_index` field has been incorporated into the [api/i2/packages](https://apidocs.akinon.com/seller-center/packages#get-i2-packages) services to improve usability. This index number allows sellers to differentiate between packages using the format `{orderNumber}{packageIndex}`, which can be utilized via the Marketplace Dashboard.

**Pre-Offer Image Bulk Actions**

* &#x20;Bulk and single action capabilities have been added to the Pre-Offer Images page. This enhancement allows operations teams to manage image-related processes more efficiently.

<figure><img src="https://1066499406-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxpVRheUHzJXXkDHR0KGf%2Fuploads%2FAZmNh24QhtqsynfVURLN%2Funknown.png?alt=media&#x26;token=b552fe77-fd65-4de7-931c-9ebbd5b04958" alt=""><figcaption></figcaption></figure>

**Revision Images Page**

* A dedicated page has been introduced for managing **Revision Images** under *Settings > Images Log* page . This page enables operations teams to monitor image changes more effectively and manage revision-related image updates in a more structured workflow.

<figure><img src="https://1066499406-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxpVRheUHzJXXkDHR0KGf%2Fuploads%2FkNoVPJSrHj4bH8ag05i4%2Funknown.png?alt=media&#x26;token=d1f433c0-2aba-4b38-9977-736cca1bece2" alt=""><figcaption></figcaption></figure>

**Customer Information Expansion**

* Customer Information now includes additional fields for **Tax Identification Number (VKN)** and **Tax Office** under *Orders > Order Detail* page, enabling improved handling of corporate customer data.

**Image Revision Processing Refactoring**

* The `publish_product_revision_images_by_parent_cron` task has been refactored to improve the reliability and maintainability of the image revision publishing process.

***

## <mark style="color:$primary;">App Maker</mark>

### <mark style="color:$primary;">Mobile</mark>

#### <mark style="color:$primary;">New Features</mark>

{% hint style="warning" %}
The following changes are available in **App Maker Environment version** `env7.0.0`.
{% endhint %}

#### **New Architecture (Fabric + Bridgeless)**

{% hint style="danger" %}
**Important Notice for env6.x Projects**

`env6.x` will receive one final update: a React Native and Expo SDK upgrade. After that release, all future updates and dependency upgrades will be delivered exclusively through `env7.x` (New Architecture). If you are still on `env6.x`, plan your migration to `env7.0.0` accordingly.
{% endhint %}

**React Native New Architecture Enabled**

* The New Architecture (Fabric renderer + Bridgeless mode) is now enabled by default on both Android and iOS. React Native and Expo have officially ended support for the old bridge architecture and most third-party packages are moving to New Architecture-only releases.

**CodePush Migrated to @code-push-next**

* `react-native-code-push` has been replaced with `@code-push-next/react-native-code-push`, a maintained fork that is compatible with React Native `0.79+` and the New Architecture. No changes are required in your application code.

**Action Required**

* Verify that all third-party native plugins used in your project support the New Architecture (Fabric / TurboModules). Plugins that only support the old Bridge architecture will crash at runtime; there is no graceful fallback.
* Test `CodePush` updates on both platforms after upgrading.
* Test all screens, native modules, and animations on both Android and iOS.
* If you find an incompatible plugin, contact us so we can evaluate and provide guidance.

**Dependency Changes**

* `react-native-code-push` removed; replaced by `@code-push-next/react-native-code-push ^10.0.1`
* `react-native-pager-view` updated to `^7.0.2`
* `@react-native-clipboard/clipboard` updated to `^1.16.3`

***

#### Axios Upgrade

axios upgraded from `0.19` to `1.13.6`. This is a major version upgrade. The framework's `request()` function has been updated internally; if you are only using `request()`, no action is required.

If you are using axios directly via `_dependencies` or have a custom request layer, the following breaking changes apply:

* HTTP headers are no longer plain objects. They are now instances of `AxiosHeaders`. Use `.set()`, `.get()`, and `.getSetCookie()` methods instead of bracket notation.
* FormData is no longer auto-detected inside transformRequest. Use `axios.postForm()`, `axios.putForm()`, or `axios.patchForm()` shortcut methods instead.
* HTTP errors are now thrown as uncaught promise rejections. Add `.catch()` or `try/catch` to all axios calls that do not already have error handling.
* `axios-mock-adapter` has been upgraded from `1.x` to `2.x` for compatibility with axios `1.x`.

**Action Required (only if using axios directly)**

* Replace `config.headers["Header-Name"] = value` with `config.headers.set("Header-Name", value)`.
* Replace `headers['set-cookie'][0]` with `headers.getSetCookie()?.[0]`.
* Replace `axios.post(url, formData)` with `axios.postForm(url, formData)` where `FormData` is used.
* Add error handling to any axios calls that are missing it.

***

{% hint style="warning" %}
The following changes are available in **App Maker Environment version** `env6.5.0`.
{% endhint %}

#### React Navigation 7

**Breaking Changes**

React Navigation has been upgraded to version 7. The following packages have been updated:

* `@react-navigation/bottom-tabs` → `7.10.0`
* `@react-navigation/drawer` → `7.7.13`
* `@react-navigation/native` → `7.1.28`
* `@react-navigation/native-stack` → `7.10.1`
* `@react-navigation/stack` → `7.6.16`
* `react-native-screens` → `4.18.0`

The following legacy packages have been removed: `react-navigation`, `react-navigation-drawer`, `react-navigation-stack`, `react-navigation-tabs`. Migrate any direct imports to the `@react-navigation/*` equivalents.

**Navigation API Changes**

* `navigate()` no longer goes back to an existing screen in the stack; it only navigates forward.\
  To go back to a screen that already exists in the stack, pass `{ pop: true }` as the third argument:

```
navigation.navigate('ScreenName', { param: value }, { pop: true });
```

* Route parameters are no longer merged when navigating to an existing screen; they are overwritten.\
  To preserve the previous merge behavior, use:

```
navigation.navigate({ name: 'ScreenName', params: { key: value }, merge: true });
```

* Directly mutating `route.params` will throw an error in development mode. Use `navigation.setParams()` instead.
* The key option for navigate() has been removed.
* `navigationInChildEnabled` has been enabled temporarily so that screen names resolve across nested navigators without changes. This is a compatibility flag and will be removed in a future version; plan your migration accordingly.

For a full list of API changes, [refer to the React Navigation `6.x` to `7.x` upgrade guide](https://reactnavigation.org/docs/upgrading-from-6.x/).

**Action Required**

* Review all `navigation.navigate()` calls in your project. Any call targeting a screen that already exists in the stack must be updated to include `{ pop: true }`.
* If you are importing from r`eact-navigation`, `react-navigation-drawer`, `react-navigation-stack`, or `react-navigation-tabs`, migrate to `@react-navigation/*` packages.
* If you are importing `SafeArea` through the Navigation dependency, switch to Container from `@elements`.
* Test all navigation flows on both platforms after upgrading.

***

#### **Native Bottom Tab Bar (Experimental)**

* A native bottom tab bar with Liquid Glass appearance is available as an experimental feature via `createNativeBottomTabNavigator` from `@react-navigation/bottom-tabs/unstable`. This is not required for the upgrade and should only be used for experimentation.

{% embed url="<https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxpVRheUHzJXXkDHR0KGf%2Fuploads%2FlgF1c4qS99y2QFbXdMbb%2FScreen%20Recording%202026-01-22%20at%2015.42.18.mp4?alt=media&token=55a96826-20f0-4ad8-a6ce-237591b17f8d>" %}

***

{% hint style="warning" %}
The following changes are available in **App Maker Environment version** `env6.4.0`.
{% endhint %}

#### Android 15 Edge-to-Edge

Starting from Android 15 (API 35), apps run in edge-to-edge mode where content extends behind the system bars. The Container component has been updated to handle this automatically.

* Container now manages navigation bar style and background color on Android 15+ using expo-navigation-bar (added as a new dependency).
* On older Android devices (< 15), the previous behavior is preserved for backward compatibility.
* Three new Container props are available: keyboardAvoidingEnable, navigationBarStyle, and navigationBarBackgroundColor.

**SafeAreaProviderView Element**

* A new `SafeAreaProviderView` element has been added to `@elements`. Modals rendered from the app layer do not inherit the `SafeAreaProvider` context. Use `SafeAreaProviderView` instead of `SafeAreaView` inside your custom modals to ensure correct safe area handling.

**Automatic Keyboard Coordination**

* When `KeyboardScrollView` is used inside a screen, Container's `KeyboardAvoidingView` is now automatically disabled to prevent conflicts. No manual configuration is needed.

**Action Required**

* Update your custom modals to use `SafeAreaProviderView` instead of `SafeAreaView`.
* Remove any manual `StatusBar.setBackgroundColor()` calls that were added for Android 15 compatibility. Container now handles this automatically.
* Test on Android 15+ devices to verify navigation bar and safe area behavior.

***

{% hint style="warning" %}
The following changes are available in **App Maker Environment version** `env6.3.0`.
{% endhint %}

#### WebP Image Optimization

* A new `WEBP_OPTIMIZATION` configuration has been added to the images theme config. When enabled, image requests will include the WebP accept header to prefer WebP format responses from CDN and image servers. This feature is disabled by default.
* A new `DEFAULT_REQUEST_HEADERS` configuration has also been added, allowing custom `HTTP` headers to be sent with image requests.
* Style definitions have been updated to support the new modal design.

**Action Required**

* Add the two new fields to `src/themeConfigs/images.js`:

```
{
 WEBP_OPTIMIZATION: false,
 DEFAULT_REQUEST_HEADERS: {}
}
```

* Both fields have safe defaults, so no behavior changes occur unless you explicitly enable them.

***

{% hint style="warning" %}
The following changes are available in **App Maker Environment version later than** `env6.2`.
{% endhint %}

#### Akinon Sentry

* akinon-sentry updated to `6.2.1` fixes stack traces not displaying correctly in error reports
