What’s New in React 19 latest stable release?

What’s New in React 19 latest stable release?


Hey everyone! Today, we are going to take a look at something super exciting—React 19 is officially out and stable! I will be going to walk you through all the highlights you need to know from the latest React 19 official release announcement. Think of this as a friendly overview rather than full functionality, so you will get a sense of the new features and improvements without getting too lost in the woods. Let’s begin!
But first let me introduce my self:
Hi there! I’m Usman, a WordPress developer with a focus on web development, SEO, and creating the best user experience. Feel free to connect with me on LinkedIn to stay updated on my latest projects and insights.

Here’s my LinkedIn profile: Muhammad Usman
If you like my content fell free to follow me.



New Features in React 19



Actions

One of the additions in React 19 is the introduction of what React calls Actions. These are functions that you can pass around to handle data mutations—things like updating a user’s name with an API call without having to manually manage loading states, errors, and optimistic updates every single time.
In previous versions, you might have had a bunch of state calls to handle isPending, error, and so forth. With actions, you can use asynchronous transitions that automatically handle the pending state for you.
Here’s an example of how Actions simplify state management:

'use server';

async function updateUserName(newName) {
  // Simulate API call
  return await fetch('/api/update-name', {
    method: 'POST',
    body: JSON.stringify({ name: newName }),
  });
}

function UserProfile({ user }) {
  const action = updateUserName;

  return (
    
  );
}
Enter fullscreen mode

Exit fullscreen mode



Improved Form Handling

Handling forms is now easier. You can pass a function directly to the action prop of a form element. When the form submits, it will automatically handle pending states and even reset the form on success. Combine that with the new hooks like useActionState and useFormStatus, and you’ve got a much neater pattern for forms and data mutations—no more repetitive boilerplate for loading spinners or error states in every single form component.
Example of form handling with hooks:

import { useActionState, useFormStatus } from 'react';

function ContactForm() {
  const formStatus = useFormStatus();
  const isPending = useActionState();

  return (
    
  );
}
Enter fullscreen mode

Exit fullscreen mode



Optimistic Updates and New Hooks

A new hook, useOptimistic, lets you show changes right away before the server confirms them. For example, if a user updates their name, you can display the new name immediately and then gracefully handle the server response once it arrives. You can also revert changes if necessary.
Here’s how useOptimistic works:

import { useOptimistic } from 'react';

function UpdateStatus() {
  const [status, setStatus] = useOptimistic('offline', (current, newStatus) => newStatus);

  const handleClick = async () => {
    setStatus('online');
    await fetch('/api/set-status', { method: 'POST', body: 'online' });
  };

  return ;
}
Enter fullscreen mode

Exit fullscreen mode



New API: use

React 19 introduces a new API called use.

  • use is not a hook in the traditional sense, but you can call it in your render function to unwrap promises or other resources.
  • Essentially, if use encounters a promise, React will automatically suspend until it is resolved.
  • This makes dealing with async data fetching and suspense boundaries much simpler.
  • Unlike hooks, use can be called conditionally.
    Example of using use for promise unwrapping:
import { use } from 'react';

function FetchUser({ userId }) {
  const user = use(fetch(`/api/users/${userId}`).then(res => res.json()));

  return 

{user.name}

; }
Enter fullscreen mode

Exit fullscreen mode



Server-Side Enhancements

React 19 also introduces two new APIs in React DOM:
preRender and preRenderToNodeStream: These APIs allow you to generate static HTML that waits for the data to be ready, making static site generation more flexible and powerful.

import { preRender } from 'react-dom';

const html = preRender();
console.log(html); // Outputs pre-rendered HTML
Enter fullscreen mode

Exit fullscreen mode



Server Components

Server-side components continue to mature with React 19:
Pre-render components on the server at build time or on demand and hydrate them seamlessly on the client.
Server Actions now allow client operations to trigger functions that run on the server with the use server directive.
This simplifies server-side logic without requiring extensive boilerplate code.
React is pushing toward a full-stack hybrid rendering model.
Example of Server Actions:

'use server';

export async function fetchData() {
  const data = await fetch('/api/data').then(res => res.json());
  return data;
}
Enter fullscreen mode

Exit fullscreen mode



Quality of Life Improvements

  • Access ref as a prop in function components, reducing the need for forwardRef.
  • Hydration errors are now more understandable, with a single detailed message rather than cryptic warnings.
  • Instead of Context.Provider, you can now render context values directly, making the code cleaner.
  • Ref callbacks can now return cleanup functions, simplifying management of elements removed from the DOM.
  • useDeferredValue supports an initial value, specifying what gets shown before the deferred value arrives.
  • Place </code>, <code><meta/></code>, and <code><link/></code> tags directly in components, and React will hoist them into the <code/> tag.</li> </ul> <p>Accessing refs as props:</p> <h2> <a name="react-19-in-a-nutshell" href="#react-19-in-a-nutshell"><br /> </a><br /> React 19 in a nutshell:<br /> </h2> <p>From actions and simplified form handling to the new use API, better server rendering capabilities, improved error reporting, and richer support for metadata, styles, and scripts, this release aims to make React apps faster, cleaner, and more intuitive to write.<br />For more details, refer to the React blog and upgrade guide. The best practice is to follow it step-by-step, test thoroughly, and use the provided code mods.</p> <h2> <a name="keep-an-eye-out-for-that-in-2025" href="#keep-an-eye-out-for-that-in-2025"><br /> </a><br /> Keep an eye out for that in 2025!<br /> </h2> <p>I’d love to hear from you—what technologies are you looking forward to diving into in 2025, and what technologies are you hoping to learn? Drop your thoughts in the comments below.</p> </p></div> <p><br /> <br /><a href="https://dev.to/web_dev-usman/whats-new-in-react-19-latest-stable-release-d90">Source link </a></p> </div><!-- .entry-content --> <footer class="entry-footer"> </footer><!-- .entry-footer --> <nav class="navigation post-navigation" aria-label="Posts"> <h2 class="screen-reader-text">Post navigation</h2> <div class="nav-links"><div class="nav-previous"><a href="https://allianceuniversal.com/challenges-in-building-a-qanon-authorship-corpus/" rel="prev"><span class="nav-subtitle"><i class="fas fa-angle-double-left"></i>Previous:</span> <span class="nav-title">Challenges in Building a QAnon Authorship Corpus</span></a></div><div class="nav-next"><a href="https://allianceuniversal.com/odyssey-of-the-seas-cruise-ship-review/" rel="next"><span class="nav-subtitle">Next:<i class="fas fa-angle-double-right"></i></span> <span class="nav-title">Odyssey of the Seas cruise ship review</span></a></div></div> </nav> </div> <div id="comments" class="comments-area"> <div id="respond" class="comment-respond"> <h3 id="reply-title" class="comment-reply-title">Leave a Reply <small><a rel="nofollow" id="cancel-comment-reply-link" href="/whats-new-in-react-19-latest-stable-release/#respond" style="display:none;">Cancel reply</a></small></h3><form action="https://allianceuniversal.com/wp-comments-post.php" method="post" id="commentform" class="comment-form" novalidate><p class="comment-notes"><span id="email-notes">Your email address will not be published.</span> <span class="required-field-message">Required fields are marked <span class="required">*</span></span></p><p class="comment-form-comment"><label for="comment">Comment <span class="required">*</span></label> <textarea id="comment" name="comment" cols="45" rows="8" maxlength="65525" required></textarea></p><p class="comment-form-author"><label for="author">Name <span class="required">*</span></label> <input id="author" name="author" type="text" value="" size="30" maxlength="245" autocomplete="name" required /></p> <p class="comment-form-email"><label for="email">Email <span class="required">*</span></label> <input id="email" name="email" type="email" value="" size="30" maxlength="100" aria-describedby="email-notes" autocomplete="email" required /></p> <p class="comment-form-url"><label for="url">Website</label> <input id="url" name="url" type="url" value="" size="30" maxlength="200" autocomplete="url" /></p> <p class="comment-form-cookies-consent"><input id="wp-comment-cookies-consent" name="wp-comment-cookies-consent" type="checkbox" value="yes" /> <label for="wp-comment-cookies-consent">Save my name, email, and website in this browser for the next time I comment.</label></p> <p class="form-submit"><input name="submit" type="submit" id="submit" class="submit" value="Post Comment" /> <input type='hidden' name='comment_post_ID' value='45653' id='comment_post_ID' /> <input type='hidden' name='comment_parent' id='comment_parent' value='0' /> </p></form> </div><!-- #respond --> </div><!-- #comments --> </article><!-- #post-45653 --> <div class="single-related-posts-section-wrap layout--list"> <div class="single-related-posts-section"> <a href="javascript:void(0);" class="related_post_close"> <i class="fas fa-times-circle"></i> </a> <h2 class="newsmatic-block-title"><span>Related News</span></h2><div class="single-related-posts-wrap"> <article post-id="post-122813" class="post-122813 post type-post status-publish format-standard has-post-thumbnail hentry category-web"> <figure class="post-thumb-wrap "> <div class="post-thumbnail"> <img post-id="122813" fifu-featured="1" width="1200" src="https://i0.wp.com/media2.dev.to/dynamic/image/width=1000,height=500,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbo9jwr67lzzzfeey34d1.png?w=1200&resize=1200,0&ssl=1" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="LINQ in Entity Framework You Should Know <img draggable="false" role="img" class="emoji" alt="🧐" src="https://s.w.org/images/core/emoji/15.0.3/svg/1f9d0.svg">" title="LINQ in Entity Framework You Should Know <img draggable="false" role="img" class="emoji" alt="🧐" src="https://s.w.org/images/core/emoji/15.0.3/svg/1f9d0.svg">" title="LINQ in Entity Framework You Should Know <img draggable="false" role="img" class="emoji" alt="🧐" src="https://s.w.org/images/core/emoji/15.0.3/svg/1f9d0.svg">" decoding="async" /> </div><!-- .post-thumbnail --> </figure> <div class="post-element"> <h2 class="post-title"><a href="https://allianceuniversal.com/linq-in-entity-framework-you-should-know-%f0%9f%a7%90/">LINQ in Entity Framework You Should Know <img draggable="false" role="img" class="emoji" alt="🧐" src="https://s.w.org/images/core/emoji/15.0.3/svg/1f9d0.svg"></a></h2> <div class="post-meta"> <span class="byline"> <span class="author vcard"><a class="url fn n author_name" href="https://allianceuniversal.com/author/bill-wades/">Bill</a></span></span><span class="post-date posted-on published"><a href="https://allianceuniversal.com/linq-in-entity-framework-you-should-know-%f0%9f%a7%90/" rel="bookmark"><time class="entry-date published updated" datetime="2025-04-12T08:56:22+00:00">1 hour ago</time></a></span> <a href="https://allianceuniversal.com/linq-in-entity-framework-you-should-know-%f0%9f%a7%90/#comments"><span class="post-comment">0</span></a> </div> </div> </article> <article post-id="post-122811" class="post-122811 post type-post status-publish format-standard has-post-thumbnail hentry category-web"> <figure class="post-thumb-wrap "> <div class="post-thumbnail"> <img post-id="122811" fifu-featured="1" width="1200" src="https://i1.wp.com/hackernoon.imgix.net/images/5wpKgV75aONqkTJlafw2yQmK9yd2-7l438pn.png?w=1200&resize=1200,0&ssl=1" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="Hurry! Just One Month Left to Win Up to ,000 in the #blockchain Writing Contest" title="Hurry! Just One Month Left to Win Up to ,000 in the #blockchain Writing Contest" title="Hurry! Just One Month Left to Win Up to ,000 in the #blockchain Writing Contest" decoding="async" /> </div><!-- .post-thumbnail --> </figure> <div class="post-element"> <h2 class="post-title"><a href="https://allianceuniversal.com/hurry-just-one-month-left-to-win-up-to-2000-in-the-blockchain-writing-contest/">Hurry! Just One Month Left to Win Up to $2,000 in the #blockchain Writing Contest</a></h2> <div class="post-meta"> <span class="byline"> <span class="author vcard"><a class="url fn n author_name" href="https://allianceuniversal.com/author/anton-samoilik/">Anton</a></span></span><span class="post-date posted-on published"><a href="https://allianceuniversal.com/hurry-just-one-month-left-to-win-up-to-2000-in-the-blockchain-writing-contest/" rel="bookmark"><time class="entry-date published updated" datetime="2025-04-12T08:55:16+00:00">1 hour ago</time></a></span> <a href="https://allianceuniversal.com/hurry-just-one-month-left-to-win-up-to-2000-in-the-blockchain-writing-contest/#comments"><span class="post-comment">0</span></a> </div> </div> </article> <article post-id="post-122781" class="post-122781 post type-post status-publish format-standard has-post-thumbnail hentry category-web"> <figure class="post-thumb-wrap "> <div class="post-thumbnail"> <img post-id="122781" fifu-featured="1" width="1200" src="https://i0.wp.com/media2.dev.to/dynamic/image/width=1000,height=500,fit=cover,gravity=auto,format=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftyd5e095kj4ai63xiqh7.jpg?w=1200&resize=1200,0&ssl=1" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="APIs, Infrastructure, and Innovation: The Technical Backbone of Kotaro Shimogori’s Fintech Platforms" title="APIs, Infrastructure, and Innovation: The Technical Backbone of Kotaro Shimogori’s Fintech Platforms" title="APIs, Infrastructure, and Innovation: The Technical Backbone of Kotaro Shimogori’s Fintech Platforms" decoding="async" /> </div><!-- .post-thumbnail --> </figure> <div class="post-element"> <h2 class="post-title"><a href="https://allianceuniversal.com/apis-infrastructure-and-innovation-the-technical-backbone-of-kotaro-shimogoris-fintech-platforms/">APIs, Infrastructure, and Innovation: The Technical Backbone of Kotaro Shimogori’s Fintech Platforms</a></h2> <div class="post-meta"> <span class="byline"> <span class="author vcard"><a class="url fn n author_name" href="https://allianceuniversal.com/author/bill-wades/">Bill</a></span></span><span class="post-date posted-on published"><a href="https://allianceuniversal.com/apis-infrastructure-and-innovation-the-technical-backbone-of-kotaro-shimogoris-fintech-platforms/" rel="bookmark"><time class="entry-date published updated" datetime="2025-04-12T07:33:02+00:00">2 hours ago</time></a></span> <a href="https://allianceuniversal.com/apis-infrastructure-and-innovation-the-technical-backbone-of-kotaro-shimogoris-fintech-platforms/#comments"><span class="post-comment">0</span></a> </div> </div> </article> <article post-id="post-122779" class="post-122779 post type-post status-publish format-standard has-post-thumbnail hentry category-web"> <figure class="post-thumb-wrap "> <div class="post-thumbnail"> <img post-id="122779" fifu-featured="1" width="1200" src="https://i0.wp.com/hackernoon.imgix.net/images/hackernoon_newsletter_224_pcz0w8lhp040fo81jtfmrhra.png?w=1200&resize=1200,0&ssl=1" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="The HackerNoon Newsletter: Proof Of Waste: Why the Blockchain Belongs In The Dumpster (4/11/2025)" title="The HackerNoon Newsletter: Proof Of Waste: Why the Blockchain Belongs In The Dumpster (4/11/2025)" title="The HackerNoon Newsletter: Proof Of Waste: Why the Blockchain Belongs In The Dumpster (4/11/2025)" decoding="async" /> </div><!-- .post-thumbnail --> </figure> <div class="post-element"> <h2 class="post-title"><a href="https://allianceuniversal.com/the-hackernoon-newsletter-proof-of-waste-why-the-blockchain-belongs-in-the-dumpster-4-11-2025/">The HackerNoon Newsletter: Proof Of Waste: Why the Blockchain Belongs In The Dumpster (4/11/2025)</a></h2> <div class="post-meta"> <span class="byline"> <span class="author vcard"><a class="url fn n author_name" href="https://allianceuniversal.com/author/anton-samoilik/">Anton</a></span></span><span class="post-date posted-on published"><a href="https://allianceuniversal.com/the-hackernoon-newsletter-proof-of-waste-why-the-blockchain-belongs-in-the-dumpster-4-11-2025/" rel="bookmark"><time class="entry-date published updated" datetime="2025-04-12T07:31:44+00:00">2 hours ago</time></a></span> <a href="https://allianceuniversal.com/the-hackernoon-newsletter-proof-of-waste-why-the-blockchain-belongs-in-the-dumpster-4-11-2025/#comments"><span class="post-comment">0</span></a> </div> </div> </article> </div> </div> </div> </div> </div> <div class="secondary-sidebar"> <aside id="secondary" class="widget-area"> <section id="block-1" class="widget widget_block widget_search"><form role="search" method="get" action="https://allianceuniversal.com/" class="wp-block-search__button-outside wp-block-search__text-button wp-block-search" ><label class="wp-block-search__label" for="wp-block-search__input-1" >Search</label><div class="wp-block-search__inside-wrapper " ><input class="wp-block-search__input" id="wp-block-search__input-1" placeholder="" value="" type="search" name="s" required /><button aria-label="Search" class="wp-block-search__button wp-element-button" type="submit" >Search</button></div></form></section><section id="newsmatic_posts_grid_widget-1" class="widget widget_newsmatic_posts_grid_widget"> <style id="newsmatic_posts_grid_widget-1"> #newsmatic_posts_grid_widget-1 figure.post-thumb { padding-bottom: calc( 0.6 * 100% ) } @media (max-width: 769px){ #newsmatic_posts_grid_widget-1 figure.post-thumb { padding-bottom: calc( 0.6 * 100% ) } } @media (max-width: 548px){ #newsmatic_posts_grid_widget-1 figure.post-thumb { padding-bottom: calc( 0.6 * 100% ) } } #newsmatic_posts_grid_widget-1 figure.post-thumb img { border-radius: 0px } @media (max-width: 769px){ #newsmatic_posts_grid_widget-1 figure.post-thumb img { border-radius: 0px } } @media (max-width: 548px){ #newsmatic_posts_grid_widget-1 figure.post-thumb img { border-radius: 0px } } </style> <h2 class="widget-title"><span>Trending News</span></h2> <div class="posts-wrap posts-grid-wrap feature-post-block layout-one"> <div class="post-item format-standard"> <div class="post_thumb_image post-thumb "> <figure class="post-thumb"> <a href="https://allianceuniversal.com/virginia-based-austin-james-realty-brings-team-to-keller-williams/"> <img alt="Virginia-based Austin James Realty brings team to Keller Williams" title="Virginia-based Austin James Realty brings team to Keller Williams" post-id="122835" fifu-featured="1" src="https://i0.wp.com/assets.inman.com/wp-content/uploads/2025/04/Untitled-design-80.jpg?w=400&resize=400,250&ssl=1" loading="lazy"> </a> </figure> <div class="bmm-post-cats-wrap bmm-post-meta-item post-categories"><h5 class="card__content-category cat-item cat-30"><a href="https://allianceuniversal.com/category/estate/">Estate</a></h5></div> </div> <div class="post-content-wrap card__content"> <div class="newsmatic-post-title card__content-title post-title"> <a href="https://allianceuniversal.com/virginia-based-austin-james-realty-brings-team-to-keller-williams/">Virginia-based Austin James Realty brings team to Keller Williams</a> </div> </div> </div> </div> </section><section id="block-2" class="widget widget_block"><div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow"><h2 class="wp-block-heading">Recent Posts</h2><ul class="wp-block-latest-posts__list wp-block-latest-posts"><li><a class="wp-block-latest-posts__post-title" href="https://allianceuniversal.com/virginia-based-austin-james-realty-brings-team-to-keller-williams/">Virginia-based Austin James Realty brings team to Keller Williams</a></li> <li><a class="wp-block-latest-posts__post-title" href="https://allianceuniversal.com/sydney-blocks-with-live-electricity-substations-deemed-prime-land/">Sydney blocks with live electricity substations deemed ‘prime’ land</a></li> <li><a class="wp-block-latest-posts__post-title" href="https://allianceuniversal.com/the-ai-effort-gap-seths-blog/">The AI effort gap | Seth’s Blog</a></li> <li><a class="wp-block-latest-posts__post-title" href="https://allianceuniversal.com/us-dollars-haven-status-under-threat-fund-managers-warn/">US dollar’s haven status under threat, fund managers warn</a></li> <li><a class="wp-block-latest-posts__post-title" href="https://allianceuniversal.com/intels-new-ceo-invested-at-least-200-million-in-chinese-businesses-some-with-links-to-the-countrys-military-report-says/">Intel’s new CEO invested at least $200 million in Chinese businesses, some with links to the country’s military, report says</a></li> </ul></div></div></section><section id="block-3" class="widget widget_block"><div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow"><h2 class="wp-block-heading">Archives</h2><ul class="wp-block-archives-list wp-block-archives"> <li><a href='https://allianceuniversal.com/2025/04/'>April 2025</a></li> <li><a href='https://allianceuniversal.com/2025/03/'>March 2025</a></li> <li><a href='https://allianceuniversal.com/2025/02/'>February 2025</a></li> <li><a href='https://allianceuniversal.com/2025/01/'>January 2025</a></li> <li><a href='https://allianceuniversal.com/2024/12/'>December 2024</a></li> <li><a href='https://allianceuniversal.com/2024/11/'>November 2024</a></li> <li><a href='https://allianceuniversal.com/2024/10/'>October 2024</a></li> <li><a href='https://allianceuniversal.com/2024/09/'>September 2024</a></li> </ul></div></div></section></aside><!-- #secondary --> </div> </div> </div> </main><!-- #main --> </div><!-- #theme-content --> <footer id="colophon" class="site-footer dark_bk"> </footer><!-- #colophon --> <div id="newsmatic-scroll-to-top" class="align--right"> <span class="icon-holder"><i class="fas fa-angle-up"></i></span> </div><!-- #newsmatic-scroll-to-top --> </div><!-- #page --> <script> const lazyloadRunObserver = () => { const lazyloadBackgrounds = document.querySelectorAll( `.e-con.e-parent:not(.e-lazyloaded)` ); const lazyloadBackgroundObserver = new IntersectionObserver( ( entries ) => { entries.forEach( ( entry ) => { if ( entry.isIntersecting ) { let lazyloadBackground = entry.target; if( lazyloadBackground ) { lazyloadBackground.classList.add( 'e-lazyloaded' ); } lazyloadBackgroundObserver.unobserve( entry.target ); } }); }, { rootMargin: '200px 0px 200px 0px' } ); lazyloadBackgrounds.forEach( ( lazyloadBackground ) => { lazyloadBackgroundObserver.observe( lazyloadBackground ); } ); }; const events = [ 'DOMContentLoaded', 'elementor/lazyload/observe', ]; events.forEach( ( event ) => { document.addEventListener( event, lazyloadRunObserver ); } ); </script> <script src="https://allianceuniversal.com/wp-content/plugins/news-kit-elementor-addons/includes/assets/external/swiper/swiper-bundle.min.js?ver=11.2.5" id="nekit-swiper-js"></script> <script src="https://allianceuniversal.com/wp-content/plugins/news-kit-elementor-addons/includes/assets/external/slick/slick.min.js?ver=1.8.0" id="slick-js"></script> <script src="https://allianceuniversal.com/wp-content/plugins/news-kit-elementor-addons/includes/assets/external/js-marquee/jquery.marquee.min.js?ver=1.0.0" id="js-marquee-js"></script> <script src="https://allianceuniversal.com/wp-content/plugins/news-kit-elementor-addons/includes/assets/external/typed-main/typed.umd.js?ver=3" id="typed-js-js"></script> <script src="https://allianceuniversal.com/wp-content/plugins/news-kit-elementor-addons/includes/assets/external/jquery-cookie/jquery-cookie.js?ver=1.4.1" id="jquery-cookie-js"></script> <script id="nekit-main-js-extra"> var frontendData = {"_wpnonce":"f174dfc9c1","ajaxUrl":"https:\/\/allianceuniversal.com\/wp-admin\/admin-ajax.php"}; </script> <script src="https://allianceuniversal.com/wp-content/plugins/news-kit-elementor-addons/includes/assets/js/frontend-script.js?ver=1.0.0" id="nekit-main-js"></script> <script src="https://allianceuniversal.com/wp-content/themes/newsmatic/assets/js/navigation.js?ver=1.3.13" id="newsmatic-navigation-js"></script> <script id="newsmatic-theme-js-extra"> var newsmaticObject = {"_wpnonce":"358e3648e2","ajaxUrl":"https:\/\/allianceuniversal.com\/wp-admin\/admin-ajax.php","stt":"1","stickey_header":"","livesearch":"1"}; </script> <script src="https://allianceuniversal.com/wp-content/themes/newsmatic/assets/js/theme.js?ver=1.3.13" id="newsmatic-theme-js"></script> <script src="https://allianceuniversal.com/wp-content/themes/newsmatic/assets/lib/waypoint/jquery.waypoint.min.js?ver=4.0.1" id="waypoint-js"></script> <script src="https://allianceuniversal.com/wp-includes/js/comment-reply.min.js?ver=6.7.2" id="comment-reply-js" async data-wp-strategy="async"></script> <script id="fifu-json-ld-js-extra"> var fifuJsonLd = {"url":"https:\/\/i2.wp.com\/media2.dev.to\/dynamic\/image\/width=1000,height=500,fit=cover,gravity=auto,format=auto\/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fftu97i52fpkrdflif6pq.png?ssl=1"}; </script> <script src="https://allianceuniversal.com/wp-content/plugins/featured-image-from-url/includes/html/js/json-ld.js?ver=5.0.6" id="fifu-json-ld-js"></script> </body> </html> <!-- Page cached by LiteSpeed Cache 7.0.1 on 2025-04-12 10:01:09 -->