Skip to content

Commit 1cb6a02

Browse files
authored
Merge 16.4 maintenance branch into master
2 parents 5db11c4 + ee0dc12 commit 1cb6a02

10 files changed

Lines changed: 19 additions & 21 deletions

File tree

.github/workflows/lint.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99
name: clang-format
1010
runs-on: ubuntu-latest
1111
steps:
12-
- uses: actions/checkout@v5
12+
- uses: actions/checkout@v6
1313
- name: Run clang-format style check for C/C++
1414
uses: jidicula/clang-format-action@v4.16.0
1515
with:
@@ -21,7 +21,7 @@ jobs:
2121
runs-on: ubuntu-latest
2222
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
2323
steps:
24-
- uses: actions/checkout@v5
24+
- uses: actions/checkout@v6
2525
- name: Install dependencies
2626
run: |
2727
sudo apt-key adv --fetch-keys http://repos.codelite.org/CodeLite.asc
@@ -37,14 +37,14 @@ jobs:
3737
runs-on: ubuntu-latest
3838
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
3939
steps:
40-
- uses: actions/checkout@v5
40+
- uses: actions/checkout@v6
4141
- uses: chartboost/ruff-action@v1
4242

4343
flake8:
4444
runs-on: ubuntu-latest
4545
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
4646
steps:
47-
- uses: actions/checkout@v5
47+
- uses: actions/checkout@v6
4848
- uses: actions/setup-python@v6
4949
with:
5050
python-version: "3.14"
@@ -54,7 +54,7 @@ jobs:
5454
runs-on: ubuntu-latest
5555
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
5656
steps:
57-
- uses: actions/checkout@v5
57+
- uses: actions/checkout@v6
5858
- name: Setup Python
5959
uses: actions/setup-python@v6
6060
with:

.github/workflows/osxbinary.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
runs-on: macos-14
1313
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
1414
steps:
15-
- uses: actions/checkout@v5
15+
- uses: actions/checkout@v6
1616
- name: Install dependencies
1717
run: |
1818
brew install automake autoconf

.github/workflows/python.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
python-version: ['3.10', '3.14']
1414

1515
steps:
16-
- uses: actions/checkout@v5
16+
- uses: actions/checkout@v6
1717
- name: Set up Python ${{ matrix.python-version }}
1818
uses: actions/setup-python@v6
1919
with:
@@ -42,7 +42,7 @@ jobs:
4242
python-version: ['3.14']
4343

4444
steps:
45-
- uses: actions/checkout@v4
45+
- uses: actions/checkout@v6
4646
- name: Set up Python ${{ matrix.python-version }}
4747
uses: actions/setup-python@v6
4848
with:
@@ -67,7 +67,7 @@ jobs:
6767
python-version: ['3.14']
6868

6969
steps:
70-
- uses: actions/checkout@v4
70+
- uses: actions/checkout@v6
7171
- name: Set up Python ${{ matrix.python-version }}
7272
uses: actions/setup-python@v6
7373
with:
@@ -92,7 +92,7 @@ jobs:
9292
python-version: ['3.14']
9393

9494
steps:
95-
- uses: actions/checkout@v5
95+
- uses: actions/checkout@v6
9696
- name: Set up Python ${{ matrix.python-version }}
9797
uses: actions/setup-python@v6
9898
with:

.github/workflows/tools.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99
runs-on: ubuntu-latest
1010
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
1111
steps:
12-
- uses: actions/checkout@v5
12+
- uses: actions/checkout@v6
1313
- name: Install dependencies
1414
run: |
1515
sudo apt-key adv --fetch-keys http://repos.codelite.org/CodeLite.asc
@@ -36,7 +36,7 @@ jobs:
3636
runs-on: macos-14
3737
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
3838
steps:
39-
- uses: actions/checkout@v5
39+
- uses: actions/checkout@v6
4040
- name: Install dependencies
4141
run: brew install automake autoconf wxwidgets
4242
- run: aclocal
@@ -55,7 +55,7 @@ jobs:
5555
runs-on: macos-15
5656
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name
5757
steps:
58-
- uses: actions/checkout@v5
58+
- uses: actions/checkout@v6
5959
- name: Install dependencies
6060
run: brew install automake autoconf wxwidgets
6161
- run: aclocal
@@ -77,7 +77,7 @@ jobs:
7777
run:
7878
shell: msys2 {0}
7979
steps:
80-
- uses: actions/checkout@v5
80+
- uses: actions/checkout@v6
8181
- uses: msys2/setup-msys2@v2
8282
with:
8383
install: mingw-w64-x86_64-toolchain make automake autoconf

.github/workflows/wheels.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
runs-on: windows-latest
1414

1515
steps:
16-
- uses: actions/checkout@v5
16+
- uses: actions/checkout@v6
1717
- name: Set up Python
1818
uses: actions/setup-python@v6
1919
with:

ChangeLog

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
(and as a result from the `enumpure`, `lp`, and `lcp` command-line tools); this will be replaced
3131
with new and more customisable approaches. (#639)
3232

33-
## [16.4.1] - unreleased
33+
## [16.4.1] - 2025-12-17
3434

3535
### Fixed
3636
- Fixed a regression in which null outcomes in strategic game tables were not handled correctly
@@ -45,7 +45,7 @@
4545
mixed behavior profiles (#616)
4646

4747

48-
## [16.3.2] - unreleased
48+
## [16.3.2] - 2025-12-04
4949

5050
### Fixed
5151
- Parsing of output of `gambit-logit` in the graphical interface did not handle the

doc/tools.gnm.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,6 @@ the reduced strategic form of the example in Figure 2 of Selten
8686
(International Journal of Game Theory, 1975)
8787

8888
$ gambit-gnm e02.nfg
89-
9089
Compute Nash equilibria using a global Newton method
9190
Gametracer version 0.2, Copyright (C) 2002, Ben Blum and Christian Shelton
9291
Gambit version |release|, Copyright (C) 1994-2025, The Gambit Project

doc/tools.ipa.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ the reduced strategic form of the example in Figure 2 of Selten
5353
(International Journal of Game Theory, 1975)
5454

5555
$ gambit-ipa e02.nfg
56-
5756
Compute Nash equilibria using iterated polymatrix approximation
5857
Gametracer version 0.2, Copyright (C) 2002, Ben Blum and Christian Shelton
5958
Gambit version |release|, Copyright (C) 1994-2025, The Gambit Project

doc/tools.lcp.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ computes Nash equilibria by finding solutions to a linear
99
complementarity problem. For extensive games, the program uses the
1010
sequence form representation of the extensive game, as defined by
1111
Koller, Megiddo, and von Stengel [KolMegSte94]_, and applies the
12-
algorithm developed by Lemke. For strategic games, the program using
12+
algorithm developed by Lemke. For strategic games, the program uses
1313
the method of Lemke and Howson [LemHow64]_. There exist strategic
1414
games for which some equilibria cannot be located by this method; see
1515
Shapley [Sha74]_.

src/pygambit/game.pxi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1497,7 +1497,7 @@ class Game:
14971497
except KeyError:
14981498
raise KeyError(f"{funcname}(): no information set with label '{infoset}'")
14991499
raise TypeError(
1500-
f"{funcname}(): {argname} must be Infoset or str, not {node.__class__.__name__}"
1500+
f"{funcname}(): {argname} must be Infoset or str, not {infoset.__class__.__name__}"
15011501
)
15021502

15031503
def _resolve_action(self,

0 commit comments

Comments
 (0)