From 2c07bea62c353ca220fbc4bd66477243e6aeba0b Mon Sep 17 00:00:00 2001
From: MatanBT
Date: Mon, 22 Jun 2026 10:24:05 +0300
Subject: [PATCH 1/3] Minor release fixes
---
CITATION.cff | 2 --
CLAUDE.md | 5 +++++
CONTRIBUTING.md | 4 ++++
README.md | 7 +++----
pyproject.toml | 5 +----
5 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/CITATION.cff b/CITATION.cff
index 16b56b5..68e7dda 100644
--- a/CITATION.cff
+++ b/CITATION.cff
@@ -16,8 +16,6 @@ authors:
repository-code: "https://github.com/matanbt/TROPT"
url: "https://tropt.dev"
license: MIT
-version: 0.1.0
-# TODO: date-released (YYYY-MM-DD) once a tagged release is cut.
keywords:
- discrete-optimization
- adversarial-attacks
diff --git a/CLAUDE.md b/CLAUDE.md
index ef64816..4063eb9 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -33,6 +33,11 @@ When iterating on docs (`docs/`), use `uv run sphinx-autobuild docs docs/_build/
The project uses Weights & Biases for experiment tracking. Ensure `wandb` is configured if running experiments.
+### Releasing (to PyPI)
+
+1. Bump `version` in `pyproject.toml` (the published version is read from there).
+2. GitHub → Releases → new release; in "Choose a tag" enter `v` and pick "Create new tag on publish", then publish. This triggers `.github/workflows/publish.yml` → PyPI.
+
## Architecture (orientation)
TROPT is built on **four orthogonal components** glued together by an executable **recipe**:
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 0e52bc4..716169c 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -66,6 +66,10 @@ After implementing your addition to TROPT, and running the essential checks, ope
1. Fork → create a topic branch off `main`, preferably with an informative name (e.g. `feature/my-loss`, `fix/gcg-retokenize`).
2. Open a PR against `main`. The description should state *what* and *why*, link the issue, and call out any breaking changes (preferably none) or new dependencies.
+### Releasing (maintainers)
+
+To cut a new release to PyPI: (1) bump `version` in `pyproject.toml` (the published version is read from there), then (2) publish a new GitHub Release, entering a matching `v` tag in "Choose a tag" ("Create new tag on publish"), which triggers the publish workflow.
+
---
diff --git a/README.md b/README.md
index 7f348f4..7ada3b6 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,5 @@
@@ -139,10 +139,10 @@ and authorized red-teaming of NLP models.
If you find this package useful, please cite our paper as follows:
```bibtex
-@misc{tropt2026,
- title = {TROPT: An Open Framework for Unifying and Advancing Discrete Text Optimization},
- author = {Ben-Tov, Matan and Sharif, Mahmood},
- year = {2026},
- howpublished = {\url{https://github.com/matanbt/TROPT}},
+@article{tropt2026,
+ title = {TROPT: An Open Framework for Unifying and Advancing Discrete Text Optimization},
+ author = {Ben-Tov, Matan and Sharif, Mahmood},
+ journal = {arXiv},
+ year = {2026},
}
```
diff --git a/docs/index.md b/docs/index.md
index 427d045..c1333ff 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -61,7 +61,7 @@ myst:
GitHub
-
+
Paper
@@ -980,10 +980,11 @@ TROPT is built for *defensive research*: auditing, interpretability, robustness
If you find TROPT useful in your research, please cite:
```bibtex
-@misc{tropt2026,
- title = {TROPT: An Open Framework for Unifying and Advancing Discrete Text Optimization},
- year = {2026},
- howpublished = {\url{https://github.com/matanbt/TROPT}},
+@article{tropt2026,
+ title = {TROPT: An Open Framework for Unifying and Advancing Discrete Text Optimization},
+ author = {Ben-Tov, Matan and Sharif, Mahmood},
+ journal = {arXiv},
+ year = {2026},
}
```