Various changes to preferences object, file loading, and error logging.
[jben.git] / CHANGELOG.txt
blob481e6b3c39fc88f76a73f88ddbba1c143a3f256a
1 1.1.3:
2 For end users:
3 * New installers for both Linux and Windows.
4   * Linux: Makefile now supports "make install".
5   * Windows: There's now a proper installer program which sets up shortcuts,
6     adds entries to Add/Remove Programs, etc.
7 * Configuration files are now stored in your personal folder.
8   For Linux, this means: ~/.jben.
9   For Windows, this typically means:
10     C:\Documents and Settings\UserName\Application Data\jben.cfg
11 For developers:
12 * Major under-the-hood changes.  
13   * Dictionary objects have been renamed and modified for future support of
14     multiple kanji/word dictionary files.
15   * Dictionary files now implemented as singletons.
16   * Almost all code not tied to wxWidgets GUI functionality has had all
17     references to wxWidgets code removed.  This will better allow changes
18     in the GUI, including changing toolkits, in the future.
19   * Encoding conversions and multichar/wchar conversions via libiconv instead
20     of wxCSConv.
21   * New functions for converting between wide/multibyte strings, for replacing
22     substrings, and for splitting strings into list<strings> based on
23     delimiters.
24   * Preferences object now loads config files based upon the user's home
25     directory, or the current directory in the (rare) case a home folder
26     cannot be found.
27   * Errors are handled through a global ErrorLog object.  This object
28     maintains a log of errors, warnings, and informative messages given to the
29     user while running the program, and can also store "silent" messages which
30     are only seen when explicitly queried.
31 * Windows-specific changes:
32   * MinGW's current stable GCC does not have full wide character support in
33     libstdc++.  So, I've switched to using STLport, which although it seems to
34     have some issues when running its unit tests, it does seem to at least
35     work for my purposes for now.
36 * Major makefile changes.
37   * Build files are now stored in dep, obj, and bin folders, further broken
38     down into platform (gtk20/windos) and build type (release/debug).  This
39     allows us to keep the source directory cleaner and to not have multiple
40     builds walking over each other.
41   * kpengine now has its own Makefile in the kanjipad directory, which is 
42     called in turn from the main Makefile.
43   * For Linux: the Makefile now operates in a more "traditional" fashion.
44     "make install" works: binaries go to /usr/local/bin, data to
45     /usr/local/share/jben and docs/license stuff to /usr/local/share/doc/jben.
46     Custom prefix can be specified (ex: /usr instead of /usr/local).
47   * For Windows: the Makefile now depends on NSIS and 7-Zip being reachable
48     from the path, but now "make install" will build an EXE installer and
49     auto-archive .7z and .zip binary folders.
50 * DocBook-based manual written.  It currently reflects version 1.1.2, but this
51   is acceptable since the UI has not really changed.
52 * The doc directory in the J-Ben source archives also contains a .dia file
53   showing a general outline of how J-Ben's source code is structured.
55 1.1.2:
56 * Integrated KanjiPad.  Code based on or borrowed from the KanjiPad code used by
57   im-ja.  Accessible through Kanji -> Find Kanji -> By Handwriting.
58 * Major makefile changes.  Now supports normal Linux building as well as win32
59   builds.  Win32 builds require MinGW with mingw32-make plus sed and coreutils
60   from gnuwin32.  Include/lib dirs must be specified in the Makefile, but this
61   should be a simple matter.  Finally, MSYS is NOT used by this makefile; it is
62   run from a regular command prompt using mingw32-make.
63 * Updated EDICT2 and KANJIDIC to newer versions.
64 * Removed all the files in the old_files directory.  None of them are relevant
65   any longer.
66 * Moved Code::Blocks build files to old_files.  With the new Windows make
67   support, I think they're now obsolete, but I'll keep them around for a few
68   more versions at least.
69 * Added README.txt, INSTALL.txt and CHANGELOG.txt to project.