{"collectionById":{"d4a5b68c-8afd-4bbe-a7ac-e9a8422fedde":{"id":"d4a5b68c-8afd-4bbe-a7ac-e9a8422fedde","name":"Blog Articles","fieldSchemas":[{"id":"402ba26f-8f6d-4f5f-bf20-62e6549f4ad4","name":"Slug","type":"slug","role":"slug"},{"id":"1f58afa6-2748-4188-b4a4-f1e54e37eca9","name":"Hero Image","type":"image"},{"id":"3084d9ba-ab55-4e5a-931b-b9db3d09105f","name":"Article Content","type":"rich_text"},{"id":"b7712ee6-f9fd-4781-8c5c-e7e10ce8f81e","name":"Publish Date","type":"date"},{"id":"f2ba59b9-49cc-4ec6-9416-bda99d4c8383","name":"Title","type":"plain_text","role":"primary"}],"itemById":{"5c9a8261-9092-4584-b464-b966032e31d5":{"id":"5c9a8261-9092-4584-b464-b966032e31d5","index":"!NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNO","collectionId":"d4a5b68c-8afd-4bbe-a7ac-e9a8422fedde","fields":[{"id":"b5acf68d-af2d-4434-945b-0f442388fa51","value":"what-swifts-postponed-address-deadline-means-for-payment-software","itemId":"5c9a8261-9092-4584-b464-b966032e31d5","fieldSchemaId":"402ba26f-8f6d-4f5f-bf20-62e6549f4ad4"},{"id":"c089e091-6cae-42b3-91cb-3eab566314dd","value":"What Swift's postponed address deadline means for payment software","itemId":"5c9a8261-9092-4584-b464-b966032e31d5","fieldSchemaId":"f2ba59b9-49cc-4ec6-9416-bda99d4c8383"},{"id":"9b63a530-4781-4fbd-9a97-2450b45f6089","value":"{\"image\":\"fe0e74cddb0189353f06366290767294be82d8c8\",\"imageThumbnail\":\"b88cb223d4f9449c54eb92030ddd19a4a3dd8f70\",\"originalImageHeight\":816,\"originalImageWidth\":1456,\"altText\":\"\",\"fileName\":\"roro665_illustration_for_article_about_How_to_update_an_What__285f3237-f207-46f8-a7e4-2eba6f00af40_3.png\"}","itemId":"5c9a8261-9092-4584-b464-b966032e31d5","fieldSchemaId":"1f58afa6-2748-4188-b4a4-f1e54e37eca9"}]},"6b603345-a229-4aa0-8ae9-b86d4b70a3c1":{"id":"6b603345-a229-4aa0-8ae9-b86d4b70a3c1","index":"!NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNO","collectionId":"d4a5b68c-8afd-4bbe-a7ac-e9a8422fedde","fields":[{"id":"9db44329-499b-451b-84e0-89cb79a7a751","value":"how-to-update-an-angular-application-without-rebuilding-the-frontend","itemId":"6b603345-a229-4aa0-8ae9-b86d4b70a3c1","fieldSchemaId":"402ba26f-8f6d-4f5f-bf20-62e6549f4ad4"},{"id":"8692ac03-8e1b-4c17-a27a-77fb4200b12c","value":"How to update an Angular application without rebuilding the frontend","itemId":"6b603345-a229-4aa0-8ae9-b86d4b70a3c1","fieldSchemaId":"f2ba59b9-49cc-4ec6-9416-bda99d4c8383"},{"id":"caf90e8a-fe98-4277-871f-a5717bb1504b","value":"2026-10-29","itemId":"6b603345-a229-4aa0-8ae9-b86d4b70a3c1","fieldSchemaId":"b7712ee6-f9fd-4781-8c5c-e7e10ce8f81e"},{"id":"1f1f87d4-3857-4d04-9dc8-c0bd49e0efd9","value":"{\"image\":\"6c69188bd636b4eded77b8c940fee8c9aecaca6b\",\"imageThumbnail\":\"581214af98b56b281ba3ea2de9edb8de689acdcb\",\"originalImageHeight\":816,\"originalImageWidth\":1456,\"altText\":\"\",\"fileName\":\"roro665_illustration_for_article_about_How_to_update_an_Angul_37412ae2-6321-45b5-a781-5177d26eae13_0.png\"}","itemId":"6b603345-a229-4aa0-8ae9-b86d4b70a3c1","fieldSchemaId":"1f58afa6-2748-4188-b4a4-f1e54e37eca9"},{"id":"862b8129-a383-4c84-9bdb-2ad1ce8f7532","value":"{\"root\":{\"children\":[{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"When a customer portal or internal business application falls behind on Angular updates, the work can accumulate across component libraries, build tools and screens with little test coverage. Engineering leads then have to decide how much of the frontend needs to change while the product continues to ship.\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"Angular 20 reaches the end of LTS support on \",\"type\":\"text\",\"version\":1},{\"detail\":0,\"format\":1,\"mode\":\"normal\",\"style\":\"\",\"text\":\"28 November 2026\",\"type\":\"text\",\"version\":1},{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\". Angular's \",\"type\":\"text\",\"version\":1},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"current support table\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"link\",\"version\":1,\"rel\":null,\"target\":null,\"title\":null,\"url\":\"https://angular.dev/reference/releases\"},{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\" lists versions 21 and 22 as supported beyond that date, while versions 19 and earlier are already unsupported.\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"For applications built with Angular 2 and later, an upgrade can often preserve existing screens and business logic, while AngularJS 1.x requires a separate migration assessment. Choose a target with enough remaining support for the application's maintenance cycle, then scope the dependencies and behaviour that need changing to reach it.\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"Find the dependencies that determine the work\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"heading\",\"version\":1,\"tag\":\"h2\"},{\"children\":[],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"Begin with the versions actually used by the application and its build pipeline. Record Angular core and CLI, Node.js, TypeScript, RxJS, UI libraries, authentication packages and any custom build tooling.\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"Angular publishes a \",\"type\":\"text\",\"version\":1},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"compatibility table\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"link\",\"version\":1,\"rel\":null,\"target\":null,\"title\":null,\"url\":\"https://angular.dev/reference/versions\"},{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\" showing the supported combinations of Node.js, TypeScript and RxJS. Node.js matters to the frontend build even when the backend runs on .NET.\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"Next, examine libraries that appear across many screens, such as data grids, form controls and date pickers. A component library without a compatible release may require more application work than the Angular update itself. Angular's \",\"type\":\"text\",\"version\":1},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"library guidance\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"link\",\"version\":1,\"rel\":null,\"target\":null,\"title\":null,\"url\":\"https://angular.dev/tools/libraries/using-libraries\"},{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\" also notes that dependencies may need updating in a particular order.\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"For example, replacing an unsupported date picker could affect validation, locale handling and saved form values throughout an administration system. Identifying that dependency early gives the team a concrete decision about updating, replacing or maintaining the component.\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"Separate the upgrade from optional product changes\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"heading\",\"version\":1,\"tag\":\"h2\"},{\"children\":[],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"Redesigning navigation, replacing a state-management library and rebuilding a design system all introduce their own requirements. Combining them with a framework upgrade makes the release harder to estimate and failures harder to diagnose.\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"Keep the initial scope tied to a supported Angular version, compatible dependencies, a repeatable build and verified business workflows. Where a larger change is necessary, document which dependency or behaviour requires it.\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"This still allows focused improvements. Adding regression coverage around a fragile form or removing a build step that blocks the upgrade can reduce immediate delivery risk. Wider changes can follow once the application has a stable baseline.\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"For teams also upgrading a .NET backend, agree which release owns changes to authentication, API contracts and shared deployment configuration. Our article on \",\"type\":\"text\",\"version\":1},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"three problems that can complicate a .NET 10 upgrade\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"link\",\"version\":1,\"rel\":null,\"target\":null,\"title\":null,\"url\":\"https://www.blocshop.io/blog/3-common-problems-that-can-complicate-a-net-10-upgrade\"},{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\" covers several of those related dependencies.\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"Move through versions with a repeatable build\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"heading\",\"version\":1,\"tag\":\"h2\"},{\"children\":[],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"Use the \",\"type\":\"text\",\"version\":1},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"Angular Update Guide\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"link\",\"version\":1,\"rel\":null,\"target\":null,\"title\":null,\"url\":\"https://angular.dev/update-guide\"},{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\" for the application's starting version and dependencies. The documented update path progresses one major version at a time, with the relevant migrations and checks at each step.\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"For a move from Angular 20 to 22, that means working through 21 during the upgrade. It does not require a separate production release on the intermediate version.\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"Keep Angular core and CLI aligned, apply the relevant library migrations and check the required Node.js and TypeScript versions at each stage. The CLI's \",\"type\":\"text\",\"version\":1},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"ng update command\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"link\",\"version\":1,\"rel\":null,\"target\":null,\"title\":null,\"url\":\"https://angular.dev/cli/update\"},{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\" supports these changes, while its \",\"type\":\"text\",\"version\":1},{\"detail\":0,\"format\":16,\"mode\":\"normal\",\"style\":\"\",\"text\":\"--force\",\"type\":\"text\",\"version\":1},{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\" option ignores peer dependency mismatches. Bypassing a mismatch does not establish compatibility.\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"Once the application builds, confirm that a clean CI environment can reproduce the same production artifact using the intended toolchain and lockfile.\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"Test complete workflows, including failure cases\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"heading\",\"version\":1,\"tag\":\"h2\"},{\"children\":[],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"For a business application, the most useful regression checks follow the tasks people perform across several screens. Prioritise workflows such as:\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"Signing in, refreshing a session and accessing features under different roles.\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"listitem\",\"version\":1,\"value\":1},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"Editing a form, seeing validation errors and saving values without unintended changes.\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"listitem\",\"version\":1,\"value\":2},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"Filtering tables, selecting dates and exporting the expected records.\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"listitem\",\"version\":1,\"value\":3},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"Recovering from failed API calls without losing work or submitting an action twice.\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"listitem\",\"version\":1,\"value\":4}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"list\",\"version\":1,\"listType\":\"bullet\",\"start\":1,\"tag\":\"ul\"},{\"children\":[],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"Also check layout, keyboard access and the browsers customers actually use. If the application uses server-side rendering, service workers or a CDN, include their configuration and caching behaviour in release testing.\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"The deployment plan should explain how users receive the new frontend, how errors will be monitored and how the previous artifact can be restored if it remains compatible with the backend.\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"Add ownership where the upgrade is blocked\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"heading\",\"version\":1,\"tag\":\"h2\"},{\"children\":[],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"Blocshop's \",\"type\":\"text\",\"version\":1},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"BCC case study\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"link\",\"version\":1,\"rel\":null,\"target\":null,\"title\":null,\"url\":\"https://www.blocshop.io/bcc\"},{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\" describes Angular frontends working with .NET backends deployed to Azure. That combination calls for developers who can work across application behaviour, integrations and delivery tooling.\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"Blocshop can add one to three senior developers to resolve a blocking library, upgrade a defined application or build the regression coverage needed for release, alongside the existing team.\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"If an Angular upgrade is consuming the same developers needed for the product roadmap, \",\"type\":\"text\",\"version\":1},{\"children\":[{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\"discuss the work with Blocshop\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"link\",\"version\":1,\"rel\":null,\"target\":null,\"title\":null,\"url\":\"https://www.blocshop.io/contact-us\"},{\"detail\":0,\"format\":0,\"mode\":\"normal\",\"style\":\"\",\"text\":\" to identify a scope that additional senior developers can own through production delivery.\",\"type\":\"text\",\"version\":1}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"paragraph\",\"version\":1,\"textFormat\":0,\"textStyle\":\"\"}],\"direction\":null,\"format\":\"\",\"indent\":0,\"type\":\"root\",\"version\":1}}","itemId":"6b603345-a229-4aa0-8ae9-b86d4b70a3c1","fieldSchemaId":"3084d9ba-ab55-4e5a-931b-b9db3d09105f"}]},"f5152a95-8beb-4383-80e1-4b14059d046d":{"id":"f5152a95-8beb-4383-80e1-4b14059d046d","index":"!NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNO","collectionId":"d4a5b68c-8afd-4bbe-a7ac-e9a8422fedde","fields":[{"id":"7564b7b5-4c5a-43d8-9907-7c1a8a79bf10","value":"what-happens-to-your-application-when-its-ai-model-is-retired","itemId":"f5152a95-8beb-4383-80e1-4b14059d046d","fieldSchemaId":"402ba26f-8f6d-4f5f-bf20-62e6549f4ad4"},{"id":"c721b741-20ad-4485-825f-bd124abd3507","value":"What happens to your application when its AI model is retired?","itemId":"f5152a95-8beb-4383-80e1-4b14059d046d","fieldSchemaId":"f2ba59b9-49cc-4ec6-9416-bda99d4c8383"},{"id":"102c4602-a12a-49bc-811f-57f3ef3ad279","value":"{\"image\":\"5fbda497b088a659877f775ee0b145a6aae5f37a\",\"imageThumbnail\":\"ec40e875022134798bbc897dcb389a913d6a8dd1\",\"originalImageHeight\":816,\"originalImageWidth\":1456,\"altText\":\"\",\"fileName\":\"roro665_illustration_for_article_about_What_happens_to_your_a_212e344b-051e-44b5-a0d6-a11d383485b3_2.png\"}","itemId":"f5152a95-8beb-4383-80e1-4b14059d046d","fieldSchemaId":"1f58afa6-2748-4188-b4a4-f1e54e37eca9"}]}}}},"slugByItemId":{"6b86e282-05e2-4de1-a0da-50ae883730f7":"how-ai-powered-software-development-is-changing-the-role-of-the-cto","e893ce81-635b-48b0-bd01-c3f39aa1c453":"eu-and-uk-ai-regulation-compared-implications-for-software-data-and-ai-projects","d38bc66e-898e-469d-a28e-7e25efcd5e82":"ce-marking-software-under-the-eu-ai-act-who-needs-it-and-how-to-prepare-a-conformity-assessment","2a569b4b-6d39-49d7-8eda-24bbb5d0344c":"when-ai-and-gdpr-meet-navigating-the-tension-between-ai-and-data-protection","7accedf4-79c6-45c6-8cfc-65dcfa992c8b":"how-custom-ai-integrations-and-automation-improve-enterprise-workflows-and-decision-making","1f98830d-3572-40eb-b9a5-11776e6846f1":"17-ideas-for-web-apps-in-2023","b5480bfc-3980-430b-b193-71101c547238":"converting-story-points-to-hours-why-doesnt-it-work","35168ee0-162e-4ba9-8f33-51638b1deff4":"epic-story-and-tasks-in-agile","5bc932b6-8ad3-4385-85ed-0f77dccb4efe":"sprint-backlog-vs-product-backlog-most-important-differences","1bf6256f-668c-47dd-aadf-89f8b53d67a7":"sdlc-vs-agile-which-one-is-the-best","a2989e5f-e5c6-4253-af26-bf4db2e67e9c":"agile-meetings-types-goals-and-benefits","89f3ad6f-2ae9-4d8a-be50-f6bffaefc293":"daily-scrum-meetings-purpose-participants-and-guidance","7e42867d-edfc-4f00-8996-d71ad1867b84":"software-development-cost-guide-with-man-day-rate-estimates","9c52d063-769c-465f-9c61-164602619dbe":"what-is-bespoke-software-what-are-the-pros-and-cons","cb74ad7b-efe2-4458-b7a4-73f6d48d4780":"custom-software-development-trends-in-2026-how-ai-shifts-the-real-bottlenecks","0f88cfc6-008b-4645-a648-4adb2ca3f3b4":"ai-in-c-projects-which-problems-are-worth-solving-first-and-which-are-not","668a64e2-486e-4824-8626-adc7f412df53":"vibe-coding-what-do-senior-developers-verify-before-ai-generated-code-reaches-production","5f3c0247-8093-45c5-861a-a2bfa8017ec9":"3-real-life-vibe-coding-failures-and-what-they-reveal-in-production","3c95e66d-932b-4abb-b049-31e558f12589":"why-ai-slows-down-digital-banking-delivery-before-it-speeds-it-up","f28a6024-0dcd-4d0f-a308-1e078763e362":"mvp-handover-moving-from-agency-built-product-to-internal-team","3cfd1a44-094f-4680-9af8-d9d4bd0a2302":"ai-agents-in-b2b-software-your-next-user-may-not-be-a-person","10320fad-190b-4aa4-bc78-0a870a5e3d38":"cyber-resilience-act-reporting-can-your-software-team-meet-the-24-hour-deadline","51eca83c-e62c-4924-a9dc-ddd8b6a8eee7":"support-for-net-8-and-net-9-ends-on-10-november-2026-what-must-production-teams-upgrade","8ffa5d34-6520-463c-a1e7-acf11e1aee7f":"how-to-coordinate-ai-agents-in-a-multi-repository-net-migration-case-study","43667600-e9ee-40d8-b005-a3f72ed313cb":"6-ai-integration-use-cases-enterprises-can-adopt-for-automation-and-decision-support","80345e24-6050-439b-9c3b-9e1690a6a5de":"langchain-and-langgraph-and-why-these-frameworks-are-becoming-common-in-ai-projects","7707e43f-06c7-44c4-8f6a-6598f873ff4f":"chatgpt-3-5-an-overview-and-limitations","9082b7d6-0453-4adf-95c0-91cf1b596740":"top-15-micro-saas-ideas-for-your-startup-in-2022","f09637d8-423d-43e2-b99e-390d3fcf9d9c":"estimating-user-story-points-in-agile","e3946acd-c693-4e8d-a587-4365d3f689d8":"who-should-decide-ai-behaviour-changes-in-an-sme","3c24380a-12d8-47b7-84e4-ef9c5497b89c":"build-buy-or-embed-a-cto-decision-matrix-for-ai-delivery-capability","38252502-9695-4968-8852-563d098f23c2":"legacy-net-systems-and-ai-how-to-add-capability-without-rewriting-the-core-application","52d652cb-5652-4eb8-b636-868d394e6c37":"senior-developer-cost-in-2026-and-the-value-of-temporary-senior-capacity","a7893a9c-3fb9-465c-8083-469a7b1e53a2":"ai-development-at-300-month-in-tokens-per-senior-developer","ddde2039-0c11-43c6-befd-b31168be11c8":"why-ai-coding-gets-expensive-when-context-is-badly-prepared","10ed53fe-213d-4777-898b-fda70d8fe4ac":"agent-access-in-b2b-software-identity-permissions-approvals-and-auditability","fab009c4-5519-411b-951d-357f1a09e50a":"eu-ai-act-transparency-rules-now-apply-what-software-providers-and-deployers-must-change","f5152a95-8beb-4383-80e1-4b14059d046d":"what-happens-to-your-application-when-its-ai-model-is-retired","c6c83886-4e6e-4726-8b98-2994b5fac462":"4-types-of-system-integration-methods","7c10a08b-d604-4d4d-a009-2400c53b6b59":"the-ultimate-cto-checklist-for-planning-a-custom-software-or-ai-project-in-2026","9454dbcd-bc62-415c-bfed-d96a2bc5b6de":"digital-identity-and-payment-services-in-the-eu-in-2024-key-updates","97214077-bcd4-40ec-828a-7d09f468d2e2":"psd2-vs-psd3-the-evolution-of-payment-services-regulation","b6396e37-eb43-4db2-bca5-a03e145e6106":"a-deep-dive-into-gpt-4-vs-gpt-3-5-differences-and-ability-to-revolutionize-software-development","2a11e22a-6e89-486a-b8ff-55b31ec7c4d1":"10-ai-tools-for-developers-you-should-know-about-in-2023","0209d4a6-fddf-4ffb-a2e9-9acb2eff0266":"software-engineer-hourly-rates-in-2022-based-on-experience-and-location","0c4a3683-e9a6-438e-b603-d37be9207c56":"the-best-programming-languages-for-app-development-in-2022","307ea89a-ac2b-44a5-93b1-bae7f4971035":"16-software-development-project-ideas","825368fb-fea4-4fd5-8174-c6974a6395f5":"the-scrum-sprint-cycle-explained","f7c13630-7f06-4094-9c61-eff39839d00c":"scrum-vs-extreme-programming-xp-whats-the-difference","f70b9e85-0929-488a-ba8e-82dfb0d47772":"use-cases-vs-user-stories-relationships-and-differences","71d08135-3493-42e5-852d-4c1075789b6c":"tcp-networking-in-cordova","31fa69f4-cf69-4ebd-8250-34491671b0c8":"ai-in-a-net-application-architecture-and-where-it-belongs","5d6baaa0-37c3-4fa7-be18-6f601c838476":"threat-modeling-for-llm-apps-10-attack-paths-teams-should-address-first","3974df38-8b02-4304-a58a-838d4be2cbbb":"chatbot-vs-rag-assistant-what-changes-when-answers-must-be-grounded-in-your-systems-of-record","1fae3ba0-e5f2-472e-9ec3-a327bf8c6091":"regulatory-deadlines-software-teams-should-plan-for-in-2026-and-2027","a1235d08-4c7a-4e56-b7d4-fb66ad387006":"what-still-keeps-business-applications-on-windows-server-2016","5c9a8261-9092-4584-b464-b966032e31d5":"what-swifts-postponed-address-deadline-means-for-payment-software","224fb9ca-8d37-43ac-a9d2-ad44a22b4e83":"ai-applications-in-banking-real-world-examples","7c3de3bf-2771-4653-bc57-c0c355bd8547":"generative-ai-used-for-data-conversions-and-reformatting","54d55d03-8f64-4a4e-94a6-397cf873c405":"the-quiet-cost-of-ai-shadow-compute-budgets-and-the-new-devops-blind-spot","2b1fba2a-f1fa-434d-a9b7-619b86112157":"generative-ai-powered-etl-a-fresh-approach-to-data-integration-and-analytics","005ad826-7eb1-4350-ad9f-6eaa4c08b356":"iso-20022-explained-a-comprehensive-guide-for-financial-institution-managers","f96af80b-e4a6-4181-9c21-73b3a921193a":"15-useful-web-app-development-tools-for-2022","9a0f833f-0c6f-4cb4-a00b-29d304043e98":"software-development-budget-estimation","08bb6769-ad5a-4824-ab63-9698c3761cf2":"product-backlog-prioritization-techniques-tips","d61588ea-98f0-4080-93bb-02aba4ef0f3f":"top-9-bespoke-software-solutions-examples","2357e217-a465-4d2d-ad0e-6133dc117bba":"15-fantastic-saas-ideas-for-your-startup","acf4dd14-0957-46df-9726-3538df437b25":"the-waterfall-model-advantages-and-disadvantages","06ae7abb-88ac-4c69-b891-75fc2ac38793":"8-scrum-metrics-to-measure-the-effectiveness-of-your-team","69b6dac2-d540-496f-9839-bddba1a6804b":"software-testing-life-cycle-stlc-definition-and-phases","e0aad731-e7e7-447e-afcd-b06c4546ff3f":"the-7-stages-of-the-software-development-process","1ed1289b-bf8b-425c-a8cf-7ba4f56310c0":"agile-software-development-team-roles-and-responsibilities","8c1bb5a1-bda0-4455-84d5-54b9b6ce7510":"ai-laws-in-2026-the-current-euus-landscape-and-how-it-shapes-software-development","8899263d-99d9-43c5-9f5c-ce875acb011c":"ci-cd-for-ai-applications-production-delivery-governance-and-testing","f9992957-ab35-401f-819b-b8119a904aa6":"from-feature-to-liability-when-ai-should-not-be-embedded-in-the-core-flow","d8a0e77e-234a-4ad4-a0e7-0e6cae899e91":"why-most-ai-features-never-make-it-past-version-one","d4492648-d4e6-492e-9d95-fa4c8dde8a3f":"the-first-90-days-of-moving-ai-into-the-core-development-workflow","93369250-fdb9-4653-8003-3e13444e40ff":"ai-assisted-pull-requests-what-code-review-must-catch-when-ai-helped-write-the-change","07216048-013c-440b-affc-6bc1a7b56166":"the-cost-of-waiting-on-ai-is-already-in-your-backlog","65ec3395-7d7f-4402-9612-ca9666d981a5":"how-to-hire-a-senior-developer-when-the-project-cannot-wait","a6e4a57b-e918-42a0-9157-0dcf6d7c62af":"measuring-ai-assisted-development-which-metrics-show-real-delivery-gains","ba558ca2-3788-4c31-86e6-a21799b8504a":"what-the-eus-2027-instant-payment-deadlines-mean-for-payment-providers-outside-the-euro-area","9b94a719-87cd-42db-9acc-1a23957db2bc":"3-common-problems-that-can-complicate-a-net-10-upgrade","6b603345-a229-4aa0-8ae9-b86d4b70a3c1":"how-to-update-an-angular-application-without-rebuilding-the-frontend"}}