From 25ee83174edd2444dcb33cc1a8c416d5614cb7cd Mon Sep 17 00:00:00 2001 From: Andras Schmelczer Date: Wed, 11 Mar 2026 22:57:27 +0000 Subject: [PATCH 01/27] Update python locks on publishing --- scripts/bump-version.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/bump-version.sh b/scripts/bump-version.sh index 4e03849..3298f8b 100755 --- a/scripts/bump-version.sh +++ b/scripts/bump-version.sh @@ -41,6 +41,8 @@ NEWVER=$(grep '^version = ' ../Cargo.toml | head -1 | sed 's/version = "\(.*\)"/ cd ../reconcile-python sed -i '' "s/^version = \".*\"/version = \"$NEWVER\"/" Cargo.toml sed -i '' "s/^version = \".*\"/version = \"$NEWVER\"/" pyproject.toml +cargo update --workspace +uv lock cd ../examples/website npm install From 6aa7ebf29d16a1c3db9ce70ac3b86e01eed53094 Mon Sep 17 00:00:00 2001 From: Andras Schmelczer Date: Thu, 12 Mar 2026 07:37:53 +0000 Subject: [PATCH 02/27] Fix NPM publish --- .github/workflows/check.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 771ee13..f1c2a84 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -75,6 +75,7 @@ jobs: runs-on: ubuntu-latest if: startsWith(github.ref, 'refs/tags/') permissions: + contents: read id-token: write steps: From 40b18721ad5243e1ccf1d43324137987a73c73d4 Mon Sep 17 00:00:00 2001 From: Andras Schmelczer Date: Thu, 12 Mar 2026 07:41:25 +0000 Subject: [PATCH 03/27] Fix python publishing --- .github/workflows/check.yml | 6 +++ examples/website/src/index.html | 85 +++++++++++++++++++++++++-------- reconcile-python/.gitignore | 1 + reconcile-python/pyproject.toml | 2 +- 4 files changed, 72 insertions(+), 22 deletions(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index f1c2a84..4bddad5 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -145,6 +145,9 @@ jobs: with: python-version: '3.x' + - name: Copy README + run: cp README.md reconcile-python/ + - uses: PyO3/maturin-action@v1 with: target: ${{ matrix.target }} @@ -165,6 +168,9 @@ jobs: steps: - uses: actions/checkout@v6 + - name: Copy README + run: cp README.md reconcile-python/ + - uses: PyO3/maturin-action@v1 with: command: sdist diff --git a/examples/website/src/index.html b/examples/website/src/index.html index 2bfe8a6..1e7ac57 100644 --- a/examples/website/src/index.html +++ b/examples/website/src/index.html @@ -195,28 +195,71 @@ diff --git a/reconcile-python/.gitignore b/reconcile-python/.gitignore index 772a74a..c93ab73 100644 --- a/reconcile-python/.gitignore +++ b/reconcile-python/.gitignore @@ -7,3 +7,4 @@ __pycache__/ *.dylib *.dSYM/ dist/ +README.md diff --git a/reconcile-python/pyproject.toml b/reconcile-python/pyproject.toml index 8e25a4b..b9f78f5 100644 --- a/reconcile-python/pyproject.toml +++ b/reconcile-python/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "maturin" name = "reconcile-text" version = "0.9.2" description = "Intelligent 3-way text merging with automated conflict resolution" -readme = "../README.md" +readme = "README.md" license = { text = "MIT" } authors = [{ name = "Andras Schmelczer", email = "andras@schmelczer.dev" }] requires-python = ">=3.9" From 7c18b6201f2fe8f35e2cb528082508dd7755b0c8 Mon Sep 17 00:00:00 2001 From: Andras Schmelczer Date: Thu, 12 Mar 2026 07:42:15 +0000 Subject: [PATCH 04/27] Bump versions to 0.9.3 --- Cargo.lock | 2 +- Cargo.toml | 2 +- examples/website/package-lock.json | 2 +- reconcile-js/package-lock.json | 6 +++--- reconcile-js/package.json | 2 +- reconcile-python/Cargo.lock | 4 ++-- reconcile-python/Cargo.toml | 2 +- reconcile-python/pyproject.toml | 2 +- reconcile-python/uv.lock | 2 +- 9 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1efceb5..168c1e6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -428,7 +428,7 @@ checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" [[package]] name = "reconcile-text" -version = "0.9.2" +version = "0.9.3" dependencies = [ "console_error_panic_hook", "diff-match-patch-rs", diff --git a/Cargo.toml b/Cargo.toml index b978c91..c7321f3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "reconcile-text" description = "Intelligent 3-way text merging with automated conflict resolution" -version = "0.9.2" +version = "0.9.3" rust-version = "1.94" authors = ["Andras Schmelczer "] edition = "2024" diff --git a/examples/website/package-lock.json b/examples/website/package-lock.json index ca22df1..faaa511 100644 --- a/examples/website/package-lock.json +++ b/examples/website/package-lock.json @@ -28,7 +28,7 @@ }, "../../reconcile-js": { "name": "reconcile-text", - "version": "0.9.2", + "version": "0.9.3", "dev": true, "license": "MIT", "devDependencies": { diff --git a/reconcile-js/package-lock.json b/reconcile-js/package-lock.json index 4d4b670..e776163 100644 --- a/reconcile-js/package-lock.json +++ b/reconcile-js/package-lock.json @@ -1,12 +1,12 @@ { "name": "reconcile-text", - "version": "0.9.2", + "version": "0.9.3", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "reconcile-text", - "version": "0.9.2", + "version": "0.9.3", "license": "MIT", "devDependencies": { "@types/jest": "^30.0.0", @@ -24,7 +24,7 @@ }, "../pkg": { "name": "reconcile-text", - "version": "0.9.2", + "version": "0.9.3", "dev": true, "license": "MIT" }, diff --git a/reconcile-js/package.json b/reconcile-js/package.json index 9ad0e8d..aadd6ed 100644 --- a/reconcile-js/package.json +++ b/reconcile-js/package.json @@ -1,6 +1,6 @@ { "name": "reconcile-text", - "version": "0.9.2", + "version": "0.9.3", "description": "Intelligent 3-way text merging with automated conflict resolution", "main": "dist/reconcile.node.js", "browser": "dist/reconcile.web.js", diff --git a/reconcile-python/Cargo.lock b/reconcile-python/Cargo.lock index d2a3ef0..43aea7c 100644 --- a/reconcile-python/Cargo.lock +++ b/reconcile-python/Cargo.lock @@ -104,14 +104,14 @@ dependencies = [ [[package]] name = "reconcile-text" -version = "0.9.1" +version = "0.9.3" dependencies = [ "thiserror", ] [[package]] name = "reconcile-text-python" -version = "0.9.1" +version = "0.9.3" dependencies = [ "pyo3", "reconcile-text", diff --git a/reconcile-python/Cargo.toml b/reconcile-python/Cargo.toml index 849bec3..09db884 100644 --- a/reconcile-python/Cargo.toml +++ b/reconcile-python/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "reconcile-text-python" -version = "0.9.2" +version = "0.9.3" edition = "2024" rust-version = "1.94" authors = ["Andras Schmelczer "] diff --git a/reconcile-python/pyproject.toml b/reconcile-python/pyproject.toml index b9f78f5..9370730 100644 --- a/reconcile-python/pyproject.toml +++ b/reconcile-python/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "maturin" [project] name = "reconcile-text" -version = "0.9.2" +version = "0.9.3" description = "Intelligent 3-way text merging with automated conflict resolution" readme = "README.md" license = { text = "MIT" } diff --git a/reconcile-python/uv.lock b/reconcile-python/uv.lock index cc9068c..dee6b29 100644 --- a/reconcile-python/uv.lock +++ b/reconcile-python/uv.lock @@ -168,7 +168,7 @@ wheels = [ [[package]] name = "reconcile-text" -version = "0.9.1" +version = "0.9.3" source = { editable = "." } [package.dev-dependencies] From 6d280112fdbad906ce36b7cf7d7ebfed5f8d7c59 Mon Sep 17 00:00:00 2001 From: Andras Schmelczer Date: Thu, 12 Mar 2026 07:46:24 +0000 Subject: [PATCH 05/27] Fix vulnerabilities --- examples/website/package-lock.json | 42 +++++++++++++++--------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/examples/website/package-lock.json b/examples/website/package-lock.json index faaa511..a77f13d 100644 --- a/examples/website/package-lock.json +++ b/examples/website/package-lock.json @@ -651,16 +651,6 @@ "node": ">=20.0.0" } }, - "node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/@types/body-parser": { "version": "1.19.6", "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", @@ -1180,9 +1170,9 @@ } }, "node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "dev": true, "license": "MIT", "dependencies": { @@ -3396,9 +3386,9 @@ } }, "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", "dev": true, "license": "MIT" }, @@ -4550,6 +4540,16 @@ } } }, + "node_modules/sax": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.5.0.tgz", + "integrity": "sha512-21IYA3Q5cQf089Z6tgaUTr7lDAyzoTPx5HRtbhsME8Udispad8dC/+sziTNugOEx54ilvatQ9YCzl4KQLPcRHA==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } + }, "node_modules/schema-utils": { "version": "4.3.3", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", @@ -5098,19 +5098,19 @@ } }, "node_modules/svgo": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", - "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.3.tgz", + "integrity": "sha512-+wn7I4p7YgJhHs38k2TNjy1vCfPIfLIJWR5MnCStsN8WuuTcBnRKcMHQLMM2ijxGZmDoZwNv8ipl5aTTen62ng==", "dev": true, "license": "MIT", "dependencies": { - "@trysound/sax": "0.2.0", "commander": "^7.2.0", "css-select": "^5.1.0", "css-tree": "^2.3.1", "css-what": "^6.1.0", "csso": "^5.0.5", - "picocolors": "^1.0.0" + "picocolors": "^1.0.0", + "sax": "^1.5.0" }, "bin": { "svgo": "bin/svgo" From 386535497b74662bfc0e286fd08dceaa0aeb7fee Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 11 Mar 2026 21:25:49 +0000 Subject: [PATCH 06/27] Bump actions/upload-artifact from 4 to 7 Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 7. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v4...v7) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/check.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 4bddad5..60233dd 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -155,7 +155,7 @@ jobs: manylinux: auto working-directory: reconcile-python - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v7 with: name: wheels-${{ matrix.os }}-${{ matrix.target }} path: reconcile-python/dist/*.whl @@ -177,7 +177,7 @@ jobs: args: --out dist working-directory: reconcile-python - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v7 with: name: sdist path: reconcile-python/dist/*.tar.gz From 7759275a53f9f57902dac06d579acc5902ff2361 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 11 Mar 2026 21:25:44 +0000 Subject: [PATCH 07/27] Bump astral-sh/setup-uv from 6 to 7 Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 6 to 7. - [Release notes](https://github.com/astral-sh/setup-uv/releases) - [Commits](https://github.com/astral-sh/setup-uv/compare/v6...v7) --- updated-dependencies: - dependency-name: astral-sh/setup-uv dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 60233dd..5f451e7 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -25,7 +25,7 @@ jobs: check-latest: true - name: Install uv - uses: astral-sh/setup-uv@v6 + uses: astral-sh/setup-uv@v7 - name: Cache Rust dependencies uses: actions/cache@v5 From 5d588b1bacec270133cf784d477712eb1ac50435 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 11 Mar 2026 21:25:40 +0000 Subject: [PATCH 08/27] Bump actions/download-artifact from 4 to 8 Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4 to 8. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](https://github.com/actions/download-artifact/compare/v4...v8) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-version: '8' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 5f451e7..261031d 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -189,7 +189,7 @@ jobs: id-token: write steps: - - uses: actions/download-artifact@v4 + - uses: actions/download-artifact@v8 with: pattern: '{wheels-*,sdist}' merge-multiple: true From 149ff8fd9517caa808324ce2b3abf2183ace38ae Mon Sep 17 00:00:00 2001 From: Andras Schmelczer Date: Thu, 12 Mar 2026 07:49:06 +0000 Subject: [PATCH 09/27] Fix missing readme --- scripts/lint.sh | 1 + scripts/test.sh | 1 + 2 files changed, 2 insertions(+) diff --git a/scripts/lint.sh b/scripts/lint.sh index 84c096c..c46991d 100755 --- a/scripts/lint.sh +++ b/scripts/lint.sh @@ -20,6 +20,7 @@ npm ci npm run format cd ../../reconcile-python +cp ../README.md . uv run maturin develop -q uv run ruff check python/ tests/ uv run ruff format python/ tests/ diff --git a/scripts/test.sh b/scripts/test.sh index 31b3c78..cdc60e0 100755 --- a/scripts/test.sh +++ b/scripts/test.sh @@ -28,6 +28,7 @@ npm run test cd - cd reconcile-python +cp ../README.md . uv run maturin develop uv run pytest -v cd - From e08ef27d6a74ef0e7fac47c20672119d70cf70aa Mon Sep 17 00:00:00 2001 From: Andras Schmelczer Date: Thu, 12 Mar 2026 07:50:24 +0000 Subject: [PATCH 10/27] Open on new page --- examples/website/src/index.html | 8 ++++++++ examples/website/src/style.scss | 24 +++++++++++++----------- 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/examples/website/src/index.html b/examples/website/src/index.html index 1e7ac57..4519472 100644 --- a/examples/website/src/index.html +++ b/examples/website/src/index.html @@ -198,6 +198,8 @@