Skip to content
Navigation Menu
Sign in
Appearance settings
Platform
AI CODE CREATION
GitHub Copilot
Write better code with AI
GitHub Copilot app
Direct agents from issue to merge
MCP Registry
Integrate external tools
DEVELOPER WORKFLOWS
Actions
Automate any workflow
Codespaces
Instant dev environments
Issues
Plan and track work
Code Review
Manage code changes
Code Quality
Enforce quality at merge
APPLICATION SECURITY
GitHub Advanced Security
Find and fix vulnerabilities
Code security
Secure your code as you build
Secret protection
Stop leaks before they start
EXPLORE
Why GitHub
Documentation
Blog
Changelog
Marketplace
View all features
Solutions
BY COMPANY SIZE
Enterprises
Small and medium teams
Startups
Nonprofits
BY USE CASE
App Modernization
DevSecOps
DevOps
CI/CD
View all use cases
BY INDUSTRY
Healthcare
Financial services
Manufacturing
Government
View all industries
View all solutions
Resources
EXPLORE BY TOPIC
AI
Software Development
DevOps
Security
View all topics
EXPLORE BY TYPE
Customer stories
Events & webinars
Ebooks & reports
Business insights
GitHub Skills
SUPPORT & SERVICES
Documentation
Customer support
Community forum
Trust center
Partners
View all resources
Open Source
COMMUNITY
GitHub Sponsors
Fund open source developers
PROGRAMS
Security Lab
Maintainer Community
GitHub Stars
Archive Program
REPOSITORIES
Topics
Trending
Collections
Enterprise
ENTERPRISE SOLUTIONS
Enterprise platform
AI-powered developer platform
AVAILABLE ADD-ONS
GitHub Advanced Security
Enterprise-grade security features
Copilot for Business
Enterprise-grade AI features
Premium Support
Enterprise-grade 24/7 support
Pricing
Search
/
Sign in
Sign up
Appearance settings
You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
Dismiss alert
{{ message }}
apache
struts
Repository navigation
Code
Pull requests
5
(5)
Actions
Projects
Security and quality
Insights
More
items
WW-3476 Add package-scoped constants
- #2005
#2005
Merged
lukaszlenart
merged 16 commits into
main
apache/struts:main
from
WW-3476-scoped-constants
apache/struts:WW-3476-scoped-constants
Copy head branch name to clipboard
Oct 11, 2026
Conversation
Commits
16
(16)
Checks
Files changed
Merged
WW-3476 Add package-scoped constants
#2005
lukaszlenart
merged 16 commits into
main
apache/struts:main
from
WW-3476-scoped-constants
apache/struts:WW-3476-scoped-constants
Copy head branch name to clipboard
Commits
Commits on Oct 10, 2026
WW-3476 docs: add design spec for package-scoped constants
Show description for 88fd4c7
lukaszlenart
and
claude
committed
88fd4c7
View commit details
Copy full SHA for 88fd4c7
Browse repository at this point
WW-3476 docs: add implementation plan for package-scoped constants
Show description for 43115aa
lukaszlenart
and
claude
committed
43115aa
View commit details
Copy full SHA for 43115aa
Browse repository at this point
WW-3476 feat(config): store scoped constants on PackageConfig
Show description for b2a5b0d
lukaszlenart
and
claude
committed
b2a5b0d
View commit details
Copy full SHA for b2a5b0d
Browse repository at this point
WW-3476 feat(config): add struts-7.5.dtd with <scoped-constant>
Show description for 06d6e3c
lukaszlenart
and
claude
committed
06d6e3c
View commit details
Copy full SHA for 06d6e3c
Browse repository at this point
WW-3476 feat(config): reject unregistered scoped constants at startup
Show description for 2050da7
lukaszlenart
and
claude
committed
2050da7
View commit details
Copy full SHA for 2050da7
Browse repository at this point
WW-3476 feat(config): add ScopedConstantProvider resolving package overrides
Show description for 617faf1
lukaszlenart
and
claude
committed
617faf1
View commit details
Copy full SHA for 617faf1
Browse repository at this point
WW-3476 test(config): pin ScopedConstantProvider wiring on the Dispatcher path
Show description for 545c570
lukaszlenart
and
claude
committed
545c570
View commit details
Copy full SHA for 545c570
Browse repository at this point
WW-3476 test(config): drop the xwork prefix from scoped-constant fixtures
Show description for 4931d34
lukaszlenart
and
claude
committed
4931d34
View commit details
Copy full SHA for 4931d34
Browse repository at this point
WW-3476 fix(config): skip ScopableConstants bean names without an instance
Show description for 6562ac2
lukaszlenart
and
claude
committed
6562ac2
View commit details
Copy full SHA for 6562ac2
Browse repository at this point
WW-3476 refactor(config): resolve Configuration and scopable names from the container once
Show description for dc4305a
lukaszlenart
and
claude
committed
dc4305a
View commit details
Copy full SHA for dc4305a
Browse repository at this point
WW-3476 refactor(config): address Sonar findings on scoped constants
Show description for 7645bc6
lukaszlenart
and
claude
committed
7645bc6
View commit details
Copy full SHA for 7645bc6
Browse repository at this point
WW-3476 test(config): name scoped-constant fixtures struts-*.xml
Show description for 2b25184
lukaszlenart
and
claude
committed
2b25184
View commit details
Copy full SHA for 2b25184
Browse repository at this point
WW-3476 fix(mock): return an empty set from MockContainer.getInstanceNames
Show description for 197f2cc
lukaszlenart
and
claude
committed
197f2cc
View commit details
Copy full SHA for 197f2cc
Browse repository at this point
WW-3476 docs(config): document ScopedConstantProvider as a bean-selection extension point
Show description for 8a81250
lukaszlenart
and
claude
committed
8a81250
View commit details
Copy full SHA for 8a81250
Browse repository at this point
Commits on Oct 11, 2026
WW-3476 refactor(config): move StrutsScopedConstantProvider to config.providers
Show description for c939805
lukaszlenart
and
claude
committed
c939805
View commit details
Copy full SHA for c939805
Browse repository at this point
WW-3476 refactor(config): complete the StrutsScopedConstantProvider move
Show description for c8fa01c
lukaszlenart
and
claude
committed
c8fa01c
View commit details
Copy full SHA for c8fa01c
Browse repository at this point
You can’t perform that action at this time.