Skip to content

15.0.0

Choose a tag to compare

@damyanpetev damyanpetev released this 22 Apr 16:54

Highlights

This is a major release that introduces the Ignite UI CLI MCP Server as a new workspace package, modernizes all Angular templates to use the latest Angular patterns, adds AI agent configurations to scaffolded projects, and removes legacy wrapper-based project types.


New: Ignite UI CLI MCP Server

A new Model Context Protocol (MCP) server that provides AI assistants with Ignite UI documentation search, API reference lookup, and CLI scaffolding capabilities across four frameworks: Angular, React, Blazor, and Web Components.

  • Two runtime modes: Remote (proxies to a docs backend) and Local (bundled SQLite DB via sql.js WASM with FTS4 full-text search) (#1533)
  • 6 MCP tools including search_docs, get_doc, get_api_reference, search_api, get_project_setup_guide, and list_components (#1560, #1541, #1545)
  • ig mcp CLI command to launch the MCP server, with documented configuration examples for VS Code, Claude Desktop, and Cursor (#1570)
  • Comprehensive test suites: Vitest unit tests (150+ tests) and Jasmine integration tests for CLI and runtime (#1570, #1572)
  • Documentation pipelines for incremental and full rebuilds per framework (angular, react, blazor, webcomponents)
  • Skills and theming guides for Angular, React, and Web Components — providing AI assistants with curated knowledge for component usage, theming, and bundle optimization (#1563, #1573, #1580)

New: AI Agent Configuration in Scaffolded Projects

All scaffolded projects now include AI-ready configuration files to enhance the developer experience with AI coding assistants.

  • AGENTS.md with framework-specific coding guidelines and best practices for Angular, React, and Web Components (#1546)
  • CLAUDE.md for Claude Code integration (#1546)
  • VS Code MCP configuration (mcp.json) pre-configured with angular-cli, igniteui-cli, and igniteui-theming MCP servers (#1563)
  • Claude skills for component usage, theming customization, and bundle size optimization (#1573)
  • ig ai-config CLI command to configure AI tooling in an existing project: writes .vscode/mcp.json with igniteui-cli and igniteui-theming MCP servers and copies AI coding skill files from installed Ignite UI packages to .claude/skills/ (#1502)
  • AI skills auto-copy on ng add: the cli-config Angular schematic now automatically copies skill files from the installed Ignite UI package's skills/ directory into .claude/skills/ as part of the ng add igniteui-angular flow (#1502)
  • ng add ai-config schematic: a dedicated ai-config Angular schematic configures VS Code MCP settings with angular-cli and igniteui-cli MCP servers when running ng add igniteui-angular (#1624)
  • Skills fallback from project template: ig ai-config now falls back to copying skill files from the project template when the installed package does not include a skills/ directory (#1644)
  • Web Components skills without framework config: ig ai-config now correctly adds igniteui-webcomponents skills even when no framework is configured in the project (#1634)

Angular Template Modernization (igx-ts)

A comprehensive modernization of all Angular templates to align with Angular v21+ patterns.

  • Angular packages update: updated igniteui-angular to 21.2.0
  • Signals and inject() migration: replaced @ViewChild with signal-based viewChild() / viewChild.required(), @Output with output(), and constructor-based dependency injection with the inject() function across all 34 template files (#1586)
  • Control flow migration: replaced *ngIf, *ngFor, *ngSwitch structural directives with built-in @if, @for, @switch block syntax; migrated [ngClass] to [class] bindings across all templates (#1584)
  • Standalone component adoption: removed NgModule files (AuthenticationModule, AppModule) and replaced with provider functions; provideAuthentication() consolidates all auth setup (#1554)
  • Auth library upgrade: migrated to angular-auth-oidc-client v21 API with configurable social login providers (Google, Microsoft, Facebook) (#1554)
  • Service naming refactoring: removed .service suffix from service files per Angular style guide (e.g., authentication.service.tsauthentication.ts, data.service.tsdata.ts) (#1547)
  • Spec file cleanup: removed unnecessary NgModule imports from test files; standalone components imported directly in TestBed.configureTestingModule (#1544)
  • Testing framework update: replaced Karma/Jasmine with Vitest + Playwright for browser testing (#1542)
  • Template naming update: updated project setup and template names for consistency (#1514)

React & Web Components Template Updates

  • React (igr-ts): added 30 missing component templates (accordion, avatar, badge, banner, button, button-group, calendar, card, checkbox, chip, circular-progress, date-picker, divider, dropdown, expansion-panel, form, icon, icon-button, input, linear-progress, list, navbar, radio-group, rating, ripple, slider, switch, tabs, text-area, tree) to match Web Components template coverage (#1576)
  • React (igr-ts): updated project template to latest with vite@8 (#1598)
  • React packages update: updated igniteui-react-core/charts/gauges to ~19.5.2 and igniteui-react[-grids] to ~19.6.0 (#1567)
  • Web Components packages update: updated igniteui-webcomponents packages to latest (#1566)
  • Web Components grid fixes: corrected component usage and dependencies in grid templates (#1562)

Breaking Changes

  • Removed igx-ts-legacy Angular NgModules project type: the legacy NgModules project template has been removed; use igx-ts instead (#1565)
  • Removed ig-ts Angular wrappers project type: the legacy Ignite UI for Angular wrappers template has been removed; use igx-ts instead (#1548)
  • Removed igr-es6 React wrappers project type: the legacy ES6 React wrappers template has been removed; use igr-ts instead (#1550, #1551)
  • Default framework changed from jQuery to Angular in the step-by-step guide (#1574)

Refactoring & Internal Improvements

  • core: simplified BasePromptSession methods, replaced let-then-assign patterns with direct returns (550f249, 2f1bd38)
  • core: cleaned up BaseTemplateManager custom templates loading logic and Util log/error/warn methods
  • cli: refactored start and build commands to remove legacy es6/ig-ts handling
  • ng-schematics: updated module file path from app.module.ts to app-module.ts to match Angular naming conventions
  • build: integrated MCP server into monorepo build (build:mcp script, tsconfig/lerna/workspace config, nyc exclusion)
  • docs: expanded README with MCP server usage instructions, tools table, and development guide
  • issue template: updated project type options from ig-ts|igx-ts to igx-ts|igr-ts|js|igc-ts

Bug Fixes & Maintenance

  • eslint: correct config ignores and resolve lint errors (#1557)
  • lint: re-enable no-console rule (3ffa07f)
  • tslint: cleanup all leftover references to tslint (#1558)
  • ci: mark Util.sanitizeShellArg(x) as command injection sanitizer for CodeQL (#1524)
  • deps: bump minimatch, ajv, immutable, and lodash (#1549)
  • deps: bump flatted (#1559)
  • CLI error handling: added .fail() handler to yargs to gracefully handle command validation errors (e.g., missing required subcommands) instead of showing raw stack traces (#1614)
  • Unknown command detection: running ig <unknown> now prints an error message and available commands instead of silently falling through to the step-by-step interactive mode (#1614)
  • Unhandled promise rejection: added .catch() in the CLI entry point to catch and display unexpected errors cleanly (#1614)
  • upgrade-packages: aligned with React 19.4.0+ licensing migration, now upgrading igniteui-react-dockmanager and no longer upgrading igniteui-react (#1641)