{"status":"success","message":"","http_code":200,"data":{"type":"message","id":"14324057","href":"/messages/14324057","view_href":"https://community.sap.com/t5/technology-blog-posts-by-sap/what-s-new-in-sap-cloud-application-programming-model-january-2026/ba-p/14324057","author":{"type":"user","id":"41902","href":"/users/41902","view_href":"https://community.sap.com/t5/user/viewprofilepage/user-id/41902","login":"BirgitS"},"subject":"What's new in SAP Cloud Application Programming Model – January 2026","body":"<P><SPAN>Dear SAP Community,</SPAN></P><P>We are excited to introduce our December 2025 and January 2026 releases of the SAP Cloud Application Programming Model (CAP). Our highlights include the new @assert feature, our revised CAP documentation, several enhancements to the CDS editor, and new features for deploying your CAP applications to the SAP BTP, Kyma Runtime.</P><P>Whether you are just getting started with CAP or are an experienced CAP developer, these updates aim to make your development experience smoother and more efficient. Stay tuned for more updates and mark your calendars for our upcoming events, including the first CAP Customer Roundtable of 2026 and Code Connect 2026.</P><P>&nbsp;</P><H3 id=\"toc-hId-1918662687\">Simplified Assertions with the New @assert Annotation</H3><P>Declarative programming focuses on describing the intent rather than describing how to achieve it. This reduces <SPAN>the need for custom code, ensures consistency, and facilitates the expression of business logic. CAP offers numerous features supporting declarative programming. For a detailed overview read the following blog post: <A href=\"https://community.sap.com/t5/technology-blog-posts-by-sap/declarative-programming-in-cap-less-code-more-value/ba-p/14321990\" target=\"_blank\">Declarative Programming in CAP: Less Code, More Value</A>.</SPAN></P><P>The December 2025 release of CAP introduces a new declarative feature that drastically reduces the amount of custom code needed in many applications. With the @assert annotation, you can now define more complex validation logic within your CDS definitions, eliminating the need for additional code. The @assert annotation supports the 'case when' syntax, allowing multiple validations to be executed sequentially. Furthermore, the returned error messages can be customized to be either a static string or a message key for internationalization (i18n) support. This enhancement helps to maintain data integrity and to provide clear and early feedback to users (for example by editing data in a draft) where validation rules are violated.</P><P>Read our documentation to learn all the details about the new <SPAN><A href=\"https://cap.cloud.sap/docs/guides/services/constraints#assert-constraint\" target=\"_blank\" rel=\"noopener nofollow noreferrer\"><STRONG>@assert</STRONG>&nbsp;feature</A>.</SPAN></P><P><SPAN><span class=\"lia-inline-image-display-wrapper lia-image-align-center\" image-alt=\"AssertFeature.png\" style=\"width: 573px;\"><img src=\"https://community.sap.com/t5/image/serverpage/image-id/370332iF72AB9975808F57C/image-size/large?v=v2&amp;px=999\" role=\"button\" title=\"AssertFeature.png\" alt=\"AssertFeature.png\" /></span></SPAN></P><P class=\"lia-align-center\" style=\"text-align: center;\">&nbsp;<SPAN>Screenshot: The new&nbsp;@assert feature</SPAN></P><P>&nbsp;</P><H3 id=\"toc-hId-1722149182\"><SPAN>Revised CAP Documentation: Finding Your Way Just Got Easier</SPAN></H3><P>In our latest release, we've refined and streamlined our CAP documentation to make it easier to find relevant information quickly. &nbsp;We reorganized the docs into <A href=\"https://cap.cloud.sap/docs/get-started/\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">Get Started</A>, <A href=\"https://cap.cloud.sap/docs/guides/\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">Develop</A>, and <A href=\"https://cap.cloud.sap/docs/guides/deploy/\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">Deploy</A>, so you can jump straight to the phase you’re in. Many guides were refreshed to match current CAP features and best practices, and new ones were added where we saw gaps.&nbsp; Here are some key changes and additions you'll find:</P><P><A href=\"https://cap.cloud.sap/docs/get-started/\" target=\"_blank\" rel=\"noopener nofollow noreferrer\"><STRONG>Get Started Section</STRONG></A></P><P>The initial guides received substantial updates. <A href=\"https://cap.cloud.sap/docs/get-started/\" target=\"_blank\" rel=\"noopener nofollow noreferrer\"><EM>In a Nutshell</EM></A> now emphasizes staying current with CAP releases while streamlining setup instructions. The <A href=\"https://cap.cloud.sap/docs/get-started/bookshop\" target=\"_blank\" rel=\"noopener nofollow noreferrer\"><EM>Bookshop Sample</EM></A> has been rewritten to align with current best practices. The <A href=\"https://cap.cloud.sap/docs/get-started/learn-more\" target=\"_blank\" rel=\"noopener nofollow noreferrer\"><EM>Learn More</EM></A> section highlights most recommended learning resources, including <A href=\"https://cap.cloud.sap/docs/get-started/learn-more#featured-samples\" target=\"_blank\" rel=\"noopener nofollow noreferrer\"><EM>Featured Samples</EM></A> and the <A href=\"https://cap.cloud.sap/docs/get-started/learn-more#the-qmacro-series\" target=\"_blank\" rel=\"noopener nofollow noreferrer\"><EM>qmacro series</EM></A>, making it clearer where to invest your learning time. <A href=\"https://cap.cloud.sap/docs/get-started/get-help\" target=\"_blank\" rel=\"noopener nofollow noreferrer\"><EM>Get Help</EM></A> includes an overview of main support channels and an improved troubleshooting guide.</P><P><A href=\"https://cap.cloud.sap/docs/guides/databases/\" target=\"_blank\" rel=\"noopener nofollow noreferrer\"><STRONG>Database Guides</STRONG></A></P><P>Three new guides have been added addressing the following topics: <A href=\"https://cap.cloud.sap/docs/guides/databases/cap-level-dbs\" target=\"_blank\" rel=\"noopener nofollow noreferrer\"><EM>CAP-Level Database Support</EM></A>, <A href=\"https://cap.cloud.sap/docs/guides/databases/cdl-to-ddl\" target=\"_blank\" rel=\"noopener nofollow noreferrer\"><EM>CDL Compiled to DDL</EM></A>, and <A href=\"https://cap.cloud.sap/docs/guides/databases/initial-data\" target=\"_blank\" rel=\"noopener nofollow noreferrer\"><EM>Adding Initial Data</EM></A>.</P><P><A href=\"https://cap.cloud.sap/docs/guides/integration/\" target=\"_blank\" rel=\"noopener nofollow noreferrer\"><STRONG>Integration Section</STRONG></A></P><P>This is an entirely new section. We've consolidated guidance on service integration, data federation, and inner-loop development. If you've been using the old <A href=\"https://cap.cloud.sap/docs/guides/services/consuming-services\" target=\"_blank\" rel=\"noopener nofollow noreferrer\"><EM>Consuming (Remote) Services</EM></A> guide, you'll find its successor here with updated approaches.</P><P><A href=\"https://cap.cloud.sap/docs/guides/security/\" target=\"_blank\" rel=\"noopener nofollow noreferrer\"><STRONG>Security &amp; Data Privacy</STRONG></A></P><P>This section has been restructured completely with new chapters on <A href=\"https://cap.cloud.sap/docs/guides/security/authentication\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">Authentication</A>&nbsp;focusing on&nbsp;<A href=\"https://cap.cloud.sap/docs/guides/security/authentication#ias-auth\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">IAS</A>, assigned user claims like <A href=\"https://cap.cloud.sap/docs/guides/security/cap-users#adding-ams-support-1\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">AMS</A>-Policies, and <A href=\"https://cap.cloud.sap/docs/guides/security/remote-authentication\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">Outbound Authentication</A>.</P><P>These updates aim to make your experience with our CAP documentation smoother and more efficient. We hope you find these enhancements useful, and as always, your feedback is invaluable to us. &nbsp;</P><P>&nbsp;</P><H3 id=\"toc-hId-1525635677\"><STRONG>CDS Editor Updates</STRONG></H3><P>Our January 2026 release brings several enhancements to the CDS editor, designed to further enhance your development experience. Here’s what’s new:</P><UL><LI><STRONG>Multi-Cursor Support for Selection Ranges</STRONG>: Selection ranges now also work with VS Code's multi-cursor mode, enabling you to edit multiple lines simultaneously.</LI></UL><P><span class=\"lia-inline-image-display-wrapper lia-image-align-center\" image-alt=\"MultiCursorSupport.png\" style=\"width: 538px;\"><img src=\"https://community.sap.com/t5/image/serverpage/image-id/370206iF6365A99357B3CC9/image-size/large?v=v2&amp;px=999\" role=\"button\" title=\"MultiCursorSupport.png\" alt=\"MultiCursorSupport.png\" /></span></P><P class=\"lia-align-center\" style=\"text-align: center;\">&nbsp;<SPAN>Screenshot: Multi-cursor support</SPAN></P><UL><LI><STRONG>Folding Ranges Improvements</STRONG>: Consecutive&nbsp;using&nbsp;statements are now treated as a single collapsible block, reducing clutter when folding code sections.</LI></UL><P><span class=\"lia-inline-image-display-wrapper lia-image-align-center\" image-alt=\"ExpandedUsingStatement.png\" style=\"width: 573px;\"><img src=\"https://community.sap.com/t5/image/serverpage/image-id/370233i14F64CD593D1E70E/image-size/large?v=v2&amp;px=999\" role=\"button\" title=\"ExpandedUsingStatement.png\" alt=\"ExpandedUsingStatement.png\" /></span></P><P class=\"lia-align-center\" style=\"text-align: center;\">&nbsp;<SPAN>Screenshot: Expanded using statement</SPAN></P><P><span class=\"lia-inline-image-display-wrapper lia-image-align-center\" image-alt=\"CollapsedUsingStatement.png\" style=\"width: 573px;\"><img src=\"https://community.sap.com/t5/image/serverpage/image-id/370238i55033B1944F482A1/image-size/large?v=v2&amp;px=999\" role=\"button\" title=\"CollapsedUsingStatement.png\" alt=\"CollapsedUsingStatement.png\" /></span></P><P class=\"lia-align-center\" style=\"text-align: center;\">&nbsp;<SPAN>Screenshot: Collapsed using statement</SPAN></P><UL><LI><STRONG>Faster References Search and Workspace Symbols</STRONG> (Beta): Find References and Workspace Symbols operations now utilize a persisted index, which can significantly improve performance in larger projects with multiple independent CDS files.<BR />To enable this beta feature, set <EM>cds.workspace.persistency.enabled</EM> in the settings of your IDE. We're interested in your feedback on performance improvements or any issues you encounter.</LI><LI><STRONG>Organized User Settings</STRONG>: Navigating user settings is now simpler with category grouping. The editor organizes settings into categories, making it easier to find and configure the settings you need.</LI></UL><P><span class=\"lia-inline-image-display-wrapper lia-image-align-center\" image-alt=\"UserSettingCategories2.png\" style=\"width: 573px;\"><img src=\"https://community.sap.com/t5/image/serverpage/image-id/370239i001B6E4C90A7BBD9/image-size/large?v=v2&amp;px=999\" role=\"button\" title=\"UserSettingCategories2.png\" alt=\"UserSettingCategories2.png\" /></span></P><P class=\"lia-align-center\" style=\"text-align: center;\">&nbsp;<SPAN>Screenshot: User settings organized in categories</SPAN></P><P><STRONG>&nbsp;</STRONG>We hope these enhancements will make your development process smoother and more efficient. We welcome your feedback and suggestions as we continue to improve the CDS editor.</P><P>&nbsp;</P><H3 id=\"toc-hId-1329122172\">New features for Kyma Deployment</H3><P>Our January release brings several new features for deploying your CAP applications to the<SPAN>&nbsp;</SPAN><A href=\"https://discovery-center.cloud.sap/serviceCatalog/kyma-runtime?region=all\" target=\"_blank\" rel=\"noopener nofollow noreferrer\"><SPAN>SAP BTP, Kyma Runtime</SPAN></A>. <SPAN>For multitenant Kyma applications, we’ve introduced the new </SPAN><A href=\"https://cap.cloud.sap/docs/guides/multitenancy/#update-database-schema\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">mtx-upgrade</A><SPAN> task, which is automatically added as a Kubernetes job by <EM>cds add multitenancy</EM></SPAN>. This feature simplifies consistent upgrades across <SPAN>multiple </SPAN>tenants.</P><P>Another new addition is&nbsp;<EM>cds debug</EM>&nbsp;for Kubernetes. This command enables you to open a Chrome Node.js debugging session for your remote application running in Kyma. <SPAN>T</SPAN>o see <SPAN>the </SPAN>available applications<SPAN>, </SPAN><EM>use&nbsp;</EM><EM>kubectl get deployments</EM>.</P><P><SPAN>Example: run</SPAN>&nbsp;<EM>cds debug bookshop-srv --k8s</EM>&nbsp;to start a debugging session<SPAN>.</SPAN></P><P><span class=\"lia-inline-image-display-wrapper lia-image-align-center\" image-alt=\"NewFeaturesKymaDeployment.png\" style=\"width: 573px;\"><img src=\"https://community.sap.com/t5/image/serverpage/image-id/370240i4FA8CB07D28B50E6/image-size/large?v=v2&amp;px=999\" role=\"button\" title=\"NewFeaturesKymaDeployment.png\" alt=\"NewFeaturesKymaDeployment.png\" /></span></P><P class=\"lia-align-center\" style=\"text-align: center;\">&nbsp;<SPAN>Screenshot:&nbsp;</SPAN><SPAN>New features for Kyma Deployment</SPAN></P><P>These additions streamline both the deployment workflow for multitenant scenarios and the <SPAN>debugging</SPAN> process for applications running in Kyma.</P><P>&nbsp;</P><H3 id=\"toc-hId-1132608667\"><SPAN>Expert Session: Getting Started with CAP Node.js</SPAN></H3><P>Join us for an insightful <A href=\"https://www.youtube.com/watch?v=fUYNjuQbLzQ\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">session with expert Daniel Schlachter</A>, in conversation with DJ Adams, as they guide you through embarking on your CAP Node.js project journey. This session covers essential topics such as initialization, data modelling, the cds command line tool, service creation, data mocking, annotations, event handlers, and declarative definitions. You will gain practical insights into best practices for CAP development that will help you structure your CAP projects efficiently from the start.</P><P>Don't miss this opportunity to learn from the experts and elevate your development practices.</P><P>&nbsp;</P><H3 id=\"toc-hId-936095162\">Events</H3><P><STRONG>Next customer roundtable</STRONG></P><P>The first CAP Customer Roundtable in 2026 is coming up soon! We invite you to join us on February 18th, 2026, at 5.00 PM CET. As always, we will provide you an overview of some of the latest features, insightful demos, and discussions on questions from the CAP community. Please refer to this <A href=\"https://community.sap.com/t5/technology-blog-posts-by-sap/sap-cloud-application-programming-model-cap-customer-roundtable-february/ba-p/14317448\" target=\"_blank\">blog post</A> for additional details, including the agenda and dial-in information.</P><P>&nbsp;</P><P><STRONG>Mark your Calendars for Code Connect 2026 </STRONG></P><P><A href=\"https://code-connect.dev/\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">Code Connect</A> returns for its third edition from July 13-16, 2026, in St. Leon-Rot, Germany. Online participation is also possible. The conference brings together <A href=\"https://openui5.org/ui5con/\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">UI5con</A>,&nbsp;<SPAN><A href=\"https://recap-conf.dev/\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">reCAP</A></SPAN>, and&nbsp;<SPAN><A href=\"https://hanatech.community/\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">HANA Tech Con</A></SPAN>, offering a comprehensive program for SAP developers. Whether you are experienced or new to SAP technologies, Code Connect provides an opportunity to engage with peers, share knowledge, and explore the latest in SAP development.</P><P>The call for proposals is now open!&nbsp;We invite you to submit your own ideas and share your expertise with the community. Don’t wait and submit your session proposal by 13 March 2026 at the latest.</P><UL><LI><A href=\"https://ui5con.cfapps.eu12.hana.ondemand.com/\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">Call for proposals UI5con</A></LI><LI><A href=\"https://recap.cfapps.eu12.hana.ondemand.com/\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">Call for proposals reCAP</A></LI><LI><A href=\"https://hanatech.cfapps.eu12.hana.ondemand.com/\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">Call for proposals HANA Tech Con</A></LI></UL><P>Additionally, we are seeking sponsors to help make this event even better. Read our&nbsp;<A href=\"https://cap.cloud.sap/resources/events/Code_Connect_2026_Sponsor_Packages.pdf\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">sponsorship prospectus</A>&nbsp;to check our sponsorship opportunities. If you or your organization are interested in supporting Code Connect 2026, we'd love to hear from you.</P><P>Find all the details in this <A href=\"https://community.sap.com/t5/technology-blog-posts-by-sap/code-connect-2026-is-coming-mark-your-calendars/ba-p/14307923\" target=\"_blank\">blog post</A> and make sure to mark your calendars for this great event!</P><P>&nbsp;</P><P>For further information on new features, please have a look at the <SPAN><A href=\"https://cap.cloud.sap/docs/releases/\" target=\"_blank\" rel=\"noopener nofollow noreferrer\">SAP Cloud Application Programming Model Release Notes</A></SPAN>. <STRONG>If you want to stay up-to-date with news, learning resources, and product and strategy updates for CAP:&nbsp;</STRONG>follow our&nbsp;<SPAN><A href=\"https://community.sap.com/t5/c-khhcw49343/SAP+Cloud+Application+Programming+Model/pd-p/9f13aee1-834c-4105-8e43-ee442775e5ce\" target=\"_blank\">tag</A> </SPAN>in the SAP Community.</P><P>We look forward to seeing how you use these new capabilities to create innovative solutions and drive your projects forward. Stay tuned for more updates and happy coding! <span class=\"lia-unicode-emoji\" title=\":smiling_face_with_smiling_eyes:\">😊</span></P>","teaser":"<P>This blog post introduces our December 2025 and January 2026 releases of the SAP Cloud Application Programming Model (CAP). Our highlights include the new @assert feature, our revised CAP documentation, several enhancements to the CDS editor, and new features for deploying your CAP applications to the SAP BTP, Kyma Runtime.</P>","board":{"type":"board","id":"technology-blog-sap","href":"/boards/technology-blog-sap","view_href":"https://community.sap.com/t5/technology-blog-posts-by-sap/bg-p/technology-blog-sap"},"conversation":{"type":"conversation","id":"14324057","href":"/conversations/14324057","view_href":"https://community.sap.com/t5/technology-blog-posts-by-sap/what-s-new-in-sap-cloud-application-programming-model-january-2026/ba-p/14324057","style":"blog","thread_style":"blog","messages_count":2,"solved":false,"last_post_time":"2026-02-10T07:14:23.229+01:00","last_post_time_friendly":"2026 Feb 10"},"topic":{"type":"message","id":"14324057","href":"/messages/14324057","view_href":"https://community.sap.com/t5/technology-blog-posts-by-sap/what-s-new-in-sap-cloud-application-programming-model-january-2026/ba-p/14324057"},"post_time":"2026-02-09T12:32:06.554+01:00","post_time_friendly":"2026 Feb 09","depth":0,"read_only":false,"edit_frozen":false,"language":"EN","can_accept_solution":false,"placeholder":false,"is_solution":false,"solution_data":{},"metrics":{"type":"message_metrics","views":2559},"current_revision":{"type":"revision","id":"14324057_15","last_edit_author":{"type":"user","id":"41902","href":"/users/41902","view_href":"https://community.sap.com/t5/user/viewprofilepage/user-id/41902","login":"BirgitS"},"last_edit_time":"2026-02-09T12:26:41.859+01:00"},"kudos":{"query":"SELECT * FROM kudos WHERE message.id = '14324057'"},"tags":{"query":"SELECT * FROM tags WHERE messages.id = '14324057'"},"labels":{"query":"SELECT * FROM labels WHERE messages.id = '14324057'"},"images":{"query":"SELECT * FROM images WHERE messages.id = '14324057'"},"videos":{"query":"SELECT * FROM videos WHERE messages.id = '14324057'"},"attachments":{"query":"SELECT * FROM attachments WHERE message.id = '14324057'"},"replies":{"query":"SELECT * FROM messages WHERE parent.id = '14324057'"},"ratings":{"query":"SELECT * FROM ratings WHERE message.id = '14324057'"},"custom_tags":{"query":"SELECT * FROM custom_tags WHERE messages.id = '14324057'"},"moderation_status":"approved","visibility_scope":"public","user_context":{"type":"user_context","kudo":false,"read":false,"can_reply":false,"can_kudo":false,"can_delete":false},"message_type":"blog_topic_message","popularity":1.6262227006256272E-5,"excluded_from_kudos_leaderboards":false,"latest_version":{"type":"friendly_version","major":"1","minor":"0"},"include_hidden_messages":true,"content_workflow":{"type":"content_workflow","state":"publish","message_draft_history":{"query":"SELECT * FROM message_draft_history WHERE message.id = '14324057'"},"user_context":{"type":"message_workflow_context","can_edit":false,"can_schedule":false},"view_href":"https://community.sap.com/t5/blogs/blogworkflowpage/blog-id/technology-blog-sap/article-id/188196"},"is_promoted":false},"metadata":{}}