mrjthedifferent/laravel-foundation
Laravel Foundation provides reusable base classes, helpers, and conventions for Laravel apps, streamlining setup, reducing boilerplate, and keeping project structure consistent. A practical starting point for teams bootstrapping common patterns across projects.
lead.default_status) now persist correctly from the admin Settings page. This is the kind of defect that silently drops configuration — a PM should treat "settings that appear to save but don't" as a data-integrity issue, not a cosmetic bug, and can now trust admin-entered config as a source of truth for downstream feature behavior.UserDocument::typeLabel() and the tolerant handling of unlisted DocumentType values mean projects that add their own document types (or carry legacy rows from older schemas) can render the admin user page without patching core. This supports decisions to extend verification/KYC-style flows rather than building a parallel document store.settings[{key}], and unrecognized document types return a string instead of throwing. Teams with a forked/copied Settings view or code that relied on the exception become a planning input for the next release train.Adopt or keep it when:
typeLabel() avoids crashes on old or extended data.Look elsewhere or proceed with caution when:
settings[{key}] (and settings[{key}][] for multi-selects). Budget a small migration task.UserDocument::document_type to detect invalid types. That contract is gone — unrecognized values now return a string. Switch to typeLabel() for display or validate explicitly.For executives: This patch closes two trust-eroding defects in the admin layer — configuration that silently failed to save when keys contained dots, and a user page that could crash on older or project-specific document types. Neither adds scope or cost; both reduce support tickets and the risk of stale or wrong configuration affecting customer-facing behavior. It is a low-risk, high-value maintenance release and does not change our upgrade timeline.
For engineering: v3.5.2 is a patch. Two items need a look: (1) the Settings page now posts fields as settings[{key}] — if we forked that view, rename our fields to match to keep dotted keys saving, and use settings[{key}][] for multi-selects; key-named fields still work for keys without dots. (2) UserDocument::document_type no longer throws for values outside the DocumentType list — it returns the raw string, and the new UserDocument::typeLabel() returns a readable label for both enum and string cases. Replace any exception-based validation with typeLabel() or explicit checks. No migrations or config changes; a regression pass over the Settings page and the admin user page is sufficient.
For product: We can now rely on admin-entered settings as durable state, including namespaced keys, and we can extend document types per project without breaking the admin user view — which unblocks verification/document workflows that previously required core patches.
How can I help you explore Laravel packages today?