
			     Changelog for GutenPalm
			     -----------------------


GutenPalm v1.40beta2 "Kotaru"
Tuesday, April 3, 2001
------------------------------

* Back-paging didn't work properly if you paged backwards over a record
  boundary.  Some of the arithmetic needed some extra parentheses.  Also,
  that code hadn't be updated to account for different font sizes.  Oops.
* Requested feature: Justified text display.  With this option, the text
  will be drawn fully justified with the left and right sides of the
  screen.  This option precludes use of the TextField since the field
  seems to dislike all the extra spaces and doesn't draw it properly.
* Small speed up in DisplayCurrentPage when using the text field.
* Bugfix: Resets auto-off timer when autoscrolling so Palm doesn't turn off
* Autoscroll updates: Palm button #2 now toggles autoscroll on/off.  'S'
  is now the menu shortcut for turning on autoscroll.
* Button #3 will popup the bookmark list under any display conditions
  except for when autoscrolling.
* Added several more menu shortcuts in the DocView form.
* Had to get rid of the nice 8bpp color logo.  It looks very good, but
  it added a little over 8K to the program size, which is approximately 15%
  of the total program size.  Oh well.  The greyscale one looks very nice,
  though.
* Bugfix: The About form switches to 4bpp if possible which erases the
  screen.  However, it was only redrawing the old form when leaving the
  About form.  If you were in the DocView form, the text would not get
  redrawn if you had some display options turned on.
* New feature: For people using Palm OS versions earlier than 3.5, tapping
  on the title bar of the document index form will now pop up the menu, just
  as it does for people using 3.5.
* You can now edit the autoscroll speed in the display preferences.
* The scroll speed control has been made more fine grained at higher 
  scrolling speeds.


GutenPalm v1.40beta "Kotaru"
Sunday, February 11, 2001
------------------------------

* Lots of changes, so the version has been bumped to 1.40
* Decided to start naming the releases.  Why not?  I am taking my release
  names from Paul Kidd's book "Whisper of Wings".  Go read it!
* GutenPalm now has a new About box complete with super cool logo by
  DocTiki.  The new About box also switches your Palm into 4bpp greyscale
  if such a mode is supported (and you're not already in color).
* At last!  On-demand decompression has been implemented.  The compressed
  data will now be decompressed as you read it.  A small "partial cache"
  has also been added when reading in this mode to keep excess
  decompression to a minimum.  Documents can only be read in this manner
  if they have been compressed with Z_FULL_FLUSH, which makeztxt now does
  by default.
* A lot of the code has been reorganized.  OpenTmpRecord is now
  OpenCacheRecord and is located in gutenpalm_cache.c.  The decompression
  functions have been moved to gutenpalm_compression.c.
* Took a few more strings out of GutenPalm and put them in the resource
  file so that they can be internationalized.
* Modified the on-demand cache to use an aging scheme instead of the
  previous counter scheme.  The old method kept records which were
  accessed the most.  The new scheme only keeps records that were accessed
  recently.  I'm not really sure which is the most efficient for this type
  of application, though I doubt one over the other will make any
  noticable speed difference since the cache isn't hit that often.
* Change in Find: When you searched for text it would advance the currently
  displayed text to where the match occured.  This isn't correct.  It should
  advance up to the word containing the match.  It does this now.
* Bugfix in Find: If you were in a display mode that did not use the text
  field for display, GutenPalm would crash when trying to highlight your
  selection.
* Requested feature: Per-document display preferences.  From the 'Book'
  menu you can store the current display preferences into a zTXT and they
  will be used when you next read that book, overriding your current
  preferences.  Your current prefs will be restored when you stop reading
  that book.  You can also clear the stored prefs from a zTXT.  Note that
  the autoscroll speed and pixel rate are not stored in a zTXT.


GutenPalm v1.22   (* not released *)
Thursday, February 1, 2001
------------------------------

* Bugfix in bmrkFindMark().  0 was used as an error value, but could also
  reference to the beginning of a zTXT.  In this case, the resume bookmark
  "__CURRENT_POS__" would get left behind and would keep auto-resume from
  functioning until you manually deleted the bookmark.  Bug reported
  by Jonathan Badger <jhbadger@monod.uwaterloo.ca>.
* Misspelled translation string for the "Delete ALL Cache" dialog.
* Fonts!  Huzzah!  You can now pick from 5 different fonts.  Standard,
  Bold, and Large are available for all (PalmOS 2.0 and above, but that's
  also the minimum for GPlm).  LargeBold and HK40 Fixed are available to
  Palm OS 3.0 and higher.
* Requested feature: Invert text display.  Check this option and the text
  area will be inverted.  Because this involves drawing to the screen
  directly, the text is not in a field and so cannot be selected/copied.
* Autoscrolling has been much improved.  It now renders to an offscreen
  window and is able to scroll pixel by pixel instead of a whole line of
  text.  You can autoscroll and have inverted text at the same time.
* Nasty bug in cache.  If you have books cached, delete the caches, then
  quit and restart GPlm, the cache will be back as it was before.  If you
  then try to access one of these, firey death will rain down upon you.
  The cache list is now cleared whenever you quit.  Reported by ono_it.
* Requested feature: Tap paging.  With this option on, tapping the upper
  half of the screen will page up and tapping the lower half will page down.
* Requested feature: Full screen display and rotation.  Full screen will
  simply hide the controls at the bottom and use the area for text
  display.  Rotation allows you to rotate the display in 90 degree
  increments (measured clockwise).  You can use an inverted display and/or
  autoscroll with either full screen or rotation.  A rotated screen
  implies full screen operation.  The tapping areas "top" and "bottom", when
  using tap paging, will rotate with the text.


GutenPalm v1.20
Sunday, January 21, 2001
------------------------------

* The distribution has been split into two separate directories: one for
  GutenPalm and one for makeztxt.  Hence, the ChangeLog has been split as
  well.
* GutenPalm now uses PalmZLib, a Palm port of ZLib.  Unlike the static library
  port I used before, this one is a separate shared Palm library.  This reduces
  the size of GutenPalm by at least 20K.  Of course, now you must download and
  install PalmZLib to use GutenPalm, but it's small and really useful, so go
  do it.  The patch to incorporate this was supplied by Tom Zerucha
  (tz@execpc.com).  Thank you!  You can get the library at
  http://palmzlib.sourceforge.net
* The text display in the view form is now a text field.  This means you can
  now select and copy text out of books and paste it elsewhere.
* Beaming!!  Yes, GutenPalm now supports beaming.  Since you never need to
  transfer anything less than a whole database, the code was very easy to
  implement.  Of course, I didn't know this, otherwise I would have done it
  for 1.00.
* Support for user annotations.  Just pick it from the menu.  You give
  your annotation a title and then write away.  The annotations are limited
  to 4096 characters which should be enough.  If it's not, just let me
  know.
* Find support.  It's in the 'Search' menu.  You can also search without case.
  There is also a Find Again menu item to repeat the last search.
* Autoscrolling support.  No more sore fingers and broken buttons.
* Better error checking.  Makes sure PalmZLib is installed.  Makes sure
  there is enough memory to decompress a zTXT.  Better than dying or
  killing your Palm.
* Startup code which loads preferences now checks version info.  This should
  make it so that you don't have to delete GutenPalm to install a new
  version just because the preference layout changed.
* Internationalization support.  The rcp file has been cleaned up a great
  deal to allow for translations.  Now it is a simple matter of redefining a
  few tags in a translation file.  If you would like to translate
  GutenPalm, please let me know!  It's really a small amount of work.
* Lots and lots of code cleanups.  Especially with the bookmarking code.


GutenPalm v1.0
Saturday, September 23, 2000
------------------------------

* First official release of GutenPalm!
* No program changes from last beta.
* My testing has continued and thus far, all is well.
* A few doc updates regarding compiling the source yourself.  There was some
  confusion due to the use of two copies of zLib (Palm and host machine).
* Added a file called FILES which briefly describes what each file is for
* Many website updates at http://gutenpalm.sourceforge.net



GutenPalm v1.0b1
Saturday, September 16, 2000
------------------------------

* Got rid of the bookmarks menu item under Options.  Didn't have anything to
  use it for.
* Completely overhauled the bookmarks system.  The old way was stupid and
  separated the zTXT provided bookmarks and user bookmarks.  More complex and
  didn't really add much.  Now it's simpler and all bookmarks are kept with
  the zTXT DB.
* As a consequence, removed the last modification data checking in the cache
  code.  This was to determine if the cache was still valid, but now when you
  add/remove bookmarks, that timestamp is changed frequently.
* You can now add bookmarks while reading AND delete them.
* Added a whole bunch more documentation in the README file including some
  examples of the regex bookmark generation.



GutenPalm v1.0b
Monday, September 11, 2000
------------------------------

* Miscellaneous bug fixes all around.
* makeztxt now accepts regular expressions on the command line to generate
  bookmarks in the generated database.
* GutenPalm now supports bookmarks!  Huzzah!  Well, mostly huzzah.  Most of
  the code is present for user bookmarks added within GutenPalm, but it isn't
  implemented yet.
* Tapping on the percentage display now allows you to jump to an arbitrary
  position in the zTXT.
* Even more testing.  This version will likely become 1.0 even if I don't get
  the user bookmarks added.  If I don't get them added in time, that will be
  in version 1.1.  But... you never know...
* The bookmarks menu option still doesn't do anything... don't know if it
  will.  It might be used for some options dealing with user bookmarks.



GutenPalm v0.9.9a
Monday, September 4, 2000
------------------------------

* Finally fixed that stupid back-paging bug.  It was caused, more or less, by
  bad code.  To that end, all of the document display code has been mostly
  rewritten to use integer offsets into the text records rather than storing
  pointers.  This should have been done from the beginning.
* Options now exist to keep the cached data and to skip the Project Gutenberg
  license text (if it is present).
* A little dot appears in front of the document name in the document list if a
  cache exists for that doc.
* There are now menu options to delete the saved caches.  You can delete the
  cache from the currently highlighted zTXT or delete them all.
* Fixed a file naming bug in makeztxt which occured if the input file did not
  have any extension.
* Did a bunch of testing with POSE and several different text files.
  GutenPalm didn't crash.  Huzzah!



GutenPalm v0.9.8a
Wednesday, August 30, 2000
------------------------------

* Cache stuff relied on LocalID's not changing.  They do.  So now it stores
  the DB names instead of their LocalIDs.  Safer this way.
* Restoring an in-progress document died horribly if the user stopped reading
  on a record boundry.
* Progress indicator while decompressing
* Progress while reading (given as a percentage)
* There still exists a nasty bug that will freeze GutenPalm when you are
  paging backwards.  However, it only occurs *sometimes* and I've yet to
  figure out the circumstances.  It only seems to occur on the boundry between
  records 0 and 1.  Hmmmmm...



GutenPalm v0.9.7a
Tuesday, August 29, 2000
------------------------------

* Added preference databases
* Caching structure for storing uncompressed data
* Persistant position when you quit while reading
* Options to keep uncompressed data around (no way to set it yet though)
* Bug fixes...



GutenPalm v0.9.5a
Monday, August 28, 2000
------------------------------

* started keeping a changelog

