en cs

Nocheto novinky

Přehled změn ke každému vydání Nocheta

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 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     
    - 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, gamesexplorerdimension,
      gamesexplorermode and viewcomments (all|window|tree)
    - value of new stalemateisosign property in [board] section can be used as
      sign for stalemate in moves 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 nocheto{sinc '3.0.0'}</p>

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

* 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

* 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)

* 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.