Skip to content

Fix/increment headers sequential suffix - #1

Merged
gomcodoctor merged 18 commits into
masterfrom
fix/increment-headers-sequential-suffix
Sep 18, 2026
Merged

gomcodoctor merged 18 commits into
masterfrom
fix/increment-headers-sequential-suffix

Conversation

@gomcodoctor

Copy link
Copy Markdown
Owner

No description provided.

slashrsm and others added 18 commits July 22, 2026 12:58
Phase 0 housekeeping:
- Upgrade actions/checkout and actions/cache to v4
- Test on PHP 8.2–8.5
- Remove Scrutinizer coverage upload
- Fail the suite on test errors (no continue-on-error)

Co-authored-by: Janez Urevc <janez@example.com>
Declare php ^8.2, lock-aware validate/install, cache key includes lock, --no-interaction.
- Replace dead Travis/Scrutinizer badges with GitHub Actions
- Note supported PHP versions
- Point docs links at readthedocs.io
- Remove .scrutinizer.yml (coverage no longer uploaded)
- Align composer.json support.docs with readthedocs.io
- Drop stale .scrutinizer.yml / .travis.yml export-ignore entries
- Clarify PHP badge wording on core (tested in CI)
Update README CI badges and drop Scrutinizer
Breaking major: drop PHP < 8.2 and portphp 1.x.
Add Dependabot and UPGRADE-3.0.md.
Release 3.0.0: PHP ^8.2 and portphp/portphp ^2.0
Bumps [actions/cache](https://github.com/actions/cache) from 4 to 6.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](actions/cache@v4...v6)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@v4...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
…actions/checkout-7

Bump actions/checkout from 4 to 7
…actions/cache-6

Bump actions/cache from 4 to 6
PHP 8.4 deprecates fputcsv() calls that omit the $escape argument.
Add an optional constructor parameter (default '\\' for BC) and pass it
through to fputcsv so callers can silence the deprecation and control
escape behavior (including empty string for modern "no escape" CSV).

Adds PHPUnit coverage that proves escape is applied and that writing
works without deprecation exceptions under convertDeprecationsToExceptions.

Supersedes portphp#10.
array_count_values() groups every occurrence of a repeated header
together in the output, based on that header's first-appearance order
in the input - not the position it actually appeared at. For headers
like ['a', 'b', 'a', 'c'] this produces ['a', 'a1', 'b', 'c'], which no
longer lines up column-for-column with the CSV row's actual values at
those same indexes.

Walk $headers in original order instead, incrementing a per-header
counter as each duplicate is encountered, so the incremented headers
array stays positionally aligned with the row data: ['a', 'b', 'a1', 'c'].
@gomcodoctor
gomcodoctor merged commit d7596eb into master Sep 18, 2026
0 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants