Skip to content

Releases: thomas-maeder/popeye

Popeye 4.99

28 Nov 19:16

Choose a tag to compare

This is Release 4.99 of Popeye.

Release 4.99 is almost identical to 4.97, with the following exceptions:

  • Total Invisible pieces: another severe bug was found and fixed
  • support for new, yet to be published, fairy condition Immobilio

Please refer to Release 4.95 for other information.

Popeye 4.97

19 Nov 23:23

Choose a tag to compare

This is Release 4.97 of Popeye.

Release 4.97 is almost identical to 4.95, with the following exceptions:

  • Total Invisible pieces: a severe bug was found and fixed
  • Condition AllInChess: the apparent fix introduced in release 4.95 did more harm than good and had to be undone

Please refer to Release 4.95 for other information.

Popeye 4.95

10 Nov 14:11

Choose a tag to compare

This is Release 4.95 of Popeye.

Downloading Popeye

Popeye executable

In order to use Popeye, you want to download an executable program or the source code to build an executable program yourself.

Windows: pywin64.exe
MacOS (basically untested):
   Intel: pymacos-intel
   ARM: pymacos-arm
Linux:
   git clone https://github.com/thomas-maeder/popeye.git
   cd popeye
   git checkout v4.95
   ln -s makefile.unx makefile
   make

Usage guide

Download the usage guide in your favourite language:

py-engl.txt (English)
py-deut.txt (Deutsch)
py-fran.txt (Français)

Example input files

The example input file archives will help you input problems correctly:

popeye-4.95-examples.zip (English as input language)
popeye-4.95-beispiel.zip (German)

Changes since Popeye 4.93

New features

Condition

  • AliceChess

Piece type

  • Scarabeus

Bug fixes

  • General
    -- performance gain (sometimes massive) for help play problems that fill the entire memory
    -- increased overall stability
    -- improvements that will allow the next release of Spinach to get rid of many of the Known limitations documented for Spinach 4.93
  • Option intelligent
    -- some rare solutions of stalemate problems weren't found
  • Option MoveNumbers
    -- printed move numbers were "interesting" in series movers with introductory play
  • Condition AllInChess
    -- moves returning to the previous position with the exception of changed en passant rights were wrongly rejected
  • Condition Bolero
    -- RexInclusive was supported, but not documented
  • TotalInvisible pieces
    -- many working solutions were not found and many wrong ones found (mainly because of incorrect optimizations)
    -- the removal of these "optimizations" unfortunately means considerably longer testing times

Spinach 4.93

09 May 18:02

Choose a tag to compare

This the first, highly experimental release of

Spinach

Spinach is what makes Popeye strong, as we all know. It uses multi-processing to hopefully test many chess problems faster than regular Popeye. It starts a number of Popeye sub-processes which test a part of the problem each, and presents the result in almost the same way as a single Popeye process would.

The trade-off is that the available memory is shared between the Popeye sub-processes. Spinach is therefore not likely to save time for all problems (but, as said above, hopefully for most); in particular, problems where a single Popeye process profits from a huge hash table will probably not benefit from Spinach.

Installation

Your simplest option is to download the Spinach executable into the same directory where you have downloaded the Popeye v4.91 or v4.93 executable (earlier versions will not work); Spinach will then find the Popeye executable automatically.

These executables are:

  • Windows: spinach.exe
    -- note: if you get an obscure error message containing "wmic" when you start spinach.exe, try installing WMIC as Optional Feature
  • Linux: spinach
  • many platforms (including Windows/Linux): spinach.tcl
    requires a working, reasonably current Tcl (Tool command language, pronounced "tickle") runtime environment including the Tcl Standard Library; such an environment is provided by ActiveState Tcl or by Linux packages typically named tcl and tcllib.

Usage

Spinach is designed to be invoked very similarly to regular Popeye. In particular, if you use a graphical frontend such as Olive, you should be able to configure the Spinach executable like you normally configure the regular Popeye executable.

Command line options

If Spinach is invoked on the command line, we have slightly more fine-grained control over its behavior:

$ spinach.exe --help
spinach.exe : spinach [options] [input file]
options:
 --executable=value   path to Popeye executable <pywin64.exe>
 --nrprocs=value      number of Popeye processes to spawn <6>
 --maxmem=value       maximum memory for each process <Popeye default>
 --version            Version of this program
 --                   Forcibly stop option processing
 --help               Print this message
 --?                  Print this message

The values between < and > are the default values; they are computed by Spinach using some not so complicated heuristics. Depending on the operating system and physical characteristics of your system, these default values will differ from the ones given above.

Notes

  • Spinach's output doesn't contain introductory information like author, board etc. - the output looks as if option noboard had been indicated, even if you haven't
  • the greeting line at the top of Spinach's output
$ spinach test.inp
Popeye Linux-6.11.0-24-generic-x86_64-64Bit v4.91 (1024 MB)
...

indicates the memory allocated to each Popeye sub-process.

Known limitations

Spinach 4.93 has some limitations; it was decided to release it now, as it should already be useful to many of us, rather than to wait until it is perfect (which it will never be - it's software, after all).

Hopefully, many of the following known limitations will be removed in later releases.

Spinach currently does not support problems with at least one of the following features:

  • twins and/or zeropositions*
  • help and series stipulations with set play*
  • series stipulations with introductory series (e.g. 3->ser-h=5)
  • option Intelligent
  • options Duplex or HalfDuplex*
  • options that cause Popeye to print partial solutions, such as StopOnShortSolutions

The limitions marked with an asterisk (*) can be easily worked around by testing the parts separately.

Feedback about further, so far unknown limitations is very welcome through the Issues on this site.

Popeye 4.93

07 May 18:29

Choose a tag to compare

This is Release 4.93 of Popeye.

Release 4.93 is almost identical to 4.91, with the following exceptions:

  • Bul pieces didn't generate the correct hurdle movements in problems with the condition Bolero
  • added some forgotten fairy elements to py-*.txt

Please refer to Release 4.91 for other information.

Popeye 4.91

01 May 17:34

Choose a tag to compare

This is Release 4.91 of Popeye.

Downloading Popeye

Popeye executable

In order to use Popeye, you want to download an executable program or the source code to build an executable program yourself.

Windows: pywin64.exe
MacOS X: producing an executable for MacOS is always a hassle at best. I wasn't successful this time; if somebody can, I'll be happy to provide it here.
Linux:
   git clone https://github.com/thomas-maeder/popeye.git
   cd popeye
   git checkout v4.91
   ln -s makefile.unx makefile
   make

Usage guide

Download the usage guide in your favourite language:

py-engl.txt (English)
py-deut.txt (Deutsch)
py-fran.txt (Français)

Example input files

The example input file archives will help you input problems correctly:

popeye-4.91-examples.zip (English as input language)
popeye-4.91-beispiel.zip (German)

Changes since Popeye 4.89

New features

Conditions

  • AllInChess, HalfInChess and MainlyInChess
  • Anda, Anda Inverse
  • AntiGuards
  • BiCaptures
  • CASTchess, CASTChess Inverse
  • FrankfurtChess
  • FuddledMen
  • Leffie
  • MultiCaptures
  • Pepo
  • PowerTransfer, PowerTransfer RexInclusive
  • Take&Make Absolute
  • TransmissionMenace
  • Memory Circe (as Circe WaitCapture CaptureSquare)

Piece types

  • Eagle Equihopper, Eagle Nonstop Equihopper

Piece attributes

  • Anda, Anda Inverse
  • Bul, Dob

Options

  • MatesIn1
  • TrivialTriesAvoid
  • UpToMoveNumber

Bug fixes

  • Condition Series Capture
    -- Proof games: some solutions were not found (incorrect optimization)
    -- Positions with pawns on their side's 2nd rank: crash
  • Conditions File Circe and File Anticirce: fairy pieces were reborn at the wrong end of the board
  • Condition Volcanic AntiCirce: some solutions were not found (error in hashing)
  • Condition Make&Take plus Orphans: very strange output
  • Condition AntiMarsCirce
    -- Popeye produced solutions with illegal null moves
    -- Popeye didn't find solutions with castling after rebirth of both K and R
  • Conditions MessignyChess plus PointReflection: Popeye selected pieces eligible for Messigny place swaps inconsistently
  • TotalInvisible pieces: many working solutions were not found and many wrong ones found (mainly because of incorrect optimizations)
  • Paralysing pieces plus double-stalemate (==) stipulations: some solutions were not found
  • Series-movers plus option MoveNumbers: various fixes
  • Positions with 64 pieces caused memory overflows
  • Positions with 4-6 pieces: more economical memory usage leads to faster solving times for long stipulations
  • Stipulations with >256 plies: Popeye failed to solve since 4.65

Overal improvement

  • removal of various instances of undefined behaviour is expected to improve overall stability

Popeye 4.89

21 Aug 17:22

Choose a tag to compare

This is Release 4.89 of Popeye.

Downloading Popeye

Popeye executable

In order to use Popeye, you want to download an executable program or the source code to build an executable program yourself.

Windows: pywin64.exe
MacOS X: producing an executable for MacOS is always a hassle at best. I wasn't successful this time; if somebody can, I'll be happy to provide it here.
Linux:
   git clone https://github.com/thomas-maeder/popeye.git
   cd popeye
   git checkout 4.89
   ln -s makefile.unx makefile
   make

Usage guide

Download the usage guide in your favourite language:

py-engl.txt (English)
py-deut.txt (Deutsch)
py-fran.txt (Français)

Example input files

The example input file archives will help you input problems correctly:

popeye-4.89-examples.zip (English as input language)
popeye-4.89-beispiel.zip (German)

Changes since Popeye 4.87

New features

Conditions

  • Dister family (min/max, black/white) (used in Andernach 2022)
  • Series Capture (to be used in Batumi 2023)
  • Breton PY
  • Dark Side (approximative - no complete definition available)

Piece types

  • ContraHamster

Output

  • forced reflex moves are now explicitly marked ?!?

Bug fixes

From issues

  • intelligent mode
    -- en passant capture: some solutions may have been missed
    -- pser stipulations: some solutions may have been missed
  • Rokagogo: avoid diagonal castlings
  • Phantom Chess + Geneva Chess: fix in check detection
  • Actuated Revolving Board: en passant information has to be revolved with the board
  • pser-s stipulations: correctly detect short solutions

Andernach 2022 special version

27 May 14:12

Choose a tag to compare

Tentative implementation of Dister conditions

Popeye 4.87

26 Jun 07:40

Choose a tag to compare

This is Release 4.87 of Popeye.

Downloading Popeye

Popeye executable

In order to use Popeye, you want to download an executable program or the source code to build an executable program yourself.

Windows 64bit: pywin64.exe
Windows 32bit: pywin32.exe
MacOS X: producing an executable for MacOS is always a hassle at best. I wasn't successful this time; if somebody can, I'll be happy to provide it here.
Linux:
   git clone https://github.com/thomas-maeder/popeye.git
   cd popeye
   git checkout v4.87
   ln -s makefile.unx makefile
   make

Usage guide

Download the usage guide in your favourite language:

py-engl.txt (English)
py-deut.txt (Deutsch)
py-fran.txt (Français)

Example input files

The example input file archives will help you input problems correctly:

popeye-4.87-examples.zip (English as input language)
popeye-4.87-beispiel.zip (German)

Changes since Popeye 4.85

New features

Conditions

  • RoleExchange

Options

  • Intelligent mode for reci-h#

Bug fixes

From issues

  • #253: PointReflection: castling must only be allowed by non-reflected king and rook
  • #254: AntiCirce Cage: Popeye entered an endless loop when looking for a cage in some cases
  • #290: TotalInvisible+Neutral pieces: restored behaviour lost in 4.85
  • #291: Make&Take: incorrect behaviour if the Make part of a move was a castling
  • #292: Stipulation 1->ser-h#3: full length solutions were not looked for if there were solutions in e.g. 1->ser-h#2
  • #299: Intelligent mode: would behave in different irritating ways with condition promonly and/or dummies
  • #307,#311: Intelligent mode: some mates with 2 blocking black rooks were not found
  • #309: CheekToCheek: had never been implemented correctly: "cheeked" pieces didn't lose their original power
  • #310: SnekChess: Popeye missed some solutions
  • #312: LeseMajeste: some mates were missed

Other

  • Influencer Chess: allow castling with a rook influenced into Rook
  • Dummies: were printed as TotalInvisibles by 4.85
  • Stipulation ser-reci-h#1 caused Popeye to crash in many versions
  • SStipulation with minimum length (e.g. black 10:12hh[#]): minimum and maximum length were printed in wrong order
  • Intelligent mode: Duplex with option enpassant would crash
  • ActuatedRevolvingCentre: some solutions were not found because of an invalid "optimization"

Popeye 4.85

24 May 17:32

Choose a tag to compare

This is Release 4.85 of Popeye.

Downloading Popeye

Popeye executable

In order to use Popeye, you want to download an executable program or the source code to build an executable program yourself.

Windows 64bit: pywin64.exe
Windows 32bit: pywin32.exe
Linux: popeye-4.85-sources.zip
MacOS X: producing an executable for MacOS is always a hassle at best. I wasn't successful this time; if somebody can, I'll be happy to provide it here.

Instead of downloading the source zip archive, you can also clone the git repository or (I assume) use one of the Source Code links.

Usage guide

Download the usage guide in your favourite language:

py-engl.txt (English)
py-deut.txt (Deutsch)
py-fran.txt (Français)

Example input files

The example input file archives will help you input problems correctly:

popeye-4.85-examples.zip (English as input language)
popeye-4.85-beispiel.zip (German)

Changes since Popeye 4.83

New features

Conditions

  • MasandGeneralised
  • NannaChess
  • Bolero
  • BoleroInverse
  • InfluencerChess (new condition to be published soon)

Pieces

  • TotalInvisible: support improved ("more correct" and much shorter solving times)

Options

  • NullMoves

Bug fixes

  • Intelligent mode: didn't find solutions ending in an ep capture where the capturing pawn intercepted a check (issues #257, #258)
  • Condition MessignyChess and Stipulation goal target square didn't go well together
  • Condition AntiCirce Clone: Popeye always applied one or two optimisations too many when testing proof games, resulting in existing solutions not being found
  • Conditions FaceToFace/BackToBack/CheekToCheek: proof games weren't correctly tested (issue #256)
  • Condition Circe Volcanic: Popeye would crash or produce nonsense for some problems
  • Conditions RoyalDynasty+Circe: Popeye up to 4.83 would castle with both kings after the rebirth on e1
  • Conditions Make&Take+Disparate: fixed check detection (issue #282)
  • Condition Take&Make: option StartMoveNumber hasn't worked since 4.67 (issue #286)
  • Condition HauntedChess and the likes: the underworld wasn't correctly reset for the next problem (issue #288)
  • Forsyth pieces input method: some input caused a crash (issue #260)