From 578489428c82fd22d862dcc852a261b0b249f5c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9=20=D0=9E=D1=81=D1=82?= =?UTF-8?q?=D1=80=D0=BE=D1=83=D1=85=D0=BE=D0=B2?= Date: Mon, 20 Jul 2026 12:41:17 +0300 Subject: [PATCH 1/2] =?UTF-8?q?fix(rustore):=20=D0=BE=D1=82=D0=BF=D1=80?= =?UTF-8?q?=D0=B0=D0=B2=D0=BB=D1=8F=D0=B5=D0=BC=20=D0=B7=D0=B0=D0=B3=D0=BE?= =?UTF-8?q?=D0=BB=D0=BE=D0=B2=D0=BE=D0=BA=20ruStoreVerCode?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit С июля 2026 RuStore backapi отклоняет запросы без этого заголовка (пустой HTTP 400), из-за чего скачивание из RuStore не работало. Сервер требует только число >= 247, поэтому шлём значение с запасом; переопределяется через переменную окружения MDAST_RUSTORE_VER_CODE. --- mdast_cli/distribution_systems/rustore.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/mdast_cli/distribution_systems/rustore.py b/mdast_cli/distribution_systems/rustore.py index c80d384..968659b 100644 --- a/mdast_cli/distribution_systems/rustore.py +++ b/mdast_cli/distribution_systems/rustore.py @@ -9,6 +9,14 @@ logger = logging.getLogger(__name__) +# Since July 2026 RuStore backapi rejects requests without a client version header: +# a missing/non-numeric value returns an empty HTTP 400 from the "kittenx" edge, +# and a numeric value below the minimum returns HTTP 417. The server only enforces +# a lower bound (currently 247) and accepts any larger integer, so we send a value +# far above it that never needs bumping as the real RuStore client version changes. +# Override via the MDAST_RUSTORE_VER_CODE env var if the minimum is ever raised. +RUSTORE_VER_CODE = os.environ.get('MDAST_RUSTORE_VER_CODE', '2000000000') + def get_app_info(package_name): """ @@ -21,7 +29,8 @@ def get_app_info(package_name): """ common_headers = { 'User-Agent': 'mdast-cli/1.0 (+https://stingray-tech.ru)', - 'Accept': 'application/json' + 'Accept': 'application/json', + 'ruStoreVerCode': RUSTORE_VER_CODE } req = requests.get( From 74b539c0d6163dc7f4cfb5012a9fa533dbdf4981 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D0=B5=D1=80=D0=B3=D0=B5=D0=B9=20=D0=9E=D1=81=D1=82?= =?UTF-8?q?=D1=80=D0=BE=D1=83=D1=85=D0=BE=D0=B2?= Date: Mon, 20 Jul 2026 13:33:20 +0300 Subject: [PATCH 2/2] release: 2026.7.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Бамп версии в __init__.py, setup.py и docker-тегах после фикса RuStore. --- .github/workflows/docker-hub-publish.yml | 4 ++-- mdast_cli/__init__.py | 2 +- setup.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/docker-hub-publish.yml b/.github/workflows/docker-hub-publish.yml index 1dcab04..20302aa 100644 --- a/.github/workflows/docker-hub-publish.yml +++ b/.github/workflows/docker-hub-publish.yml @@ -34,7 +34,7 @@ jobs: - name: Build the Docker image - run: docker build . --file Dockerfile -t mobilesecurity/mdast_cli:2026.7 -t mobilesecurity/mdast_cli:latest + run: docker build . --file Dockerfile -t mobilesecurity/mdast_cli:2026.7.1 -t mobilesecurity/mdast_cli:latest - name: Docker Hub push latest image @@ -42,7 +42,7 @@ jobs: - name: Docker Hub push tagged image - run: docker push mobilesecurity/mdast_cli:2026.7 + run: docker push mobilesecurity/mdast_cli:2026.7.1 diff --git a/mdast_cli/__init__.py b/mdast_cli/__init__.py index 31cb2e1..05c207a 100644 --- a/mdast_cli/__init__.py +++ b/mdast_cli/__init__.py @@ -1 +1 @@ -__version__ = '2026.7' +__version__ = '2026.7.1' diff --git a/setup.py b/setup.py index 6bce290..861ce6d 100644 --- a/setup.py +++ b/setup.py @@ -6,7 +6,7 @@ setup( name="mdast_cli", - version='2026.7', + version='2026.7.1', python_requires='>=3.12',