Nocheto News

List of changes in every new nocheto release.

2021.12.24 Happy Christmas! New version was released: 2.2.0!

This release brings following new features:

Support for null move(s)

You can add null move by move -- command (or just by --).

Null move is used when you wants in your analyze get move to the other player without really move any piece.

Games explorer

viewgamesexplorer command and configuration option were addeded. If enabled, nocheto shows several first (and last if there is enough space) games from explorer database. (Note: nocheto is not shipped with filled database, you have to load games by yourself, for example from

games explorer

explore [id ...] command create list of games from explorer for current position or for given ID(s) (ID is the number in first column in games explorer.)

search command can be used to find games in explorer database by given criterias (search< for current position).
For example: search p="Euwe" vs="Capablanca" >50 1922-1938 1-0 finds all games between Euwe and Capablanca with more than 50 moves played between 1922 and 1938 won by white player.

Changes in nochetodbload/eval

  • new option --ignore-duplicities was added. By default nochetodbload tries to find out if loaded game exists in the database and if so, game is ignored.
    This options disable searching for duplicities and speeds up loading games significantly. (But you shoud use it only if you are sure all loaded games are new.)
  • nochetodbeval shows duration to evaluate at the begin of its output (+ expected time of finish)

Changes in nochetopgn

  • nochetopng can now parse PGN files with null moves (--)
  • nochetopgn supports ⇄ and ↑↑ annotations now

Other changes

  • nag command uses ~ for $13 (unclear position), ??? for $9 (worst move) and > for $36 and $37 (white/black has the initiative) annotations.
  • moves command does not require * at the end of moves given by argument any more
  • when new PGN file is created, tags are sorted as required by PGN standard
  • nags command was renamed to listnags
  • new setnag command replaces all nags from current move by its argument (or remove all nags if no argument is provided). (nag command adds nags to existing ones.)
  • [explorer] section in configuration file was renamed to [database]. [explorer] section is used for explorer database now (database from which games are taken for game explorer).
  • engines command shows all configured engines with their parameters.

2021.12.05 New version was released: 2.1.0!

This release brings following new features:

Annotation Glyphs

  • Added support for many new annotation glyphs
  • saving/printing PGNs now uses NAG for UTF-8 annotations
  • added support for white/black only tag
  • New nags command shows table of supported annotations
  • allow zugzwang annotation to both white and black moves

moves command

New amazing moves command allows you to add a whole tree of moves by one command. For example, you can run moves 1.e4 (1.c4 c5) e5 2. Nf3 * to start game with those moves. You can of course add moves like that in the middle of the moves tree.

Othrer changes

  • nochetoclient in analyze mode shows line in Algebraic notation and the first move number
  • pgnformat = "hypercorrect" in [nocheto] section in config file enables saving SAN move suffixes as NAGs (Instead of 1.e4! * nocheto prints 1.e4 $1 *.)
  • analyzenotation="algebraic" in [board] section in config file sets the algebraic notation for nochetoclient in analyze mode.
  • --file option was added to nochetodbeval. If used, only moves from given file are analyzed.
  • colors are used in nags and variants
  • coloredvariants="1" in [board] section in config file enable colors in variants.
  • added --owner option to all nocheto executables
  • speeded up analyze command
  • kitty-utf8 board was added. Its the same as kitty, it just use utf8 characters for annotation glyphs etc.

Bug fixes

  • lichess tablebase API fixed
  • fixed notation error if king was not on board

2021.11.01 New version was released: 2.0.0!

This release brings following new features:

Kitty board

Nocheto now support graphical board on kitty console.
(This console is part of most Linux distributions, so you should be able to install it by your package manager.)

kitty board

  • Nocheto can create graphics board from image of size 800x800px (whole board) or 200x100px (two squares).
  • Dependencies on Magick library were removed from nocheto, which increase its portability. Nocheto uses its own image file format now, called nepix.
  • Graphics board can be created just by setting two colors.
  • Board and pieces images can be read from directories under ~/.nocheto/themes/ directory

Stoppable commands

Commands analyze+, play (to end, vs <engine> or <engine> vs <engine>) and replay are running in background now (in a separate thread), and therefore can be stopped by a new stop command.

You can list all stoppable commands by new stoplist command.
(Some other commands become stoppable in the future releases!)

New commands

  • stop and stopstoplist commands (see Stoppable commands above).
  • keepontop command enable clearing console before drawing board, which causes drawing the board always from the top.
  • switchsounds command can now enable/disable sounds.
  • debug command was added, which can enable/disable debugging on the fly.
  • listthemes command list themes you can use with boardtheme and piecestheme command
  • boardtheme, piecestheme, boardwhitecolor and boardblackcolor allows you to change values for corresponding configuration properties, see below.
  • clearboardcolors clears boardwhitecolor and boardblackcolor so the boartheme takes effect.
  • up<< command undo back to the main line

New configuration possibilities

Example of configuration for several engenes
[engine_stockfish] name = Stockfish 14 engine = /usr/games/stockfish [engine_komodo] name = Komodo 10 engine = komodo [engine_gnuchess] name = "Gnuchess" engine = gnuchessu

With this configuration, you can play against komodo by play vs komodo command, or let play stockfish against gnuchessu by play stockfish vs gnuchess command.

Other changes

  • Nochetoclient gets tablebase from nocheto, which decrease the amount of internet requests into the tablabase.
  • board command can now change the board. (It takes the same arguments as --board options).
  • goseconds configuration value affects time used by nochetoclient (in analyze mode) for analyzing one move. Value -1 is used for an infinite search. It is recommended to add goseconds=30 in your client.ini configuration file (use whatever you like instead of 30).
  • play vs <engine> command can switch the engine against which you play.
  • play <engine> vs <engine> command plays two given engines against each other.
  • Revision number is shown as a part of nocheto version now.

Buf fixes

  • fixed evaluation of mate and stalemate positions in nochetodbeval
  • UCI engine is now reconnected only if it is not running

New features in nochetodbload

nochetodbload can now delete loaded game. Use --delete-game option.

New features in nochetopgn

This new UTF-8 annotations are now detected: ∞,⩲,⩱,±,∓,⨀,○,⟳,↑,→,⇆,⨁,=/∞,− +,− + and N (for novelty).

2021.05.25 Nochetopgn was moved to a separate package

nochetopgn was moved to a separate package, as it is usually not required for studying or playing chess. And you can get it for free now!

Added save! command which rewrite existing file.

Fixed loading games from database (set limit to 1000).

Version of all packages was increased to 1.1.1.

2021.05.01 New version available: 1.1.0!

New versions of nocheto and nochetoengi 1.1.0 (FISHER edition) are released.
This release brings following new features:

Support for Chess 960

You can play, study and analyze Chess 960 games (also known as fisher chess) now.
The following commands were added or modified to support Chess 960:

  • fen960 Create Chess 960 game from FEN notation.
  • new960 Start new Chess 960 game.
  • variant Setup command for changing game type to standard chess or 960 chess.
  • reset Setup command now accept chess960 game id (number between 0 and 959) to set selected chess 960 start position

Board now shows fen with "Fen960:" for Chess 960 chess variant (if viewfen is enabled).

nochetodbeval has --chess960 option to evaluate chess960 games (otherwise they are skipped).

Namespaces in database

Namespaces were added for games stored in database. It diminishes need for using more than one database (which is still possible).
The following commands were addeded:

The games explorer can now show games from selected namespace(s).

nochetodbload has a new option --namespace which tells under which namespace games will be stored. (Default namespace is called primary).

Compressed utf8 board type

Compressed utf8 board was added.

Other changes

  • Added support for multipv. You can see now more lines in a clients analyze mode.
  • Improved support for various UCI engines.
  • hint command shows move evaluation now (in centipawns)
  • nochetodbload
    • removed --fens-only option, instead --games option was added.
    • added --dangerous-speed option
  • New configuration variable in [console] section playsounds.
  • Compressed board now can play sounds and show opening name.
  • error.wav sound is played on error.
  • added --conuter option for nochetopgn
  • Small speed up in reading big PGN files.
  • SOCI database layer is now compiled into executables, which improves portability.

Buf fixes

  • fixed fruit engine was running instead of komodo
  • fixed parsing of some malformed PGNs
  • fxied troublesome condition finding running engine process
  • fixed memory leaks

If you bought previous version 1.00, you can download this version for free. Just sign in and ask for linux package(s) you want.

2021.02.12 Release!

We are proud to announce that nocheto 1.00 is on sale!

This is the first release I was working last 2 years.
And I hope you will have the same fun with it as I have!

2021.01.01 Roadmap

These are the steps which must be done before Nocheto will be possible to purchase.

  1. Testing
  2. Create e-shop.
  3. Legal stuff.
  4. Release!

Expected release: soon!