home *** CD-ROM | disk | FTP | other *** search
/ Dream 52 / Amiga_Dream_52.iso / Linux / Divers / remind-03.00.19.tgz / remind-03.00.19.tar / remind-03.00.19 / docs / WHATSNEW.30 < prev   
Text File  |  1998-05-09  |  31KB  |  878 lines

  1. CHANGES TO REMIND
  2.  
  3. * Version 3.0 Patch 19
  4.  
  5. + MAJOR ENHANCEMENTS
  6.  
  7. - Added MOON and SHADE specials.  These now work with PostScript,
  8.   HTML and Tcl/Tk front-ends.  You can have cute moons and shaded
  9.   boxes on your printer, on your screen and in your web browser. :-)
  10.  
  11. - TkRemind overhauled -- you can now edit and delete reminders from
  12.   the GUI.  You can actually reasonably use Remind without learning
  13.   the scripting language.
  14.  
  15. - TkRemind overhauled -- "server mode" added to Remind; TkRemind will
  16.   now pop up timed reminders.
  17.  
  18. + MINOR ENHANCEMENTS
  19.  
  20. - Updated romanian.h, courtesy Liviu Daia.
  21.  
  22. + BUG FIXES
  23.  
  24. - Allowed object files to be built in different directory from
  25.   source files (thanks to Jonathan Kamens <jik@American.COM>
  26.  
  27. - Removed restriction against reading group-writable files.  This
  28.   caused headaches on Red Hat Linux which uses an unusual user/group
  29.   scheme.
  30.  
  31. - Remind would not compile if a non-English language was selected.
  32.  
  33. - Fixed free() of a NULL pointer.
  34.  
  35. - Made tkremind display a helpful error message if Remind's
  36.   "security feature" of not reading a group-writable file kicks
  37.   in.
  38.  
  39. - Fixed bug which sometimes prevented reminder times from appearing
  40.   in a calendar display.
  41.  
  42. - Lots more silly little bugs squashed -- too many to go into in
  43.   detail.
  44.  
  45. * Version 3.0 Patch 18
  46.  
  47. + MAJOR ENHANCEMENTS
  48.  
  49. - Added the script "build.tk" which makes it trivial to compile
  50.   and install Remind under UNIX -- no need to edit Makefiles or
  51.   header files.  A nice GUI installation dialog!
  52.  
  53. - Got rid of all fixed-size buffers.  Hurray!  Everything is dynamic --
  54.   no built-in limits on line length, token size, etc.  This should
  55.   cure lots of SEGV's for weird files.
  56.  
  57. - Added TAG and DURATION clauses for communicating more information to
  58.   back-ends and eventually converting REMIND into a full-fledged
  59.   scheduler.
  60.  
  61. - Completely reworked the PS/PSFILE mechanism to use the more
  62.   general SPECIAL mechanism for customizing output in REMIND back-ends.
  63.  
  64. + MINOR ENHANCEMENTS
  65.  
  66. - Made parser _very_ forgiving -- the type of reminder now defaults
  67.   to MSG.  This lets you have lines in the reminder file like this:
  68.  
  69.     Feb 9, 1998 Meeting with Joe.
  70.  
  71.   But I don't recommend abusing it.  It's mostly to ease migration from
  72.   UNIX calendar(1) files.
  73.  
  74. - Documented the "remind -p" format.
  75.  
  76. - Made Remind communicate day and month names to back-ends so they
  77.   can automatically take on the language Remind was compiled with.
  78.  
  79. - Directory structure totally reorganized.  Remind now uses an autoconf
  80.   "configure" script which should make life very pleasant for UNIX
  81.   people.
  82.  
  83. - Made Rem2HTML work properly if more than one month's worth of calendar
  84.   data was produced.  Rem2HTML also escapes any special HTML characters.
  85.   However, it recognizes a "SPECIAL HTML" type of reminder which lets
  86.   you put arbitrary HTML code in your calendar entries.  See www/rem2html
  87.   for details.
  88.  
  89. - Added the "-a" option to Rem2HTML to complement the "-p" option.  Also
  90.   made Rem2HTML print a usage message if input is coming from a terminal.
  91.  
  92. + BUG FIXES
  93.  
  94. - Fixed sunset(), sunrise() and minsfromutc() functions which were broken
  95.   by 3.0.17.  (In 3.0.17, they did not account for daylight savings time.)
  96.  
  97. - Updated "finnish.h" to include proper URL and translation of all
  98.   error messages.
  99.  
  100. + BUG INTRODUCTIONS
  101.  
  102. - The reorganization and use of "configure" probably breaks Remind
  103.   installation on non-UNIX platforms.  Sorry.  I can't fix it until
  104.   I hear back from non-UNIX maintainers.
  105.  
  106. - Getting rid of fixed-sized buffers meant lots of changes to code.
  107.   No doubt, I missed a few regression tests.
  108.  
  109. * Version 3.0 Patch 17
  110.  
  111. + MINOR ENHANCEMENTS
  112.  
  113. - Made REMIND accept date specs like "Jan 6, 1998" -- the comma is
  114.   ignored.  This was suggested by John Conover <john@johncon.johncon.com>.
  115.   You can even do "REM 27, Aug, 1998, msg bar".  (But I don't know why
  116.   you'd want to.)
  117.  
  118. - Added www/rem2html, a Perl script which converts the output of
  119.   `remind -p ...' to an HTML table.  The script was contributed by
  120.   Don Schwarz <darkowl@mcs.net>
  121.  
  122. - New security features: Because of the risks of statically-allocated
  123.   buffers, REMIND now refuses to run if it is installed set-uid or set-gid.
  124.   If REMIND is run as root, it refuses to read files not owned by root.
  125.   It also won't open group- or world-writable files, no matter who is
  126.   running it.  Finally, if you read a file you don't own, REMIND disables
  127.   RUN and shell().  REMIND doesn't do these security checks on stdin,
  128.   though, so be careful if you run it as root in a script.
  129.  
  130.   NOTE:  REMIND doesn't do the world- and group-writable checks
  131.   on devices, FIFOs, etc.  Otherwise "remind /dev/null" fails...
  132.  
  133. + BUG FIXES
  134.  
  135. - Increased sizes of some statically-allocated buffers.  This doesn't
  136.   really fix the problem, but makes it more manageable.
  137.  
  138. - Using the "-u" option now implies the "-r" option.  This is a
  139.   security feature.
  140.  
  141. - Added romanian.h to the manifest.  Sorry.
  142.  
  143. - CalcMinsFromUTC was failing if time_t was unsigned.  I now use
  144.   difftime(), but not all systems have it.  Also, defs.rem was rearranged
  145.   so PostScript stuff works better, and new target "emxomf" was added to
  146.   makefile.os2 which uses OMF linking and a dynamically-linked C
  147.   library.  All three of these fixes are courtesy of Christopher
  148.   J. Madsen <madsen@iglobal.net>.  Thanks, Christopher.
  149.  
  150. * Version 3.0 Patch 16
  151.  
  152. + MINOR ENHANCEMENTS
  153.  
  154. - Bundled scripts for making a nice WWW calendar server.  See the
  155.   "www" subdirectory in the release.
  156.  
  157. - Added support for the Romanian language, courtesy of Liviu Daia.
  158.  
  159. - Changed sunrise() and sunset() as follows:  If the sun never rises,
  160.   sunrise() returns 1440 and sunset() returns 0.  In this case,
  161.   sunrise()-sunset() returns the length of the dark period of the
  162.   day, in minutes.  If the sun never sets, sunrise() returns 0 and
  163.   sunset() returns 1440, and sunset()-sunrise() returns the length
  164.   of the light period of the day, in minutes.  Thanks to Michael Salmon
  165.   for explaining the utility of this.  See the file "defs.rem" for the
  166.   functions _light_len and _dark_len which return the length in minutes
  167.   of the light and dark period of the day, respectively.
  168.  
  169. + BUG FIXES
  170.  
  171. - If you used the "-g" option, then no background reminders were
  172.   ever issued.  DOH!  Thanks to Greg Badros <gjb@cs.washington.edu>
  173.   for pointing this out.
  174.  
  175. - Fixed a problem under Solaris 2.5 whereby rem2ps was skipping some
  176.   latin1 characters which it interpreted as white space.
  177.  
  178. * Version 3.0 Patch 15
  179.  
  180. + IMPORTANT NOTES
  181.  
  182. - The tar file now unpacks into a Remind subdirectory rather than into
  183.   the current working directory.
  184.  
  185. - I no longer support Remind under DOS.  I don't think I've done anything
  186.   to stop it from working under DOS, but will no longer compile and test
  187.   it under DOS, and can't help you if you get stuck.  Sorry -- I no longer
  188.   have a DOS machine.
  189.  
  190. + MINOR ENHANCEMENTS
  191.  
  192. - Changed psshade() to accept 1 or 3 arguments for colored shading in
  193.   PostScript calendar mode.
  194.  
  195. - Added a Print dialog to tkremind.
  196.  
  197. - Added support for Brazilian Portuguese courtesy of Marco Paganini
  198.  
  199. - Added support for Italian courtesy of Valerio Aimale
  200.  
  201. + BUG FIXES
  202.  
  203. - Fixed confusing error in rem2ps help messages.
  204.  
  205. - Fixed bug in TkRemind which caused a crash if the "-m" option was used
  206.   for a month beginning on Sunday.  Doh!!!
  207.  
  208. * Version 3.0 Patch 14
  209.  
  210. + CHANGE IN COPYING POLICY
  211.  
  212. - Remind is now distributed under an _AMENDED_ version of the Gnu
  213.   General Public License.  These amendments are listed in the
  214.   file COPYRIGHT.  The amendments were made for personal reasons;
  215.   please don't ask me to explain them.  They probably don't affect
  216.   you, anyway.
  217.  
  218. + MAJOR ENHANCEMENTS
  219.  
  220. - Added an X-Windows front-end to Remind.  To use it, you must be
  221.   running under X-Windows on UNIX, and have the "wish" tcl/tk
  222.   interpreter, version 7.4 of tcl and 4.0 of tk.  The front-end is
  223.   called "tkremind".
  224.  
  225. + MINOR ENHANCEMENTS
  226.  
  227. - Added the WARN keyword for precise advance notice.  You can now
  228.   have advance warning 5, 3, 1 and 0 days in advance (for example.)
  229.   The WARN keyword operates similarly to the SCHED keyword in that it
  230.   calls a user-defined function to obtain the advance warning sequence.
  231.  
  232. - Added support for QDOS/SMSQ on the Sinclair QL microcomputer,
  233.   courtesy of Robert H. Klein <kleir000@goofy.zdv.Uni-Mainz.de>
  234.   NOTE THAT I CANNOT TEST NOR SUPPORT THIS VERSION!
  235.  
  236. - Added support for AmigaDOS / SAS/C, courtesy of Martin Hohl
  237.   <martinh@caverna.tynet.sub.org>.  As before, I CANNOT TEST NOR
  238.   SUPPORT THIS VERSION, but will rely on feedback from others.
  239.  
  240. + BUG FIXES
  241.  
  242. - Removed the "-n" option from Rem2PS.  Instead, if you want the
  243.   PostScript calendar to start on a Monday, supply the "-m" option
  244.   to Remind.  It was repugnant to have two options to two programs
  245.   to accomplish one thing.
  246.  
  247. - The "hebdate" built-in function worked incorrectly with 5 arguments.
  248.   The bug was pointed out by Hershel Safer <h.safer@ieee.org>
  249.  
  250. - This would hang up REMIND:   REM Mon 31 Feb MSG Foo
  251.   and this would fail quietly: REM Mon 31 Feb 1996 MSG Foo
  252.   Both have been fixed and now report bad date specifications.
  253.  
  254. - Remind now compiles without complaint under gcc -ansi -Wall -pedantic
  255.   (on my Linux system, anyway!)
  256.  
  257. + IMPORTANT NOTE
  258.  
  259. - I had problems building the DOS version with Turbo C.  I have access
  260.   only to ancient versions of Turbo C and Microsoft C.  Remind built
  261.   fine with Microsoft C, but the TC version hung up.  I am not too
  262.   interested in maintaining the DOS version, so when the MSC compiler
  263.   no longer works, I will drop DOS support.  Please not that I will
  264.   _not_ support MS Windows, and in fact do not allow Remind to run
  265.   under Windows (see COPYRIGHT).
  266.  
  267. * Version 3.0 Patch 13
  268.  
  269. + MINOR ENHANCEMENTS
  270.  
  271. - Added extra parameters to the "psmoon" built-in function so you
  272.   can annotate the PostScript moon icons.
  273.  
  274. - Added a command-line "time" argument to Remind for testing Remind
  275.   scripts with specific system times.  Also added the realnow() function
  276.   which has the same relationship to now() as realtoday() has to today().
  277.   (See the man page!)
  278.  
  279. - Modified Rem2PS so it prints progress messages to stderr if
  280.   '-v' command-line argument is used.
  281.  
  282. - In the top of the 'finnish.h' file, added a note about
  283.   Mikko Silvonen's file of Finnish holidays.
  284.  
  285. + BUG FIXES
  286.  
  287. - Fixed a bug in rem2ps which sometimes caused incorrect PostScript if
  288.   the -e and -m options were used.  Thanks to Michael Neuhauser for
  289.   reporting the bug and providing a fix.
  290.  
  291. - Made the '-k' option escape shell characters in the message to make it
  292.   safer.
  293.  
  294. - Fixed a segmentation violation which resulted if not all
  295.   PUSH-OMIT-CONTEXTs were balanced by POP-OMIT-CONTEXTs.
  296.  
  297. - Removed the prototype for DestroyValue, which is now a macro.  I'm
  298.   amazed that very few compilers complained about this one!
  299.  
  300. - Updated the copyright notices everywhere.
  301.  
  302. * Version 3.0 Patch 12
  303.  
  304. + MINOR ENHANCEMENTS
  305.  
  306. - Added support for the Danish language, courtesy of Mogens Lynnerup.
  307.  
  308. - Added support for the Polish language, courtesy of Jerzy Sobczyk.
  309.  
  310. - Made the Makefile more portable, thanks to Jim Budler.
  311.  
  312. - Removed some compiler warnings under Linux, thanks to Francois Pinard.
  313.  
  314. - Tidied the man page a bit; added a small bibliography.
  315.  
  316. + BUG FIXES
  317.  
  318. - Fixed a problem with the '-k' option which resulted in a newline being
  319.   placed after the message text.  This was giving sh(1) heartburn...
  320.  
  321. * Version 3.0 Patch 11
  322.  
  323. + MINOR ENHANCEMENTS
  324.  
  325. - Added release notes to README.UNIX and README.OS2 describing one
  326.   way to make pop-up alarms under X-Windows and Presentation Manager.
  327.  
  328. - Added the $DefaultPrio system variable
  329.  
  330. - Improved OS/2 support, thanks to Darrel Hankerson, Russ Herman
  331.   and Norman Walsh.
  332.  
  333. - Made the pushing and popping of operators and operands during
  334.   expression evaluation in-line code instead of function calls.  Did the
  335.   same for DestroyValue.  I'm not sure if this was a good idea -- on the
  336.   Sparc using gcc, this slowed things down... go figure.
  337.  
  338. + BUG FIXES
  339.  
  340. - Fixed a potential memory leak in the char() function.
  341.  
  342. - Made the TRIGGER() built-in function return its answer in English even
  343.   for the foreign-language versions -- this was required for compilers which
  344.   are not 8-bit clean, and for languages with accented letters.
  345.  
  346. - Made expression evaluation slightly faster by eliminating some unnecessary
  347.   copying of string values.
  348.  
  349. - Corrected some non-portable definitions of the macro UPPER(c)
  350.  
  351. - Fixed typos in french.h
  352.  
  353. * Version 3.0 Patch 10
  354.  
  355. + MAJOR ENHANCEMENT
  356.  
  357. - OS/2 support is now much better, thanks to Russ Herman.  The Borland
  358.   C compiler under OS/2 and MS-DOS is supported.
  359.  
  360. + MINOR ENHANCEMENTS
  361.  
  362. - Added the SCHED keyword for precise control of scheduling of timed
  363.   reminders -- it's really quite nifty!
  364.  
  365. - Modified the trigger() function to take up to three arguments -- in
  366.   addition to a date, you can specify a time and a flag specifying that
  367.   the trigger should be converted from UTC to local time.
  368.  
  369. - Added $SortByDate, $SortByTime and $SortByPrio system variables.
  370.  
  371. - Added test suites for MS-DOS and OS/2, courtesy of Russ Herman.
  372.  
  373. - In PostScript output, the month and year are output in the %%Page: comments.
  374.   Makes it nicer to view multi-month calendars with previewers (eg,
  375.   GhostView.)
  376.  
  377. - Added the PRIORITY keyword for more control of sort order of reminders.
  378.   Based on a suggestion by George M. Sipe.
  379.  
  380. - Added the msgprefix() and msgsuffix() evaluations around MSG-type
  381.   reminders for doing fancy things with reminders of different priorities.
  382.   Also added calprefix() and calsuffix() for doing the same thing in
  383.   calendar mode.
  384.  
  385. - Enabled the -g option during calendar mode as well as regular mode.
  386.  
  387. + BUG FIXES
  388.  
  389. - Fixed minor bugs in the LocalToUTC and UTCToLocal functions.
  390.  
  391. - "remind -c -de file" used to cause a segmentation violation.  Whoops...
  392.  
  393. - Some files which should have included <string.h> didn't include it - these
  394.   are now fixed.
  395.  
  396. - Fixed the moondate() and moontime() functions, which used to be incorrect
  397.   after November 1994.
  398.  
  399. - Fixed the Finnish language support which was missing a few newlines.
  400.  
  401. * Version 3.0 Patch 9
  402.  
  403. + NOTES
  404.  
  405. - Remind is now too big to compile under the "small" model in
  406.   MS-DOS.  You must recompile everything under the "medium" model.
  407.  
  408. + MAJOR ENHANCEMENTS
  409.  
  410. - Functions moonphase(), moondate() and moontime() were added for dealing
  411.   with phases of the moon.  The code was snarfed from "moontool" by
  412.   John Walker - see the file "moon.c" for detailed acknowledgement.  Also
  413.   added psmoon() for putting little moon symbols on the PostScript calendar.
  414.  
  415. + MINOR ENHANCEMENTS
  416.  
  417. - Added some more examples to defs.rem - notably, support for ANSI
  418.   terminal color-changing escape sequences, thanks to Gail Gurman.
  419.  
  420. - Modified both Remind and Rem2PS so that calendars can start on Sunday or
  421.   Monday, depending on your preference.  Unfortunately, the command-line
  422.   options are different -- for Remind, it's '-m' and for Rem2PS it's '-n'
  423.   because '-m' was already in use.  Based on a suggestion by John Plate
  424.   and a patch sent by Mikko Silvonen.
  425.  
  426. - The Finnish language support is better - now, all usage and error
  427.   messages are in Finnish.  In addition, the Finnish language module
  428.   supports the IBM extended character set as well as ISOLATIN1.
  429.   Thanks to Mikko Silvonen.
  430.  
  431. - Modified Rem2PS to allow more control over the placement of the small
  432.   calendars, thanks to a suggestion by Frank Vance.  Also added option
  433.   to control the calendar title (e.g., "September 1993") independently
  434.   of day-of-week headings.
  435.  
  436. - Added the psshade() function to make it easier to shade PostScript
  437.   calendars.
  438.  
  439. - Allowed a repeat parameter '*num' to be supplied on command line so
  440.   a 'preview' of many days' worth of reminders can be obtained easily.
  441.  
  442. - Added the $Location system variable.
  443.  
  444. - Allowed an expression to be supplied to EXIT to return an exit
  445.   status.
  446.  
  447. - Added the FLUSH command.
  448.  
  449. + BUG FIXES
  450.  
  451. - Fixed the MSF-type reminder to fill paragraphs more intelligently.
  452.   It puts double spaces after '!', '.' and '?', and can handle quotes,
  453.   brackets, etc. after periods, etc.  These characters can be specified
  454.   with the $EndSent and $EndSentIg system variables.  Also modified it
  455.   so that newlines in the body start new paragraphs, rather than being
  456.   swallowed as white-space.
  457.  
  458. * Version 3.0 Patch 8
  459.  
  460. + MAJOR ENHANCEMENTS
  461.  
  462. - Changed the code to more fully support foreign languages - error
  463.   messages and usage instructions can now be changed.  All changes can
  464.   be localized in the appropriate language.h files.
  465.  
  466. - Added support for the French language, courtesy of Laurent Duperval.
  467.   Note that the French support is more complete than for other languages -
  468.   French usage instructions and error messages are supported.
  469.  
  470. - Added support for the Norwegian language, courtesy of Trygve Randen.
  471.  
  472. + MINOR ENHANCEMENTS
  473.  
  474. - Added code for the functions timelocal() and timegm(), courtesy of
  475.   Lucio de Re.  This is for those very few machines whose libraries
  476.   include neither those functions nor mktime().
  477.  
  478. - Added the filedate() function.
  479.  
  480. - Allowed the filename to be specified as "-" to cause Remind to take
  481.   its input from the standard input stream.
  482.  
  483. - Added the "MSF" keyword to cause reminders to be formatted automatically.
  484.   This keyword paragraph-fills reminder text following user specifications.
  485.   Based on a suggestion by Ken McGlothlen.
  486.  
  487. - Added the "-e" option to Rem2PS, allowing the PostScript calendar
  488.   to fill the entire page.  Thanks to Arthur G. Yaffe.
  489.  
  490. + BUG FIXES
  491.  
  492. - Corrected the Hebrew holidays Tzom Gedalia, Tzom Tevet, Ta'anit
  493.   Esther, Tzom Tamuz and Tisha B'Av so they won't occur on Saturday.
  494.   Corrections made following the algorithm in "Calendrical Calculations"
  495.   by Nachum Dershowitz and Edward M. Reingold.
  496.  
  497. - Changed the dutch.h language file as suggested by Erik-Jan Vens.  Made
  498.   month and day names lower-case; corrected the spelling of oktober.
  499.  
  500. - Changed HashVal in var.c to use unsigned arithmetic - it's conceivable
  501.   that a machine with signed chars could cause problems otherwise.
  502.  
  503. - Changed the LONG_* macros in config.h to LON_* to avoid conflicts
  504.   with names defined by ANSI C.  Thanks to David W. Sanderson.
  505.  
  506. - Allowed the built-in function char() to accept numbers in the
  507.   range [-128, 255] (but not 0) so that char(asc(s)) works even
  508.   on machines with signed char types.
  509.  
  510. * Version 3.0 Patch 7
  511.  
  512. + MAJOR ENHANCEMENTS
  513.  
  514. - Added "system variables" to allow the user more control over
  515.   Remind operation, and to allow queries about the command-line
  516.   options from within a reminder script.  They allow for specification
  517.   of longitude and latitude for use by sunrise/sunset calculations.
  518.  
  519. - Added sunrise(), sunset(), isdst() and minsfromutc() functions -
  520.   these are needed to support sunrise and sunset calculations.
  521.  
  522. + MINOR ENHANCEMENTS
  523.  
  524. - Allowed the MSG, RUN, CAL, PS and PSF keywords to be used in the
  525.   same reminder as the SATISFY keyword.  This makes many complex
  526.   reminders more compact.
  527.  
  528. - Added the filedir() function to enable Remind's include to emulate
  529.   CPP's #include more closely.
  530.  
  531. - Allowed non-root users to use the "-u" option.  It only affects
  532.   the "SHELL", "HOME", "USER" and "LOGNAME" environment variables -
  533.   it doesn't change the effective uid and gid when run by non-root.
  534.  
  535. - Added built-in function "easterdate" to calculate date of Easter
  536.   Sunday - function courtesy of Michael Salmon.
  537.  
  538. - Improved the Jewish holiday reminders in "defs.rem" to give advance
  539.   notice of holidays.
  540.  
  541. - Allowed the "simple calendar" option (-s) to specify a number of
  542.   weeks as well as a number of months, in the same fashion as the
  543.   -c option.  Thanks to Dave Rickel.
  544.  
  545. + BUG FIXES
  546.  
  547. - Corrected the behaviour of "hebdate" for jahrzeits; added an additional
  548.   parameter to specify the behaviour of dates in Adar during leap years.
  549.  
  550. - Changed kall so that "kall sh" doesn't commit suicide - patch courtesy
  551.   of Michael Salmon.
  552.  
  553. * Version 3.0 Patch 6
  554.  
  555. + MINOR ENHANCEMENTS
  556.  
  557. - Added the PS- and PSFILE-type reminders - these allow you to include
  558.   arbitrary PostScript code in your PostScript calendars.  Useful for
  559.   shading, drawing graphics on calendars, etc.  Use with care, though!
  560.  
  561. - Added the "-ivar=val" option to initialize variables from the command
  562.   line.  Changed the remind-all.* shell scripts to predefine the variable
  563.   "remind_all".
  564.  
  565. + BUG FIXES
  566.  
  567. - Fixed a bug in the hebmon(), hebday() and hebyear() functions - there
  568.   was an off-by-one error.  Sorry!
  569.  
  570. - Fixed a bug in the hebdate() function which resulted in infinite loops
  571.   for dates after about 2075
  572.  
  573. - Fixed a bug in the -u option which sometimes caused a core dump
  574.   (embarrassed grin!)  The fix is due to Tina Hoeltig.  Thanks, Tina!
  575.  
  576. * Version 3.0 Patch 5
  577.  
  578. + MAJOR ENHANCEMENTS:
  579.  
  580. - Added support for the Hebrew calendar - can now specify Jewish holidays
  581.   easily.  Thanks to Amos Shapir for explaining the Hebrew calendar, and
  582.   to Danny Sadinoff, from whose HEBCAL program I got some inspiration.
  583.   Also thanks to David W. Tamkin and Frank Yellin for explaining the rules
  584.   for jahrzeits.
  585.  
  586. + MINOR ENHANCEMENTS:
  587.  
  588. - Allowed the default page size used by Rem2PS to be selected in config.h
  589.  
  590. - Edited the defs.rem file to contain Jewish holidays.  Cleaned up some
  591.   of the examples and improved the layout - thanks to George M. Sipe.
  592.  
  593. - Modified the IIF function to be more general
  594.  
  595. - Updated finnish.h to support the ISO 8859-1 character set, courtesy
  596.   of Mikko Silvonen.
  597.  
  598. - Changed the date conversion routines to greatly speed up conversion from
  599.   Julian to yyyy/mm/dd form.
  600.  
  601. + BUG FIXES:
  602.  
  603. - Fixed a bug in which Remind complained incorrectly about a missing quote
  604.   in the command SET foo ""
  605.  
  606. - Fixed bugs in dosubst.c which caused the %o, %1 and %@ substitutions
  607.   to be incorrect
  608.  
  609. - Fixed a bug in the man page - thanks to Ed Oskiewicz.
  610.  
  611. * Version 3.0 Patch 4
  612.  
  613. - Added the -g option - this sorts reminders by date/time before
  614.   issuing them.  (You can see I'm running out of letters to
  615.   name options!)  This feature was suggested by George M. Sipe,
  616.   Paul D. Smith, and Francois Pinard.
  617.  
  618. - Added the "args()" and "dosubst()" built-in functions - see the
  619.   man page for details.
  620.  
  621. - Added more support for the ISO 8859-1 character set, and
  622.   modified the german.h file to take advantage of this, thanks
  623.   to Robert Joop.
  624.  
  625. - Allowed any character to be used as date and time separator
  626.   characters (not just "/-:.")
  627.  
  628. - Added support for the Dutch and Finnish languages, thanks to
  629.   Willem Kasdorp and Mikko Silvonen.  (Anyone care to contribute
  630.   French?  Italian?  Spanish?)
  631.  
  632. - Made Remind issue a warning if you try to redefine a built-in
  633.   function.  This warning is disabled in 'Hush' mode.
  634.  
  635. - Added the SCANFROM clause to the REM command.  This allows reasonably
  636.   safe moveable OMITs such as the Labour Day example in the manual.
  637.  
  638. - Added more examples to the defs.rem file, and cleaned up some old
  639.   examples.  Note that there are now safe moveable holidays for most
  640.   U.S. holidays provided in the defs.rem file.
  641.  
  642. - Added the '-k' option, which allows MSG-type reminders to be passed
  643.   to any system command.  (Idea and patch courtesy of Philipp Slusallek.)
  644.  
  645. - Allowed selection of ':' or '.' as time separator characters at
  646.   compile-time.
  647.  
  648. - Edited the COPYRIGHT file to clarify the rules.  Please read them.
  649.  
  650. - Removed hard-coding of "am" and "pm" and placed them in language-specific
  651.   header files as #defines L_AM and L_PM
  652.  
  653. - Fixed a bug in the FindToken() routine which had, through sheer luck,
  654.   never been activated until the SCANFROM clause was added!
  655.  
  656. - Fixed the UNTIL clause to check for a valid expiry date.
  657.  
  658. - Removed identifiers in the C source beginning with "_" to conform
  659.   to ANSI practice.
  660.   
  661. - Fixed a bug in the -u option which resulted in environment variables
  662.   SHELL and USER not being set correctly.  Also made -u set the LOGNAME
  663.   environment variable.
  664.  
  665. - Fixed a couple of typos in the man page; added LDFLAGS to the
  666.   Makefile.  (Thanks to Dave Wolfe.)
  667.  
  668. - Put my new mailing address in the README files.
  669.  
  670. * Version 3.0 Patch 3
  671.  
  672. - Corrected bugs in Remind and Rem2PS.  No new features added.  You
  673.   should NOT use patch level 2 - either stick to 3.0.1 or upgrade to
  674.   3.0.3.
  675.  
  676. * Version 3.0 Patch 2
  677.  
  678. - Added the -u option to Remind so that root can run it as any user.
  679.   This simplifies the remind-all scripts, and makes them more efficient.
  680.   If you are worried that this option is a security hole, you can
  681.   disable it in config.h
  682.  
  683. - Changed the RUN command so that RUN OFF can be used anywhere, even
  684.   though RUN ON only works in the top-level file.  This eases the
  685.   management of global files which may want to switch RUN OFF.
  686.  
  687. - Added ISO encoding (ISO 8859-1) to the PostScript output, courtesy of
  688.   Michael Salmon.  This can be selected with the '-i' option in rem2ps.
  689.  
  690. - Added support for the '-' date separator as well as the '/' separator.
  691.  
  692. - Added support for languages other than English.  Note that this support
  693.   is not complete - error messages are still in English.  The idea and
  694.   German translation came from Wolfgang Thronicke.
  695.  
  696. - Changed the -w option to include the "padding" and "spacing" options.
  697.   NOTE INCOMPATIBILITY:  In the previous patch level, creating a weekly
  698.   calendar using the -c+n option left no blank lines between the day
  699.   number and the first reminder entry.  This has been changed so that one
  700.   blank line is left.  To revert to the old behaviour, use the "-w,,0"
  701.   option.
  702.  
  703. - Added the -o option to Rem2ps.  This allows you to specify the margins
  704.   when producing a PostScript calendar.
  705.  
  706. - Updated the copyright notices in all the files. :-)
  707.  
  708. - Added 'make clobber' and 'make test' targets to the Unix makefile.
  709.  
  710. - Corrected typos in WHATSNEW.30 and remind.1 man page.  Thanks to
  711.   Dave Wolfe <dwolfe@pffft.sps.mot.com>
  712.  
  713. - Changed Remind so that supplying the -a option causes timed reminders
  714.   not to be placed into the calendar in calendar mode.
  715.  
  716. * Version 3.0 Patch 1
  717.  
  718. - Wrote the Rem2ps program to produce PostScript calendars
  719.  
  720. - Added an 'install' target to the Makefile
  721.  
  722. - Fixed a bug which allowed the shell() function to execute in timed
  723.   reminders which were queued with RUN disabled.
  724.  
  725. - Added support for OS/2, courtesy of DARREL HANKERSON
  726.   <HANK@DUCVAX.AUBURN.EDU>
  727.  
  728. - In expressions, can now specify literal dates as 'yyyy/mm/dd' rather than
  729.   using the date() function.
  730.  
  731. - Fixed all the source files to include "config.h" first.
  732.  
  733. - Changed the way triggers are calculated so that trigger dates are 
  734.   always valid if year, month and day are specified, and there is no
  735.   UNTIL clause.  See MAN page section "DETAILS ABOUT TRIGVALID()."
  736.  
  737. - Defined _POSIX_SOURCE so Remind will compile on SGI workstations (and
  738.   be more portable... I hope.)
  739.  
  740. - Fixed some rather brain-dead definitions of UPPER and LOWER, as pointed
  741.   out by <rsalz@osf.org>
  742.  
  743. - Added more details to the Man page concerning how triggers are computed,
  744.   and added warnings about computing OMIT dates.
  745.  
  746. - Added the file defs.rem which contains examples of useful definitions and
  747.   triggers.
  748.  
  749. - Changed the script test-rem to be a sh script instead of csh for improved
  750.   portability.
  751.  
  752. - Fixed up the README.* files to reflect the changes.
  753.  
  754. - Re-formatted the WHATSNEW.30 file.
  755.  
  756. * Version 3.0
  757.  
  758. - Total rewrite from previous versions
  759.  
  760. - Added variables, expressions, flow-control statements, daemon mode
  761.  
  762. - Added "expression pasting"
  763.  
  764. - Added CAL-type reminders
  765.  
  766. - Added the SATISFY clause
  767.  
  768. - Improved debugging of reminder scripts
  769.  
  770. - Took out the "purge" option - it is in general too dificult to tell when
  771.   a reminder has expired for good, so now it's up to you to do this
  772.   by hand.
  773.  
  774. - Fixed a lurking bug in trigger date calculation which, amazingly, had not
  775.   been caught in the couple of years that Remind has been out!
  776.  
  777. * Version 2.3 Patch 5 
  778.  
  779. - Added the "c+n" option for printing a calendar by
  780.   weeks instead of months, courtesy Dennis Cottel (dennis@peanuts.nosc.mil).
  781.  
  782. * Version 2.3 Patch 4
  783.  
  784. - Made the init.c file nicer.  Made the Makefile
  785.   prettier.  Added "make test", "make tar" and "make shar" Makefile targets.
  786.  
  787. * Version 2.3 Patch 3
  788.  
  789. - Added a command-line option for Remind to process
  790.   queued reminders in the foreground.  This makes automatic termination
  791.   of Remind processes from within X-Windows and Sunview easier.
  792.  
  793. * Version 2.3 Patch 2
  794.  
  795. - Fixed up a problem with timed reminders which resulted
  796.   in cursor not starting from left side of screen on some systems.
  797.  
  798. - Fixed the SIGINT handler for SYSV systems - this was interrupting the
  799.   sleep(2) system call.
  800.  
  801. - Closed stdin and stdout if remind was part of a pipe - this prevents other
  802.   sections of the pipe from hanging as remind puts itself in the background.
  803.  
  804. - Added the "-h" (Hush mode) option
  805.  
  806. - Added the "%#" and "%@" modifiers for the current time.
  807.  
  808. - Made the Makefile more portable
  809.  
  810. * Version 2.3 Patch 1
  811.  
  812. - Added the "-t" command-line option to get Remind
  813.   to trigger all non-expired reminders.
  814.  
  815. - Added Turbo C support courtesy of Rhys Weatherly
  816.  
  817. - Added the "RUN ON" and "RUN OFF" commands for a secure interface with
  818.   the Elm mail system.
  819.  
  820. - Added the "rem" shell script for running Remind with a default script.
  821.  
  822. - Added manual pages for "kall" and "rem".
  823.  
  824. * Version 2.3
  825.  
  826. - Added the UNTIL keyword for forcing reminders to expire.
  827.  
  828. - Added the "++" form of 'back' and the "--" form of 'delta' for
  829.   ignoring OMIT information.
  830.  
  831. - Added the CLEAR-OMIT-CONTEXT, PUSH-OMIT-CONTEXT and POP-OMIT-CONTEXT
  832.   keywords for isolating personal or peculiar reminders from the global
  833.   OMIT context.
  834.  
  835. - Speeded up the parsing of tokens.
  836.  
  837. - Changed the source to recognize and exploit ANSI-C compilers which
  838.   accept function prototypes.
  839.  
  840. - Added the "-n" option to output the next occurrence of each reminder
  841.   in SimpleCalendar format
  842.  
  843. - Modified the calendar and SimpleCalendar formats so that the % escape
  844.   substitutions ARE performed.
  845.  
  846. * Version 2.2 - Patch 5
  847.  
  848. - Added the BEFORE, AFTER and SKIP tokens to make the
  849.   handling of holidays more sensible.  Also corrected a few more bugs.
  850.  
  851. * Version 2.2 - Patch 3
  852.  
  853. - Added the MSG or RUN tokens in an OMIT command; also
  854.   allowed RUN-type reminders to be explicitly included in the calendar by
  855.   using the %" escape sequence.
  856.  
  857. * Version 2.2
  858.  
  859. - Added the AT keyword, the timed reminders daemon, and the
  860.   calendar facility.
  861.  
  862. * Version 2.1
  863.  
  864. - Added the "repeat" token for repeating reminders with a period
  865.   other than 7 days.  Also fixed some bugs from version 2.0
  866.  
  867. * Version 2.0
  868.  
  869. - first public release.  Included advanced date specifications,
  870.   character substitution, and the RUN keyword.
  871.  
  872. * Version 1.0
  873.  
  874. - never publicly released.
  875.  
  876.  
  877.  
  878.