aryehraber/statamic-logbook
Logbook is a Statamic addon that brings Laravel log files into the Control Panel, letting you browse, filter, and search application logs without leaving the CMS. Quickly inspect errors and debug issues from a clean, native interface.
Baseline note: No prior assessment exists for this package. This document establishes the initial TPM baseline from a single data point — the v4.1.0 release note — and is therefore deliberately weighted toward open questions rather than settled conclusions. Several statements below are inferred from the dependency named in the release and should be validated against composer.json.
Architecture fit
The v4.1.0 change is a Composer constraint relaxation: rap2hpoutre/laravel-log-viewer is now allowed at ^3.0 (previously pinned below 3.x). This tells us the package has a hard or soft dependency on a browser-based log viewer, which places it in the developer tooling / observability-adjacent layer rather than in the request-serving critical path. That is a favourable architectural position: surface area is limited, blast radius is contained, and removal is cheap if the package disappoints.
The important architectural question is whether the log viewer is in require or require-dev. A require-dev dependency means the package is a local debugging aid with near-zero production footprint. A production require means a log-reading UI ships to production, which changes the threat model considerably.
Integration feasibility Low effort. Adoption is a standard Composer install plus, at most, publishing config/views and gating routes. Nothing in this release implies new service providers, queues, storage engines, or external infrastructure. Feasibility is essentially "does our Laravel version resolve" — which this release explicitly improves by opening the door to Laravel 13.
Technical risk
| Risk | Severity | Rationale |
|---|---|---|
Transitive major bump (^2 → ^3) |
Medium | Widening a constraint is not inert. Any consumer running composer update can silently land on a new major of the log viewer, which may carry its own breaking changes to published views, config keys, or route names. |
| RCE exposure prior to this release | High (pre-patch) | The note cites a remote code execution fix in the dependency. Anyone on an older constraint was pinned to a vulnerable line, and the fix was unreachable to them. Treat this as a security-driven upgrade, not a routine patch. |
| Laravel 13 claim unverified | Medium | "Laravel 13 support" is asserted by the release note; it is not evidence that this package's own test matrix covers 13. |
| Maintenance concentration | Low–Medium | A single contributor is credited for the fix, and upstream is a small community project. |
| Undisclosed breaking changes | Medium | A 4.1.0 label implies non-breaking, but dependency-resolution changes frequently are breaking in practice for downstream consumers. |
Key questions
laravel-log-viewer in require or require-dev? This single answer determines whether the RCE fix is a production-security item or a local-tooling nicety.^2.x or a narrower pin? If narrower, why — was there a known incompatibility that this release claims to have resolved?Stack fit Native Laravel package, standard Composer distribution, no polyglot or sidecar requirements. Fits a conventional Laravel monolith or modular monolith without ceremony. If we run multiple Laravel applications, this is a per-application install with no shared infrastructure, which keeps rollout independently reversible per app.
Migration path Two distinct paths depending on our starting point:
composer update rap2hpoutre/laravel-log-viewer to pull 3.x, then re-publish and diff any customised views/config. The second step is the one that carries risk and should not be left to a later, unrelated dependency refresh.For consumers still on the old constraint, this release is effectively the only supported path to the RCE fix. That should raise its priority above its semantic-version weight.
Compatibility
Sequencing
composer.json; classify the dependency as runtime vs. dev.composer update.Maintenance
Low, with one caveat. The package itself is small and the changelog cadence appears modest, so ongoing maintenance is mostly "keep the constraint current." The caveat is that our maintenance burden now includes a second project's release cadence — a major bump in the log viewer becomes our problem to triage. Budget a recurring line item to watch upstream advisories, and pin the transitive dependency explicitly in our own composer.json rather than relying on this package's constraint to govern it.
Support Community-supported upstream; no vendor SLA. Appropriate for internal developer tooling, inappropriate for anything customer-facing without an internal owner. Assign a named owner. Since the tooling is debugging-adjacent, an outage degrades developer experience but should not degrade production traffic — verify that assumption by confirming no production runtime code path depends on the viewer.
Scaling Effectively N/A. The package scales with the number of developer workstations and environments, not with request volume. The one scaling-adjacent concern is log volume: a browser log viewer reading large log files on a shared environment can be slow and memory-hungry. If enabled outside local development, restrict to small files or gate the route.
Failure modes
Mitigations: explicit transitive pin, an environment guard (local/staging only), an auth gate, and an advisory-watch ticket.
Ramp-up Under a day for a developer familiar with Laravel. The only non-obvious learning is understanding that the interesting behaviour lives in the dependency rather than this package, so debugging leads upstream. Document that in the internal runbook so the next person does not start in the wrong repository.
Recommendation: Approve adoption of v4.1.0. Treat it as a security-relevant upgrade rather than a routine patch, and gate rollout on confirming (a) the runtime-vs-dev classification and (b) that access to the log-viewing surface is restricted to non-production environments with an auth gate.
How can I help you explore Laravel packages today?