Skip to content

Conversation

@BeeJay28
Copy link
Contributor

Fixes #6821

Before the parser left the {block}-token (or {blocks.key}-token) as is during parsing, if the corresponding import did not specify any block (pasting it into the import-body as a literal).

After this change, the parser ignores {block} tokens, if there is no body to replace it with.

Also add two adapt-tests to pin the new behavior of {block} and {blocks.key} respectively.

@elee1766
Copy link
Contributor

@francislavoie i guess the chance that anyone is using {block} or {blocks.key} in their caddyfile and not trying to use the feature is very very small. i dont think anyone complained. maybe we could put a small note in the release, but im not sure its needed

dont really see any problems, the code is good.

Copy link
Member

@francislavoie francislavoie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah sorry, I didn't see this PR for some reason when you made it. LGTM!

@francislavoie francislavoie added this to the v2.10.3 milestone Sep 12, 2025
@francislavoie francislavoie force-pushed the feature/CADDY-6821-Change-parser-to-allow-not-replacing-block-directives branch from 5e8c1f3 to cca54a9 Compare September 12, 2025 19:58
@francislavoie francislavoie changed the title Change parser to allow not replacing block-directives. caddyfile: Allow block to do nothing if nothing passed to import Sep 12, 2025
@francislavoie francislavoie enabled auto-merge (squash) September 12, 2025 20:00
@francislavoie francislavoie merged commit 0ba8786 into caddyserver:master Sep 12, 2025
27 of 28 checks passed
@francislavoie francislavoie modified the milestones: v2.10.3, v2.11.0 Oct 16, 2025
@github-actions github-actions bot mentioned this pull request Dec 3, 2025
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Not possible to omit a {block} in a snippet import if it's declared in the snippet

4 participants