Skip to content

Commit 3f4cc4c

Browse files
[MERGE] Merge branch 'release/1.19.3' into 'master'
Release/1.19.3 See merge request devel/gamspy!745
2 parents f6ffd40 + c046dde commit 3f4cc4c

31 files changed

Lines changed: 949 additions & 887 deletions

.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.14.14
22+
rev: v0.15.0
2323
hooks:
2424
# Run the linter.
2525
- id: ruff-check

CHANGELOG.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
GAMSPy 1.19.3 (2026-02-06)
2+
==========================
3+
4+
Bug fixes
5+
---------
6+
- #769: Revert the commit that causes a breaking change in the behaviour of container.loadRecordsFromGdx. If a symbol in the gdx file does not already exist in the container, create it automatically.
7+
18
GAMSPy 1.19.2 (2026-01-29)
29
==========================
310

ci/.cli.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,8 @@ wei-cli-3.14:
141141
variables:
142142
UV_PYTHON_INSTALL_DIR: "$CI_PROJECT_DIR/.uv_pythons"
143143
script:
144+
- Expand-Archive -Path uv_toolchain.zip -DestinationPath . -Force
145+
- Expand-Archive -Path uv_bin.zip -DestinationPath . -Force
144146
- $env:Path = "$CI_PROJECT_DIR\.uv_bin;$env:Path"
145147
- uv venv .venv --python 3.14
146148
- .venv\Scripts\Activate.ps1
@@ -159,6 +161,8 @@ wei-cli-3.10:
159161
variables:
160162
UV_PYTHON_INSTALL_DIR: "$CI_PROJECT_DIR/.uv_pythons"
161163
script:
164+
- Expand-Archive -Path uv_toolchain.zip -DestinationPath . -Force
165+
- Expand-Archive -Path uv_bin.zip -DestinationPath . -Force
162166
- $env:Path = "$CI_PROJECT_DIR\.uv_bin;$env:Path"
163167
- uv venv .venv --python 3.10
164168
- .venv\Scripts\Activate.ps1

ci/.test-wei.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
variables:
77
UV_PYTHON_INSTALL_DIR: "$CI_PROJECT_DIR/.uv_pythons"
88
script:
9+
- Expand-Archive -Path uv_toolchain.zip -DestinationPath . -Force
10+
- Expand-Archive -Path uv_bin.zip -DestinationPath . -Force
911
- $env:Path = "$CI_PROJECT_DIR\.uv_bin;$env:Path"
1012
- uv venv .venv --python $env:PYTHON_VERSION
1113
- .venv\Scripts\Activate.ps1
@@ -20,6 +22,8 @@ wei-test-3.14:
2022
variables:
2123
PYTHON_VERSION: "3.14"
2224
script:
25+
- Expand-Archive -Path uv_toolchain.zip -DestinationPath . -Force
26+
- Expand-Archive -Path uv_bin.zip -DestinationPath . -Force
2327
- $env:Path = "$CI_PROJECT_DIR\.uv_bin;$env:Path"
2428
- uv venv .venv --python 3.14
2529
- .venv\Scripts\Activate.ps1
@@ -78,6 +82,8 @@ wei-test-3.10:
7882
variables:
7983
UV_PYTHON_INSTALL_DIR: "$CI_PROJECT_DIR/.uv_pythons"
8084
script:
85+
- Expand-Archive -Path uv_toolchain.zip -DestinationPath . -Force
86+
- Expand-Archive -Path uv_bin.zip -DestinationPath . -Force
8187
- $env:Path = "$CI_PROJECT_DIR\.uv_bin;$env:Path"
8288
- uv venv .venv --python $env:PYTHON_VERSION
8389
- .venv\Scripts\Activate.ps1
@@ -104,6 +110,8 @@ wei-engine-3.10:
104110
variables:
105111
UV_PYTHON_INSTALL_DIR: "$CI_PROJECT_DIR/.uv_pythons"
106112
script:
113+
- Expand-Archive -Path uv_toolchain.zip -DestinationPath . -Force
114+
- Expand-Archive -Path uv_bin.zip -DestinationPath . -Force
107115
- $env:Path = "$CI_PROJECT_DIR\.uv_bin;$env:Path"
108116
- uv venv .venv --python $env:PYTHON_VERSION
109117
- .venv\Scripts\Activate.ps1

ci/.toolchain.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,13 @@ setup-wei-toolchain:
4949
- $env:Path = "$CI_PROJECT_DIR\.uv_bin;$env:Path"
5050
- echo "Downloading Python toolchain for Windows..."
5151
- uv python install 3.10 3.11 3.12 3.13 3.14
52+
# Compress the folder manually to bypass GitLab Runner's symlink/junction issues
53+
- echo "Compressing toolchain to avoid 'Incorrect function' artifact error..."
54+
- Compress-Archive -Path "$CI_PROJECT_DIR\.uv_pythons" -DestinationPath "$CI_PROJECT_DIR\uv_toolchain.zip" -Force
55+
- Compress-Archive -Path "$CI_PROJECT_DIR\.uv_bin" -DestinationPath "$CI_PROJECT_DIR\uv_bin.zip" -Force
5256
artifacts:
5357
name: "toolchain-windows"
5458
paths:
55-
- .uv_pythons/
56-
- .uv_bin/
59+
- uv_toolchain.zip
60+
- uv_bin.zip
5761
expire_in: 2 hours

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.19.2 (stable)", "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.19.3 (stable)", "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/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.19.3
1011
release_1.19.2
1112
release_1.19.1
1213
release_1.19.0

docs/release/release_1.19.3.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
GAMSPy 1.19.3 (2026-02-06)
2+
==========================
3+
4+
Bug fixes
5+
---------
6+
- #769: Revert the commit that causes a breaking change in the behaviour of container.loadRecordsFromGdx. If a symbol in the gdx file does not already exist in the container, create it automatically.
7+

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "gamspy"
7-
version = "1.19.2"
7+
version = "1.19.3"
88
authors = [
99
{ name = "GAMS Development Corporation", email = "support@gams.com" },
1010
]

src/gamspy/_backend/backend.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -222,9 +222,7 @@ def load_records(self, relaxed_domain_mapping: bool = False):
222222
symbols = filtered_names
223223

224224
if len(symbols) != 0:
225-
self.container._load_records_from_gdx(
226-
self.container._gdx_out, symbols, create_if_not_declared=True
227-
)
225+
self.container._load_records_from_gdx(self.container._gdx_out, symbols)
228226
self.make_unmodified(symbols)
229227

230228
if relaxed_domain_mapping:

0 commit comments

Comments
 (0)