Merge branch 'master' of git+ssh://repo.or.cz/srv/git/jben
[jben.git] / CHANGELOG
blobff0c1074b81ca9ca69a7277196e7b45c2a881bea
1 1.2.3:
2 * Bug fix: linux_scripts/download_script had an incorrect shebang line of
3   #!/bin/sh.  Changed to #!/bin/bash since bash-specific functions are in use.
4 * Bug fix: Recently added changes for kanji test configuration options were
5   being set in the wrong part of preferences.cpp.  These changes have
6   been moved to the appropriate spot.  (Things worked fine for people
7   upgrading, but not for new installations.)
8 * Minor string changes in the kanji test config panel.
9 * Installer update: Linux makefile now specifies the "make download" step
10   after completing a straight "make".
12 1.2.2:
13 * Added adding/sorting kanji by JLPT level.
14 * Slightly reorganized the kanji list editor.
15 * Fixed bug in JLPT code: the JLPT field was not being initialized to zero.
16 * Fixed some out-of-date documentation about the kanji study list.
18 1.2.1:
19 * Installers for both Windows and Linux now will let you pick and choose
20   which dictionaries and stroke order diagram packages to download and
21   install.
22 * Addition of Japanese Language Proficiency Test (JLPT) grade level tag
23   in kanji dictionary.
24 * New feature: single-key keyboard shortcuts in kanji practice mode.
25 * New feature: customization of kanji practice mode.  Users can decide which
26 * New feature: kanji practice mode now has a "show answers" button which
27   uncovers all covered text fields.  (Before, the user had to click each
28   field individually.)
29 * New feature: kanji practice "writing" mode now shows a KanjiCafe.com
30   stroke order diagram after pressing "Show Answers".
31 * KANJIDIC2 is no longer recommended due to memory usage and speed concerns.
32   It works fine on faster systems, but most users don't need the extra
33   information and should be fine with the original KANJIDIC format file.
34 * Several minor bugfixes regarding kanji dictionary output.
35 * Several documentation errors have been fixed.
37 1.2.0:
38 For end users:
39 * KANJIDIC2 is now supported and will be used instead of
40   KANJIDIC/KANJD212 if found.
41 * (Windows only) J-Ben has a "mobile mode" for users running off of USB
42   "thumb" drives and similar removable devices.  This lets you carry all
43   your settings with you without having to install J-Ben on a system.
44 * The interface has changed dramatically.  The dictionary windows are
45   still in the main window, but all the other tabs have been moved into
46   the menus.  I think it should have a cleaner feel than before.
47 * Fonts for the dictionary windows, kanji drill mode and some other parts
48   of the program can now be customized.  Check the "Edit->Preferences"
49   menu, under the Fonts tab.
50 * A new kanji search window has been added, under "Tools->Kanji Search".
51   It allows users to search for a kanji by stroke count or Halpern SKIP
52   code, and also includes the handwriting recognition from previous
53   versions.  Multi-method searching is supported, with more methods
54   coming in later versions.
55 * Copying from dictionary windows should now work properly.
56 * Dictionaries may be gzipped to reduce size.
57 * (Windows only) J-Ben includes HTML documentation in the docs folder.
58   Open the file named index.html.
59 * (Linux only) J-Ben has a "make doc" option, which will make the
60   documentation for you if you have not separately downloaded it.
61   It requires docbook2html.  Run "make doc" from the "src" folder,
62   and the docs will be output in the "doc" folder.
64 For developers:
65 * The interface is now powered by GTK+/GTKmm on both Windows and Linux.
66   wxWidgets is no longer being used.  As a result, the program should look
67   much more similar between the Linux and Windows versions.
68 * J-Ben's directory structure has been changed.  Source files are all
69   included in the "src" folder, and make should be run from within "src".
70   Many other changes are present as well, but that's the most important
71   change.
72 * The "BoostHM" object I used in previous versions has now been replaced
73   by the TR1 unordered_map.  This obviously adds the requirement that your
74   compiler includes this part of TR1!
75 * Windows builds now use the combination of MinGW AND MSys.  Straight
76   MinGW builds are NOT supported since I'm using GTK's pkg-config in
77   my makefile.  Further, since TR1 is required, so is GCC/G++ 4.x,
78   so it will be necessary to grab one of those as well.
80 1.1.3:
81 For end users:
82 * New installers for both Linux and Windows.
83   * Linux: Makefile now supports "make install".
84   * Windows: There's now a proper installer program which sets up shortcuts,
85     adds entries to Add/Remove Programs, etc.
86 * Configuration files are now stored in your personal folder.
87   For Linux, this means: ~/.jben.
88   For Windows, this typically means:
89     C:\Documents and Settings\UserName\Application Data\jben.cfg
90 For developers:
91 * Major under-the-hood changes.  
92   * Dictionary objects have been renamed and modified for future support of
93     multiple kanji/word dictionary files.
94   * Dictionary files now implemented as singletons.
95   * Almost all code not tied to wxWidgets GUI functionality has had all
96     references to wxWidgets code removed.  This will better allow changes
97     in the GUI, including changing toolkits, in the future.
98   * Encoding conversions and multichar/wchar conversions via libiconv instead
99     of wxCSConv.
100   * New functions for converting between wide/multibyte strings, for replacing
101     substrings, and for splitting strings into list<strings> based on
102     delimiters.
103   * Preferences object now loads config files based upon the user's home
104     directory, or the current directory in the (rare) case a home folder
105     cannot be found.
106   * Errors are handled through a global ErrorLog object.  This object
107     maintains a log of errors, warnings, and informative messages given to the
108     user while running the program, and can also store "silent" messages which
109     are only seen when explicitly queried.
110 * Windows-specific changes:
111   * MinGW's current stable GCC does not have full wide character support in
112     libstdc++.  So, I've switched to using STLport, which although it seems to
113     have some issues when running its unit tests, it does seem to at least
114     work for my purposes for now.
115 * Major makefile changes.
116   * Build files are now stored in dep, obj, and bin folders, further broken
117     down into platform (gtk20/windos) and build type (release/debug).  This
118     allows us to keep the source directory cleaner and to not have multiple
119     builds walking over each other.
120   * kpengine now has its own Makefile in the kanjipad directory, which is 
121     called in turn from the main Makefile.
122   * For Linux: the Makefile now operates in a more "traditional" fashion.
123     "make install" works: binaries go to /usr/local/bin, data to
124     /usr/local/share/jben and docs/license stuff to /usr/local/share/doc/jben.
125     Custom prefix can be specified (ex: /usr instead of /usr/local).
126   * For Windows: the Makefile now depends on NSIS and 7-Zip being reachable
127     from the path, but now "make install" will build an EXE installer and
128     auto-archive .7z and .zip binary folders.
129 * DocBook-based manual written.  It currently reflects version 1.1.2, but this
130   is acceptable since the UI has not really changed.
131 * The doc directory in the J-Ben source archives also contains a .dia file
132   showing a general outline of how J-Ben's source code is structured.
134 1.1.2:
135 * Integrated KanjiPad.  Code based on or borrowed from the KanjiPad code used by
136   im-ja.  Accessible through Kanji -> Find Kanji -> By Handwriting.
137 * Major makefile changes.  Now supports normal Linux building as well as win32
138   builds.  Win32 builds require MinGW with mingw32-make plus sed and coreutils
139   from gnuwin32.  Include/lib dirs must be specified in the Makefile, but this
140   should be a simple matter.  Finally, MSYS is NOT used by this makefile; it is
141   run from a regular command prompt using mingw32-make.
142 * Updated EDICT2 and KANJIDIC to newer versions.
143 * Removed all the files in the old_files directory.  None of them are relevant
144   any longer.
145 * Moved Code::Blocks build files to old_files.  With the new Windows make
146   support, I think they're now obsolete, but I'll keep them around for a few
147   more versions at least.
148 * Added README.txt, INSTALL.txt and CHANGELOG.txt to project.