{"id":3400,"date":"2025-12-04T12:55:21","date_gmt":"2025-12-04T12:55:21","guid":{"rendered":"https:\/\/www.infragistics.com\/blogs\/?p=3400"},"modified":"2026-02-17T08:04:00","modified_gmt":"2026-02-17T08:04:00","slug":"ignite-ui-for-angular-21-0","status":"publish","type":"post","link":"https:\/\/www.infragistics.com\/blogs\/ignite-ui-for-angular-21-0","title":{"rendered":"Ignite UI for Angular 21.0 Is Out! What\u2019s New &amp; Exciting"},"content":{"rendered":"\n<p>As developers look to take advantage of the latest Angular innovations, having tools that keep pace with the framework\u2019s evolution becomes essential. To align Ignite UI for Angular 21 with everything new, we&#8217;ve released exciting features and improvements.<\/p>\n\n\n\n<p>With this release, Ignite UI for Angular not only adds full support for <a href=\"https:\/\/blog.angular.dev\/announcing-angular-v21-57946c34f14b\" rel=\"noopener\">Angular 21<\/a>, but also introduces significant grid filtering performance improvements, a brand-new Grid PDF Exporter, and AI Chat Component.<\/p>\n\n\n\n<p>One more announcement related to Ignite UI for Angular, as part of our UI toolset, we are empowering the open-source community by providing a set of <a href=\"https:\/\/www.infragistics.com\/products\/ignite-ui-angular\/open-source\">50+ open-source components<\/a> under the MIT license across <a href=\"https:\/\/www.infragistics.com\/products\/ignite-ui-angular\/open-source\">Angular<\/a>, React, Blazor, and Web Components. This is a major expansion of our mission: to empower every developer, everywhere, with modern, feature-packed, and future-proofed tools for building high-performance web applications for every scenario. You can find all the details in the <a href=\"https:\/\/www.infragistics.com\/blogs\/open-source-components\/\">&#8220;Ignite UI Releases 50+ Powerful Open-Source Components<\/a>&#8221; blog.<\/p>\n\n\n\n<p>Let\u2019s explore all in detail.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"optimized-filtering-performance-setting-a-new-standard\">Optimized Filtering Performance: Setting a New Standard<\/h2>\n\n\n\n<p><br><strong>Components:<\/strong> <a href=\"https:\/\/www.infragistics.com\/products\/ignite-ui-angular\/angular\/components\/grid\/grid\">Angular Data Grid<\/a>, <a href=\"https:\/\/www.infragistics.com\/products\/ignite-ui-angular\/angular\/components\/treegrid\/tree-grid\">Angular Tree Grid<\/a>, <a href=\"https:\/\/www.infragistics.com\/products\/ignite-ui-web-components\/web-components\/components\/grids\/hierarchical-grid\/overview\" data-type=\"link\" data-id=\"https:\/\/www.infragistics.com\/products\/ignite-ui-web-components\/web-components\/components\/grids\/hierarchical-grid\/overview\">Angular Hierarchical Grid<\/a>, <a href=\"https:\/\/www.infragistics.com\/products\/ignite-ui-angular\/angular\/components\/pivotGrid\/pivot-grid\">Angular Pivot Grid<\/a><\/p>\n\n\n\n<p>At Infragistics, performance isn\u2019t just a goal\u2014it\u2019s a promise. After delivering remarkable sorting optimizations in <a href=\"https:\/\/www.infragistics.com\/blogs\/ignite-ui-for-angular-20-1-is-out-whats-new-exciting\/\">Ignite UI for Angular 20.1<\/a>, we\u2019ve turned our attention to <strong>filtering performance<\/strong>. For applications managing massive datasets, filtering speed is critical, and we\u2019ve raised the bar once again.<\/p>\n\n\n\n<p>Over the past development cycles, our teams focused on <strong>Excel-Style Filtering<\/strong> across grids, targeting scenarios with <strong>100,000+ records<\/strong>. The results speak for themselves:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Opening Filter Dialog<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Number column:<\/strong> More than <strong>3x<\/strong> faster<\/li>\n\n\n\n<li><strong>String column:<\/strong> More than <strong>4x<\/strong> faster<\/li>\n\n\n\n<li><strong>ID column (all unique):<\/strong> incremental but meaningful improvement (~11% faster)<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>Applying Filter<\/strong><\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Number column:<\/strong> More than <strong>9x<\/strong> faster<\/li>\n\n\n\n<li><strong>String column:<\/strong> More than <strong>5x<\/strong> faster<\/li>\n\n\n\n<li><strong>ID column:<\/strong> More than <strong>9x<\/strong> faster<\/li>\n<\/ul>\n\n\n\n<p>These improvements ensure that even the most demanding enterprise applications experience <strong>lightning-fast filtering<\/strong>, delivering a smoother and more responsive user experience.<\/p>\n\n\n\n<p>And we\u2019re not stopping here &#8211; stay tuned for upcoming enhancements that will redefine performance standards for all Ignite UI Grids.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"grid-pdf-exporter\">Grid PDF Exporter<\/h2>\n\n\n\n<p>The <a href=\"https:\/\/www.infragistics.com\/products\/ignite-ui-angular\/angular\/components\/exporter-pdf\">Ignite UI for Angular PDF Exporter service<\/a> provides powerful functionality to export data in PDF format from various sources, including raw data arrays and advanced grid components such as&nbsp;<a href=\"https:\/\/staging.infragistics.com\/products\/ignite-ui-angular\/angular\/components\/grid\/grid\"><strong>IgxGrid<\/strong><\/a>,&nbsp;<a href=\"https:\/\/staging.infragistics.com\/products\/ignite-ui-angular\/angular\/components\/treegrid\/tree-grid\"><strong>IgxTreeGrid<\/strong><\/a>,&nbsp;<a href=\"https:\/\/staging.infragistics.com\/products\/ignite-ui-angular\/angular\/components\/hierarchicalgrid\/hierarchical-grid\"><strong>IgxHierarchicalGrid<\/strong><\/a>, and&nbsp;<a href=\"https:\/\/staging.infragistics.com\/products\/ignite-ui-angular\/angular\/components\/pivotGrid\/pivot-grid\"><strong>IgxPivotGrid<\/strong><\/a>. The exporting functionality is encapsulated in the&nbsp;<a href=\"https:\/\/staging.infragistics.com\/products\/ignite-ui-angular\/docs\/typescript\/latest\/classes\/igxpdfexporterservice.html\"><code>IgxPdfExporterService<\/code><\/a>&nbsp;class, which enables seamless data export to PDF format with comprehensive features including multi-page document support, automatic page breaks, and customizable formatting options.<\/p>\n\n\n\n<p>Key features:<\/p>\n\n\n\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-ad2f72ca wp-block-group-is-layout-flex\">\n<p><a href=\"https:\/\/www.infragistics.com\/blogs\/wp-admin\/edit.php?post_type=post\"><\/a><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Multi-page support<\/strong>&nbsp;with automatic page breaks<\/li>\n\n\n\n<li><strong>Hierarchical visualization<\/strong>&nbsp;for TreeGrid (with indentation) and HierarchicalGrid (with child tables)<\/li>\n\n\n\n<li><strong>Multi-level column headers<\/strong>&nbsp;(column groups) support<\/li>\n\n\n\n<li><strong>Summary rows<\/strong>&nbsp;with proper value formatting<\/li>\n\n\n\n<li><strong>Text truncation<\/strong>&nbsp;with ellipsis for long content<\/li>\n\n\n\n<li><strong>Landscape orientation<\/strong>&nbsp;by default (suitable for wide grids)<\/li>\n\n\n\n<li><strong>Internationalization<\/strong>&nbsp;support for all 19 supported languages<\/li>\n\n\n\n<li>Respects all grid export options (ignoreFiltering, ignoreSorting, ignoreColumnsVisibility, etc.)<\/li>\n<\/ul>\n<\/div>\n\n\n\n<p><a href=\"https:\/\/www.infragistics.com\/products\/ignite-ui-angular\/angular\/components\/exporter-pdf\">Documentation for Ignite UI for Angular PDF Exporter service<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"angular-ai-chat-component\">Angular AI Chat Component<\/h2>\n\n\n\n<p>The <a href=\"https:\/\/www.infragistics.com\/products\/ignite-ui-angular\/angular\/components\/chat\">Ignite UI Chat component<\/a> provides a complete solution for building conversational interfaces in your applications. Whether you are creating a customer support tool, a collaborative workspace, or a chatbot assistant, the Chat component gives you the building blocks you need: sending and receiving text messages, uploading file attachments, displaying quick reply to suggestions, showing typing indicators when the other participant is writing a response.<\/p>\n\n\n\n<p>Unlike a static message list, the&nbsp;<code>Chat<\/code>&nbsp;component is interactive and designed for&nbsp;real-time communication. It manages input, rendering, and user interaction while giving you full control over how messages and attachments are displayed. It also exposes an extensive rendering API that lets you override any part of its layout or visuals.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/static.infragistics.com\/marketing\/Website\/blogs\/Web-Components-AI-Chat-component.gif\" alt=\"Angular AI Chat component\"\/><\/figure>\n\n\n\n<p><a href=\"https:\/\/www.infragistics.com\/products\/ignite-ui-angular\/angular\/components\/chat\">Documentation for Ignite UI for Angular Chat component<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"multiple-entry-points-support\">Multiple Entry Points Support<a href=\"https:\/\/github.com\/IgniteUI\/igniteui-angular\/blob\/master\/CHANGELOG.md#multiple-entry-points-support\" rel=\"noopener\"><\/a><\/h2>\n\n\n\n<p>The Ignite UI for Angular library now supports multiple entry points for better tree-shaking and code splitting. While the main entry point `<code>igniteui-angular<\/code>` remains fully backwards compatible by re-exporting all granular entry points, we recommend migrating to the new entry points for optimal bundle sizes.<\/p>\n\n\n\n<p><strong>Benefits:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Better tree-shaking &#8211; unused components won&#8217;t be bundled<\/li>\n\n\n\n<li>Code splitting &#8211; each component can be lazy-loaded separately<\/li>\n\n\n\n<li>Smaller bundle sizes &#8211; import only what you need<\/li>\n\n\n\n<li>Improved build performance<\/li>\n<\/ul>\n\n\n\n<p><a href=\"https:\/\/www.infragistics.com\/products\/ignite-ui-angular\/angular\/components\/general\/code-splitting-and-multiple-entry-points\">Documentation for Ignite UI for Angular Code Splitting and Multiple Entry Points<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" class=\"wp-block-heading\" id=\"complete-changelog-for-ignite-ui-for-angular-21-0\"><a href=\"https:\/\/github.com\/IgniteUI\/igniteui-angular\/blob\/master\/CHANGELOG.md#2100\" rel=\"noopener\">Complete CHANGELOG for Ignite UI for Angular 21.0<\/a><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Themes<\/h3>\n\n\n\n<p><a href=\"https:\/\/github.com\/IgniteUI\/igniteui-angular\/blob\/master\/CHANGELOG.md#themes\" rel=\"noopener\"><\/a><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>IgxButton<\/code>\n<ul class=\"wp-block-list\">\n<li><strong>Breaking Change<\/strong>\n<ul class=\"wp-block-list\">\n<li>The following shadow-related parameters were removed from the&nbsp;<code>outlined-button-theme<\/code>&nbsp;and&nbsp;<code>flat-button-theme<\/code>:\n<ul class=\"wp-block-list\">\n<li><code>resting-shadow<\/code><\/li>\n\n\n\n<li><code>hover-shadow<\/code><\/li>\n\n\n\n<li><code>focus-shadow<\/code><\/li>\n\n\n\n<li><code>active-shadow<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">New Features<\/h3>\n\n\n\n<p><a href=\"https:\/\/github.com\/IgniteUI\/igniteui-angular\/blob\/master\/CHANGELOG.md#new-features\" rel=\"noopener\"><\/a><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>IgxGrid<\/code>,&nbsp;<code>IgxTreeGrid<\/code>,&nbsp;<code>IgxHierarchicalGrid<\/code>\n<ul class=\"wp-block-list\">\n<li>Added PDF export functionality to grid components. Grids can now be exported to PDF format alongside the existing Excel and CSV export options.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>The new&nbsp;<code>IgxPdfExporterService<\/code>&nbsp;follows the same pattern as Excel and CSV exporters:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>import { IgxPdfExporterService, IgxPdfExporterOptions } from 'igniteui-angular';\n\nconstructor(private pdfExporter: IgxPdfExporterService) {}\n\nexportToPdf() {\n    const options = new IgxPdfExporterOptions('MyGridExport');\n    options.pageOrientation = 'landscape'; \/\/ 'portrait' or 'landscape' (default: 'landscape')\n    options.pageSize = 'a4'; \/\/ 'a3', 'a4', 'a5', 'letter', 'legal', etc.\n    options.fontSize = 10;\n    options.showTableBorders = true;\n    \n    this.pdfExporter.export(this.grid, options);\n}<\/code><\/pre>\n\n\n\n<p><br>The grid toolbar exporter component now includes a PDF export button:<br><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;igx-grid-toolbar&gt;\n    &lt;igx-grid-toolbar-exporter \n        &#91;exportPDF]=\"true\" \n        &#91;exportExcel]=\"true\" \n        &#91;exportCSV]=\"true\"&gt;\n    &lt;\/igx-grid-toolbar-exporter&gt;\n&lt;\/igx-grid-toolbar&gt;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Breaking Changes<a href=\"https:\/\/github.com\/IgniteUI\/igniteui-angular\/blob\/master\/CHANGELOG.md#breaking-changes\" rel=\"noopener\"><\/a><\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Dependency Injection Refactor<\/h4>\n\n\n\n<p><a href=\"https:\/\/github.com\/IgniteUI\/igniteui-angular\/blob\/master\/CHANGELOG.md#dependency-injection-refactor\" rel=\"noopener\"><\/a><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>All internal DI now uses the&nbsp;<code>inject()<\/code>&nbsp;API across&nbsp;<code>igniteui-angular<\/code>&nbsp;(no more constructor DI in library code).<\/li>\n\n\n\n<li>If you extend our components\/services or call their constructors directly, remove DI params and switch to&nbsp;<code>inject()<\/code>&nbsp;(e.g.,&nbsp;<code>protected foo = inject(FooService);<\/code>).<\/li>\n\n\n\n<li>App usage via templates remains the same; no action needed unless you subclass\/override our types.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">Multiple Entry Points Support<a href=\"https:\/\/github.com\/IgniteUI\/igniteui-angular\/blob\/master\/CHANGELOG.md#multiple-entry-points-support\" rel=\"noopener\"><\/a><\/h4>\n\n\n\n<p>The library now supports multiple entry points for better tree-shaking and code splitting. While the main entry point (<code>igniteui-angular<\/code>) remains fully backwards compatible by re-exporting all granular entry points, we recommend migrating to the new entry points for optimal bundle sizes.<\/p>\n\n\n\n<p><strong>Entry Points:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>igniteui-angular\/core<\/code>&nbsp;&#8211; Core utilities, services, and base types<\/li>\n\n\n\n<li><code>igniteui-angular\/directives<\/code>&nbsp;&#8211; Common directives<\/li>\n\n\n\n<li>Component-specific entry points:&nbsp;<code>igniteui-angular\/grids<\/code>,&nbsp;<code>igniteui-angular\/input-group<\/code>,&nbsp;<code>igniteui-angular\/drop-down<\/code>, etc.<\/li>\n\n\n\n<li>Grid-specific entry points for tree-shakable imports:\n<ul class=\"wp-block-list\">\n<li><code>igniteui-angular\/grids\/core<\/code>&nbsp;&#8211; Shared grid infrastructure (columns, toolbar, filtering, sorting, etc.)<\/li>\n\n\n\n<li><code>igniteui-angular\/grids\/grid<\/code>&nbsp;&#8211; Standard grid component (<code>IgxGridComponent<\/code>)<\/li>\n\n\n\n<li><code>igniteui-angular\/grids\/tree-grid<\/code>&nbsp;&#8211; Tree grid component (<code>IgxTreeGridComponent<\/code>)<\/li>\n\n\n\n<li><code>igniteui-angular\/grids\/hierarchical-grid<\/code>&nbsp;&#8211; Hierarchical grid component (<code>IgxHierarchicalGridComponent<\/code>,&nbsp;<code>IgxRowIslandComponent<\/code>)<\/li>\n\n\n\n<li><code>igniteui-angular\/grids\/pivot-grid<\/code>&nbsp;&#8211; Pivot grid component (<code>IgxPivotGridComponent<\/code>,&nbsp;<code>IgxPivotDataSelectorComponent<\/code>)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><strong>Migration:<\/strong>&nbsp;The&nbsp;<code>ng update<\/code>&nbsp;migration will prompt you to optionally migrate your imports to the new entry points. If you choose not to migrate, you can continue using the main entry point with full backwards compatibility.<\/p>\n\n\n\n<p>To migrate manually later:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">ng update igniteui-angular --migrate-only --from=20.1.0 --to=21.0.0<\/pre>\n\n\n\n<p><strong>Component Relocations:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Input directives (<code>IgxHintDirective<\/code>,&nbsp;<code>IgxInputDirective<\/code>,&nbsp;<code>IgxLabelDirective<\/code>,&nbsp;<code>IgxPrefixDirective<\/code>,&nbsp;<code>IgxSuffixDirective<\/code>) \u2192&nbsp;<code>igniteui-angular\/input-group<\/code><\/li>\n\n\n\n<li><code>IgxAutocompleteDirective<\/code>&nbsp;\u2192&nbsp;<code>igniteui-angular\/drop-down<\/code><\/li>\n\n\n\n<li><code>IgxRadioGroupDirective<\/code>&nbsp;\u2192&nbsp;<code>igniteui-angular\/radio<\/code><\/li>\n<\/ul>\n\n\n\n<p><strong>Type Renames (to avoid conflicts):<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>Direction<\/code>&nbsp;\u2192&nbsp;<code>CarouselAnimationDirection<\/code>&nbsp;(in carousel)<\/li>\n<\/ul>\n\n\n\n<p><strong>Benefits:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Better tree-shaking &#8211; unused components won&#8217;t be bundled<\/li>\n\n\n\n<li>Code splitting &#8211; each component can be lazy-loaded separately<\/li>\n\n\n\n<li>Smaller bundle sizes &#8211; import only what you need<\/li>\n\n\n\n<li>Improved build performance<\/li>\n<\/ul>\n\n\n\n<p>See the&nbsp;<a href=\"https:\/\/angular.io\/guide\/angular-package-format#entrypoints-and-code-splitting\" rel=\"noopener\">Angular Package Format documentation<\/a>&nbsp;for more details on entry points.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"to-wrap-it-all-up\">To Wrap It All Up\u2026<\/h2>\n\n\n\n<p>Seamlessly crafted for compatibility,&nbsp;<a href=\"https:\/\/www.infragistics.com\/products\/ignite-ui-angular\">Ignite UI for Angular<\/a>&nbsp;is the library that enables you to leverage the power of the latest technologies and major releases. Committed to providing you with the best Angular UI toolkit and related insights, our goal is to equip you with more know-how, new features, enhanced performance, and improved stability. Some of the enhancements were added thanks to the requests from users like yourself through our&nbsp;<a href=\"https:\/\/github.com\/IgniteUI\/igniteui-angular\" rel=\"noopener\">Ignite UI for Angular GitHub<\/a>&nbsp;repository. With this in mind, we are always open to suggestions and feedback \u2013 it makes us grow and better respond to your development needs.<\/p>\n\n\n\n<p>If you need more details, we encourage you to check out our:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/discord.com\/channels\/836634487483269200\/836636712292581456\" target=\"_blank\" rel=\"noreferrer noopener\">Discord channel<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/IgniteUI\/igniteui-angular\/discussions\" target=\"_blank\" rel=\"noreferrer noopener\">GitHub discussions<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/IgniteUI\/igniteui-angular\/blob\/master\/ROADMAP.md\" target=\"_blank\" rel=\"noreferrer noopener\">Roadmap<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/www.youtube.com\/channel\/UCiPzmz_UyRqQE0Tboc7n66g\" target=\"_blank\" rel=\"noreferrer noopener\">YouTube channel<\/a><\/li>\n<\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Seamlessly crafted for compatibility, Ignite UI for Angular is the library that enables you to leverage the power of the latest technologies and major releases. Committed to providing you with the best Angular UI toolkit and related insights, our goal is to equip you with more know-how, new features, enhanced performance, and improved stability. <\/p>\n","protected":false},"author":20,"featured_media":3440,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,12],"tags":[23,36,20,38],"class_list":["post-3400","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-angular","category-product-updates","tag-angular","tag-app-development","tag-ignite-ui","tag-ignite-ui-angular"],"_links":{"self":[{"href":"https:\/\/www.infragistics.com\/blogs\/wp-json\/wp\/v2\/posts\/3400","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.infragistics.com\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.infragistics.com\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.infragistics.com\/blogs\/wp-json\/wp\/v2\/users\/20"}],"replies":[{"embeddable":true,"href":"https:\/\/www.infragistics.com\/blogs\/wp-json\/wp\/v2\/comments?post=3400"}],"version-history":[{"count":21,"href":"https:\/\/www.infragistics.com\/blogs\/wp-json\/wp\/v2\/posts\/3400\/revisions"}],"predecessor-version":[{"id":3540,"href":"https:\/\/www.infragistics.com\/blogs\/wp-json\/wp\/v2\/posts\/3400\/revisions\/3540"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.infragistics.com\/blogs\/wp-json\/wp\/v2\/media\/3440"}],"wp:attachment":[{"href":"https:\/\/www.infragistics.com\/blogs\/wp-json\/wp\/v2\/media?parent=3400"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.infragistics.com\/blogs\/wp-json\/wp\/v2\/categories?post=3400"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.infragistics.com\/blogs\/wp-json\/wp\/v2\/tags?post=3400"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}