{
    "api_version": "1",
    "kind": "dse_post",
    "self": "https://update.dsesecurity.com/api/v1/posts/dse-20260909-170-check-the-compiled-language-version-before-packaging-a-managed-application/",
    "item": {
        "id": "https://update.dsesecurity.com/updates/dse-20260909-170-check-the-compiled-language-version-before-packaging-a-managed-application/",
        "slug": "dse-20260909-170-check-the-compiled-language-version-before-packaging-a-managed-application",
        "url": "https://update.dsesecurity.com/updates/dse-20260909-170-check-the-compiled-language-version-before-packaging-a-managed-application/",
        "alternate_urls": {
            "markdown": "https://update.dsesecurity.com/updates/dse-20260909-170-check-the-compiled-language-version-before-packaging-a-managed-application.md",
            "json": "https://update.dsesecurity.com/api/v1/posts/dse-20260909-170-check-the-compiled-language-version-before-packaging-a-managed-application/"
        },
        "title": "Check the compiled language version before packaging a managed application",
        "summary": "Does a successful Bicep build prove that its output is acceptable inside an Azure Managed Application package?",
        "format": {
            "slug": "guide",
            "name": "Guide"
        },
        "priority": {
            "slug": "info",
            "name": "Information"
        },
        "featured": false,
        "image": {
            "theme": "continuity-recovery",
            "label": "Continuity & recovery",
            "alt": "Paired infrastructure paths converging on a stable recovered service.",
            "card_url": "https://update.dsesecurity.com/assets/editorial/continuity-recovery-card.webp?v=1.8.20",
            "hero_url": "https://update.dsesecurity.com/assets/editorial/continuity-recovery-hero.webp?v=1.8.20",
            "social_url": "https://update.dsesecurity.com/assets/editorial/continuity-recovery-social-v2.jpg?v=1.8.20",
            "width": 2400,
            "height": 1350
        },
        "topics": [
            {
                "slug": "business-continuity",
                "name": "Business Continuity",
                "url": "https://update.dsesecurity.com/topic/business-continuity/"
            },
            {
                "slug": "it",
                "name": "IT",
                "url": "https://update.dsesecurity.com/topic/it/"
            }
        ],
        "author": {
            "name": "DSE Security Editorial Team",
            "url": "https://update.dsesecurity.com/#editorial-team",
            "type": "Organization"
        },
        "publisher": {
            "name": "Detection Systems & Engineering",
            "url": "https://dsesecurity.com/"
        },
        "published_at": "2026-09-10T00:29:06+00:00",
        "modified_at": "2026-09-10T00:55:35+00:00",
        "reviewed_on": "2026-09-09",
        "reading_minutes": 2,
        "word_count": 229,
        "potentially_affected": "Bicep-authored Azure Managed Application definitions packaged for the service catalog.",
        "dse_recommendation": "DSE recommends validating the generated deployment template against the managed application's supported language version before packaging it.",
        "primary_source": {
            "name": "Use Bicep to create and publish an Azure Managed Application definition - Azure Managed Applications | Microsoft Learn",
            "url": "https://learn.microsoft.com/en-us/azure/azure-resource-manager/managed-applications/publish-bicep-definition",
            "published_on": null,
            "authority": "Microsoft Learn"
        },
        "publishing_principles": "https://update.dsesecurity.com/updates/dse-updates-editorial-methodology/",
        "usage_info": "https://update.dsesecurity.com/usage/",
        "copyright_notice": "Copyright © 2026 Detection Systems & Engineering. All rights reserved.",
        "content_html": "<h2>Source facts</h2>\n<p>Azure Managed Applications support ARM template languageVersion 1.0, not 2.0. Bicep-authored application resources must therefore be converted to the mainTemplate.json file used by the definition. The documentation calls for checking the converted JSON for accuracy before packaging. A build result and the managed application&#8217;s template-compatibility requirement are separate checks. <a href=\"https://learn.microsoft.com/en-us/azure/azure-resource-manager/managed-applications/publish-bicep-definition\" target=\"_blank\" rel=\"noopener noreferrer\">Microsoft Learn</a>.</p>\n<h2>Applicability</h2>\n<p>Use this acceptance gate when changing Bicep features or the build process for a managed application. Inspect the generated mainTemplate.json that will actually enter the package, not only the source file or a different deployment template used to publish the definition.</p>\n<h2>DSE recommendation</h2>\n<p>DSE recommends validating the generated deployment template against the managed application&#8217;s supported language version before packaging it. Preserve the source revision and generated artifact together. If a language feature causes incompatible output, stop the package release and redesign that feature for the supported target rather than assuming the compiler&#8217;s success establishes product support. Keep the intended resource behavior covered by separate tests.</p>\n<h2>Verification</h2>\n<p>Build the proposed source in the approved toolchain and examine the resulting template language. Recheck the exact JSON after it is placed in the package, then test the definition and an application instance in a controlled subscription. Record compatibility and deployment behavior separately. Do not treat a catalog definition appearing successfully as proof that its packaged resources have been deployed or validated.</p>\n<h2>Official references</h2>\n<p><a href=\"https://learn.microsoft.com/en-us/azure/azure-resource-manager/managed-applications/publish-bicep-definition\" target=\"_blank\" rel=\"noopener noreferrer\">Microsoft Learn</a>. Source retrieved September 9, 2026.</p>",
        "content_text": "Source facts\nAzure Managed Applications support ARM template languageVersion 1.0, not 2.0. Bicep-authored application resources must therefore be converted to the mainTemplate.json file used by the definition. The documentation calls for checking the converted JSON for accuracy before packaging. A build result and the managed application’s template-compatibility requirement are separate checks. Microsoft Learn.\nApplicability\nUse this acceptance gate when changing Bicep features or the build process for a managed application. Inspect the generated mainTemplate.json that will actually enter the package, not only the source file or a different deployment template used to publish the definition.\nDSE recommendation\nDSE recommends validating the generated deployment template against the managed application’s supported language version before packaging it. Preserve the source revision and generated artifact together. If a language feature causes incompatible output, stop the package release and redesign that feature for the supported target rather than assuming the compiler’s success establishes product support. Keep the intended resource behavior covered by separate tests.\nVerification\nBuild the proposed source in the approved toolchain and examine the resulting template language. Recheck the exact JSON after it is placed in the package, then test the definition and an application instance in a controlled subscription. Record compatibility and deployment behavior separately. Do not treat a catalog definition appearing successfully as proof that its packaged resources have been deployed or validated.\nOfficial references\nMicrosoft Learn. Source retrieved September 9, 2026.",
        "content_markdown": "## Source facts\n\nAzure Managed Applications support ARM template languageVersion 1.0, not 2.0. Bicep-authored application resources must therefore be converted to the mainTemplate.json file used by the definition. The documentation calls for checking the converted JSON for accuracy before packaging. A build result and the managed application’s template-compatibility requirement are separate checks. [Microsoft Learn](https://learn.microsoft.com/en-us/azure/azure-resource-manager/managed-applications/publish-bicep-definition).\n\n## Applicability\n\nUse this acceptance gate when changing Bicep features or the build process for a managed application. Inspect the generated mainTemplate.json that will actually enter the package, not only the source file or a different deployment template used to publish the definition.\n\n## DSE recommendation\n\nDSE recommends validating the generated deployment template against the managed application’s supported language version before packaging it. Preserve the source revision and generated artifact together. If a language feature causes incompatible output, stop the package release and redesign that feature for the supported target rather than assuming the compiler’s success establishes product support. Keep the intended resource behavior covered by separate tests.\n\n## Verification\n\nBuild the proposed source in the approved toolchain and examine the resulting template language. Recheck the exact JSON after it is placed in the package, then test the definition and an application instance in a controlled subscription. Record compatibility and deployment behavior separately. Do not treat a catalog definition appearing successfully as proof that its packaged resources have been deployed or validated.\n\n## Official references\n\n[Microsoft Learn](https://learn.microsoft.com/en-us/azure/azure-resource-manager/managed-applications/publish-bicep-definition). Source retrieved September 9, 2026."
    },
    "json_ld": {
        "@context": "https://schema.org",
        "@graph": [
            {
                "@type": "Organization",
                "@id": "https://dsesecurity.com/#organization",
                "name": "Detection Systems & Engineering",
                "alternateName": "DSE Security",
                "url": "https://dsesecurity.com/",
                "logo": {
                    "@type": "ImageObject",
                    "url": "https://update.dsesecurity.com/assets/dse-logo-20260812.png?v=1.8.20"
                }
            },
            {
                "@type": "Organization",
                "@id": "https://update.dsesecurity.com/#editorial-team",
                "name": "DSE Security Editorial Team",
                "url": "https://update.dsesecurity.com/",
                "parentOrganization": {
                    "@id": "https://dsesecurity.com/#organization"
                }
            },
            {
                "@type": "WebSite",
                "@id": "https://update.dsesecurity.com/#website",
                "name": "DSE Updates",
                "alternateName": "DSE Security Knowledge Hub",
                "url": "https://update.dsesecurity.com/",
                "inLanguage": "en-US",
                "publisher": {
                    "@id": "https://dsesecurity.com/#organization"
                },
                "potentialAction": {
                    "@type": "SearchAction",
                    "target": {
                        "@type": "EntryPoint",
                        "urlTemplate": "https://update.dsesecurity.com/?q={search_term_string}"
                    },
                    "query-input": "required name=search_term_string"
                }
            },
            {
                "@type": "WebPage",
                "@id": "https://update.dsesecurity.com/updates/dse-20260909-170-check-the-compiled-language-version-before-packaging-a-managed-application/",
                "url": "https://update.dsesecurity.com/updates/dse-20260909-170-check-the-compiled-language-version-before-packaging-a-managed-application/",
                "isPartOf": {
                    "@id": "https://update.dsesecurity.com/#website"
                },
                "lastReviewed": "2026-09-09"
            },
            {
                "@type": "BreadcrumbList",
                "@id": "https://update.dsesecurity.com/updates/dse-20260909-170-check-the-compiled-language-version-before-packaging-a-managed-application/#breadcrumbs",
                "itemListElement": [
                    {
                        "@type": "ListItem",
                        "position": 1,
                        "name": "DSE Updates",
                        "item": "https://update.dsesecurity.com/"
                    },
                    {
                        "@type": "ListItem",
                        "position": 2,
                        "name": "Check the compiled language version before packaging a managed application",
                        "item": "https://update.dsesecurity.com/updates/dse-20260909-170-check-the-compiled-language-version-before-packaging-a-managed-application/"
                    }
                ]
            },
            {
                "@type": [
                    "Article",
                    "TechArticle"
                ],
                "@id": "https://update.dsesecurity.com/updates/dse-20260909-170-check-the-compiled-language-version-before-packaging-a-managed-application/#article",
                "identifier": "https://update.dsesecurity.com/updates/dse-20260909-170-check-the-compiled-language-version-before-packaging-a-managed-application/",
                "url": "https://update.dsesecurity.com/updates/dse-20260909-170-check-the-compiled-language-version-before-packaging-a-managed-application/",
                "headline": "Check the compiled language version before packaging a managed application",
                "description": "Does a successful Bicep build prove that its output is acceptable inside an Azure Managed Application package?",
                "abstract": "Does a successful Bicep build prove that its output is acceptable inside an Azure Managed Application package?",
                "articleBody": "Source facts\nAzure Managed Applications support ARM template languageVersion 1.0, not 2.0. Bicep-authored application resources must therefore be converted to the mainTemplate.json file used by the definition. The documentation calls for checking the converted JSON for accuracy before packaging. A build result and the managed application’s template-compatibility requirement are separate checks. Microsoft Learn.\nApplicability\nUse this acceptance gate when changing Bicep features or the build process for a managed application. Inspect the generated mainTemplate.json that will actually enter the package, not only the source file or a different deployment template used to publish the definition.\nDSE recommendation\nDSE recommends validating the generated deployment template against the managed application’s supported language version before packaging it. Preserve the source revision and generated artifact together. If a language feature causes incompatible output, stop the package release and redesign that feature for the supported target rather than assuming the compiler’s success establishes product support. Keep the intended resource behavior covered by separate tests.\nVerification\nBuild the proposed source in the approved toolchain and examine the resulting template language. Recheck the exact JSON after it is placed in the package, then test the definition and an application instance in a controlled subscription. Record compatibility and deployment behavior separately. Do not treat a catalog definition appearing successfully as proof that its packaged resources have been deployed or validated.\nOfficial references\nMicrosoft Learn. Source retrieved September 9, 2026.",
                "datePublished": "2026-09-10T00:29:06+00:00",
                "dateModified": "2026-09-10T00:55:35+00:00",
                "mainEntityOfPage": {
                    "@id": "https://update.dsesecurity.com/updates/dse-20260909-170-check-the-compiled-language-version-before-packaging-a-managed-application/"
                },
                "inLanguage": "en-US",
                "isAccessibleForFree": true,
                "author": {
                    "@type": "Organization",
                    "name": "DSE Security Editorial Team",
                    "url": "https://update.dsesecurity.com/#editorial-team"
                },
                "publisher": {
                    "@id": "https://dsesecurity.com/#organization"
                },
                "image": {
                    "@type": "ImageObject",
                    "@id": "https://update.dsesecurity.com/updates/dse-20260909-170-check-the-compiled-language-version-before-packaging-a-managed-application/#primaryimage",
                    "url": "https://update.dsesecurity.com/assets/editorial/continuity-recovery-social-v2.jpg?v=1.8.20",
                    "contentUrl": "https://update.dsesecurity.com/assets/editorial/continuity-recovery-social-v2.jpg?v=1.8.20",
                    "width": 1200,
                    "height": 630,
                    "caption": "Check the compiled language version before packaging a managed application"
                },
                "articleSection": [
                    "Business Continuity",
                    "IT"
                ],
                "keywords": [
                    "Business Continuity",
                    "IT",
                    "Guide",
                    "Information priority"
                ],
                "genre": "Guide",
                "about": [
                    {
                        "@type": "Thing",
                        "name": "Business Continuity",
                        "url": "https://update.dsesecurity.com/topic/business-continuity/"
                    },
                    {
                        "@type": "Thing",
                        "name": "IT",
                        "url": "https://update.dsesecurity.com/topic/it/"
                    }
                ],
                "wordCount": 229,
                "timeRequired": "PT2M",
                "publishingPrinciples": "https://update.dsesecurity.com/updates/dse-updates-editorial-methodology/",
                "usageInfo": "https://update.dsesecurity.com/usage/",
                "copyrightHolder": {
                    "@id": "https://dsesecurity.com/#organization"
                },
                "copyrightNotice": "Copyright © 2026 Detection Systems & Engineering. All rights reserved.",
                "citation": {
                    "@type": "CreativeWork",
                    "name": "Use Bicep to create and publish an Azure Managed Application definition - Azure Managed Applications | Microsoft Learn",
                    "url": "https://learn.microsoft.com/en-us/azure/azure-resource-manager/managed-applications/publish-bicep-definition"
                }
            }
        ]
    }
}