Skip to content

Commit fe397cc

Browse files
committed
Version v2.1.1
- Updated changelog and version number to v2.1.1.
1 parent 66cdca8 commit fe397cc

File tree

2 files changed

+89
-37
lines changed

2 files changed

+89
-37
lines changed

CHANGELOG.md

Lines changed: 68 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,73 @@ This project follows **Keep a Changelog** and **Semantic Versioning**:
3535

3636
---
3737

38+
## [2.1.1] - 2026-01-27
39+
40+
### Core logic
41+
#### Changed
42+
- Updated `CBCOptions` parameter name from `sec` to `seconds` to better reflect semantics.
43+
- Removed obsolete pytest tags (`nogithub`) as part of test cleanup.
44+
45+
---
46+
47+
### Web API
48+
*(No functional API changes in this release.)*
49+
50+
---
51+
52+
### Web GUI
53+
#### Added
54+
- Added a **barebones page for adding and inspecting interactive sessions** (WIP).
55+
56+
---
57+
58+
### Tests
59+
#### Changed
60+
- Cleaned up pytest markers:
61+
- Re-added `githubskip` where appropriate.
62+
- Removed excessive pytest tags that were unintentionally skipping tests.
63+
- Added a new `fixme` pytest mark to explicitly label known failing tests with pending issues.
64+
- Updated pytest commands in the `Makefile`.
65+
66+
---
67+
68+
### Workflows / CI
69+
#### Added
70+
- Added a **pre-commit hook GitHub workflow** that runs checks only on changed files in pull requests.
71+
- Integrated **ruff-based linting and formatting** via pre-commit hooks.
72+
- For details about pre-commit hooks (how to install and activate),
73+
see [the documentation](https://desdeo.readthedocs.io/en/latest/tutorials/contributing/#pre-commit-hooks).
74+
75+
#### Changed
76+
- Updated unit test workflow:
77+
- Now runs on `master` branch commits and pull requests.
78+
- Switched dependency management from `pip` to **`uv`**.
79+
- Added missing pytest tags to ensure correct test selection.
80+
81+
---
82+
83+
### Tooling and linting
84+
#### Changed
85+
- Removed `isort` in favor of **ruff-only** linting and formatting.
86+
- Refined ruff configuration in `pyproject.toml` to be more sensible in practice.
87+
- Fixed minor linting issues revealed by enabling pre-commit hooks.
88+
89+
---
90+
91+
### Documentation
92+
#### Changed
93+
- Updated `README.md`.
94+
- Updated contributing documentation with instructions and expectations for using pre-commit hooks.
95+
96+
---
97+
98+
### Notes
99+
- This release focuses on **developer experience, CI correctness, and test hygiene**.
100+
- No user-facing web-API changes are expected.
101+
- GUI additions are **early-stage and exploratory**.
102+
103+
---
104+
38105
## [2.1.0] - 2026-01-22
39106

40107
### Core logic
@@ -116,4 +183,4 @@ This project follows **Keep a Changelog** and **Semantic Versioning**:
116183

117184
### Web GUI
118185
#### Added
119-
- Initial 2.0 release.
186+
- Initial 2.0 release.

pyproject.toml

Lines changed: 21 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,21 @@
11
[project]
22
name = "desdeo"
3-
version = "2.1.0"
3+
version = "2.1.1"
44
description = "DESDEO is a modular and open source framework for interactive multiobjective optimization."
55
authors = [
6-
{name="Giovanni Misitano", email="giovanni.a.misitano@jyu.fi"},
7-
{name="Bhupinder Saini", email="bhupinder.s.saini@jyu.fi"},
6+
{ name = "Giovanni Misitano", email = "giovanni.a.misitano@jyu.fi" },
7+
{ name = "Bhupinder Saini", email = "bhupinder.s.saini@jyu.fi" },
88
]
99
license = "MIT"
1010
readme = "README.md"
11-
exclude = [
12-
"tests",
13-
"desdeo/api",
14-
"desdeo/utopia_stuff"
11+
exclude = ["tests", "desdeo/api", "desdeo/utopia_stuff"]
12+
keywords = [
13+
"optimization",
14+
"decision-support",
15+
"multiobjective optimization",
16+
"evolutionary optimization",
17+
"interactive methods",
1518
]
16-
keywords=["optimization", "decision-support", "multiobjective optimization", "evolutionary optimization", "interactive methods"]
1719
requires-python = ">=3.12,<3.14"
1820
dependencies = [
1921
"numpy >= 2.2.0",
@@ -42,10 +44,10 @@ dependencies = [
4244
]
4345

4446
[project.urls]
45-
homepage="https://github.com/industrial-optimization-group/DESDEO"
46-
repository="https://github.com/industrial-optimization-group/DESDEO"
47-
documentation="https://desdeo.readthedocs.io/en/latest/"
48-
"Bug tracker"="https://github.com/industrial-optimization-group/DESDEO/issues"
47+
homepage = "https://github.com/industrial-optimization-group/DESDEO"
48+
repository = "https://github.com/industrial-optimization-group/DESDEO"
49+
documentation = "https://desdeo.readthedocs.io/en/latest/"
50+
"Bug tracker" = "https://github.com/industrial-optimization-group/DESDEO/issues"
4951

5052
[dependency-groups]
5153
dev = [
@@ -71,11 +73,7 @@ docs = [
7173
"python-markdown-math>=0.9",
7274
]
7375

74-
jupyter = [
75-
"jupyter>=1.0",
76-
"jupyterlab>=4.0",
77-
"jupytext>=1.16.4"
78-
]
76+
jupyter = ["jupyter>=1.0", "jupyterlab>=4.0", "jupytext>=1.16.4"]
7977

8078
web = [
8179
"httpx>=0.28.1",
@@ -89,20 +87,13 @@ web = [
8987
"websockets>=15.0.1",
9088
]
9189

92-
viz = [
93-
"seaborn>=0.13.0",
94-
"scienceplots>=2.1.1",
95-
"pyparsing[diagrams]>=3.1.1"
96-
]
90+
viz = ["seaborn>=0.13.0", "scienceplots>=2.1.1", "pyparsing[diagrams]>=3.1.1"]
9791

98-
tools = [
99-
"djlint>=1.34.1",
100-
"eralchemy>=1.5.0"
101-
]
92+
tools = ["djlint>=1.34.1", "eralchemy>=1.5.0"]
10293

10394
server = [ # production!
10495
"gunicorn>=23.0.0",
105-
"psycopg2>=2.9.10"
96+
"psycopg2>=2.9.10",
10697
]
10798

10899
all-dev = [
@@ -256,18 +247,12 @@ markers = [
256247
"gnimbus: tests related to group nimbus method.",
257248
"external: tests related to providers interfacing to external problems.",
258249
"fixme: tests that are not passing, but maybe should, yet are ignored.",
259-
"githubskip: skip these tests on GitHub workflows."
250+
"githubskip: skip these tests on GitHub workflows.",
260251
]
261252
pythonpath = "."
262253
asyncio_default_fixture_loop_scope = "function"
263-
filterwarnings = [
264-
"default::RuntimeWarning",
265-
"default::UserWarning",
266-
]
267-
testpaths = [
268-
"tests",
269-
"desdeo/api/tests",
270-
]
254+
filterwarnings = ["default::RuntimeWarning", "default::UserWarning"]
255+
testpaths = ["tests", "desdeo/api/tests"]
271256

272257
[build-system]
273258
requires = ["poetry-core"]

0 commit comments

Comments
 (0)