diff --git a/COPYING b/COPYING deleted file mode 100644 index 3ec6f6115..000000000 --- a/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - -Copyright (C) 1989, 1991 Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -Everyone is permitted to copy and distribute verbatim copies -of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/COPYING.md b/COPYING.md new file mode 100644 index 000000000..28fbecabf --- /dev/null +++ b/COPYING.md @@ -0,0 +1,361 @@ +### GNU GENERAL PUBLIC LICENSE + +Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +### Preamble + +The licenses for most software are designed to take away your freedom +to share and change it. By contrast, the GNU General Public License is +intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + +When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + +To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if +you distribute copies of the software, or if you modify it. + +For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + +We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + +Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, +we want its recipients to know that what they have is not the +original, so that any problems introduced by others will not reflect +on the original authors' reputations. + +Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at +all. + +The precise terms and conditions for copying, distribution and +modification follow. + +### TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +**0.** This License applies to any program or other work which +contains a notice placed by the copyright holder saying it may be +distributed under the terms of this General Public License. The +"Program", below, refers to any such program or work, and a "work +based on the Program" means either the Program or any derivative work +under copyright law: that is to say, a work containing the Program or +a portion of it, either verbatim or with modifications and/or +translated into another language. (Hereinafter, translation is +included without limitation in the term "modification".) Each licensee +is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the Program +(independent of having been made by running the Program). Whether that +is true depends on what the Program does. + +**1.** You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a +fee. + +**2.** You may modify your copy or copies of the Program or any +portion of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + +**a)** You must cause the modified files to carry prominent notices +stating that you changed the files and the date of any change. + + +**b)** You must cause any work that you distribute or publish, that in +whole or in part contains or is derived from the Program or any part +thereof, to be licensed as a whole at no charge to all third parties +under the terms of this License. + + +**c)** If the modified program normally reads commands interactively +when run, you must cause it, when started running for such interactive +use in the most ordinary way, to print or display an announcement +including an appropriate copyright notice and a notice that there is +no warranty (or else, saying that you provide a warranty) and that +users may redistribute the program under these conditions, and telling +the user how to view a copy of this License. (Exception: if the +Program itself is interactive but does not normally print such an +announcement, your work based on the Program is not required to print +an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + +**3.** You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + +**a)** Accompany it with the complete corresponding machine-readable +source code, which must be distributed under the terms of Sections 1 +and 2 above on a medium customarily used for software interchange; or, + + +**b)** Accompany it with a written offer, valid for at least three +years, to give any third party, for a charge no more than your cost of +physically performing source distribution, a complete machine-readable +copy of the corresponding source code, to be distributed under the +terms of Sections 1 and 2 above on a medium customarily used for +software interchange; or, + + +**c)** Accompany it with the information you received as to the offer +to distribute corresponding source code. (This alternative is allowed +only for noncommercial distribution and only if you received the +program in object code or executable form with such an offer, in +accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + +**4.** You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt otherwise +to copy, modify, sublicense or distribute the Program is void, and +will automatically terminate your rights under this License. However, +parties who have received copies, or rights, from you under this +License will not have their licenses terminated so long as such +parties remain in full compliance. + +**5.** You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + +**6.** Each time you redistribute the Program (or any work based on +the Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + +**7.** If, as a consequence of a court judgment or allegation of +patent infringement or for any other reason (not limited to patent +issues), conditions are imposed on you (whether by court order, +agreement or otherwise) that contradict the conditions of this +License, they do not excuse you from the conditions of this License. +If you cannot distribute so as to satisfy simultaneously your +obligations under this License and any other pertinent obligations, +then as a consequence you may not distribute the Program at all. For +example, if a patent license would not permit royalty-free +redistribution of the Program by all those who receive copies directly +or indirectly through you, then the only way you could satisfy both it +and this License would be to refrain entirely from distribution of the +Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + +**8.** If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + +**9.** The Free Software Foundation may publish revised and/or new +versions of the General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Program does not specify a +version number of this License, you may choose any version ever +published by the Free Software Foundation. + +**10.** If you wish to incorporate parts of the Program into other +free programs whose distribution conditions are different, write to +the author to ask for permission. For software which is copyrighted by +the Free Software Foundation, write to the Free Software Foundation; +we sometimes make exceptions for this. Our decision will be guided by +the two goals of preserving the free status of all derivatives of our +free software and of promoting the sharing and reuse of software +generally. + +**NO WARRANTY** + +**11.** BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +**12.** IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + +### END OF TERMS AND CONDITIONS + +### How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these +terms. + +To do so, attach the following notices to the program. It is safest to +attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + one line to give the program's name and an idea of what it does. + Copyright (C) yyyy name of author + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; either version 2 + of the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +Also add information on how to contact you by electronic and paper +mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details + type `show w'. This is free software, and you are welcome + to redistribute it under certain conditions; type `show c' + for details. + +The hypothetical commands \`show w' and \`show c' should show the +appropriate parts of the General Public License. Of course, the +commands you use may be called something other than \`show w' and +\`show c'; they could even be mouse-clicks or menu items--whatever +suits your program. + +You should also get your employer (if you work as a programmer) or +your school, if any, to sign a "copyright disclaimer" for the program, +if necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright + interest in the program `Gnomovision' + (which makes passes at compilers) written + by James Hacker. + + signature of Ty Coon, 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, +you may consider it more useful to permit linking proprietary +applications with the library. If this is what you want to do, use the +[GNU Lesser General Public +License](https://www.gnu.org/licenses/lgpl.html) instead of this +License. diff --git a/ChangeLog b/ChangeLog.md similarity index 78% rename from ChangeLog rename to ChangeLog.md index 4d25c30f8..3fed49557 100644 --- a/ChangeLog +++ b/ChangeLog.md @@ -1,15 +1,13 @@ -May 2021: Version 1.5.8 -- New Feature: Lichess Opening Databases +## May 2021: Version 1.5.8 +- New Feature: Lichess Opening Databases - New feature: Boardview as drop target for databases and games - New feature: Edit tags from the game list view - - Changed: Performance update PGN Parser - Changed: #290 Windows hides dialogs if off-screen - Changed: CR #185 Recognize and annotate draw conditions - Changed: CR #191 Engine analysis not inserted in notation - Changed: Transfer board rotation from Board Setup - - Bugfix: Open Recent does not respect UTF8 - Bugfix: Loading of large games - Bugfix: Fix dirty notification from database to GUI @@ -17,9 +15,9 @@ May 2021: Version 1.5.8 - Bugfix: #288 No speech engine available - Bugfix: Avoid nan in arrow painting -December 2020: Version 1.5.6 -- New Feature: Implement read support for Scid binary database (*.si4) +## December 2020: Version 1.5.6 +- New Feature: Implement read support for Scid binary database (*.si4) - New feature: Spray fields in pen mode by pressing alt+Left Mouse - New feature: Add option to hide special annotations in view - New feature: Show variation arrows @@ -30,20 +28,19 @@ December 2020: Version 1.5.6 - New feature: Open file from scratchpad / Drag file names to scratchpad - New feature: Visualization training - New feature: Indicate Draw percentage in OpeningTree - - Bugfix: Opening tree - switching between Database and Filter did not trigger tree update - Bugfix: Display of symbolic pieces in OpeningTreeWidget and variation list - Bugfix: Hotkeys are not serialized properly - Bugfix: Duplicate hotkeys for menus with same name - Bugfix: Do not ask to save clipboard - Bugfix: Dark theme handling - - Changed: Raise scratchpad when New or Open is invoked - Changed: Resize text fonts with Ctrl+ Ctrl- or Ctrl+Alt+Wheel - Changed: Increase max size for writable databases - Changed: Disable Raise of game list after filtering -March 2020: Version 1.5.4 +## March 2020: Version 1.5.4 + - New Feature: Support lc0 for Mac OS - New feature: blunder checking - New feature: Speak moves @@ -53,13 +50,13 @@ March 2020: Version 1.5.4 - Bugfix: Clearing database was broken - Bugfix: entering nags/null movees via keyboard -February 2018: Version 1.5.0 +## February 2018: Version 1.5.0 + - New Feature: Provide multi-selection for the database list view - New Feature: Load favorite databases at startup - New Feature: Read Chessbase Books (ctg) - New Feature: Read Arena Books (.abk) - New Feature: Drag databases into list of games - - New feature: Dark Theme - New feature: FICS console with commandline - New feature: Syzygy 7 men online tablebase @@ -75,7 +72,6 @@ February 2018: Version 1.5.0 - New feature: Send database to Mail-Client - New feature: Show analysis of position with one piece moved - New feature: Merge internal and external themes, new option to scale board images - - Bugfix: Reduced Memory Footprint - Bugfix: Removing a sub-variation kept some invisble moves - Bugfix: Internal engine produced silly suggestions in case of a check @@ -91,7 +87,6 @@ February 2018: Version 1.5.0 - Bugfix: Performance reading Polyglot positions - Bugfix: Disconnecting a FICS session leaked some memory - Bugfix: Progress bar missing occasionally - - Changed: Draw arrows with right mouse - Changed: Index file format updated - Changed: Support engines with state issues @@ -107,19 +102,19 @@ February 2018: Version 1.5.0 - Changed: Always use DefaultDataPath (instead of last used folder) for Save Dialogs - Changed: Index file version -April 2017: Version 1.4.6 +## April 2017: Version 1.4.6 + - New feature: Indicate underprotected pieces - New feature: Indicate covered squares - New feature: Book building progress - - Bugfix: Annotations remain visible after adding variation - Bugfix: Saving games on non-current database - Bugfix: Name of downloaded files - Bugfix: Crash engine accessing closed book - - Changed: Use more threads for book building -January 2017: Version 1.4.4 +## January 2017: Version 1.4.4 + - New feature: Game time for 2-player mode - New Feature: Drag databases into list of games - New feature: Copy lists to IMG/HTML in Clipboard @@ -139,7 +134,6 @@ January 2017: Version 1.4.4 - New feature: Search Help pages for texts - New feature: FICS requests with color - New feature: Show all good tablebase moves - - Bugfix: UCI_Chess960 occasionally not sent to Engine - Bugfix: Handling of UCI empty string tag - Bugfix: Renaming a player / event tag gave inconsistent index in case of existing target tag @@ -149,7 +143,6 @@ January 2017: Version 1.4.4 - Bugfix: Resizing the application would sometimes fail - Bugfix: Matchparameter Dialog misplaced - Bugfix: Premoving allowed moving opponent pieces - - Changed: Analysis time up to 10 minutes - Changed: Bundle Stockfish 8 - Changed: Icons in context menus @@ -158,14 +151,14 @@ January 2017: Version 1.4.4 - Changed: Tock at 30..20..10s before Timeout - Changed: Move some preferences onto toolbar -February 2016: Version 1.4.0 +## February 2016: Version 1.4.0 + - New Feature: Filter duplicate games - New Feature: Chess960 / Fischerandom Support - New Feature: Game matches with sudden death timing - New Feature: Let two engines play out a game (engine match) - New Feature: #104 Display arbitrary tags in game list - New Feature: Scratchpad - - New feature: Playerinfo filters complete openings - New feature: Support SCID format piece sets - New feature: Favorite web source with auto-increment @@ -193,7 +186,6 @@ February 2016: Version 1.4.0 - New feature: Drag/drop PGN-Files/Text to other applications - New feature: Make images flipped if mainboard is flipped - New feature: B/W images of board - - Bugfix: Crash loading small file from command line - Bugfix: Eco Info formatting - Bugfix: Castling not possible sometimes @@ -225,7 +217,6 @@ February 2016: Version 1.4.0 - Bugfix: Progress not indicated for searching operations - Bugfix: Rendering board would occasionally draw offset twice - Bugfix: Qt4 compatibility - - Changed: Skip empty parts when copying images - Changed: Always draw square around board - Changed: Training with Options @@ -234,7 +225,7 @@ February 2016: Version 1.4.0 - Changed: Do not elide tab text of boards - Changed: Reduce memory needed for RW-Databases -May 2015: Version 1.3.2 +## May 2015: Version 1.3.2 - New feature: Variation indicator in toolbox - New feature: FICS - Toggle board at beginning of puzzle @@ -245,19 +236,17 @@ May 2015: Version 1.3.2 - New feature: Clear filter before starting search from opening tree - New feature: Select board for searching position from open boards - New feature: Show threat after making move - - Bugfix: Index file usage broken - Bugfix: Missing newline copying games into a closed file - Bugfix: Better status message when copying multiple games - Bugfix: Gamelist header configuration does not persist - Bugfix: Windows Installation does not show Pin Icon -April 2015: Version 1.3.0 +## April 2015: Version 1.3.0 - New Feature: Play games on FICS with telnet or timeseal - New Feature: Boards now 1:1 with open databases - New Feature: Remove found items from filter - - New feature: Flip board to side to move while loading game in training - New feature: Setup Board Dialog with Coordinates - New feature: #137 Extend Opening tree (Back button) @@ -276,7 +265,6 @@ April 2015: Version 1.3.0 - New feature: Allow filtering of non-active DB from OpeningTree - New feature: Send PGN by mail - New feature: load project databases from Help menu - - Bugfix: Autoanalysis runs over remaining game after adding variation - Bugfix: Annotation menu seems to contain duplicate entry - Bugfix: Do not limit num pv in analysis @@ -287,7 +275,7 @@ April 2015: Version 1.3.0 - Bugfix: Loading translations failed - Bugfix: Open file with relative path from commandline -October 2014: Version 1.2.2 +## October 2014: Version 1.2.2 - Bugfix: Entering a rook move or 0-0 did not work via keyboard - Bugfix: Plycount wrong saving a game from the non-current database @@ -303,19 +291,16 @@ October 2014: Version 1.2.2 - Bugfix: Pasting PGN into new game did not set modified flag - Bugfix: Pasting FEN into new game did not create new game - Bugfix: Changes to square and arrow annotations in annotation dialog are not painted immediately - - New feature: CR#141 Edit game details - New feature: CR#140 Remember maximize state (and full-screen state) - New feature: Arrow as current move hint - New feature: Menu entry to clear clipboard database - New feature: Sorting of game list by clicking header (for databases<=4K) - New feature: Multi-Selection in the game list - - Enhanced: Speed up polyglot book building - - Changed: F3/F4 now load previous / next game -July 2014: Version 1.2.0 +## July 2014: Version 1.2.0 - New Feature: Use polyglot books in Opening Tree - New Feature: Build polyglot books from Databaselist @@ -325,7 +310,6 @@ July 2014: Version 1.2.0 - New Feature: Paste variation from clipboard into game - New Feature: Danish Translation (thanks to Byrial Jensen) - New Feature: Allow removing found items from filter - - New feature: Show title of game in Copy Game Dialog - New feature: Opening names in ECO Widget - New feature: Make position searches more comfortable @@ -340,7 +324,6 @@ July 2014: Version 1.2.0 - New feature: #117 Export screenshot to file - New feature: Filter in ECO widgets support regular expression - New feature: Checkbox in opening tree to add moves to game too - - Changed: Pinned games have infinite analysis depth - Changed: Dialogs remember sizes and screen positions - Changed: CR#127 New navigation buttons order. @@ -351,7 +334,6 @@ July 2014: Version 1.2.0 - Changed: Show game title now in three lines - Changed: Copy of a game via context menu copies selected game - Changed: ECO Widget shows names of openings - - Bugfix: Nags with bishops now exclusive - Bugfix: CR#205 line does not resume from the same indentation. - Bugfix: CR#204 Database is not released from memory upon closing @@ -360,7 +342,7 @@ July 2014: Version 1.2.0 - Bugfix: EGT Time annotation broken - Bugfix: Do not send ucinewgame after making a move -February 2014: Version 1.1.0 +## February 2014: Version 1.1.0 - New feature: Traning with Toolbar Icon - New feature: Play out game against engine @@ -383,7 +365,6 @@ February 2014: Version 1.1.0 - New feature: Additional link targets in info widgets - New feature: PromotionDialog as suggested in CR#113 Pieces in promotion dialog - New feature: Added possibility to force loading english lang in German and French - - Bugfix: #193 wrong nag $1-$6 - Bugfix: #191 Cannot edit an annotation-only comment - Bugfix: Time malformed @@ -405,17 +386,14 @@ February 2014: Version 1.1.0 - Bugfix: CR#182 Minimize - restore = tab switch bug - Bugfix: CR#181 typos - Bugfix: CR#178 Deleting a variation does not clear the annotation -- Bugfix: Unterverwandlung inkorrekt - +- Bugfix: Unterverwandlung - Fixed: textbrowserex.h case sensitivity (did not compile on Linux) - Fixed: a static leak (thanks to Albert for mentioning this) - Fixed: portability issue #185 Build error in enginelist.cpp for kFreeBSD - - Changed: Flip Icon consistent with main GUI - Changed: Slider 'Move Interval' moved from Preferences to StatusBar - -September 2013: Version 1.0.0 +## September 2013: Version 1.0.0 - New feature: Get translation files from server - New feature: Copy Text or HTML from Notation @@ -442,7 +420,6 @@ September 2013: Version 1.0.0 - New Feature: MDI-Interface - New feature: Opening tree has its own board view. - New Feature: CR#3607996 Always on top feature - - Bugfix: ChessBrowser does not indicate '?'-tags - Bugfix: HTML-Output contained one HTML-Header for each game - Bugfix: Sorting by size was not ideal @@ -459,10 +436,9 @@ September 2013: Version 1.0.0 - Bugfix: Created PGN was invalid due to invalid date format - Bugfix: Opening new game did not clear selection on game list -March 2013 Version 0.9.6 +## March 2013 Version 0.9.6 - Bugfix / Feature removal: Filtering opening tree was somewhat active - - Bugfix: (thx to James!) Promoting into different pieces cannot start - Bugfix: Before closing a database ask to save a new or modified game - Bugfix: CR#3596577 - Game modifications lost when changing a game @@ -478,7 +454,6 @@ March 2013 Version 0.9.6 - Bugfix: Removing a variation removed the wrong variation - Bugfix: Saving a database did not reset the modified flag resulting in - Bugfix: Selected wrong game when deleting games from Database - - New Feature: Accept FENs which do not have a valid EnPassant Encoding - New Feature: AutoPlayer - New Feature: Continuous Blunder Checking @@ -505,7 +480,7 @@ March 2013 Version 0.9.6 - New feature: DatabaseList double click opens file - New feature: Highlight last move done when scrolling through a game -December 2012 Version 0.9.4 +## December 2012 Version 0.9.4 - Bugfix: Writing of files automatically made use of UTF8 instead of ANSI - Bugfix: Crash at loading PolyGlot 1.4 @@ -514,7 +489,6 @@ December 2012 Version 0.9.4 - Bugfix: Databases with UNIX-LF - Bugfix: Some nags were not properly accessible from keyboard - Bugfix: No keyboard nags for first white move - - New Feature: Time Editor for elapsed game time - New Feature: CR#3580029 Add only first move from engine analysis - New feature: Close database from the database list with context menu @@ -526,14 +500,14 @@ December 2012 Version 0.9.4 - New Feature: Searching of ranges, e.g. ELO "2000-2300" - New Feature: Automatic classification with ECO of unclassified / new games -November 2012 Version 0.9.2 +## November 2012 Version 0.9.2 + - Bugfix: Support engines which send multiple spaces - Bugfix: Close Database while updateing opening tree - Bugfix: Filtering for number of moves fails if an empty game is in the database - Bugfix: Not well behaving Xboard engines crash ChessX - Bugfix: Search of Board crashes when started together with OpeninTree Update - Bugfix: Press CTRL+drag to irritate the guessMove implementation - - New Feature: Move Indicator adjusts itself in size (James Coons) - New Feature: Common Font Size for all widgets except game view - New Feature: Separate handling of UTF8 files @@ -543,15 +517,13 @@ November 2012 Version 0.9.2 - New Feature: F1 starts Help View and some help contents are already there - New Feature: Games with errors insided are marked red in game list - New feature: Added Stockfish as internal Engine in case no engine is configured - - New board themes Brazilwood and Maple - New Icons - - Usability: Filterflag only influences gamelist -September 2012 Version 0.9 +## September 2012 Version 0.9 -* New Features +- New Features - Player List as Dock Window - New Database List - Drag and Drop of games @@ -571,17 +543,15 @@ September 2012 Version 0.9 - Version Resource in Windows - Icon Resource in Windows - UTF8 Support - - -* bugfixes in Parser +- bugfixes in Parser - Fixed some strange PGN parsing issues - especially issues like the one described in #3396532 -* bugfixes in GUI +- bugfixes in GUI - It is not possible to add a variation from Analysis to a game text if standing at end of a variation - Bugfixes starting up engines - Disabled MultiPV on XBoard engines - Added elapsed time for analysis lines -* issues closed: +**issues closed:** - CR#2984375 Saving Clipboard fails silently - CR#3043278 Problem with LaTeX output @@ -604,162 +574,163 @@ September 2012 Version 0.9 - CR#3396532 errors reading multi line pgn formats - CR#2955889. -* Building +**Building** + - Separate Debug/Release/Static folders -November 20120 Version 0.8 - - * bug fixes: engine stuff - * feature:Add engine variation to the game - * feature:Implement MultiPV analysis for UCI engines (based on patch by Juan Carlos Girardi) - * feature:Add basic NAG editing - * feature:Simplify adding moves: always add variation if move exists. - * feature:Add menu command to remove/promote variation. - * feature:Show TableBase result in Analysis window. - -Wed 10 Feb 2010, 01:40:00 CET Version 0.7 - - * bugfix: do not crash when removing engines - * bugfix: no problems with more than 10 engines - * bugfix: do not stop running engine on minimize/hide - * usability: browse for executable when adding new engines - * bugfix: correctly display NAGs below the board - * bugfix: correctly truncate previous moves - * feature: global shortcut F2 to start/stop engine - * change: speedup by canceling previous OpeningTree search before the next - * bugfix: ignore clicks on illegal OpeningTree moves like [end] - * feature: make editable PGN size limit configurable - * feature: show progress bar when opening/saving files - * feature: show progress bar for OpeningTree - * feature: promote variation - -Wed 1 Jul 2009, 00:50:22 CET Version 0.6 - - * feature: warn when quitting with unsaved databases - * feature: improve Engine tab of Preferences dialog, add reordering - * feature: remember current engine - * bugfix: show correct score for Crafty - * bugfix: correctly display variations leading to mate in UCI engines - * bugfix: update ECO database for opening detection and move guesser - * bugfix: improve focus handling in game list and game text - * feature: timer-delayed game loading when pressing Ctrl+Down/Up - * bugfix: remove bold column names in TableView - * bugfix: support NAGs not preceeded with space in PGN parser - * bugfix: make PGN parser more robust - * bugfix: optimize PGN output - * bugfix: enable leading comment in mainline and variations - * bugfix: slightly improve PGN export formatting - * feature: allow creating new PGN databases - * change: drop CXD databases support - * bugfix: guess move only with mouse over the board - * feature: truncate from the beginning - * bugfix: correct tag order for QuickSearch - * feature: search games by number or number range - * bugfix: do not read a game beyong the end of file - * feature: allow editing pre-move comments - * bugfix: PGN standard compliant ep square in FEN - * bugfix: reparent some dialogs - * bugfix: remove flickering at startup - * feature: make comments editable - * feature: correctly read PGNs with FEN - * feature: new Leipzig theme - * feature: allow removing variations - * feature: enable HTML export - * feature: allow setting small fonts in chess text widgets (useful for laptops). - * bugfix: save all PGN tags - * bugfix: display correct move number in starting position - * feature: allow copying games between databases - * feature: allow copying pieces in BoardSetup by using Ctrl - * change: add Advanced setting to BoardSetup - * feature: PlayerInfo dialog with player statistics - * feature: display FEN in BoardSetup - * feature: copy/paste position in BoardSetup - * bugfix: correctly recognize promotions in UCI engines - * bugfix: correctly handle promotion in tablebases - * bugfix: support 1/2 as a draw symbol - -Wed 13 Jun 2007 19:47:32 CET Version 0.5 - - * feature: engine analysis - * feature: Opening Tree - * feature: Setup Position dialog enhancements - * feature: use ECO information to guess moves - * feature: option to combine searches - * feature: enable translations - * feature: make frame color configurable - * feature: remove last move with right click - * feature: remember matching position in position search - * feature: improve layout of Game Info - * feature: display game length in Game List - * feature: remove last move with right-click - * feature: shortcuts for Game List and Game Text - * bugfix: fix move loading failure in large databases - * bugfix: open PGN files from command line - * bugfix: don't flood tablebase servers with too many requests - * bugfix: sometimes online tablebase wasn't used even if enabled - * bugfix: flip setup board if main board is flipped - * bugfix: various small fixes to move guesser - * bugfix: some errors in Game/tags handling - * bugfix: do not crash when loading random game from empty filter - * change: lower network usage for EGTB server - * change: new, much faster Board implementation - * change: much faster Tag search - * change: do not highlight first move in starting position - * change: redesign Board tab in Preferences dialog - -Wed 9 May 2007 18:59:47 CET Version 0.4 - - * feature: new, much improved themes - * feature: move guesser - * feature: support for online tablebases - * feature: binary ECO file format (faster startup) - * feature: simple tag search dialog for single tag searches - * feature: improve look&feel and usability of Tip of the day - * feature: Apply button for Preferences dialog - * feature: configurable square highlight color - * bugfix: update theme when pieces are changed - * bugfix: fix some drag&drop problems - * bugfix: segfault when truncating moves from empty game - * bugfix: ask for promoted piece only for legal moves - * bugfix: allow variations in starting position - * bugfix: correctly redraw board frame - * bugfix: correctly show side to move in Setup Position dialog - * bugfix: fix rare bug when # symbol was displayed instead of + - * bugfix: correctly calculate hash value for en passant - * bugfix: re-enable FEN tag support - * change: optimize PGN loading (loads 10-20% faster) - -Mon 23 Apr 2007 18:59:47 CET Version 0.3 - - * feature: display ECO information - * feature: move pieces by drag&drop - * feature: remove moves/variations and truncate moves - * feature: display side to move - * feature: position search - * feature: internal support for editable PGN databases (no GUI yet!) - * feature: export games in filter/all games to PGN - * feature: small sample player database (look for Adams) - * bugfix: fix incorrect SAN representation of en-passant moves - * bugfix: correctly calculate game length displayed in GameInfo - * bugfix: display empty game - * bugfix: more robust PGN parsing - * bugfix: Sun-Solaris compilation (patch by Atul) - * bugfix: some improvements to Windows installer - * bugfix: more usual PGN format (space after move number etc.) - -Thu 28 Feb 2007 00:59:47 CET Version 0.2 - - * feature: highlight and display current move - * feature: add variations - * feature: support promotion when entering moves - * feature: redesign Setup Position to improve usability - * feature: check board validity in Setup position dialog - * bugfix: correctly display move numbers for non-standard games - * bugfix: keep move number and side to move when setting position - * bugfix: copy/paste move number to/from FEN - * bugfix: accept non-standard castling (0-0 instead of O-O) - * bugfix: correctly draw large boards in unscaled pixmap mode - * bugfix: insert all pieces in given color in Setup Position - * bugfix: fix segfault when removing piece from empty square - * bugfix: correctly finding installed data path on Debian. - * change: clean configuration file format +## November 20120 Version 0.8 + +- bug fixes: engine stuff +- feature:Add engine variation to the game +- feature:Implement MultiPV analysis for UCI engines (based on patch by Juan Carlos Girardi) +- feature:Add basic NAG editing +- feature:Simplify adding moves: always add variation if move exists. +- feature:Add menu command to remove/promote variation. +- feature:Show TableBase result in Analysis window. + +## Wed 10 Feb 2010, 01:40:00 CET Version 0.7 + +- bugfix: do not crash when removing engines +- bugfix: no problems with more than 10 engines +- bugfix: do not stop running engine on minimize/hide +- usability: browse for executable when adding new engines +- bugfix: correctly display NAGs below the board +- bugfix: correctly truncate previous moves +- feature: global shortcut F2 to start/stop engine +- change: speedup by canceling previous OpeningTree search before the next +- bugfix: ignore clicks on illegal OpeningTree moves like [end] +- feature: make editable PGN size limit configurable +- feature: show progress bar when opening/saving files +- feature: show progress bar for OpeningTree +- feature: promote variation + +## Wed 1 Jul 2009, 00:50:22 CET Version 0.6 + +- feature: warn when quitting with unsaved databases +- feature: improve Engine tab of Preferences dialog, add reordering +- feature: remember current engine +- bugfix: show correct score for Crafty +- bugfix: correctly display variations leading to mate in UCI engines +- bugfix: update ECO database for opening detection and move guesser +- bugfix: improve focus handling in game list and game text +- feature: timer-delayed game loading when pressing Ctrl+Down/Up +- bugfix: remove bold column names in TableView +- bugfix: support NAGs not preceeded with space in PGN parser +- bugfix: make PGN parser more robust +- bugfix: optimize PGN output +- bugfix: enable leading comment in mainline and variations +- bugfix: slightly improve PGN export formatting +- feature: allow creating new PGN databases +- change: drop CXD databases support +- bugfix: guess move only with mouse over the board +- feature: truncate from the beginning +- bugfix: correct tag order for QuickSearch +- feature: search games by number or number range +- bugfix: do not read a game beyong the end of file +- feature: allow editing pre-move comments +- bugfix: PGN standard compliant ep square in FEN +- bugfix: reparent some dialogs +- bugfix: remove flickering at startup +- feature: make comments editable +- feature: correctly read PGNs with FEN +- feature: new Leipzig theme +- feature: allow removing variations +- feature: enable HTML export +- feature: allow setting small fonts in chess text widgets (useful for laptops). +- bugfix: save all PGN tags +- bugfix: display correct move number in starting position +- feature: allow copying games between databases +- feature: allow copying pieces in BoardSetup by using Ctrl +- change: add Advanced setting to BoardSetup +- feature: PlayerInfo dialog with player statistics +- feature: display FEN in BoardSetup +- feature: copy/paste position in BoardSetup +- bugfix: correctly recognize promotions in UCI engines +- bugfix: correctly handle promotion in tablebases +- bugfix: support 1/2 as a draw symbol + +## Wed 13 Jun 2007 19:47:32 CET Version 0.5 + +- feature: engine analysis +- feature: Opening Tree +- feature: Setup Position dialog enhancements +- feature: use ECO information to guess moves +- feature: option to combine searches +- feature: enable translations +- feature: make frame color configurable +- feature: remove last move with right click +- feature: remember matching position in position search +- feature: improve layout of Game Info +- feature: display game length in Game List +- feature: remove last move with right-click +- feature: shortcuts for Game List and Game Text +- bugfix: fix move loading failure in large databases +- bugfix: open PGN files from command line +- bugfix: don't flood tablebase servers with too many requests +- bugfix: sometimes online tablebase wasn't used even if enabled +- bugfix: flip setup board if main board is flipped +- bugfix: various small fixes to move guesser +- bugfix: some errors in Game/tags handling +- bugfix: do not crash when loading random game from empty filter +- change: lower network usage for EGTB server +- change: new, much faster Board implementation +- change: much faster Tag search +- change: do not highlight first move in starting position +- change: redesign Board tab in Preferences dialog + +## Wed 9 May 2007 18:59:47 CET Version 0.4 + +- feature: new, much improved themes +- feature: move guesser +- feature: support for online tablebases +- feature: binary ECO file format (faster startup) +- feature: simple tag search dialog for single tag searches +- feature: improve look&feel and usability of Tip of the day +- feature: Apply button for Preferences dialog +- feature: configurable square highlight color +- bugfix: update theme when pieces are changed +- bugfix: fix some drag&drop problems +- bugfix: segfault when truncating moves from empty game +- bugfix: ask for promoted piece only for legal moves +- bugfix: allow variations in starting position +- bugfix: correctly redraw board frame +- bugfix: correctly show side to move in Setup Position dialog +- bugfix: fix rare bug when # symbol was displayed instead of + +- bugfix: correctly calculate hash value for en passant +- bugfix: re-enable FEN tag support +- change: optimize PGN loading (loads 10-20% faster) + +## Mon 23 Apr 2007 18:59:47 CET Version 0.3 + +- feature: display ECO information +- feature: move pieces by drag&drop +- feature: remove moves/variations and truncate moves +- feature: display side to move +- feature: position search +- feature: internal support for editable PGN databases (no GUI yet!) +- feature: export games in filter/all games to PGN +- feature: small sample player database (look for Adams) +- bugfix: fix incorrect SAN representation of en-passant moves +- bugfix: correctly calculate game length displayed in GameInfo +- bugfix: display empty game +- bugfix: more robust PGN parsing +- bugfix: Sun-Solaris compilation (patch by Atul) +- bugfix: some improvements to Windows installer +- bugfix: more usual PGN format (space after move number etc.) + +## Thu 28 Feb 2007 00:59:47 CET Version 0.2 + +- feature: highlight and display current move +- feature: add variations +- feature: support promotion when entering moves +- feature: redesign Setup Position to improve usability +- feature: check board validity in Setup position dialog +- bugfix: correctly display move numbers for non-standard games +- bugfix: keep move number and side to move when setting position +- bugfix: copy/paste move number to/from FEN +- bugfix: accept non-standard castling (0-0 instead of O-O) +- bugfix: correctly draw large boards in unscaled pixmap mode +- bugfix: insert all pieces in given color in Setup Position +- bugfix: fix segfault when removing piece from empty square +- bugfix: correctly finding installed data path on Debian. +- change: clean configuration file format diff --git a/ChangeLog.txt b/ChangeLog.txt deleted file mode 100644 index 2d80b9e60..000000000 --- a/ChangeLog.txt +++ /dev/null @@ -1,763 +0,0 @@ -This will install version 1.5.8 of ChessX. -May 2021: Version 1.5.8 -- New Feature: Lichess Opening Databases - -- New feature: Boardview as drop target for databases and games -- New feature: Edit tags from the game list view - -- Changed: Performance update PGN Parser -- Changed: #290 Windows hides dialogs if off-screen -- Changed: CR #185 Recognize and annotate draw conditions -- Changed: CR #191 Engine analysis not inserted in notation -- Changed: Transfer board rotation from Board Setup - -- Bugfix: Open Recent does not respect UTF8 -- Bugfix: Loading of large games -- Bugfix: Fix dirty notification from database to GUI -- Bugfix: #287 Linux archive / build environment -- Bugfix: #288 No speech engine available -- Bugfix: Avoid nan in arrow painting - -December 2020: Version 1.5.6 -- New Feature: Implement read support for Scid binary database (*.si4) - -- New feature: Spray fields in pen mode by pressing alt+Left Mouse -- New feature: Add option to hide special annotations in view -- New feature: Show variation arrows -- New feature: Engine draws an arrow for its best move -- New feature: Support online chess.com / lichess data access -- New feature: Scroll through game with ChartWidget -- New feature: Display eval annotations in the chart (%eval) -- New feature: Open file from scratchpad / Drag file names to scratchpad -- New feature: Visualization training -- New feature: Indicate Draw percentage in OpeningTree - -- Bugfix: Opening tree - switching between Database and Filter did not trigger tree update -- Bugfix: Display of symbolic pieces in OpeningTreeWidget and variation list -- Bugfix: Hotkeys are not serialized properly -- Bugfix: Duplicate hotkeys for menus with same name -- Bugfix: Do not ask to save clipboard -- Bugfix: Dark theme handling - -- Changed: Raise scratchpad when New or Open is invoked -- Changed: Resize text fonts with Ctrl+ Ctrl- or Ctrl+Alt+Wheel -- Changed: Increase max size for writable databases -- Changed: Disable Raise of game list after filtering - -March 2020: Version 1.5.4 -- New Feature: Support lc0 for Mac OS -- New feature: blunder checking -- New feature: Speak moves -- New feature: Refactor complete database -- Changed: Command-Key to force query for promotion dialog (instead of Meta) -- Bugfix: Undo setting up board required two steps -- Bugfix: Clearing database was broken -- Bugfix: entering nags/null movees via keyboard - -February 2018: Version 1.5.0 -- New Feature: Provide multi-selection for the database list view -- New Feature: Load favorite databases at startup -- New Feature: Read Chessbase Books (ctg) -- New Feature: Read Arena Books (.abk) -- New Feature: Drag databases into list of games - -- New feature: Dark Theme -- New feature: FICS console with commandline -- New feature: Syzygy 7 men online tablebase -- New feature: Change font size via mouse wheel -- New feature: Search depth for analysis -- New feature: Filter operation from gamelist -- New feature: Allow user-provided ECO files -- New feature: Save dialog allows to store extra tags -- New feature: Restrict search to start of word / end of word -- New feature: Edit shortcuts by pressing key -- New feature: Annotations beneath board view -- New feature: Turn board for given player -- New feature: Send database to Mail-Client -- New feature: Show analysis of position with one piece moved -- New feature: Merge internal and external themes, new option to scale board images - -- Bugfix: Reduced Memory Footprint -- Bugfix: Removing a sub-variation kept some invisble moves -- Bugfix: Internal engine produced silly suggestions in case of a check -- Bugfix: Parse more than one tag in a line -- Bugfix: Changing book in analysis should update moves immediately -- Bugfix: Do not list read-only databases as copy targets -- Bugfix: Update game list columns after leaving preferences -- Bugfix: Console output and event info lacks termination of bold text -- Bugfix: Avoid empty annotation when merging a game -- Bugfix: "New Game" disabled after loading game -- Bugfix: Invalid notation when inserting line from analysis -- Bugfix: Puzzle mode not terminated properly -- Bugfix: Performance reading Polyglot positions -- Bugfix: Disconnecting a FICS session leaked some memory -- Bugfix: Progress bar missing occasionally - -- Changed: Draw arrows with right mouse -- Changed: Index file format updated -- Changed: Support engines with state issues -- Changed: time representation to ISO format -- Changed: Do not ask to save deleted games -- Changed: Copy current game instead of first selected game -- Changed: Kick out hotkeys for database changes -- Changed: Analysis and Endgametables display localised piece strings -- Changed: Books support localized piece representation -- Changed: Accept PGN with obscure RAVs -- Changed: Index file format stores data size -- Changed: If loading modifies db, mark db as changed -- Changed: Always use DefaultDataPath (instead of last used folder) for Save Dialogs -- Changed: Index file version - -April 2017: Version 1.4.6 -- New feature: Indicate underprotected pieces -- New feature: Indicate covered squares -- New feature: Book building progress - -- Bugfix: Annotations remain visible after adding variation -- Bugfix: Saving games on non-current database -- Bugfix: Name of downloaded files -- Bugfix: Crash engine accessing closed book - -- Changed: Use more threads for book building - -January 2017: Version 1.4.4 -- New feature: Game time for 2-player mode -- New Feature: Drag databases into list of games -- New feature: Copy lists to IMG/HTML in Clipboard -- New feature: Workaround UCI option issue in Stockfish 8 -- New feature: Extended polyglot book generation -- New feature: Reverse moving with mouse -- New feature: Dragging piece with CTRL+SHIFT asks main engine / tablebase for eval -- New feature: FICS with Clock above / below board -- New feature: cz language pack -- New feature: Message History -- New feature: Rendering for Retina displays -- New feature: Indicate number of pieces in Board Setup -- New feature: Indicate King in check -- New feature: Paint Tools -- New feature: Show possible targets for selected piece -- New feature: FICS rematch -- New feature: Search Help pages for texts -- New feature: FICS requests with color -- New feature: Show all good tablebase moves - -- Bugfix: UCI_Chess960 occasionally not sent to Engine -- Bugfix: Handling of UCI empty string tag -- Bugfix: Renaming a player / event tag gave inconsistent index in case of existing target tag -- Bugfix: Restoration of floating docks -- Bugfix: Chess960 castling direction wrong -- Bugfix: Chess960 with UCI engines -- Bugfix: Resizing the application would sometimes fail -- Bugfix: Matchparameter Dialog misplaced -- Bugfix: Premoving allowed moving opponent pieces - -- Changed: Analysis time up to 10 minutes -- Changed: Bundle Stockfish 8 -- Changed: Icons in context menus -- Changed: Matchparameter Dialog -- Changed: Square annotations -- Changed: Tock at 30..20..10s before Timeout -- Changed: Move some preferences onto toolbar - -February 2016: Version 1.4.0 -- New Feature: Filter duplicate games -- New Feature: Chess960 / Fischerandom Support -- New Feature: Game matches with sudden death timing -- New Feature: Let two engines play out a game (engine match) -- New Feature: #104 Display arbitrary tags in game list -- New Feature: Scratchpad - -- New feature: Playerinfo filters complete openings -- New feature: Support SCID format piece sets -- New feature: Favorite web source with auto-increment -- New feature: List of recently used games -- New feature: Store some more FICS preferences -- New feature: Start threat with '--' -- New feature: Allow castling in normal game as in Chess960 with dragging King onto Rook -- New feature: Parse mal-formed FEN with - - - - at end -- New feature: Show folders on Linux desktops (similar to mac OS/Windows) -- New feature: Engine logging to file -- New feature: Helpbrowser with Index Combobox -- New feature: Castling support for chess960 -- New feature: Completer for FICS say messages -- New feature: Added checkbox so that engine starts game -- New feature: Premove against engine -- New feature: GUI provides book moves for engine games -- New feature: Plock 10s before end of FICS game -- New feature: Select Promotion Dialog with Meta-Modifier -- New feature: Show time annotation also for previous move (if available) -- New feature: Accept resignations from winboard engines -- New feature: FICS start button -- New feature: Assign rating to databases -- New feature: Test 50 moves/position repetition when playing out games -- New feature: No hints during training or puzzling -- New feature: Drag/drop PGN-Files/Text to other applications -- New feature: Make images flipped if mainboard is flipped -- New feature: Copy images with fixed size -- New feature: B/W images of board - -- Bugfix: Crash loading small file from command line -- Bugfix: Eco Info formatting -- Bugfix: Castling not possible sometimes -- Bugfix: Moving pieces with keyboard in auto-responder mode -- Bugfix: Frame around square where drag starts -- Bugfix: Undo move in FICS puzzle mode -- Bugfix: FICS timeout handling -- Bugfix: Openingthread crashes at end of FICS game -- Bugfix: Fics matches were not continued -- Bugfix: Copied games occasionally did not show up in game list immediately -- Bugfix: Closing databases at shutdwon if saving was neglected was wrong / duplicated queries for saving -- Bugfix: Copying games to active database occasionally forgot to update GUI -- Bugfix: Opening Tree might crash -- Bugfix: Player Opening Statistics wrong -- Bugfix: Do not indicate premove in FICS puzzle mode -- Bugfix: Output would occasionally write orphaned x... to HTML -- Bugfix: Size of slider text (thx to Byrial Jensen) -- Bugfix: Tablebase results would sometimes not fit to actual board -- Bugfix: FICS text "puzzle almost solved" ends puzzle mode -- Bugfix: Handle invalid password upon connecting to FICS -- Bugfix: Terminate auto analysis upon changing of database -- Bugfix: Doing moves while not at end of game broken -- Bugfix: Autoplayer did not work together with backward analysis enabled -- Bugfix: Chartwidget repaints occasionally fail -- Bugfix: Copy games from main menu did not work for selections -- Bugfix: Pasting into new game asserts -- Bugfix: Progress not indicated for searching operations -- Bugfix: Rendering board would occasionally draw offset twice -- Bugfix: Qt4 compatibility - -- Changed: Skip empty parts when copying images -- Changed: Always draw square around board -- Changed: Training with Options -- Changed: Force writing variations from Engine even if no move exists -- Changed: Set Result at end of game against engine -- Changed: Do not elide tab text of boards -- Changed: Reduce memory needed for RW-Databases - -May 2015: Version 1.3.2 - -- New feature: Variation indicator in toolbox -- New feature: FICS - Toggle board at beginning of puzzle -- New feature: Toolbox for adding Nags (e.g. on WhiteBoards) -- New feature: FICS - Filter computers and unrated users -- New feature: Show date of last access to a database -- New feature: Pin Opening Tree at a position -- New feature: Clear filter before starting search from opening tree -- New feature: Select board for searching position from open boards -- New feature: Show threat after making move - -- Bugfix: Index file usage broken -- Bugfix: Missing newline copying games into a closed file -- Bugfix: Better status message when copying multiple games -- Bugfix: Gamelist header configuration does not persist -- Bugfix: Windows Installation does not show Pin Icon - -April 2015: Version 1.3.0 - -- New Feature: Play games on FICS with telnet or timeseal -- New Feature: Boards now 1:1 with open databases -- New Feature: Remove found items from filter - -- New feature: Flip board to side to move while loading game in training -- New feature: Setup Board Dialog with Coordinates -- New feature: #137 Extend Opening tree (Back button) -- New feature: Undo last move in Opening Tree -- New feature: Player Info filters games also for specific color -- New feature: Player Info shows regularly played openings -- New feature: Automatic analysis backward from end of game -- New feature: Refactoring from context menu of game text -- New feature: PlayerInfo with performance per eco code -- New feature: Hide selected game from game list -- New feature: Allow editing arbitrary tags -- New feature: Draw annotations whith Shit+Left-Click with last color used -- New feature: Saving w/o dialog -- New feature: Material profile -- New feature: New board "lanta" -- New feature: Allow filtering of non-active DB from OpeningTree -- New feature: Send PGN by mail -- New feature: load project databases from Help menu - -- Bugfix: Autoanalysis runs over remaining game after adding variation -- Bugfix: Annotation menu seems to contain duplicate entry -- Bugfix: Do not limit num pv in analysis -- Bugfix: Pressing Shift while dragging piece creates illegal baord view -- Bugfix: Guess generation crashes when given an illegal position -- Bugfix: In auto responder mode, arrows where painted too late -- Bugfix: Dialogs non-modal -- Bugfix: Loading translations failed -- Bugfix: Open file with relative path from commandline - -October 2014: Version 1.2.2 -- Bugfix: Entering a rook move or 0-0 did not work via keyboard -- Bugfix: Plycount wrong saving a game from the non-current database -- Bugfix: Crash saving a database upon closing chessx if database was not current DB -- Bugfix: Enter-Key did not terminate entering a nag -- Bugfix: Occasionally random move would get highlighted -- Bugfix: Searching for Rounds and Moves did not work -- Bugfix: Searching for ranges did not include limits -- Bugfix: UCI Options containing a '.' were parsed incorrectly -- Bugfix: Entering half-ply count was limited to 99 moves (thx to Niklas) -- Bugfix: Retracing a game would fail at move one -- Bugfix: Retracing a game beyond a move with variations would leave invisible variations -- Bugfix: Pasting PGN into new game did not set modified flag -- Bugfix: Pasting FEN into new game did not create new game -- Bugfix: Changes to square and arrow annotations in annotation dialog are not painted immediately - -- New feature: CR#141 Edit game details -- New feature: CR#140 Remember maximize state (and full-screen state) -- New feature: Arrow as current move hint -- New feature: Menu entry to clear clipboard database -- New feature: Sorting of game list by clicking header (for databases<=4K) -- New feature: Multi-Selection in the game list - -- Enhanced: Speed up polyglot book building - -- Changed: F3/F4 now load previous / next game - -July 2014: Version 1.2.0 - -- New Feature: Use polyglot books in Opening Tree -- New Feature: Build polyglot books from Databaselist -- New Feature: Enter games via keyboard -- New Feature: Undo and Redo of game editing actions -- New Feature: Support for external tools -- New Feature: Paste variation from clipboard into game -- New Feature: Danish Translation (thanks to Byrial Jensen) -- New Feature: Allow removing found items from filter - -- New feature: Show title of game in Copy Game Dialog -- New feature: Opening names in ECO Widget -- New feature: Make position searches more comfortable -- New feature: CR#206 Remember settings for more windows. -- New feature: CR#203 Center the board inside its container -- New feature: CR#118 Gameview: Make tags clickable -- New feature: Auto analysis writes engine's name into final annotation -- New feature: Asynchronous Searching -- New feature: Allow several unsaved games at the same time (one per db) -- New feature: Allow disabling menu icons -- New feature: Allow constant move indicator -- New feature: #117 Export screenshot to file -- New feature: Filter in ECO widgets support regular expression -- New feature: Checkbox in opening tree to add moves to game too - -- Changed: Pinned games have infinite analysis depth -- Changed: Dialogs remember sizes and screen positions -- Changed: CR#127 New navigation buttons order. -- Changed: board tabs carry name of db instead of numbers -- Changed: Auto analysis won't add move at end of game -- Changed: Assignment of CTRL+C key to direct pasting of PGN -- Changed: #121 Thicker, more visible arrows and colored squares -- Changed: Show game title now in three lines -- Changed: Copy of a game via context menu copies selected game -- Changed: ECO Widget shows names of openings - -- Bugfix: Nags with bishops now exclusive -- Bugfix: CR#205 line does not resume from the same indentation. -- Bugfix: CR#204 Database is not released from memory upon closing -- Bugfix: Annotations were not handled correctly when compacting database -- Bugfix: Analysis/"Mate in" has inconsistent color -- Bugfix: EGT Time annotation broken -- Bugfix: Do not send ucinewgame after making a move - -February 2014: Version 1.1.0 - -- New feature: Traning with Toolbar Icon -- New feature: Play out game against engine -- New feature: Limit time that engines may use for analysis -- New feature: Auto Responder for training openings etc. -- New feature: Show name of opening in addition to ECO-Code -- New feature: Use any open database as source for Opening Tree -- New feature: Opening Tree with Filter as Source -- New feature: Splitter in Detail Views -- New Feature: CR#6 Configurable shortcuts -- New feature: Visual indicator for results -- New feature: Show location of AppSettings in About Dlg -- New feature: CR#108 Lock engine to current position -- New feature: Null moves at unusual positions -- New feature: Incremental Opening Tree -- New feature: Adjust columns in list views -- New feature: Tabs switch if something is dragged to them (CR#112) -- New feature: Hilite new favorite item -- New feature: Select font for ChessBrowser from Preferences -- New feature: Additional link targets in info widgets -- New feature: PromotionDialog as suggested in CR#113 Pieces in promotion dialog -- New feature: Added possibility to force loading english lang in German and French - -- Bugfix: #193 wrong nag $1-$6 -- Bugfix: #191 Cannot edit an annotation-only comment -- Bugfix: Time malformed -- Bugfix: #189 Missing PNG for new board button -- Bugfix: Searching for result 1-0 was not possible -- Bugfix: Filtering if filter widget was changed from another widget -- Bugfix: CR#105 few remarks - issue 1 - coherence with icons -- Bugfix: CR#187 comments before first move are not read -- Bugfix: HTML-Output in some special cases wrong -- Bugfix: Worked around potential leak with smart pointer -- Bugfix: Issue closing chessx while loading a database -- Bugfix: Some columns won't display their content if the local setup is old enough -- Bugfix: #180 - part 3 (user is asked several times to load database) -- Bugfix: Nullmove issue -- Bugfix: #180: Load Order of DLLs (did not start on Windows) -- Bugfix: Better output of end of variations -- Bugfix: Workaround for Apache Issue: #183 Download of PGN databases fails because of blocked user-agent -- Bugfix: Guessengine crashes when accessing uninitialized memory -- Bugfix: CR#182 Minimize - restore = tab switch bug -- Bugfix: CR#181 typos -- Bugfix: CR#178 Deleting a variation does not clear the annotation -- Bugfix: Unterverwandlung inkorrekt - -- Fixed: textbrowserex.h case sensitivity (did not compile on Linux) -- Fixed: a static leak (thanks to Albert for mentioning this) -- Fixed: portability issue #185 Build error in enginelist.cpp for kFreeBSD - -- Changed: Flip Icon consistent with main GUI -- Changed: Slider 'Move Interval' moved from Preferences to StatusBar - -September 2013: Version 1.0.0 - -- New feature: Get translation files from server -- New feature: Copy Text or HTML from Notation -- New feature: Offer to load a default database for first time users -- New feature: CR#10 Configurable Game View - customize appearance of notation -- New feature: Inserting moves (in addition to adding moves as variation -- New Feature: CR#86 Merge games with Drag&Drop -- New Feature: CR#46 Games whose position is [end] selectable -- New Feature: CR#43 Frequency and score ~0% instead of 0% when not exactly 0 -- New feature: Setup Dialog has new functions to mirror board or colors. -- New feature: Select Language from Preferences (requires restart) -- New feature: Online check for updates -- New Feature: Column date of last modification -- New Feature: Localized Piece Initials (see CR#3592733 Output / Input PGN -- New feature: Create a Diagram Nag (201 like in SCID) from GUI -- New Feature: Draw Board Coordinates (see CR#1715710 Numbers and ...) -- New Feature: HTML Output with readable basic tags instead of PGN look -- New feature: Diagrams in HTML Export and Notation -- New feature: HTML Output with symbolic nags in HTML/UTF8 -- New features: Navigation within siblings of variations with keyboard -- New feature: Enter or Exit Variation now moves within mainline -- New feature: Toolbar for commonly used actions -- New Feature: ECO based Opening Overview of the current database -- New Feature: MDI-Interface -- New feature: Opening tree has its own board view. -- New Feature: CR#3607996 Always on top feature - -- Bugfix: ChessBrowser does not indicate '?'-tags -- Bugfix: HTML-Output contained one HTML-Header for each game -- Bugfix: Sorting by size was not ideal -- Bugfix: CR#171 - Board Setup dialog: wrong board size -- Bugfix: Removing last arrow annotation leaves ugly comment -- Bugfix: Stay On Top accidentally active in OS which were Non-Windows-OS -- Bugfix: Concurrent loading of games (fix from James Coons) -- Bugfix: Game List was not updated after bulk copy of games -- Bugfix: Black ELo was only saved if a white ELO was given -- Bugfix: CR#3612157 tablebase -- Bugfix: Performance Boost for filtering with result-cache -- Bugfix: CR#3611434 Local vs global menu inconsistency -- Bugfix: Update Widgets after saving a database -- Bugfix: Created PGN was invalid due to invalid date format -- Bugfix: Opening new game did not clear selection on game list - -March 2013 Version 0.9.6 - -- Bugfix / Feature removal: Filtering opening tree was somewhat active - -- Bugfix: (thx to James!) Promoting into different pieces cannot start -- Bugfix: Before closing a database ask to save a new or modified game -- Bugfix: CR#3596577 - Game modifications lost when changing a game -- Bugfix: Ctrl+Drag in BoardSetup-Dialog loses a button -- Bugfix: DatabaseList view shows Linked local files with annoying scheme -- Bugfix: Drawing board when resizing off by 1 -- Bugfix: Enable Escape-Key for Dialogs -- Bugfix: Flickering with OpeningTree open -- Bugfix: New Game did not clear the tags from the last game -- Bugfix: Openening ECO files missed some checks -- Bugfix: Opening ZIP or URL from Commandline or event loop was missing -- Bugfix: Parsing half move count in FEN (Francis Monkman) -- Bugfix: Removing a variation removed the wrong variation -- Bugfix: Saving a database did not reset the modified flag resulting in -- Bugfix: Selected wrong game when deleting games from Database - -- New Feature: Accept FENs which do not have a valid EnPassant Encoding -- New Feature: AutoPlayer -- New Feature: Continuous Blunder Checking -- New Feature: Drag Drop complete db onto other db -- New Feature: Player List with linked ECO filtering -- New Feature: PlayerList gives hints on openings played -- New Feature: Sorting the list of databases with header click -- New Feature: Support Team Tags when saving games -- New feature: Accept FEN with invalid movenumber (James Coons suggestion) -- New feature: Reload last game at open of database -- New feature: Mass changing tags in database (Events, Player Names) -- New feature: Shift+Rightclick on Boardview allows editing of colored -- New feature: Training mode -- New feature: Numbering variations -- New feature: Refactor complete game (uncomment / remove all variations) -- New feature: Saving a game can now be either cancelled (the new option) -- New feature: Edit square colors like in chessbase with Shift+Right- -- New feature: Delete games from a database -- New feature: Auto Analysis with Engine 1 of one or more games -- New feature: Clear cache between database changes -- New feature: Reorder variations - CR#3558001 -- New feature: Force adding a move as variation by pressing ALT while -- New feature: Copy Fen in human readable form - CR#3580030 -- New feature: DatabaseList double click opens file -- New feature: Highlight last move done when scrolling through a game - -December 2012 Version 0.9.4 - -- Bugfix: Writing of files automatically made use of UTF8 instead of ANSI -- Bugfix: Crash at loading PolyGlot 1.4 -- Bugfix: Comment at start of empty game -- Bugfix: Databases larger than 4G -- Bugfix: Databases with UNIX-LF -- Bugfix: Some nags were not properly accessible from keyboard -- Bugfix: No keyboard nags for first white move - -- New Feature: Time Editor for elapsed game time -- New Feature: CR#3580029 Add only first move from engine analysis -- New feature: Close database from the database list with context menu -- New feature: Toggle UTF8 flag in database list -- New feature: Open compressed archives (from HTTP or local file) -- New feature: Open a database from a URL (HTTP) -- New Feature: Clear Nags from keyboard with -- New Feature: Create Index File thus accelerating re-loading of large PGN enormously -- New Feature: Searching of ranges, e.g. ELO "2000-2300" -- New Feature: Automatic classification with ECO of unclassified / new games - -November 2012 Version 0.9.2 -- Bugfix: Support engines which send multiple spaces -- Bugfix: Close Database while updateing opening tree -- Bugfix: Filtering for number of moves fails if an empty game is in the database -- Bugfix: Not well behaving Xboard engines crash ChessX -- Bugfix: Search of Board crashes when started together with OpeninTree Update -- Bugfix: Press CTRL+drag to irritate the guessMove implementation - -- New Feature: Move Indicator adjusts itself in size (James Coons) -- New Feature: Common Font Size for all widgets except game view -- New Feature: Separate handling of UTF8 files -- New feature: List views can be customized (right click title line) -- New feature: UCI Option Parser -- New Feature: CTRL+drag, CTRL-Shift-Drag replaces or inserts a move -- New Feature: F1 starts Help View and some help contents are already there -- New Feature: Games with errors insided are marked red in game list -- New feature: Added Stockfish as internal Engine in case no engine is configured - -- New board themes Brazilwood and Maple -- New Icons - -- Usability: Filterflag only influences gamelist - -September 2012 Version 0.9 - -* New Features -- Player List as Dock Window -- New Database List -- Drag and Drop of games -- Drag and Drop of Databases -- Second analysis window -- Locate Databases on harddisk in Explorer/Finder -- Multi-Threading Support for opening DB and updating Opening Tree -- Copy / Paste of PGN -- Create Images of Boards -- New Board Styles -- All Resources internal -- Parsing PGN to draw arrows on board (cf. chessbase) -- Parsing PGN to color Squares (cf. chessbase) -- Parse / Insert Zero Moves to document / analyze threats -- Drag'n'Drop Support setting up a board -- Relaxed FEN handling for easier pasting of FENs -- Version Resource in Windows -- Icon Resource in Windows -- UTF8 Support - - -* bugfixes in Parser -- Fixed some strange PGN parsing issues - especially issues like the one described in #3396532 -* bugfixes in GUI -- It is not possible to add a variation from Analysis to a game text if standing at end of a variation -- Bugfixes starting up engines -- Disabled MultiPV on XBoard engines -- Added elapsed time for analysis lines - -* issues closed: - -- CR#2984375 Saving Clipboard fails silently -- CR#3043278 Problem with LaTeX output -- CR#3135871 No control performed on input date -- CR#3135871 No control performed on input date -- CR#2872974 Remove->Previous moves should be smarter -- CR#3542101 Changing and saving a file does not update the game list view -- CR#2881228 Crash on File->Close (or Quit) with OpeningTree updating -- CR#3297478 Crash on move gxh2+ -- CR#2823746 Crash when trying to analyze with non-existing New Engine -- CR#2881228 Crash on File->Close (or Quit) with OpeningTree updating -- CR#3170534 Crash if start of engine fails (0.8) -- CR#3179203 Do not crash trying to show a special NAG; this should solve bug . -- CR#2824024 Confusion between slash and backslash in file paths -- CR#1773747 "Change guessed move on right click". The feature can be configured, as currently we have "take back a move" om mouse right click (if configured, CTRL+right-mouse will move back instead) -- CR#1651405 "Comments in UTF-8 are broken" -- CR#1715720 -- CR#1984912 Names in GameList vs QuickTagSearch -- CR#3043278 Problem with LaTeX output -- CR#3396532 errors reading multi line pgn formats -- CR#2955889. - -* Building -- Separate Debug/Release/Static folders - -November 20120 Version 0.8 - - * bug fixes: engine stuff - * feature:Add engine variation to the game - * feature:Implement MultiPV analysis for UCI engines (based on patch by Juan Carlos Girardi) - * feature:Add basic NAG editing - * feature:Simplify adding moves: always add variation if move exists. - * feature:Add menu command to remove/promote variation. - * feature:Show TableBase result in Analysis window. - -Wed 10 Feb 2010, 01:40:00 CET Version 0.7 - - * bugfix: do not crash when removing engines - * bugfix: no problems with more than 10 engines - * bugfix: do not stop running engine on minimize/hide - * usability: browse for executable when adding new engines - * bugfix: correctly display NAGs below the board - * bugfix: correctly truncate previous moves - * feature: global shortcut F2 to start/stop engine - * change: speedup by canceling previous OpeningTree search before the next - * bugfix: ignore clicks on illegal OpeningTree moves like [end] - * feature: make editable PGN size limit configurable - * feature: show progress bar when opening/saving files - * feature: show progress bar for OpeningTree - * feature: promote variation - -Wed 1 Jul 2009, 00:50:22 CET Version 0.6 - - * feature: warn when quitting with unsaved databases - * feature: improve Engine tab of Preferences dialog, add reordering - * feature: remember current engine - * bugfix: show correct score for Crafty - * bugfix: correctly display variations leading to mate in UCI engines - * bugfix: update ECO database for opening detection and move guesser - * bugfix: improve focus handling in game list and game text - * feature: timer-delayed game loading when pressing Ctrl+Down/Up - * bugfix: remove bold column names in TableView - * bugfix: support NAGs not preceeded with space in PGN parser - * bugfix: make PGN parser more robust - * bugfix: optimize PGN output - * bugfix: enable leading comment in mainline and variations - * bugfix: slightly improve PGN export formatting - * feature: allow creating new PGN databases - * change: drop CXD databases support - * bugfix: guess move only with mouse over the board - * feature: truncate from the beginning - * bugfix: correct tag order for QuickSearch - * feature: search games by number or number range - * bugfix: do not read a game beyong the end of file - * feature: allow editing pre-move comments - * bugfix: PGN standard compliant ep square in FEN - * bugfix: reparent some dialogs - * bugfix: remove flickering at startup - * feature: make comments editable - * feature: correctly read PGNs with FEN - * feature: new Leipzig theme - * feature: allow removing variations - * feature: enable HTML export - * feature: allow setting small fonts in chess text widgets (useful for laptops). - * bugfix: save all PGN tags - * bugfix: display correct move number in starting position - * feature: allow copying games between databases - * feature: allow copying pieces in BoardSetup by using Ctrl - * change: add Advanced setting to BoardSetup - * feature: PlayerInfo dialog with player statistics - * feature: display FEN in BoardSetup - * feature: copy/paste position in BoardSetup - * bugfix: correctly recognize promotions in UCI engines - * bugfix: correctly handle promotion in tablebases - * bugfix: support 1/2 as a draw symbol - -Wed 13 Jun 2007 19:47:32 CET Version 0.5 - - * feature: engine analysis - * feature: Opening Tree - * feature: Setup Position dialog enhancements - * feature: use ECO information to guess moves - * feature: option to combine searches - * feature: enable translations - * feature: make frame color configurable - * feature: remove last move with right click - * feature: remember matching position in position search - * feature: improve layout of Game Info - * feature: display game length in Game List - * feature: remove last move with right-click - * feature: shortcuts for Game List and Game Text - * bugfix: fix move loading failure in large databases - * bugfix: open PGN files from command line - * bugfix: don't flood tablebase servers with too many requests - * bugfix: sometimes online tablebase wasn't used even if enabled - * bugfix: flip setup board if main board is flipped - * bugfix: various small fixes to move guesser - * bugfix: some errors in Game/tags handling - * bugfix: do not crash when loading random game from empty filter - * change: lower network usage for EGTB server - * change: new, much faster Board implementation - * change: much faster Tag search - * change: do not highlight first move in starting position - * change: redesign Board tab in Preferences dialog - -Wed 9 May 2007 18:59:47 CET Version 0.4 - - * feature: new, much improved themes - * feature: move guesser - * feature: support for online tablebases - * feature: binary ECO file format (faster startup) - * feature: simple tag search dialog for single tag searches - * feature: improve look&feel and usability of Tip of the day - * feature: Apply button for Preferences dialog - * feature: configurable square highlight color - * bugfix: update theme when pieces are changed - * bugfix: fix some drag&drop problems - * bugfix: segfault when truncating moves from empty game - * bugfix: ask for promoted piece only for legal moves - * bugfix: allow variations in starting position - * bugfix: correctly redraw board frame - * bugfix: correctly show side to move in Setup Position dialog - * bugfix: fix rare bug when # symbol was displayed instead of + - * bugfix: correctly calculate hash value for en passant - * bugfix: re-enable FEN tag support - * change: optimize PGN loading (loads 10-20% faster) - -Mon 23 Apr 2007 18:59:47 CET Version 0.3 - - * feature: display ECO information - * feature: move pieces by drag&drop - * feature: remove moves/variations and truncate moves - * feature: display side to move - * feature: position search - * feature: internal support for editable PGN databases (no GUI yet!) - * feature: export games in filter/all games to PGN - * feature: small sample player database (look for Adams) - * bugfix: fix incorrect SAN representation of en-passant moves - * bugfix: correctly calculate game length displayed in GameInfo - * bugfix: display empty game - * bugfix: more robust PGN parsing - * bugfix: Sun-Solaris compilation (patch by Atul) - * bugfix: some improvements to Windows installer - * bugfix: more usual PGN format (space after move number etc.) - -Thu 28 Feb 2007 00:59:47 CET Version 0.2 - - * feature: highlight and display current move - * feature: add variations - * feature: support promotion when entering moves - * feature: redesign Setup Position to improve usability - * feature: check board validity in Setup position dialog - * bugfix: correctly display move numbers for non-standard games - * bugfix: keep move number and side to move when setting position - * bugfix: copy/paste move number to/from FEN - * bugfix: accept non-standard castling (0-0 instead of O-O) - * bugfix: correctly draw large boards in unscaled pixmap mode - * bugfix: insert all pieces in given color in Setup Position - * bugfix: fix segfault when removing piece from empty square - * bugfix: correctly finding installed data path on Debian. - * change: clean configuration file format diff --git a/License.txt b/License.txt deleted file mode 100644 index 3ec6f6115..000000000 --- a/License.txt +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - -Copyright (C) 1989, 1991 Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA -Everyone is permitted to copy and distribute verbatim copies -of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/README.developers b/README.developers deleted file mode 100644 index 150b66464..000000000 --- a/README.developers +++ /dev/null @@ -1,42 +0,0 @@ -If you start working with code, please read though the following rules: - - -1. Use Qt naming scheme. You may have a look at Qt API to learn it. -Here are some examples: - -* classes: BoardView, Filter -* classes with acronyms: PgnDatabase -* class variables: m_list, m_darkSquareColor -* reading class variable: QString title() const -* setting class variable: void setTitle(const QString& s) const -* checks: isReadOnly() -* functions with acronyms: moveToSan(), fromSan() - -2. Use Doxygen format to comment your code - -* start class documentation with Doxygen header - /** @ingroup Database - The Board class represents a chess position. - Pieces are kept directly on the board which is internally represented as simple array[0..63]. - You can easily and quickly make and undo moves, although undoing moves requires keeping track - of captured pieces. - */ - @ingroup should contain Database (for non-GUI classes) or GUI - Next sentence should have 'The XXX class represents' or '... is' syntax - -* document each function - /** Sets widget color. */ - void setColor(const QColor& color); - /** @return widget color. */ - QColor color() const; - -* rebuild documentation with 'doxygen Doxyfile' and verify that your class is documented correctly. - -3. Format your code with TABs. We advocate using astyle -(http://astyle.sourceforge.net) to indent your code. To use astyle, put - -suffix=none style=linux mode=c force-indent=tab=4 one-line=keep-blocks unpad=paren pad=oper - -in ~/.astylerc. Then you can indent your code using: -astyle ... - diff --git a/README.developers.md b/README.developers.md new file mode 100644 index 000000000..0c8aaf8a6 --- /dev/null +++ b/README.developers.md @@ -0,0 +1,64 @@ +**Note:** If you start working with code, please read though the following rules: + +### 1. Official ChessX's source code at + +https://github.com/Isarhamster/chessx + +### 2. Use Qt naming scheme. + +You may have a look at the [Qt API](https://doc.qt.io/qt-5/) to learn it + +Here are some examples: + +* _Classes:_ `BoardView` , `Filter` +* _Classes with acronyms:_ `PgnDatabase` +* _Class variables:_ `m_list`, `m_darkSquareColor` +* _Reading class variable:_ `QString title() const` +* _Setting class variable:_ `void setTitle(const QString& s) const` +* _Checks:_ `isReadOnly()` +* _Functions with acronyms:_ `moveToSan()`, `fromSan()` + +### 3. Use Doxygen format to comment your code + +* Start a class documentation with the [Doxygen](https://www.doxygen.nl/index.html) header + +``` + /** @ingroup Database + The Board class represents a chess position. + Pieces are kept directly on the board which is internally represented as simple array[0..63]. + You can easily and quickly make and undo moves, although undoing moves requires keeping track + of captured pieces. + */ +``` + + * **@ingroup** should contain `Database` (for non-GUI classes) or `GUI` + * Next sentence should have `The Foo class represents` or `... is` syntax + +* Document each function +``` + + /** Sets widget color. */ + void setColor(const QColor& color); + /** @return widget color. */ + QColor color() const; +``` + +* Rebuild documentation with + +`$ doxygen Doxyfile` + +and verify that your class is documented correctly. + +### 4. Format your code with tabs + +We advocate using [astyle](http://astyle.sourceforge.net) to indent your code. To use astyle, put + +` +suffix=none style=linux mode=c force-indent=tab=4 one-line=keep-blocks unpad=paren pad=oper +` + +in `~/.astylerc`. Then you can indent your code using: + +` +$ astyle ... +` diff --git a/README.md b/README.md index c66ab715d..0b35f6ad6 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,50 @@ -# ChessX +# ![Icon](data/icons/64x64/apps/chessx.png)ChessX ![CI](https://github.com/erysaj/chessx/workflows/CI/badge.svg?branch=ci-sandbox) A free and open source chess database application for Linux, Mac OS X and Windows. + +## Website + +[ChessX Homepage](https://chessx.sourceforge.io/) + +## Features + +- Multi-platform. It supports Windows, Linux and Mac OS X +- Load and save PGN files +- Work with multiple databases simultaneously +- Browse chess games, including variations +- Enter moves, variations, and comments +- Setup board, copy/paste FEN +- Search in databases for text or positions +- Display tree of moves for the current position +- Analyze using UCI and Winboard/Xboard chess engines +- Prepare for openings or opponents + +## Project Samples + +[//]: # "This project samples migth be a bit dated, and could be replaced with +screenshots of a newer version?" + +Project sample 1 + +Project sample 2 + +Project sample 3 + +## Categories + +Database, board games, turn based strategy + +## [License](COPYING.md) + +:copyright: 2021-2005, ChessX authors + +This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. + +You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. diff --git a/TODO b/TODO.md similarity index 71% rename from TODO rename to TODO.md index 18b919c14..cf4b9b74f 100644 --- a/TODO +++ b/TODO.md @@ -1,9 +1,15 @@ -TODO for 1.0 (Stable PGN-based version) -* GameView - - display custom tags in GameView - - make GameView tags configurable (color, font) +## TODO for 2.0 _(Stable Native-based version)_ + +* Native database format +* Game sorting +* Spellchecking +* Annotation/Blunder check +* Tournament tables +* ELO rating calculation +* ECO Browser + +## TODO for 1.5 _(Extended PGN-based version)_ -TODO for 1.5 (Extended PGN-based version) * File browser - recursively find database files * Searches @@ -13,23 +19,21 @@ TODO for 1.5 (Extended PGN-based version) * BoardView - move animation -TODO for 2.0 (Stable Native-based version) -* Native database format -* Game sorting -* Spellchecking -* Annotation/Blunder check -* Tournament tables -* ELO rating calculation -* ECO Browser +## TODO for 1.0 _(Stable PGN-based version)_ + +* GameView + - display custom tags in GameView + - make GameView tags configurable (color, font) + +## TODO _- Refactoring needed_ -TODO - Refactoring needed * Game class * Mainwindow class -TODO - Ideas/Suggestions. Non critical +## TODO _- Ideas/Suggestions. Non critical_ + * Format for exercises, tactics/endgame training etc. * Faster PGN parser * Comment search * Crosstables * Rating graph -