- Is novosga/reports-bundle a Laravel package?
- No. It is a Symfony bundle for NovoSGA v2 that assumes a Symfony Kernel, DI container, and event dispatcher; it ships no Laravel ServiceProvider, facade, or publishable config. Treat it as a sidecar or adapt its report-generation logic behind your own Laravel boundary rather than installing it in-process.
- Can I install novosga/reports-bundle in a Laravel application with Composer?
- You can add the Composer dependency, but it will not auto-register or work as a Laravel package because there is no ServiceProvider or Laravel-specific bootstrap. Use it only if you are prepared to wire Symfony container services manually or, more realistically, run it in a NovoSGA/Symfony service and call that service from Laravel.
- What does novosga/reports-bundle do?
- It adds report management to NovoSGA v2: defining and organizing report templates, generating reports from service and attendance data, and exporting results for operational reporting and analysis. It is domain-coupled to NovoSGA concepts such as Unidade and the Envelope mail/message abstraction.
- Which Symfony and PHP versions are needed for novosga/reports-bundle v2.3.0?
- The assessment points to PHP 8.2+ and a Symfony 7.4 floor for v2.3.0, with Symfony 7.1 to 7.4 LTS as the upgrade path. Confirm the exact symfony/* constraint range in the package composer.json before planning the upgrade, because the 7.4 floor is a hard transitive constraint.
- How do I configure report templates and exports in this bundle?
- Configuration is through Symfony bundle conventions and the NovoSGA DI container, not a Laravel publishable config file. Report templates and exports are managed as NovoSGA report concerns, so expect to define services, template organization, and export behavior inside the Symfony/NovoSGA application. There is no Laravel facade or config/reports.php workflow.
- What is the Envelope timezone change in novosga/reports-bundle v2.3.0?
- v2.3.0 adds the Unidade unit timezone and then fixes propagation so the Envelope instance receives that timezone. This matters for multi-region deployments because report and delivery timestamps should render in the unit local time rather than server-local time. The feature and fix shipped together, so confirm a regression test actually pins envelope timezone propagation.
- Does the unit timezone change stored timestamps or only rendered report output?
- The assessment flags this as an open question: if the timezone changes stored timestamp semantics, it is a data-migration concern, not just a display concern. If it only affects rendering and delivery timestamps on the Envelope, then it is a presentation fix. Verify against the v2.3.0 code and tests before assuming no migration is needed.
- How should I test timezone and DST behavior for this reports bundle?
- Add a unit or fixture-based test that asserts the Envelope receives the Unidade timezone, not just a fixed offset. Include a DST boundary case so the report output and delivery timestamp cannot silently fall back to server-local time. Since PHPUnit 11 and PHPStan 2 are in the dev-tool majors, make sure the regression test runs under the upgraded CI.
- What are the main risks of upgrading from v2.2.3 to v2.3.0?
- The main risk is the Symfony 7.4 floor: it is an LTS with a good security runway, but any host app or sibling bundle pinned below 7.4 will conflict at the Composer level. Dev-tool majors such as PHPStan 2, PHPUnit 11, and PHPCS 4 can turn CI red on code that previously passed. Plan to resolve the Symfony floor across the graph, fix deprecation warnings, and verify report output after the bump.
- Who maintains novosga/reports-bundle and is it safe for production?
- The assessment notes a single named maintainer and a bus factor of 1, so production use should account for limited merge rights and upgrade capacity. As a Symfony/NovoSGA service dependency the fit is good, but as an in-process Laravel dependency the fit is poor. For production, prefer a sidecar service boundary, pin versions, and keep your own regression tests around report timezone behavior.