|
1 | 1 | # GedcomX - PHP SDK |
2 | 2 |
|
3 | 3 | [](https://packagist.org/packages/gedcomx/gedcomx-php) |
4 | | -[](https://github.com/FamilySearch/gedcomx-php/actions/workflows/ci.yml) |
| 4 | +[](https://travis-ci.org/FamilySearch/gedcomx-php) |
5 | 5 | [](https://coveralls.io/github/FamilySearch/gedcomx-php?branch=master) |
| 6 | +[](https://www.versioneye.com/user/projects/5633c23236d0ab0016001f02) |
6 | 7 |
|
7 | 8 | The PHP implementation of [GEDCOM X](http://www.gedcomx.org), including GEDCOM X extension projects. |
8 | 9 | The library only provides classes for serialization and deserialization of GEDCOM X |
@@ -66,61 +67,8 @@ Do **one** of the following steps to activate Composer and install the gedcomx-p |
66 | 67 |
|
67 | 68 | XML and JSON serialization and deserialization of GEDCOM X. For more information, see the [examples](https://github.com/FamilySearch/gedcomx-php/wiki/GEDCOM-X-Serialization). |
68 | 69 |
|
69 | | -## Testing |
70 | | -
|
71 | | -The SDK includes a comprehensive test suite using PHPUnit 9.5+ and is continuously tested on PHP 7.4, 8.0, 8.1, 8.2, and 8.3. |
72 | | -
|
73 | | -### Running Tests |
74 | | -
|
75 | | -```bash |
76 | | -# Run all tests |
77 | | -vendor/bin/phpunit |
78 | | -
|
79 | | -# Run with coverage report (requires Xdebug or PCOV) |
80 | | -vendor/bin/phpunit --coverage-html build/coverage |
81 | | -``` |
82 | | - |
83 | | -### PHP Version Compatibility |
84 | | - |
85 | | -✅ **Fully compatible with PHP 7.4 - 8.3** |
86 | | - |
87 | | -The test suite passes without deprecation warnings on all supported PHP versions. All PHP 8+ compatibility issues have been resolved: |
88 | | - |
89 | | -- Explicit nullable type declarations |
90 | | -- Proper return types for interface implementations |
91 | | -- Modern PHPUnit assertions |
92 | | - |
93 | | -### Test Coverage |
94 | | - |
95 | | -Current baseline: |
96 | | -- 99 test cases with 237 assertions |
97 | | -- **Core models**: Person, Gender, Fact, Name, NameForm, NamePart, Event, EventRole, Relationship, Document, PlaceDescription, PlaceReference, DateInfo, Identifier |
98 | | -- **Agent models**: Agent, Address, OnlineAccount |
99 | | -- **Source models**: SourceDescription, SourceReference, SourceCitation, Coverage, CitationField |
100 | | -- **FamilySearch extensions**: User, Discussion, Comment, DiscussionReference, ChildAndParentsRelationship, ChangeInfo, MatchInfo, Merge, MergeAnalysis, MergeConflict, ArtifactMetadata |
101 | | -- **File format**: GEDCOM X file (.gedx) read/write, XML serialization/deserialization |
102 | | -- See [TESTING.md](TESTING.md) for detailed coverage information and contributing guidelines |
103 | | - |
104 | | -For comprehensive testing documentation, see [TESTING.md](TESTING.md). |
105 | | - |
106 | 70 | ## Changelog |
107 | 71 |
|
108 | | -* v3.2.0 (2026) |
109 | | - * **Test Suite Modernization** |
110 | | - * Updated to PHPUnit 9.5+ with full PHP 8.3 compatibility |
111 | | - * Fixed all PHP 8+ deprecation warnings (nullable types, return types) |
112 | | - * Replaced deprecated `assertEqualXMLStructure` with modern assertions |
113 | | - * Added comprehensive test documentation in TESTING.md |
114 | | - * Configured coverage reporting thresholds in phpunit.xml |
115 | | - * All tests pass cleanly on PHP 7.4, 8.0, 8.1, 8.2, and 8.3 |
116 | | - |
117 | | -* v3.1.0 |
118 | | - * Migrate from Travis CI to GitHub Actions |
119 | | - * Add multi-version PHP testing (7.4, 8.0, 8.1, 8.2, 8.3) |
120 | | - * Update CI/CD pipeline with automated testing and coverage reporting |
121 | | - * Update README badges to reflect GitHub Actions status |
122 | | - * Added CHANGELOG.md for a more extensive overview on changes |
123 | | - |
124 | 72 | * v3.0.0 |
125 | 73 | * Split out the API networking code into [gedcomx-php-client](https://github.com/FamilySearch/gedcomx-php-client) |
126 | 74 |
|
|
0 commit comments