Commit Graph
40 Commits
Author SHA1 Message Date
copilot-swe-agent[bot] 7380761c63 Finalize robust spacy marker regression coverage 2026-07-02 06:20:46 +00:00
copilot-swe-agent[bot] 3543b8fec6 Refine spacy dependency marker regression tests 2026-07-02 06:19:55 +00:00
copilot-swe-agent[bot] 0bc7c10dd7 Harden spacy marker regression tests 2026-07-02 06:19:08 +00:00
copilot-swe-agent[bot] 497500a698 Add regression tests for scoped spacy dependency markers 2026-07-02 06:18:18 +00:00
copilot-swe-agent[bot] 5ea5fc5b87 Add regression test for Python-scoped spacy constraint 2026-07-02 06:14:15 +00:00
copilot-swe-agent[bot] 4c44818339 Initial plan 2026-07-02 06:03:33 +00:00
CopilotandOmri Mendels 640d8d7a6d chore: replace presidio@microsoft.com with presidio@dataprivacystack.org in PyPI metadata (#2128)
* Initial plan

* chore: replace Microsoft email with dataprivacystack.org in pyproject.toml files

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Omri Mendels <omri374@users.noreply.github.com>
2026-06-29 16:30:13 +03:00
Copilot 77e4762755 Resolving docs build issues on main (#2132)
* fix: retry zensical docs build on transient crash

* chore: log final failure after exhausting docs build retries

* ci: add OOM diagnostics to docs build step

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-06-29 13:00:16 +03:00
Copilot 46111d5f8e fix: run docs release on ubuntu-latest (#2131)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-06-29 12:38:23 +03:00
Copilot 0d6299baf1 Apply remaining changes (#2124)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-06-28 14:14:22 +03:00
CopilotandCopilot 13ed56be3d fix(ci): restore id-token:write permission for provenance attestations in build-platform-images (#2123)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-28 14:05:16 +03:00
Copilot 8980f78c80 Fix numpy IndentationError in Test Analyzer (Python 3.12) CI job (#2091)
* Initial plan

* Fix numpy IndentationError in Test Analyzer (Python 3.12) CI job

Root cause: GitHub Actions reuses the same runner VM on re-run attempts,
leaving the /mnt/poetry_cache virtualenv from the previous run intact.
When poetry installs a new numpy version (2.4.x) on top of the cached
older version, it creates a corrupted/mixed _type_aliases.py that causes
IndentationError: unexpected indent at line 134.

Fix 1 (ci.yml): Add 'rm -rf $POETRY_CACHE_DIR/virtualenvs' to the
'Setup Poetry Cache Directory' step. This ensures each run starts with
a clean virtualenv, preventing partial numpy upgrades from corrupting
the installation.

Fix 2 (pyproject.toml): Update numpy upper bound from '<2.5.0' to
'<3.0.0'. numpy 2.5.0 is now the current stable release; the old bound
was preventing its use and restricting the project to numpy 2.4.x which
is more susceptible to the cache corruption issue.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-06-23 13:19:54 +03:00
Copilot 1eeb49529d fix: pin numpy<2.5.0 to resolve Python 3.12 CI failure (#2090)
* Initial plan

* fix: add numpy<2.5.0 constraint to fix Python 3.12 CI failure

numpy 2.5.0 was released on June 22, 2026, the same day as the CI failure.
The error 'ModuleSpec' object has no attribute 'doc' occurs in
numpy.random.mtrand initialization, triggered from spacy's parser_model.pyx.
This constraint prevents numpy 2.5.0 from being installed and will resolve
the AttributeError in the Test Analyzer (Python 3.12) CI job.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-06-23 10:31:42 +03:00
Copilot 853d27d7ba Add explicit click dependencies for Presidio packages (#2058)
* Initial plan

* fix(cli): add explicit click dependency for spacy import

* Add click dependency to presidio-structured to fix CI import error

* fix: move click dependency to presidio-analyzer

* fix: keep click dependency for structured imports

* Rerun CI

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-06-07 11:55:27 +03:00
Copilotandomri374 2f9c1ff4e7 Fix PhoneRecognizer default regions typo: "FE" → "FR" (#2009)
* Initial plan

* Fix typo: change FE to FR in PhoneRecognizer.DEFAULT_SUPPORTED_REGIONS

Agent-Logs-Url: https://github.com/microsoft/presidio/sessions/2a382615-1729-416e-8b3c-144b903aaa52

Co-authored-by: omri374 <3776619+omri374@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: omri374 <3776619+omri374@users.noreply.github.com>
2026-04-30 10:13:20 +03:00
CopilotandSharonHart 3d144e2d6d Consolidate Dependabot updates into a single PR via multi-ecosystem grouping (#2005)
* Initial plan

* Consolidate dependabot groups into single all-dependencies PR

Agent-Logs-Url: https://github.com/microsoft/presidio/sessions/f9c5fc1e-4f68-4de9-a9f6-efd0fad9e6cb

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Apply cooldown and ignore settings to all ecosystems (docker, docker-compose, github-actions)

Agent-Logs-Url: https://github.com/microsoft/presidio/sessions/202645c6-705f-4c04-89ac-e91e74ad16a8

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* fix(dependabot): use multi-ecosystem-groups to actually batch cross-ecosystem PRs

Agent-Logs-Url: https://github.com/microsoft/presidio/sessions/610703e4-8b13-4c05-bfbe-55c95802d6ef

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* chore: enforce patch-only updates across all entries; add multi-ecosystem-group opt-in

Agent-Logs-Url: https://github.com/microsoft/presidio/sessions/48220881-a53b-4db5-8468-38df9c729e4a

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* fix: add required entry-level patterns key for all multi-ecosystem-group entries

Agent-Logs-Url: https://github.com/microsoft/presidio/sessions/98d509e0-a046-433b-8eee-416a37a88159

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* fix: move open-pull-requests-limit to multi-ecosystem-groups block

Agent-Logs-Url: https://github.com/microsoft/presidio/sessions/758c03e6-ddb0-4d53-8863-42eb03889c24

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>
2026-04-26 11:16:05 +03:00
3d00c158c7 Fix dependabot coverage for all pyproject.toml package manifests (#1929)
* Initial plan

* Add /presidio directory to dependabot pip ecosystem coverage

Agent-Logs-Url: https://github.com/microsoft/presidio/sessions/8fa523c4-70e4-48cc-9d03-6db7b7d71116

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>
Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
Co-authored-by: Omri Mendels <omri374@users.noreply.github.com>
2026-04-20 20:53:39 +03:00
b4039f8b1e chore: harden supply-chain security — dependabot.yml controls and pyproject.toml defensive version ranges (#1965)
* Initial plan

* chore: harden dependabot.yml with supply-chain security controls (increase strategy, cooldown, groups)

Agent-Logs-Url: https://github.com/microsoft/presidio/sessions/205624c5-02cd-469b-a4f6-75bf9ca5e575

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* chore: DRY dependabot.yml pip entries using YAML anchor

Agent-Logs-Url: https://github.com/microsoft/presidio/sessions/e2ba4071-50a0-44a7-94cf-39bf715ed718

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* fix: expand YAML anchors to explicit pip entries for Dependabot compatibility

Agent-Logs-Url: https://github.com/microsoft/presidio/sessions/fb46fdb0-3b78-4f9e-9a37-26dbe36df88a

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* chore: apply defensive version ranges to all pyproject.toml dependencies

Agent-Logs-Url: https://github.com/microsoft/presidio/sessions/748a373d-e3f8-409f-81c9-a7331e61ed5f

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* fix: correct version upper bounds that excluded current PyPI releases

Agent-Logs-Url: https://github.com/microsoft/presidio/sessions/1817f8c8-9080-41f9-8d2c-2273af256eee

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>
Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
2026-04-12 10:32:40 +03:00
CopilotandSharonHart 256dfe09d6 Publish sdist alongside wheels to PyPI (#1924)
* Initial plan

* Release sdist alongside wheels in PyPI publish step

Agent-Logs-Url: https://github.com/microsoft/presidio/sessions/e4b59c35-4921-4013-9b15-cd8d90d16fd6

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>
2026-03-31 13:06:20 +03:00
CopilotandSharonHart aed1e5947f fix(ci): guard coverage PR comment step against non-PR contexts (#1921)
Agent-Logs-Url: https://github.com/microsoft/presidio/sessions/6d5867f9-157e-432e-8479-5987a01154b9

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>
2026-03-29 14:06:04 +03:00
CopilotandSharonHart 97ffb3a79d Release 2.2.362 / 0.0.58 (#1907)
* Initial plan

* Update CHANGELOG.md unreleased section with unified dependabot entry

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Bump versions to 2.2.362 / 0.0.58 and update CHANGELOG

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Revert CHANGELOG.md to [unreleased] as requested

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Promote [unreleased] to [2.2.362] keeping individual entry descriptions

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Update presidio PyPI meta-package changelog entry with attribution

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Update CHANGELOG.md version comparison links for 2.2.362

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>
2026-03-15 14:24:59 +02:00
9ef83c3a58 Add configurable timeouts to regex execution (default 60 seconds) (#1904)
* Initial plan

* Add 60-second timeouts to regex operations to prevent ReDoS

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Narrow TimeoutError scope to regex calls only; add exc_info to warnings

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Revert pattern_recognizer.py logic changes; keep original structure with timeout only

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Revert iban_recognizer.py to original lazy iterator structure; add exc_info=True to warnings

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Add IBAN recognizer timeout and empty-match tests to fix CI coverage failure

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Allow REGEX_TIMEOUT_SECONDS to be overridden via environment variable

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>
Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
2026-03-15 12:37:24 +02:00
CopilotandSharonHart 6111d1684d docs: clarify Presidio's no-auth-by-design stance in README (#1903)
* Initial plan

* Add authentication and authorization note to main README

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Add auth note to faq.md deployment section; replace lock with warning in README

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Remove auth/authorization note from main README

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>
2026-03-12 11:26:17 +02:00
e4bca52a53 Add ONNX Runtime backend support to GLiNERRecognizer with extensible parameter passing (#1884)
* Initial plan

* Add ONNX Runtime backend support to GLiNERRecognizer

Co-authored-by: omri374 <3776619+omri374@users.noreply.github.com>

* Refactor ONNX tests to use parameterized testing

Co-authored-by: omri374 <3776619+omri374@users.noreply.github.com>

* Improve documentation and add edge case test for ONNX parameters

Co-authored-by: omri374 <3776619+omri374@users.noreply.github.com>

* Add model_kwargs support and update GLiNER documentation

Co-authored-by: omri374 <3776619+omri374@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: omri374 <3776619+omri374@users.noreply.github.com>
Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
2026-03-02 21:54:12 +02:00
CopilotandSharonHart e381c830fa Add presidio meta-package: bundles analyzer + anonymizer (#1889)
* Initial plan

* Add presidio meta-package for PyPI release

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Update presidio/README.md to clarify meta-package role and credit papercloudtech/presidio

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Add CHANGELOG entry for presidio meta-package crediting papercloudtech/presidio

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Add presidio-anonymizer dependency and credit Sakthi Santhosh Anumand and Harsha Vardhan

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Credit Sakthi Santhosh Anumand and Harsha Vardhan, add presidio-anonymizer dependency and update tests

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Remove presidio/tests/ directory (smoke tests not needed in repo)

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Remove dev dependencies and coverage config from presidio/pyproject.toml (no tests to run)

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Trigger CI re-run (ARM64 runner was killed by shutdown signal, not a code issue)

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>
2026-03-02 18:12:52 +02:00
d163f10ee6 Pin ruff and build pip installs by hash for OSSF scorecard compliance (#1864)
* Initial plan

* Pin pip commands with hashes for OSSF scorecard compliance

Add --require-hashes to all pip install commands across Dockerfiles,
CI workflows, and shell scripts. Generate locked requirements files
with hashes for e2e tests, docs, and sample deployments.

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Revert requirements-locked.txt changes, keep only direct pip hash pinning

Remove all changes that involve requirements-locked.txt files per
user request. Retain direct pip install hash pinning for poetry,
ruff, build, and other version-pinned packages.

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* fix: Remove --require-hashes/--hash from pip install commands

pip 26.0 removed the --hash CLI option. Hash verification via
command-line arguments is no longer supported; hashes can only be
specified in requirements files. Revert all pip install commands
to use simple version pinning (package==version) which is compatible
with all pip versions.

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Pin pip commands by hash via requirements files for OSSF compliance

Use pip install --require-hashes with dedicated requirements files
instead of bare pip install commands. This satisfies the OSSF
scorecard pinned-dependencies check.

- Create requirements-poetry.txt, requirements-ruff.txt, and
  requirements-build.txt with SHA256 hashes
- Update all Dockerfiles to use hash-pinned poetry install
- Update ci.yml to use hash-pinned ruff, poetry, and build installs
- Update release.yml to use hash-pinned build install
- Update spark startup.sh to use hash-pinned requirements file

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Plan: inline hashes via /dev/stdin instead of separate files

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Inline pip hashes via printf|stdin, remove separate requirements files

Replace requirements-poetry.txt, requirements-ruff.txt, and
requirements-build.txt with inline printf|pip install -r /dev/stdin.
pip --hash only works inside requirements files, not as a CLI flag,
so piping through /dev/stdin is the most inline approach possible.

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Simplify ruff hash: use single linux x86_64 hash instead of all 17 platform hashes

The lint job runs only on ubuntu-slim (x86_64), so only the
manylinux_2_17_x86_64 wheel hash is needed.

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Fix Windows Dockerfiles: use PowerShell for hash-pinned pip install

The printf|/dev/stdin pattern is Unix-only and doesn't work on
Windows Server Core. Use PowerShell Set-Content to write a temp
requirements file instead. The hash is correct — poetry is a pure
Python wheel (py3-none-any), same on all platforms.

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Fix CI: remove --no-deps from poetry and build pip installs

poetry and build have transitive dependencies (cleo, pyproject_hooks,
etc.) that must be installed. --no-deps prevented their installation,
causing ModuleNotFoundError: No module named 'cleo'.

ruff keeps --no-deps --require-hashes since it has zero Python deps.

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Plan: move requirements files into .github/pipelines/

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Move CI requirements files to .github/pipelines/ directory

Organize all pip-compile generated requirements files under
.github/pipelines/ for ruff, poetry, and build tools. Replaces
inline printf hash approach with proper requirements files.

Component-level requirements-poetry.txt copies remain for Docker
build context (COPY requires files within build context).

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Remove unnecessary .in files from .github/pipelines/

The .in files are just pip-compile input files containing the direct
dependency name. This info is already in the header comment of each
generated .txt file, making the .in files redundant.

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Share single requirements-poetry.txt via Docker --build-context

Replace 4 identical copies of requirements-poetry.txt (713 lines each)
with a single file at the repo root. Dockerfiles use COPY --from=pipelines
to access it from a named build context, eliminating duplication.

Also consolidate requirements-ruff.txt and requirements-build.txt
at the repo root.

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Rename Docker build context from 'pipelines' to 'root'

The requirements files are at the repo root, not in a pipelines
directory. Rename the named build context to 'root' for clarity.

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Scope down to CI-only ruff and build hash pinning

Revert all Docker changes (Dockerfiles, docker-compose.yml, build
context). Keep hash-pinned pip installs only for ruff and build in
CI workflow. Requirements files live in .github/pipelines/.

Reverted: all 10 Dockerfiles, docker-compose.yml, release.yml,
poetry install in ci.yml, spark startup.sh.

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Add 0BSD to allowed licenses in dependency-review

Ruff's SPDX license expression is '0BSD AND Apache-2.0 AND
BSD-3-Clause AND MIT'. The 0BSD component was not in the allow
list, causing the dependency review to fail. 0BSD is a permissive
public-domain-equivalent license.

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Fix dependency-review: allow ruff's full compound SPDX license

The dependency-review-action doesn't decompose compound SPDX
expressions. Ruff's license '0BSD AND Apache-2.0 AND BSD-3-Clause
AND MIT' must be listed as a complete expression in allow-licenses.

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>
Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
2026-02-17 10:45:29 +02:00
45b37ffcff Pin dependencies to mitigate supply chain attacks (#1861)
* Initial plan

* Pin GitHub Actions and Docker images to specific hashes for security

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Pin pip, poetry, and other build tool versions for security

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Add comprehensive dependency pinning security documentation

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Fix CI: Replace incorrect setup-python SHA with v6 tag

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Update dependency pinning docs to reflect pragmatic approach

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Fix CI: Replace invalid codeql-action and security-devops-action SHAs with version tags

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Update docs to list all actions using version tags

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Fix CI: Replace invalid py-cov-action SHA with version tag

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Update docs to include py-cov-action in version tag list

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Remove DEPENDENCY_PINNING.md as requested by maintainer

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Pin actions/setup-python to commit SHA e797f83 (v6.0.0)

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Pin codeql-action, security-devops-action, and py-cov-action to commit SHAs

Co-authored-by: tamirkamara <26870601+tamirkamara@users.noreply.github.com>

* Remove all pip upgrade commands as requested

Co-authored-by: tamirkamara <26870601+tamirkamara@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>
Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
Co-authored-by: tamirkamara <26870601+tamirkamara@users.noreply.github.com>
2026-02-16 11:06:54 +02:00
CopilotandSharonHart cae43c1a17 Prepare release 2.2.361: bump versions and finalize changelog (#1851)
* Initial plan

* Update CHANGELOG.md with 30 PRs since v2.2.360

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Prepare release 2.2.361: bump versions and update CHANGELOG.md

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>
2026-02-12 09:55:11 +02:00
b4c71d346b Add salted hashing to hash operator to prevent brute-force attacks (#1846)
* Initial plan

* Implement salted hashing in Hash operator to prevent brute-force attacks

Co-authored-by: omri374 <3776619+omri374@users.noreply.github.com>

* Fix linting issues in hash operator implementation

Co-authored-by: omri374 <3776619+omri374@users.noreply.github.com>

* Address code review comments - improve salt precedence logic and fix type hint

Co-authored-by: omri374 <3776619+omri374@users.noreply.github.com>

* Pass hash_salt only to hash operator, not all operators

Co-authored-by: omri374 <3776619+omri374@users.noreply.github.com>

* Move salt generation into Hash operator, remove engine dependency

Co-authored-by: omri374 <3776619+omri374@users.noreply.github.com>

* Simplify hash operator: remove statefulness, use random salt per entity

Co-authored-by: omri374 <3776619+omri374@users.noreply.github.com>

* Add explicit breaking change disclaimer for hash operator

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Update version number to 2.2.361 in breaking change warning

Co-authored-by: omri374 <3776619+omri374@users.noreply.github.com>

* Convert Privacy Note to mkdocs note format

Co-authored-by: omri374 <3776619+omri374@users.noreply.github.com>

* Address s-zanella's security review: add salt validation and known-answer tests

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Remove unused operator_kwargs parameter from engine_base

Co-authored-by: omri374 <3776619+omri374@users.noreply.github.com>

* Update salt validation error message to clarify auto-generation

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Address review comments: restore operator_kwargs, move imports to top, reject empty salt

Co-authored-by: omri374 <3776619+omri374@users.noreply.github.com>

* Remove tests that relied on empty salt (now rejected)

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* restore tests with salt addition

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: omri374 <3776619+omri374@users.noreply.github.com>
Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>
Co-authored-by: Omri Mendels <omri374@users.noreply.github.com>
Co-authored-by: Sharon Hart <shhart@microsoft.com>
2026-02-12 08:44:07 +02:00
a8dc07658e Update cryptography dependency to >=46.0.4 for CVE-2025-15467 (#1841)
* Initial plan

* Update cryptography dependency to >=46.0.4 to address CVE-2025-15467

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>
Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
2026-02-01 15:26:44 +02:00
Copilotandtamirkamara 9d33d38e5c Migrate short-running workflows to ubuntu-slim runners (#1840)
* Initial plan

* Migrate eligible workflows to ubuntu-slim runners for cost efficiency

Co-authored-by: tamirkamara <26870601+tamirkamara@users.noreply.github.com>

* Document ubuntu-slim migration in CHANGELOG

Co-authored-by: tamirkamara <26870601+tamirkamara@users.noreply.github.com>

* Revert CodeQL to ubuntu-latest - CPU-intensive analysis requires 2+ cores

Co-authored-by: tamirkamara <26870601+tamirkamara@users.noreply.github.com>

* Fix CHANGELOG to use correct job name (github-pages-release)

Co-authored-by: tamirkamara <26870601+tamirkamara@users.noreply.github.com>

* Remove CHANGELOG modifications for ubuntu-slim migration

Co-authored-by: tamirkamara <26870601+tamirkamara@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: tamirkamara <26870601+tamirkamara@users.noreply.github.com>
2026-01-29 15:41:04 +02:00
9c8c690ff0 Simplify IBAN regex pattern and fix trailing character handling (#1818)
* Initial plan

* Update IBAN regex pattern to simpler, more maintainable version

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Fix line length linting issue in IBAN recognizer

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Fix separator handling inconsistency in IBAN pattern

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Add pattern documentation and fix digit representation consistency

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Improve documentation clarity for validation fallback mechanism

Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>

* Fix IBAN test cases and add new scenarios

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: SharonHart <15013757+SharonHart@users.noreply.github.com>
Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
2025-12-16 12:09:38 +02:00
Copilot bef0470ff2 Update Python version support: Remove 3.9 (EOL), Add 3.13 (#1741) 2025-10-17 00:04:59 +03:00
Copilot 2b6d6592ab Add simplified recipes gallery scaffolding for domain-specific Presidio customization examples (#1743) 2025-10-15 16:38:09 +03:00
Copilotandtamirkamara 10b8a75c6e Fix GitHub Actions CI failures for external contributors (#1708)
* Initial plan

* Add conditional CI workflow for external contributors

Co-authored-by: tamirkamara <26870601+tamirkamara@users.noreply.github.com>

* Fix workflow conditional logic for secret detection

Co-authored-by: tamirkamara <26870601+tamirkamara@users.noreply.github.com>

* Add documentation for CI workflow changes for external contributors

Co-authored-by: tamirkamara <26870601+tamirkamara@users.noreply.github.com>

* Remove documentation updates and add push trigger to CI workflow

Co-authored-by: tamirkamara <26870601+tamirkamara@users.noreply.github.com>

* Remove test job dependency from local-build-and-test job

Co-authored-by: tamirkamara <26870601+tamirkamara@users.noreply.github.com>

* nudge

* Fix GitHub Actions conditional logic by replacing secrets checks with repository checks

Co-authored-by: tamirkamara <26870601+tamirkamara@users.noreply.github.com>

* Fix conditional logic to properly detect fork PRs using head.repo.full_name comparison

Co-authored-by: tamirkamara <26870601+tamirkamara@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: tamirkamara <26870601+tamirkamara@users.noreply.github.com>
2025-09-02 14:48:18 +03:00
Copilotandtamirkamara e68585a5af Implement OIDC trusted publishing for PyPI releases in GitHub Actions (#1702)
* Initial plan

* Initial analysis - planning OIDC transition for PyPI publishing

Co-authored-by: tamirkamara <26870601+tamirkamara@users.noreply.github.com>

* Implement OIDC for PyPI publishing in GitHub Actions

Co-authored-by: tamirkamara <26870601+tamirkamara@users.noreply.github.com>

* Address review feedback: remove Azure Pipeline changes and revert publish matrix

Co-authored-by: tamirkamara <26870601+tamirkamara@users.noreply.github.com>

* Pin pypa/gh-action-pypi-publish to specific SHA instead of tag

Co-authored-by: tamirkamara <26870601+tamirkamara@users.noreply.github.com>

* Use release SHA

* update name

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: tamirkamara <26870601+tamirkamara@users.noreply.github.com>
2025-08-21 22:58:07 +03:00
a1695bacc8 Fix PR template to use proper GitHub issue linking syntax (#1701)
* Initial plan

* Fix PR template to use proper GitHub issue linking syntax

Co-authored-by: tamirkamara <26870601+tamirkamara@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: tamirkamara <26870601+tamirkamara@users.noreply.github.com>
Co-authored-by: Sharon Hart <sharonh.dev@gmail.com>
2025-08-18 14:41:05 +03:00
9a1445f4eb Add comprehensive GitHub Copilot instructions for Presidio development with e2e testing and contribution guidelines (#1693)
* Initial plan

* Create comprehensive copilot instructions for Presidio development

Co-authored-by: omri374 <3776619+omri374@users.noreply.github.com>

* Expand copilot instructions with e2e tests, contribution guidelines, and development practices

Co-authored-by: omri374 <3776619+omri374@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: omri374 <3776619+omri374@users.noreply.github.com>
Co-authored-by: Omri Mendels <omri374@users.noreply.github.com>
2025-08-13 23:00:54 +03:00
Copilotandtamirkamara 2122bc4ed5 Remove Terrascan from Defender for DevOps workflow (#1691)
* Initial plan

* Remove terrascan from Defender for DevOps workflow tools list

Co-authored-by: tamirkamara <26870601+tamirkamara@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: tamirkamara <26870601+tamirkamara@users.noreply.github.com>
2025-08-11 08:59:02 +03:00
Copilot 67262249a7 Update CHANGELOG.md with unreleased changes merged between 2025-03-18 and 2025-07-06 (#1645) 2025-07-06 22:25:51 +03:00