Skip to content

Commit b632a52

Browse files
[MERGE] Merge branch 'release/1.22.0' into 'master'
Release 1.22.0 See merge request devel/gamspy!774
2 parents 9605a59 + 98e4136 commit b632a52

75 files changed

Lines changed: 4758 additions & 2949 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ repos:
1919
- id: detect-secrets
2020
args: [ --baseline, .secrets.baseline, --exclude-files, ^docs/user/notebooks/]
2121
- repo: https://github.com/astral-sh/ruff-pre-commit
22-
rev: v0.15.5
22+
rev: v0.15.7
2323
hooks:
2424
# Run the linter.
2525
- id: ruff-check

CHANGELOG.rst

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,27 @@
1+
GAMSPy 1.22.0 (2026-04-09)
2+
==========================
3+
4+
New features
5+
------------
6+
- #770: Add Recurrent Neural Networks (RNN) formulations.
7+
- #787: Support "if" control structure of GAMS via gp.If context manager. Support "Break" and "Continue" via functions in gp.Loop.
8+
9+
Improvements in existing functionality
10+
--------------------------------------
11+
- #782: Import pandas and numpy lazily.
12+
13+
Bug fixes
14+
---------
15+
- #792: UniverseAlias.records call now returns all previously registered elements in the universe instead of the labels of all the data in the container.
16+
17+
Improved documentation
18+
----------------------
19+
- #789: Update the installation page for on-prem license server license installation.
20+
21+
Miscellaneous internal changes
22+
------------------------------
23+
- #770: Restructured neural network tests.
24+
125
GAMSPy 1.21.0 (2026-03-06)
226
==========================
327

changelog/_template.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,3 +34,4 @@ No significant changes.
3434

3535
{% endif %}
3636
{% endfor %}
37+
{{ "\n" }}

docs/_static/switcher.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
[{"name": "latest", "version": "latest", "url": "https://gamspy.readthedocs.io/en/latest/"}, {"name": "1.21.0 (stable)", "version": "v1.21.0", "url": "https://gamspy.readthedocs.io/en/v1.21.0/"}, {"name": "1.20.0", "version": "v1.20.0", "url": "https://gamspy.readthedocs.io/en/v1.20.0/"}, {"name": "1.19.3", "version": "v1.19.3", "url": "https://gamspy.readthedocs.io/en/v1.19.3/"}, {"name": "1.19.2", "version": "v1.19.2", "url": "https://gamspy.readthedocs.io/en/v1.19.2/"}, {"name": "1.19.1", "version": "v1.19.1", "url": "https://gamspy.readthedocs.io/en/v1.19.1/"}, {"name": "1.19.0", "version": "v1.19.0", "url": "https://gamspy.readthedocs.io/en/v1.19.0/"}, {"name": "1.18.4", "version": "v1.18.4", "url": "https://gamspy.readthedocs.io/en/v1.18.4/"}, {"name": "1.18.3", "version": "v1.18.3", "url": "https://gamspy.readthedocs.io/en/v1.18.3/"}, {"name": "1.18.2", "version": "v1.18.2", "url": "https://gamspy.readthedocs.io/en/v1.18.2/"}, {"name": "1.18.1", "version": "v1.18.1", "url": "https://gamspy.readthedocs.io/en/v1.18.1/"}, {"name": "1.18.0", "version": "v1.18.0", "url": "https://gamspy.readthedocs.io/en/v1.18.0/"}, {"name": "1.17.2", "version": "v1.17.2", "url": "https://gamspy.readthedocs.io/en/v1.17.2/"}, {"name": "1.17.1", "version": "v1.17.1", "url": "https://gamspy.readthedocs.io/en/v1.17.1/"}, {"name": "1.17.0", "version": "v1.17.0", "url": "https://gamspy.readthedocs.io/en/v1.17.0/"}, {"name": "1.16.0", "version": "v1.16.0", "url": "https://gamspy.readthedocs.io/en/v1.16.0/"}, {"name": "1.15.1", "version": "v1.15.1", "url": "https://gamspy.readthedocs.io/en/v1.15.1/"}, {"name": "1.15.0", "version": "v1.15.0", "url": "https://gamspy.readthedocs.io/en/v1.15.0/"}, {"name": "1.14.0", "version": "v1.14.0", "url": "https://gamspy.readthedocs.io/en/v1.14.0/"}, {"name": "1.13.0", "version": "v1.13.0", "url": "https://gamspy.readthedocs.io/en/v1.13.0/"}, {"name": "1.12.1", "version": "v1.12.1", "url": "https://gamspy.readthedocs.io/en/v1.12.1/"}, {"name": "1.12.0", "version": "v1.12.0", "url": "https://gamspy.readthedocs.io/en/v1.12.0/"}, {"name": "1.11.1", "version": "v1.11.1", "url": "https://gamspy.readthedocs.io/en/v1.11.1/"}, {"name": "1.11.0", "version": "v1.11.0", "url": "https://gamspy.readthedocs.io/en/v1.11.0/"}, {"name": "1.10.0", "version": "v1.10.0", "url": "https://gamspy.readthedocs.io/en/v1.10.0/"}, {"name": "1.9.0", "version": "v1.9.0", "url": "https://gamspy.readthedocs.io/en/v1.9.0/"}, {"name": "1.8.0", "version": "v1.8.0", "url": "https://gamspy.readthedocs.io/en/v1.8.0/"}, {"name": "1.7.0", "version": "v1.7.0", "url": "https://gamspy.readthedocs.io/en/v1.7.0/"}, {"name": "1.6.0", "version": "v1.6.0", "url": "https://gamspy.readthedocs.io/en/v1.6.0/"}, {"name": "1.5.1", "version": "v1.5.1", "url": "https://gamspy.readthedocs.io/en/v1.5.1/"}, {"name": "1.5.0", "version": "v1.5.0", "url": "https://gamspy.readthedocs.io/en/v1.5.0/"}, {"name": "1.4.0", "version": "v1.4.0", "url": "https://gamspy.readthedocs.io/en/v1.4.0/"}, {"name": "1.3.1", "version": "v1.3.1", "url": "https://gamspy.readthedocs.io/en/v1.3.1/"}, {"name": "1.3.0", "version": "v1.3.0", "url": "https://gamspy.readthedocs.io/en/v1.3.0/"}, {"name": "1.2.0", "version": "v1.2.0", "url": "https://gamspy.readthedocs.io/en/v1.2.0/"}, {"name": "1.1.0", "version": "v1.1.0", "url": "https://gamspy.readthedocs.io/en/v1.1.0/"}, {"name": "1.0.4", "version": "v1.0.4", "url": "https://gamspy.readthedocs.io/en/v1.0.4/"}, {"name": "1.0.3", "version": "v1.0.3", "url": "https://gamspy.readthedocs.io/en/v1.0.3/"}, {"name": "1.0.2", "version": "v1.0.2", "url": "https://gamspy.readthedocs.io/en/v1.0.2/"}, {"name": "1.0.1", "version": "v1.0.1", "url": "https://gamspy.readthedocs.io/en/v1.0.1/"}, {"name": "1.0.0", "version": "v1.0.0", "url": "https://gamspy.readthedocs.io/en/v1.0.0/"}, {"name": "0.14.7", "version": "v0.14.7", "url": "https://gamspy.readthedocs.io/en/v0.14.7/"}, {"name": "0.14.6", "version": "v0.14.6", "url": "https://gamspy.readthedocs.io/en/v0.14.6/"}, {"name": "0.14.5", "version": "v0.14.5", "url": "https://gamspy.readthedocs.io/en/v0.14.5/"}, {"name": "0.14.4", "version": "v0.14.4", "url": "https://gamspy.readthedocs.io/en/v0.14.4/"}, {"name": "0.14.3", "version": "v0.14.3", "url": "https://gamspy.readthedocs.io/en/v0.14.3/"}, {"name": "0.14.2", "version": "v0.14.2", "url": "https://gamspy.readthedocs.io/en/v0.14.2/"}, {"name": "0.14.1", "version": "v0.14.1", "url": "https://gamspy.readthedocs.io/en/v0.14.1/"}, {"name": "0.14.0", "version": "v0.14.0", "url": "https://gamspy.readthedocs.io/en/v0.14.0/"}]
1+
[{"name": "latest", "version": "latest", "url": "https://gamspy.readthedocs.io/en/latest/"}, {"name": "1.22.0 (stable)", "version": "v1.22.0", "url": "https://gamspy.readthedocs.io/en/v1.22.0/"}, {"name": "1.21.0", "version": "v1.21.0", "url": "https://gamspy.readthedocs.io/en/v1.21.0/"}, {"name": "1.20.0", "version": "v1.20.0", "url": "https://gamspy.readthedocs.io/en/v1.20.0/"}, {"name": "1.19.3", "version": "v1.19.3", "url": "https://gamspy.readthedocs.io/en/v1.19.3/"}, {"name": "1.19.2", "version": "v1.19.2", "url": "https://gamspy.readthedocs.io/en/v1.19.2/"}, {"name": "1.19.1", "version": "v1.19.1", "url": "https://gamspy.readthedocs.io/en/v1.19.1/"}, {"name": "1.19.0", "version": "v1.19.0", "url": "https://gamspy.readthedocs.io/en/v1.19.0/"}, {"name": "1.18.4", "version": "v1.18.4", "url": "https://gamspy.readthedocs.io/en/v1.18.4/"}, {"name": "1.18.3", "version": "v1.18.3", "url": "https://gamspy.readthedocs.io/en/v1.18.3/"}, {"name": "1.18.2", "version": "v1.18.2", "url": "https://gamspy.readthedocs.io/en/v1.18.2/"}, {"name": "1.18.1", "version": "v1.18.1", "url": "https://gamspy.readthedocs.io/en/v1.18.1/"}, {"name": "1.18.0", "version": "v1.18.0", "url": "https://gamspy.readthedocs.io/en/v1.18.0/"}, {"name": "1.17.2", "version": "v1.17.2", "url": "https://gamspy.readthedocs.io/en/v1.17.2/"}, {"name": "1.17.1", "version": "v1.17.1", "url": "https://gamspy.readthedocs.io/en/v1.17.1/"}, {"name": "1.17.0", "version": "v1.17.0", "url": "https://gamspy.readthedocs.io/en/v1.17.0/"}, {"name": "1.16.0", "version": "v1.16.0", "url": "https://gamspy.readthedocs.io/en/v1.16.0/"}, {"name": "1.15.1", "version": "v1.15.1", "url": "https://gamspy.readthedocs.io/en/v1.15.1/"}, {"name": "1.15.0", "version": "v1.15.0", "url": "https://gamspy.readthedocs.io/en/v1.15.0/"}, {"name": "1.14.0", "version": "v1.14.0", "url": "https://gamspy.readthedocs.io/en/v1.14.0/"}, {"name": "1.13.0", "version": "v1.13.0", "url": "https://gamspy.readthedocs.io/en/v1.13.0/"}, {"name": "1.12.1", "version": "v1.12.1", "url": "https://gamspy.readthedocs.io/en/v1.12.1/"}, {"name": "1.12.0", "version": "v1.12.0", "url": "https://gamspy.readthedocs.io/en/v1.12.0/"}, {"name": "1.11.1", "version": "v1.11.1", "url": "https://gamspy.readthedocs.io/en/v1.11.1/"}, {"name": "1.11.0", "version": "v1.11.0", "url": "https://gamspy.readthedocs.io/en/v1.11.0/"}, {"name": "1.10.0", "version": "v1.10.0", "url": "https://gamspy.readthedocs.io/en/v1.10.0/"}, {"name": "1.9.0", "version": "v1.9.0", "url": "https://gamspy.readthedocs.io/en/v1.9.0/"}, {"name": "1.8.0", "version": "v1.8.0", "url": "https://gamspy.readthedocs.io/en/v1.8.0/"}, {"name": "1.7.0", "version": "v1.7.0", "url": "https://gamspy.readthedocs.io/en/v1.7.0/"}, {"name": "1.6.0", "version": "v1.6.0", "url": "https://gamspy.readthedocs.io/en/v1.6.0/"}, {"name": "1.5.1", "version": "v1.5.1", "url": "https://gamspy.readthedocs.io/en/v1.5.1/"}, {"name": "1.5.0", "version": "v1.5.0", "url": "https://gamspy.readthedocs.io/en/v1.5.0/"}, {"name": "1.4.0", "version": "v1.4.0", "url": "https://gamspy.readthedocs.io/en/v1.4.0/"}, {"name": "1.3.1", "version": "v1.3.1", "url": "https://gamspy.readthedocs.io/en/v1.3.1/"}, {"name": "1.3.0", "version": "v1.3.0", "url": "https://gamspy.readthedocs.io/en/v1.3.0/"}, {"name": "1.2.0", "version": "v1.2.0", "url": "https://gamspy.readthedocs.io/en/v1.2.0/"}, {"name": "1.1.0", "version": "v1.1.0", "url": "https://gamspy.readthedocs.io/en/v1.1.0/"}, {"name": "1.0.4", "version": "v1.0.4", "url": "https://gamspy.readthedocs.io/en/v1.0.4/"}, {"name": "1.0.3", "version": "v1.0.3", "url": "https://gamspy.readthedocs.io/en/v1.0.3/"}, {"name": "1.0.2", "version": "v1.0.2", "url": "https://gamspy.readthedocs.io/en/v1.0.2/"}, {"name": "1.0.1", "version": "v1.0.1", "url": "https://gamspy.readthedocs.io/en/v1.0.1/"}, {"name": "1.0.0", "version": "v1.0.0", "url": "https://gamspy.readthedocs.io/en/v1.0.0/"}, {"name": "0.14.7", "version": "v0.14.7", "url": "https://gamspy.readthedocs.io/en/v0.14.7/"}, {"name": "0.14.6", "version": "v0.14.6", "url": "https://gamspy.readthedocs.io/en/v0.14.6/"}, {"name": "0.14.5", "version": "v0.14.5", "url": "https://gamspy.readthedocs.io/en/v0.14.5/"}, {"name": "0.14.4", "version": "v0.14.4", "url": "https://gamspy.readthedocs.io/en/v0.14.4/"}, {"name": "0.14.3", "version": "v0.14.3", "url": "https://gamspy.readthedocs.io/en/v0.14.3/"}, {"name": "0.14.2", "version": "v0.14.2", "url": "https://gamspy.readthedocs.io/en/v0.14.2/"}, {"name": "0.14.1", "version": "v0.14.1", "url": "https://gamspy.readthedocs.io/en/v0.14.1/"}, {"name": "0.14.0", "version": "v0.14.0", "url": "https://gamspy.readthedocs.io/en/v0.14.0/"}]

docs/cli/install.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ Usage
3232
* - -\-server
3333
- -s
3434
- https://license.gams.com
35-
- License server adress.
35+
- License server address.
3636
* - -\-port
3737
- -p
3838
- None

docs/reference/gamspy.If.rst

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
If
2+
==
3+
4+
.. currentmodule:: gamspy
5+
6+
.. autoclass:: If
7+
:members:
8+
:show-inheritance:
9+
:inherited-members:

docs/reference/gamspy.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ gamspy
3333
gamspy.Ord
3434
gamspy.Card
3535
gamspy.Loop
36+
gamspy.If
3637
gamspy._engine
3738
gamspy._neos
3839
gamspy.math

docs/release/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ Release Notes
77
.. toctree::
88
:maxdepth: 1
99

10+
release_1.22.0
1011
release_1.21.0
1112
release_1.20.0
1213
release_1.19.3

docs/release/release_1.22.0.rst

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
GAMSPy 1.22.0 (2026-04-09)
2+
==========================
3+
4+
New features
5+
------------
6+
- #770: Add Recurrent Neural Networks (RNN) formulations.
7+
- #787: Support "if" control structure of GAMS via gp.If context manager. Support "Break" and "Continue" via functions in gp.Loop.
8+
9+
Improvements in existing functionality
10+
--------------------------------------
11+
- #782: Import pandas and numpy lazily.
12+
13+
Bug fixes
14+
---------
15+
- #792: UniverseAlias.records call now returns all previously registered elements in the universe instead of the labels of all the data in the container.
16+
17+
Improved documentation
18+
----------------------
19+
- #789: Update the installation page for on-prem license server license installation.
20+
21+
Miscellaneous internal changes
22+
------------------------------
23+
- #770: Restructured neural network tests.
24+
25+

docs/user/advanced/advanced.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,3 +21,4 @@ fundamental GAMSPy ideas and philosophy.
2121
./external_equations
2222
./extrinsic_functions
2323
./formulations
24+
./control_flow

0 commit comments

Comments
 (0)