v0.1.0b3
v0.1.0b1 and v0.1.0b2 were tagged but never reached PyPI:
v0.1.0b1— the bundled twine pre-check inside
pypa/gh-action-pypi-publish@v1.9.0rejects
Metadata-Version: 2.4produced by modern flit-core (PEP 685,
2024).v0.1.0b2— the same broken twine runs again during
twine uploaditself (not only the pre-check), so disabling the
pre-check viaverify-metadata: falsewas insufficient.
v0.1.0b3 switches the publisher to uv publish, which understands
Metadata-Version: 2.4 natively and supports PyPI Trusted
Publishing automatically. It is therefore the actual first PyPI
publication of the fork. The earlier tags remain in git history as
markers of the failed attempts. See the fix(ci): commits for the
full diagnosis.
This release also bumps three actions to Node 24 (actions/checkout
v4 → v6, actions/upload-artifact v4 → v7, astral-sh/setup-uv v5
→ v8) to clear the GitHub-Actions Node-20 deprecation warning, and
applies zizmor's security findings (persist-credentials: false on
all checkouts, enable-cache: false on all setup-uv usages — the
latter to mitigate cache-poisoning across release runs).
Added
- Russian translation (
locale/ru/LC_MESSAGES/django.po) covering the consent / logout templates,
model verbose names + help text, AppConfig name, and operator-command help. Compiled.moships
with the wheel so deployments don't need an extracompilemessagesstep. - Wire-level integration test suite (
tests/test_integration_mock_rp.py) driven by
LiveServerTestCase+ realrequests+jwcrypto. Catches absolute-URL / Bearer-header / cookie
bugs that Django's test client masks. Surfaced one real bug:dateformat.format(user.last_login, "U")crashes whenlast_login is None—force_loginmasks it via theuser_logged_insignal. - OIDC Conformance Suite scaffold under
tests/conformance/— docker-compose stack (mongo + suite
nginx + suite server + provider container),run_plan.pyREST driver, idempotentseed.py,
minimalDockerfile.providerre-usingtests.test_settingsAA4. End-to-end pipeline finds real
conformance gaps; first-run findings recorded inline in the conformance README. - Operator CLI commands:
oidc_create_app,oidc_rotate_secret,oidc_revoke_user_tokens,
oidc_audit_tokens. All accept--format=table|json|csv; destructive ones honour--dry-run. - EVE-specific claims (
eve_character_id,eve_corporation_*,eve_alliance_*) emitted alongside
the standard OIDC set, with a configurableALLIANCEAUTH_OIDC_EVE_CLAIM_PREFIXand scope binding. - Mermaid diagrams documenting the three-layer policy enforcement in the main README and the
conformance docker-compose network topology in the conformance README.
Tooling
- New
noxsessions:integration(mock-RP,--parallel=1),conformance(docker-compose +
run_plan.py),makemessages/compilemessages(i18n),makemigrations(Django migration
generator against test settings),markdown_lint(rumdl + lychee + vale, each independently
optional).Makefileshims wrap the new sessions. .rumdl.tomlliftsMD013line length to 120 columns and excludes code blocks / tables (where
wrapping breaks copy-paste fidelity)..gitignorecarve-out forallianceauth_oidc/locale/**/*.moandlocale/django.pot— the
blanket*.mo/*.potignores stay so stray binaries elsewhere don't sneak in.- Type-checking ignores updated for the
django-stubsbump that retiredLogEntry.objects.log_action
(deprecated in Django 5.1) — runtime call still works on Django 4.2.
Build
uv.lockrefreshed against upstream (uv sync --all-groups --upgrade); three new transitive
packages pulled in (ijson,jsonseq,python-discovery); no removals.
Project
- URLs in
pyproject.tomlswitched to point at the
6RUN0 fork;urls.Upstreamretains the
original Solar-Helix
reference. - README.md gained a fork-banner block at the top, an install-from-PyPI step under the fork's
distribution name (see below), and a Russian sibling README.ru.md. - The fork is now publishable to PyPI under a fork-specific distribution name,
allianceauth-oidc-provider-eveo7. The natural nameallianceauth-oidc-providercollides with the
upstream PyPI release, so the fork'spyproject.toml[project] namewas renamed to surface on
PyPI without conflict. The import path (allianceauth_oidc) is unchanged — settings and imports
stay drop-in compatible. Upload remains manual for now (uv build && twine upload dist/*); a
GitHub Actions release workflow is not part of this change. pyproject.tomlgained amaintainersentry for the fork (Boris Talovikov,
boris.t.66@gmail.com); the upstreamauthorsentry is preserved so the original author stays
visible in PyPI metadata.
Upstream history
For changes prior to this fork's divergence, see git log and the upstream releases page.