Nocheto News

List of changes in every new nocheto release.

2023.02.28 New version was released: 3.0.0!

This new major release brings three main exciting features:

  • bidirectional communication
  • clock support
  • support for managing multiple files (sheets)
  • and better help

Bidirectional communication

Clients in nocheto 2.x and older works like dumb terminals, which can only show parts of the UI they were configured to before started.

From version 3.0.0 they can execute commands like nocheto, so you can change their UI "on the fly". And they can also send commands to necheto, so there is not much difference between nocheto itself and nochetoclient(s) any more.

Commands are divided into two categories now:

  • local commands affects only client in which were run (for example flippboard flips board only in that client)
  • global commands affecting nocheto
    (for example a move is send to nocheto and then nocheto sends new position back to all connected clients)

Clock support

You can set time to play in nocheto now. You can play with time limits against engine or let two engines play each other with given time limits.

You can set different time limits for white and black player/engine.

Nocheto can read <code>[%clk ...]</code> commands from PGN now and show it in its (new) clock view. For that reason it does not show this command in comments any more (making the look more clean).

Nocheto also shows White/Black lost on time and stops play vs engine(s) and in autoplay mode on timeout.

printpgn and save commands prints/saves PGN with time controls
(optionally, if in [pgn] config section pgnclock="pgn")
TimeControl and Clock PGN tags are supported.

Sheets

Nocheto can handle multiple PGN files at once. These files are called sheets, because one file can contain more than one game. Other programs usually calls them (pgn) `database`, but this name is overused (for example, nocheto uses sqlite `database` to store analyzed moves).

Following commands were addeded:

  sheets              - shows games' sheets
  sheet [<id>]        - show current games' sheet or set <id> as current one
  sheet+              - set next games' sheet as current one
  sheet-              - set previous games' sheet as current one
  close [<id>]        - close games' sheet of given <id> or current one
  closeall            - close all games' sheets

open, new and new960 commands create a new sheet instead of replacing current one.

Ohter new commands

  • setclock sets the time limits for a new game.
    It shows a notice "tablebase view is enabled" if tablebase is enabled, because downloadig tablebase information might take a lot of time and therfore takes time from players clock. You can disable tablebase by vtb command.
  • timecontrols command lists configured timecontrols.
  • sync command can be used to synchronize ipv4 clients in case something went wrong with internet connection
  • game command is used instead of open with /\0 argument
  • open command can open multiple files at once
  • viewtabletree, vtt command
  • viewtabletreeheight command
  • expandtabletree, ett command
  • printjson command was renamed to printjtree
    (like nochetopgn argument --jtre)
  • vge+ <n>, vge- <n> commands to navigate in game explorer
  • vgemode {asc|desc|both} command sets ascending, descending or both mode for database explorer
  • vgedimension command sets dimension for database explorer view
  • viewcomments command enables/disables comments view
  • ipv4 and http commands accepts <address>:<port> arguments
  • pause and unpause commands can pause/unpause clients in analyze mode
  • listipv4 command lists connected clients
  • aliases command lists configured aliases

Configuration updates

  • new config section [pgn] was added. You can set pgnclock property to clk" or "" (to enable or disable [%clk ...] commands in saved/printed PGN
  • new config section [timecontrols] was added. You can get names to timecontrols and then used them with clock command. (They are listed by timecontrols command)
  • in [explorer] section you can set remote=1 to get the explorer data from nocheto in nochetoclient. This is experimental feature and works only if a --future option is used
  • new config properties in [board] sections were added: viewtabletree, expandtabletree, viewtabletreeheight, viewgamesexplorer, gamesexplorerdimension, gamesexplorermode, viewcomments (all|window|tree)
  • in [http] section requestlogfile can by set
  • new [startup] section was added in which you can put commands that will be executed during nocheto start
  • commands in [startup] are executed asynchronously. They might be separated by semicolon on one line, that assure all commands are executed in a serial fashion

Table tree view

New moves tree view was addeded to nocheto3.0.0

Use viewtabletree, vtt command to enable/disable it or the viewtabletree config option.

Table tree

Better help

Help becomes too big and too long, so it was divided into several groups.

  • help shows groups with its keys
  • help <group> shows short help for commands from given <group>
  • help!! shows commands which have an extra info
  • help! <command> shows help for given command with extra info
    This extra help has * at the beginning of every line to make it more readable
  • use help! help for more info

Help

Other changes

  • nocheto icons have nocheto's version number
  • listhttp shows HTTP or HTTPSTREAM
  • listipv4 shows IPv4
  • explore command was speeded up
  • added flipboard to puzzle mode
  • flipboard has arguments w|b|white|black now
  • engine name given by uci protocol is used in engines command
  • top left corner of the board is used to mark current mode: S for setup mode, P for puzzle mode and A if autoplay is on
  • games explorer view responsivenes was enhanced
  • new search command arguments: win, lose or draw
  • you can open more than one file at once from command line or by open command
  • clients in analyze mode are automatically stoped if analyze or play command is running in nocheto (unless --unpausable option is used)
  • nocheto uses new database format (v 4.0)
    Use nochetodbload --upgrade to upgrade your database

HTTP API

  • new api route which can run multiple commands in serial was added: /api/commands/?line=x;y;z
  • HTTP query string is logged
  • added basic HTTP authentication for HTTP server
  • www autoflip added to API example

Changes in nochetoclient

  • client in analyze mode understands keepontop
  • --unpausable option causes nochetoclient in analyze mode to become unpausable by pause command
  • --dummy option disables bidirectional communication (nochetoclient behaves more or less like in version 2.X.X)
  • nochetoclient will not start if mode argument is not one of the existing modes

Changes in nochetoengi

  • nochetoengi supports wtime, btime, depth and nodes UCI parameters now
  • name in uci output shows also version number

Changes in nochetodbload

  • nochetodbload with --upgrade option upgrades database from v 3.0 to v 4.0

Changes in nochetopgn

  • new output format options addeded: --jtree and --jtree-full
    (output is the same as from printjson command)

Fixes

  • fixed parsing illformed PGN tags ending with \""] by nochetopgn
  • fixed hanging nocheto after ctrl+d when async or http command is running
  • fixed showing game read time in seconds (not microseconds)
  • fixed UTF8 characters breaks in game explorer view
  • open command can open files with a space or a backslash in its name

2023.02.28 New version was released: 2.6.0!

This release brings following new features:

Changes in Commands

  • http command runs in backround now (therefore it is not stoppable any more)
  • http stop stops all HTTP servers
  • listhttp lists all running HTTP servers

Bug fixes

  • fixed closing TextUserInput (console might get broken after nocheto ended)
  • fixed occasional deadlock during parsing extremely short PGN strings
  • fixed nocheto's -m and -l options

This is the last update in 2.X nocheto branch which brings new features.
Only bug fixes and packages for new Linux distributions will be added.