Wednesday, 11 September 2013

CPT 4.2: List of new features, improvements and bug fixes

There are some big news like the new repertoire element "topic" to train tabiyas, automatically re-ordering your candidate moves, auto-analysis of your complete opening by an UCI engine or support for rich position comments.

The following list is not complete though. Some items are quite complex and deserve much more space than others, but it gives you a good overview of what actually happened the last 12 months. I became a power user of CPT myself again.I reviewed and fine-tuned almost every function. I believe you will notice the difference during your daily CPT session.

Right now I'm finalizing the new topic/tabiya feature before I will update the manual and finally release this new version. This will happen before x-mas.

New Features

  • New repertoire element ‚Topics' to create, manage and train tabiyas. A topic can have several tabiyas (e.g. one topic for chess puzzles, end game R vs. Q etc.). A tabiya can be any position and sequences of candidate moves. New training options. New statistic options. A new dimension!
  • Key positions of an opening can be easily added to a topic (to train them).
  • New function to re-order candidate moves based on move evaluation. This is a very powerful feature after importing a PGN file where the author includes for some positions more than one candidate move for your side. Usually this is done to show, which moves are weak and sometimes to provide an alternative move (often assessed as !?). In these cases the author often gives assessments for all candidate moves of the position, but the suggested candidate move is not always first. CPT can bring these candidate moves in order. No longer worry about learning the wrong candidate move after an import. Nor do you have to spend a lot of time to find those positions, where the author provided several candidate moves.
  • Position comments support formatting (colors, bold, size, font etc.) and complex layouts including bullets, tables and images. This enables chess coaches to create better training material. It also let you create comments in other languages, which need a different font (e.g. Cyrillic).
  • UCI Engine: new feature to analyze a complete opening with a chess engine. Positions missing critical candidate moves can be automatically marked and positions updated with engine analysis. Several options provide control. No need to use EPD export/import anymore. It can be all done within CPT and much more.
  • UCI engine: computer evaluation of the engine can be copied to the current position
  • Training: new function to reset all trainings scores of the complete repertoire, all positions of current opening, all positions from current position on.
  • ECO-Codes added and shown below the chessboard (optional).
  • New search criteria to jump to positions, which have more than one candidate move for the player side. This way it is possible to quickly check if the correct candidate move is always ranked first (for instance after importing a PGN file).
  • Navigating through a certain type of positions shows the total number in the status bar and the current position number in the list (e.g. positions marked as „Novelty": 2/56).
  • Current chessboard image can copied to the clipboard to be used in another program or to add it to a position comment.

Improvements / changes

  • CPT targets the .Net Framework 4.0 or higher now. Besides general compatibility improvements it will run-out-of-the-box under Windows 7 and Windows 8. Prior CPT version required the old Framework version 3.5 (4.x was not sufficient).
  • Training: the most recent trained opening will be automatically shown as the last opening in the opening module. This makes it much easier to switch between both modules.
  • Training: Recall intervals can be manually defined in the settings.
  • Training: After end of variation a comment can be optionally shown (if it exists). This will also pause the training and give the user a chance to review the just played line.
  • Training: Popup Repertoire Explorer layout will be synchronized with opening module (nodes are expanded and closed accordingly).
  • Training: improved performance for calculating new positions for training.
  • Training: Max. length of line from 3-40 to 3-99 increased
  • Training: Ignore side lines after X moves from 0-30 to 0-99 increased
  • Training: Max. depth of side lines from 0-20 to 0-99 increased
  • Statistics: New zoom function to view complex repertoires
  • Statistics: New option for labels to show them in a column. This is useful for complex repertoires.
  • Used Figurine font was ugly and bigger than other fonts. Regular font is used now.
  • Export PGN: Output layout was not easy to read and a 80 character line limit was in place.
  • Before database upgrade user will be asked to do a backup (manually or automatically). Option to abort upgrade.
  • Program options are no longer stored in isolate storage, but in the application folder („my documents/chess position trainer 4"). This makes it easier to copy them (e.g. to another computer).
  •  Variation don't show a training score anymore (it was always 0%)
  • Improved memory management: if many openings are shown in the opening module the program will only maintain one chessboard and switch it on the fly while changing the current tab / opening. Prior each tab had its own chessboard. Now the required memory is about constant regardless of how many openings are loaded.
  • New Skins
  • Run games against Repertoire: If settings are already defined the dialog box will be suppressed.
  • Run games against Repertoire: new command to change settings without having to re-open the window.
  • Run Games against Repertoire: games are ordered by descendent. Last game will be shown first.
  • Run Games against Repertoire: clicking the game row will show it (prior you had to click the right column of the row).
  • Engine Window: automatically start analysis, if the engine window (or opening module) was closed while analysis was running.
  • Statistics: openings are shown in the same order as in the opening module
  • Improved management and guidelines of docking panels.
  • Switched to one-click navigation for repertoire explorer, candidate move list, move list, previous move list and position explorer. Prior double-clicking was required.
  • Import: If the position to import already exists, but not the comment, the comment will be now added to the position. Please note that comments are not appended to an existing position comment. The only case where comments are appended is when no position comment already exists and the import has different comments for the same position. In this case it is possible to concatenate the comments.
  • Import: Performance improved.
  • Font can be freely selected from any installed one. The selected font will be applied to basically all used fonts of the program. Font size can also be changed (this makes it easier for people having problems with small fonts).
  • Position Explorer and Previous Candidate Move window are by default not shown.
  • Ribbon control updated
  • New splash and waiting screen for long taking operations (e.g. loading a complex statistic)

Bug Fixes

  • Position evaluations not correctly visually shown (e.g. engine analysis, ribbon position page, candidate move list).
  • Add Moves copied the candidate moves in the wrong order.
  • Jumping to marked positions would not jump to all positions of the selected type (e.g. you marked a position during a training session and the program would not find it).
  • UCI engine: analysis result for mate not correctly shown.
  • Deleting candidate move would delete the start position, if the variation is leading back to the start position and only one more candidate move exists for the start position. In practice this scenario should normally not exist.
  • Import: Some eBooks use a null move just before a variation. They could not be imported.
  • Import: Importing PGN file sometimes did not add a comment to the correct position.
  • Import: Importing a CPT 4 opening would not import comments.
  • Import: After PGN import a refresh was missing (e.g. candidate move list was not refreshed).
  • Import: Error message after importing a CPT 4 database.
  • Run games against Repertoire: Unsound novelties fixed. That means the program showed a novelty position, which in fact had no novelty move.
  • Run games against Repertoire: if no novelty exists the program would pick the last move instead of none.
  • Run games against Repertoire: Crash sometimes on loading a game.
  • Training: New positions and oldest first would sometimes show a white move for white and black in the move list. Sometimes the move list would begin with a black instead of a white move.
  • Training: if the position type "new positions" and "start with first new position" were selected, the program would repeat the line beginning with the first position after a wrong move was played.
  • Training: Position comment was sometimes not completely shown and no scrollbars were available.
  • Training statistic info: „Left positions" could go minus if training was done around midnight.
  • After using "Adding moves" a refresh was missing.
  • Scheduler: number of positions to be trained / missed today was not always correct.
  • Editing computer evaluation could result in an error message.
  • Export PGN: Comments were always added one position too late.
  • Opening Score was sometimes incorrectly 0% or 100% if new items were added or deleteXd.
  • Opening Knowledge Statistic: wrong numbers fixed (white and black openings didn't match with "all").
  • Opening complexity: selection of black/white had no filter effect
  • Opening Knowledge: Tooltip showed the opening for three times instead of "new", "learned" and "missed"
  • If no opening was shown the import command was deactivated although an opening to import into exists
  • Restoring layout of panels is not working properly.
  • Restoring layout of list views like the candidate move list would not recognize changed width of columns.
  • Pinned panels are not restored properly.
  • Collapsed ribbons are not restored properly.
  • Misc. bugs

Social Bookmarks

Comments (15)

  • Bryan Aguirre
    12 September 2013 at 10:17 |
    Bryan Aguirre

    Awesome list. I see Photo Reading is not getting any improvements (likely more important stuff) - two tweaks I have wanted for ages:
    1. speed - ideally at the fastest speed, the positions are almost presented in a blur (so fast your conscious mind finds them difficult to process, but your subconscious still does - this is the "theory" behind photo reading... whether it is bogus or not :))
    2. make the actual moves on the board - as per the above, subsconscious processing would seem to favour embedding the final position on the board over simply an arrow (i.e. your brain recalls seeing a particular set-up - not just the move before that set-up, with an arrow showing the next move).

    If possible, making the fastest position placement absurdly fast and adding a checkbox for "show move on board" for photoreading would be much appreciated (I know you have enough to do - so will just leave this here and hope it gets implemented some day!)
    Looking forward to 4.2 - thanks!!

  • Ivan
    12 September 2013 at 17:35 |

    If you will implement all these features without too much bugs and/or performance problems (yes, I'm still using the current, a bit slow CPT 4.1.1) I'm sure that your program will be my preferred chess program. And it means a lot of marketing haha... just joking but I will reccomend it to all my friends, that's for sure.

  • Brian Smith
    14 September 2013 at 06:14 |
    Brian Smith

    One must wonder what you have in mind for CPT 5.0 given all these!!

  • Jhor
    21 September 2013 at 03:58 |

    Bravo Stefan that's a long list! :-)

    Can you include a shortcut button that quickly toggles the default engine thinking ON or OFF with just one click? Because the current implementation needs additional step to open some sub buttons first before I can fire the engine and these buttons obstruct the top portion of the board.

    Secondly, please make it visually obvious whether the engine is running or not because when I let it stop thinking it just pauses and it seems like its still thinking deep.

    Laslty, its announced that the newest stockfish 4 release defaults to single core so CPT should provide option to configure the maximum number of cores or half the number of cores if hyperthreading exists.

    I hope my suggestions are simple :)

    • Elia Allen
      23 September 2013 at 02:10 |
      Elia Allen

      Yes now I still use Aqurium to analyze,because it is more ~ user friendly ~ if you have you can check its function.

      Jhor's suddestion is good ~

      • Brian Smith
        23 September 2013 at 03:58 |
        Brian Smith

        Odd you would say that. I have Aquarium...but never use it. I find it too convoluted. People who play computer aided 'correspondence chess' really try and master it though. I can see where it would be of benefit to them, but far less so for OTB players.

        But PLEASE do not try and make CPT an Aquarium clone! There is a reason it is so 'niche' and why Chess Assistant as well is a far second to Chessbase when it comes to popularity. They simply are too complicated. Just like the old NIC database system that died out.

        A training tool like this is a different class of product than either Aquarium, CA or Chessbase. I use Chessbase a lot...but am really excited with regards to CPT and how it can help me prepare for Over-The-Board play. There is nothing quite like it.

        • Elia Allen
          23 September 2013 at 04:37 |
          Elia Allen

          not to like Aqurium is good .
          basic CE function is need ~ if CPT want to implement CE function like:
          1.can analyze to deep ~ like Depth 20- not onlt stop in Depth18 or 19.
          2.can really turn off CE analyze ~ in CB I don't it can not turn off it still run in background.
 future can use tablebase 6p like CB ~ can make endgame research more conveniently.

  • Richard
    21 September 2013 at 09:50 |


    Would you also add a link on the Training ribbon to take one directly to the Training Schedule.
    Either that, or add a separate Training Schedule bar for Navigation.
    I'm suggesting this for one-click convenience instead of having to exit the training page by clicking Statistics, and then clicking on "Opening Training Schedule". I know its only two clicks instead of one, but it would make for a more pleasurable user experience :) Or maybe you already have a hotkey to take one directly to the Training Schedule that I don't know about.

  • Vaughn
    21 September 2013 at 21:15 |

    4.2 Sounds very exciting. I've played around with the version 4 trial quite a bit, and I'm ready to buy. Should I wait for 4.2 or will the 4 license upgrade for free?


    • Stefan Renzewitz
      22 September 2013 at 00:53 |
      Stefan Renzewitz

      CPT 4.2 is a free update for all CPT 4 pro license owners. So, yes, you can buy a license today and you will be able to run the pro version of CPT 4.2 without any additional cost.

  • Stig K Martinsen
    13 November 2013 at 22:37 |
    Stig K Martinsen

    One problem I have with the scheduled recall: I have added lots of lines to my repertoire, not all of them equally important and some of them I decided later not to play after all. But when positions from such lines show up during training, I can't find a way to just skip the position and move on to a more important one. Is there such a feature?

    I should probably uncheck the lines in question to render them inactive (I would prefer not to actually delete them since I may want to take them up again later). Do I really have to uncheck every single move? I think there should be at least an option to uncheck an entire line (i.e. a current move and all positions it leads to, provided they are not also reached from another move order in the repertoire).

    P.S. I hope you're still thinking of adding a "Scheduled + Complete line" training mode at some point.

    • Stefan Renzewitz
      13 November 2013 at 22:56 |
      Stefan Renzewitz

      At the moment you can't easily uncheck a move/position to remove it from training. In the candidate move list you can only (un)check a candidate move to be considered "best".

      If you use the scheduled mode only you could reset the training scores of a sub-variation by navigating to it in the repertoire module, switching to the training module and using the reset training score functions. It won't reset your whole opening, but just the current position and all following. The scheduled training mode only recalls positions with a training date. Thus the just resettet sub-variation won't show up anymore.

      I know that this is a popular request to deactivate variations or complete openings for training and I plan to provide some help for this scenario in the future, but not for version 4.2 yet.

      "Scheduled + Complete": yes, I definately consider to add this feature. With a little bit luck it will make it into 4.2

  • Stig K Martinsen
    13 November 2013 at 22:51 |
    Stig K Martinsen


    Actually, I can't even find a way to uncheck all the moves in a position. I thought this would get the job done of excluding positions from the scheduled recall, but apparently not. I think it should be possible to keep "inactive" lines in repertoire, so I don't have to remove them completely and then later insert/import them from scratch if I start playing them again.

    I still love the program though!

  • Stig K Martinsen
    13 November 2013 at 23:20 |
    Stig K Martinsen

    Thank you, Stefan.

    Resetting training scores sounds like a good workaround. Would I then need to do something if I want to get the variation back into the training schedule, or will it eventually show up anyway?



  • Alvaro Frota
    21 November 2013 at 19:16 |
    Alvaro Frota

    Olá Stefan!

    The 4.2 version looks really great!

    I think the speed of the program moves in a training session is very important. For me is impossible to think calmly about the position when the answer of the moves I make appears instantly on the board.

    Thus, I suggest an option that allows the user to control the speed of the moves made by the program during a training session. Currently this is possible only for the demonstrations of the lines. My suggestion is to allow the user to control the speed of the program moves when training the lines.

    This will be a great feature because currently the moves are too fast and it is impossible to think properly about the evolution of the opening chosed for the training.

    Thanks in advance!

    Álvaro Frota

Leave a comment

Please login to leave a comment. Optional login below.

CPT on Facebook


Stay up to date

Leave your e-mail and join our newsletter!