Skip to content

Release 1.0.0 - #4

Open
davidsteeb wants to merge 10 commits into
mainfrom
task/release-1.0.0
Open

davidsteeb wants to merge 10 commits into
mainfrom
task/release-1.0.0

Conversation

@davidsteeb

@davidsteeb davidsteeb commented Sep 17, 2026

Copy link
Copy Markdown
Contributor

Prepares the first stable release, plus the repository housekeeping that should come with it.

Why 1.0

Nothing about how the extension works changes. What changes is the version promise: the TCA field tx_vgwort_pixel, the site set b13/vgwort with its settings, and the VgwortTracking partial are a public interface that stays stable within 1.x. That surface has not changed since the initial release.

It also matters for anything depending on this package. Under Composer, ^0.1 resolves as >=0.1.0 <0.2.0, so every new minor of a 0.x package is a breaking change for its consumers. ^1.0 is an ordinary compatibility window.

What is in here

  • CHANGELOG.md and SECURITY.md
  • .gitattributes, so the package contains the extension and not its tests — 35 entries instead of 37
  • .gitignore, which the repository did not have
  • Build/phpunit/UnitTests.xml — there was no phpunit configuration, so the existing unit test could not be run
  • .github/workflows/tests.yml: those tests on every push and pull request, against TYPO3 v13 and v14
  • .github/workflows/publish.yml, taken unchanged from [TASK] Add TER publish workflow #3, which this supersedes
  • README: the compatibility section claimed v14 only while the code supports v13 and v14; the "Upgrading to VG Wort Pro" section was out of date; credits and a changelog pointer added
  • authors in composer.json, and the version in ext_emconf.php, which had stayed at 0.1.0 through three releases

Tested

  • 17 unit tests, green against TYPO3 v13 and v14
  • php -l over Classes/ and Tests/
  • composer validate --strict
  • git archive HEAD: the package contains the extension only

Note for merging

Please do not tag straight away — the tag triggers the TER release, and we want to coordinate that separately.

None of these stand on their own, so they come in one commit:

- CHANGELOG.md and SECURITY.md
- .gitattributes, so the package contains the extension and not its tests
- .gitignore, which the repository did not have
- a phpunit configuration; without one the existing unit test could not be run
- GitHub Actions running those tests against TYPO3 v13 and v14
- the TER publish workflow
- credits in the README, and authors in composer.json
It described the extension as it stood at the initial release. Rewritten in the
order the features build on each other — pixel pool, authors, text extraction,
reporting — with the checks and the multi-page case after them, and saying what
stays manual without Pro rather than implying it is impossible.
The README said v14 only. composer.json requires "^13 || ^14", ext_emconf.php
declares 13.4.0-14.99.99, and the tests run against both.

Adds a pointer to the changelog.
Both places that mention Pro asked the reader to get in touch instead of
pointing anywhere. They now link to the product page, in the introduction and
in the section itself.
Same two parameters as the credits block, for the same reason: the TER, GitHub
and the aggregators pass on no usable referrer, so without them this traffic
cannot be told apart from a bookmark.

The two links are not distinguished from each other. A third parameter would
have to be kept in step with where the links sit, and a parameter nobody
maintains is worse than none.
TYPO3 14.3 reads ext_emconf.php only when composer.json does not carry this
metadata itself, and reports that on every boot. The version was already there;
Package.providesPackages was not. An empty object is the honest value, since the
extension provides no further packages.

ext_emconf.php stays: the deprecation notice says TER and tailor may still need
it, and that is how this extension is published.
Both the README and SECURITY.md left the question open with a sentence about
local data protection law, which is the least useful thing to say: an operator
reading it has no reason not to put the pixel behind a consent banner, and a
pixel that renders after someone clicks "accept" counts a fraction of what it
should.

VG Wort has published a position — no personal data processed, so no GDPR, and
in their reading no consent requirement under § 25 (1) TDDDG — and a passage to
put in a privacy policy. Quoted as theirs, because it is theirs; the decision
still belongs to whoever answers for privacy on the site.

The processor and the purpose of the session cookie are named as well. Both are
what someone filling in a processor list actually needs.
The edition was already named, which says which text is quoted. What was missing
is when anyone last checked that it is still the current one — the two answer
different questions, and only the second goes stale on its own.

Same wording as the reporting thresholds carry, so a reader meets one convention
rather than two.
The parameter belongs to VG Wort Pro: the middleware that strips the extraction
markers and the token that authorises them both live there, and this package
references it nowhere else. The exception that keeps it out of the cache hash
belongs next to them, and that is where it is now.

Installing both extensions keeps working - Pro declares the exception itself from
the version that removes it here. Update the two together.
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.

1 participant