Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).

## [3.0.11] - 2026-09

### Changed — tooling
- `CLAUDE.md`: branch deletion cannot be done from the Claude Code
environment (the git proxy rejects `push --delete`, like tags) — the
repository should have GitHub's *Automatically delete head branches*
enabled; sessions must not try to delete branches themselves.

## [3.0.10] - 2026-09

### Changed — tooling
Expand Down
17 changes: 11 additions & 6 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,16 +33,21 @@ pip install -e '.[full]' && pip install -r requirements-dev.txt
1. Гілка розробки — тимчасова, одна на задачу, з фіксованим ім'ям
`claude/refactor-data-masking-lIcWN`: створюється від `origin/main`
(`git checkout -B claude/refactor-data-masking-lIcWN origin/main`), після
squash-мержу PR **видаляється на origin**
(`git push origin --delete claude/refactor-data-masking-lIcWN`), щоб у
репозиторії не висіли «побічні» гілки. Наступна задача створює її знову
від актуального `main`. На сервері між задачами має лишатись лише `main`.
squash-мержу PR має зникнути з origin, щоб між задачами лишався лише
`main`. **Видалити її з цього середовища неможливо** — проксі відхиляє
`git push --delete` (як і теги), а GitHub API-інструменти видалення гілок
не мають. Тому видалення робить GitHub: у репозиторії має бути ввімкнено
Settings → General → Pull Requests → *Automatically delete head branches*
(або власник видаляє гілку вручну на сторінці Branches). Не намагатись
видаляти гілку з Claude Code — це марно. Наступна задача створює гілку
знову від актуального `main` (force-push поверх старої, якщо GitHub її
ще не прибрав, — нормально: вона містить лише вже змержену історію).
2. Перед комітом: `python -m pytest tests/ -q -p no:cacheprovider`,
`python -m mypy datamasking/ --config-file mypy.ini` (має бути 0 помилок —
джоба blocking), `flake8 . --select=E9,F63,F7,F82`.
3. Push → PR у `main` → дочекатись **зеленого CI на всій матриці**
(Linux 3.9/3.11/3.13, Windows 3.12, core-only, package, mypy) → squash-merge
видалити гілку на origin (п. 1).
(Linux 3.9/3.11/3.13, Windows 3.12, core-only, package, mypy) → squash-merge
(гілку прибирає GitHub, п. 1).
4. Стежити за CI через GitHub API за **повним SHA** (`?head_sha=<40 hex>`);
скорочений SHA API ігнорує.
5. **Теги через проксі не пушаться** — релізи створює користувач вручну
Expand Down
2 changes: 1 addition & 1 deletion data_masking.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
# Re-exports from masking package for backward compatibility
# ============================================================================

__version__ = "3.0.10"
__version__ = "3.0.11"

from datamasking.masking.constants import (
__version__, __author__, __contact__, __phone__, __license__, __year__,
Expand Down
2 changes: 1 addition & 1 deletion datamasking/_version.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@
(і не тягнучи faker під час збірки).
"""

__version__ = "3.0.10"
__version__ = "3.0.11"
Loading