Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: angular/angular-cli
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: e197652
Choose a base ref
...
head repository: angular/angular-cli
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 85a2698
Choose a head ref
  • 13 commits
  • 30 files changed
  • 5 contributors

Commits on Jun 25, 2026

  1. fix(@angular/build): inherit preserveSymlinks option from build targe…

    …t in unit-test builder
    
    The unit-test builder did not pass the preserveSymlinks configuration to Vitest's custom configuration plugin and resolved it directly from buildTargetOptions in Karma executor without considering process arguments. This caused module resolution failures in unit tests for symlinked packages.
    
    This change inherits preserveSymlinks from the referenced buildTarget options, falling back to process.execArgv if not defined. The resolved value is then successfully forwarded to the underlying bundlers and executors (Karma and Vitest).
    
    (cherry picked from commit dc27e17)
    clydin authored and alan-agius4 committed Jun 25, 2026
    Configuration menu
    Copy the full SHA
    aba7184 View commit details
    Browse the repository at this point in the history
  2. fix(@angular/build): auto-inject localize/init in library unit tests

    Injects '@angular/localize/init' at the top of the internal virtual initialization file (angular:test-bed-init) if '@angular/localize' is installed in the workspace. This prevents ReferenceErrors when testing libraries that consume localization APIs.
    
    Also updates the warning plugin to skip internal imports originating from the 'angular:' namespace.
    
    (cherry picked from commit 75c1dce)
    clydin authored and alan-agius4 committed Jun 25, 2026
    Configuration menu
    Copy the full SHA
    dfee1e7 View commit details
    Browse the repository at this point in the history
  3. build: update bazel dependencies to v0.2.20

    See associated pull request for more information.
    angular-robot authored and alan-agius4 committed Jun 25, 2026
    Configuration menu
    Copy the full SHA
    edb32ea View commit details
    Browse the repository at this point in the history
  4. fix(@angular/cli): respect release age policy in update bootstrapping…

    … logic
    
    Querying version target returns the resolved range/tag specifier instead of the resolved specific version number if the installed CLI version is outdated. This allows the package manager to natively enforce release-age policies (like pnpm's `minimum-release-age` or yarn's `npmMinimalAgeGate`) and select an appropriate older version during temporary installation rather than crashing.
    
    (cherry picked from commit edb4594)
    clydin committed Jun 25, 2026
    Configuration menu
    Copy the full SHA
    cf033ec View commit details
    Browse the repository at this point in the history

Commits on Jun 26, 2026

  1. fix(@angular/cli): gracefully handle package manager errors in comman…

    …d handler
    
    Catch `PackageManagerError` in the global `CommandModule` handler and gracefully log the installation failure message along with the process output (stdout/stderr) using `logger.fatal`.
    
    This ensures that any package manager error thrown during the execution of a command is reported cleanly to the terminal and sets the exit code to 1.
    
    (cherry picked from commit 010cef6)
    alan-agius4 committed Jun 26, 2026
    Configuration menu
    Copy the full SHA
    f099e64 View commit details
    Browse the repository at this point in the history

Commits on Jun 29, 2026

  1. fix(@angular-devkit/build-angular): prevent OS command injection in s…

    …sr-dev-server builder
    
    spawnAsObservable() was joining command and args into a single string
    before passing to spawn(). In startNodeServer(), outputPath from angular.json
    was embedded in args with manual shell quoting and shell: true.
    
    Bash evaluates $() inside double-quoted strings, so a crafted outputPath
    value in angular.json can trigger arbitrary command execution on ng serve.
    
    Fix: pass command and args separately to spawn() so Node.js uses execve()
    directly. Remove the manual quoting around path and drop shell: true.
    
    (cherry picked from commit 2d3eb7f)
    herdiyana256 authored and alan-agius4 committed Jun 29, 2026
    Configuration menu
    Copy the full SHA
    f75085f View commit details
    Browse the repository at this point in the history
  2. fix(@angular/build): load zone.js dynamically for library unit tests

    When unit testing library targets with the unit-test builder, the build
    target (ng-packagr) does not have a 'polyfills' configuration. This
    caused the builder to fall back to the 'dynamic' zone testing strategy,
    which only dynamically imports zone.js/testing at runtime if Zone is
    already defined. Since the main zone.js library was never loaded, Zone
    was undefined, and library tests relying on TestBed/fakeAsync failed.
    
    This commit introduces a new 'dynamic-zone' zone testing strategy. If
    polyfills is undefined (meaning we are running a library target) and
    zone.js is installed/resolvable, both zone.js and zone.js/testing are
    dynamically imported at startup, resolving the failure.
    
    Fixes #33477
    
    (cherry picked from commit 61e25fb)
    clydin authored and alan-agius4 committed Jun 29, 2026
    Configuration menu
    Copy the full SHA
    7c0d9f0 View commit details
    Browse the repository at this point in the history
  3. fix(@angular/ssr): preserve response headers during redirect

    Previously, when a redirect was triggered, any custom headers (such as cookies or cache control) configured on the RESPONSE_INIT object by components or guards were lost because the redirect response was created with the default headers only.
    
    Closes #33473
    
    (cherry picked from commit d9fb854)
    alan-agius4 committed Jun 29, 2026
    Configuration menu
    Copy the full SHA
    5f774f8 View commit details
    Browse the repository at this point in the history

Commits on Jun 30, 2026

  1. fix(@angular/build): scope createRequire module resolution using path…

    …s to prevent parent paths
    
    Ensure that custom resolvers created via createRequire use the strict paths resolution option when checking for the presence of local packages (such as zone.js, @angular/localize, @angular/core, or vitest test environments). This prevents Node's resolver from using the parent module context (located inside the virtual store .pnpm) and falsely finding packages that are not direct dependencies of the project.
    
    (cherry picked from commit 0010b92)
    clydin authored and alan-agius4 committed Jun 30, 2026
    Configuration menu
    Copy the full SHA
    4288e44 View commit details
    Browse the repository at this point in the history
  2. fix(@schematics/angular): remove unused app tsconfig outDir

    (cherry picked from commit 0b3172e)
    cyphercodes authored and alan-agius4 committed Jun 30, 2026
    Configuration menu
    Copy the full SHA
    862a380 View commit details
    Browse the repository at this point in the history
  3. build: lock file maintenance

    See associated pull request for more information.
    angular-robot authored and alan-agius4 committed Jun 30, 2026
    Configuration menu
    Copy the full SHA
    7848e8d View commit details
    Browse the repository at this point in the history
  4. build: update cross-repo angular dependencies

    See associated pull request for more information.
    angular-robot authored and alan-agius4 committed Jun 30, 2026
    Configuration menu
    Copy the full SHA
    5c892ee View commit details
    Browse the repository at this point in the history

Commits on Jul 1, 2026

  1. Configuration menu
    Copy the full SHA
    85a2698 View commit details
    Browse the repository at this point in the history
Loading