- How do I install liberu-genealogy/laravel-gedcom in a Laravel app?
- Install it with Composer using composer require liberu-genealogy/laravel-gedcom. It is a Laravel package registered through a service provider, so package discovery should make it available without manual registration in a standard Laravel application. Confirm the version constraint matches your Laravel release, then run your test suite to validate the integration.
- Which Laravel versions does laravel-gedcom support?
- The package declares support for Laravel 10, Laravel 11, Laravel 12, and Laravel 13. Laravel 13 support is included in the CI test matrix per the release notes, but treat it as declared rather than production-proven until your own suite runs on it. Pin a package version and verify compatibility in your application's test matrix before upgrading.
- How do I import a GEDCOM file into Laravel with this package?
- The package provides a Laravel-friendly workflow for parsing GEDCOM files and importing records such as individuals, families, events, and sources into Eloquent-based models. The exact entry points are not shown in the provided notes, so check the repository README and source for the parser and importer APIs. Start with a small representative GEDCOM file and assert the resulting model counts and relationships before processing real data.
- Can I export or write GEDCOM files with laravel-gedcom?
- Yes. The package covers reading and writing GEDCOM, and the release notes reference a GedcomGenerator class used for generation. Export behavior depends on how you construct and configure the generator, so review the source for the supported API. Test round-trip import and export with a sample file to confirm records survive the conversion.
- Does laravel-gedcom work outside Laravel as a standalone GEDCOM parser?
- No, it is designed as a Laravel package and relies on Laravel's service provider and container integration. It is a poor fit if you need a framework-agnostic parser or high-throughput processing outside a Laravel runtime. For non-Laravel use cases, evaluate a standalone GEDCOM library instead.
- How do I customize the Source class used by GedcomGenerator?
- Version 8.6.0 changed GedcomGenerator to resolve Source through Laravel's container instead of instantiating it directly. That means you can bind your own Source implementation in a service provider and have the generator use it. Verify the binding in a test, because the exact constructor signature and binding behavior are not fully described in the release notes.
- Is it safe to bind Source as a singleton in the container?
- Binding Source as a singleton can introduce shared state across generator calls, because container resolution changes object identity and lifetime compared with direct instantiation. That risk is worth a targeted test if your application binds Source as a singleton anywhere. Prefer a transient binding unless you have a specific reason to share state.
- How should I test code that uses GedcomGenerator?
- Mock or bind the Source dependency through the Laravel container rather than relying on constructor injection assumptions. Consumers that previously mocked Source via constructor injection may see different behavior after the 8.6.0 container-resolution change. Add a test that resolves GedcomGenerator from the container and asserts the expected output for a small GEDCOM fixture.
- What changed in laravel-gedcom 8.6.0 and is it a breaking change?
- The 8.5.0 to 8.6.0 release includes Laravel 13 in the CI test matrix and changes GedcomGenerator to resolve Source through the container. Both changes are narrowly scoped and appear non-breaking by semver convention, with no config or migration changes mentioned. Still verify any subclasses, manual construction, or tests that assert on collaborator instantiation.
- What should I check before using laravel-gedcom in production?
- Complete a dependency audit, license review, and security history check, because those are not covered by the release notes. Confirm whether the package ships its own migrations and models or is primarily parse-in-memory, since that determines the blast radius. Benchmark with a representative large GEDCOM file, because no memory ceilings or throughput benchmarks are published in the provided materials.