# jscalendar release notes

This release compiled at Wednesday, 5 Nov 2003 (19:30).

## 0.9.5

This release's primary goal is to fix a wrong license statement which can be found in some files from 0.9.4. For instance in README or calendar.js, the statement was that the code is distributed under the GNU GPL; that's because I had plans to change the license, then changed my mind but unfortunately I committed files so. I am sorry for this inconvenience, please use the latest (0.9.5) release which is fully covered by LGPL.

Other changes:

- Fixed an annoying bug that prevented the calendar to display correctly when it was configured for an input field inside a scrolling area. Many thanks to Ian Barrack (Simban.com) who pointed it up and donated quote some money for the Calendar project!
- All examples use UTF-8 now; the translations may not be all up-to-date, but I strongly suggest everyone to use UTF-8; other encodings are a plain mess. So far I know for sure that Romanian translation will work with UTF-8 and not anymore with ISO-8859-2. Other translations are probably usable under UTF-8, but if your preferred language isn't... ;-) please make it and send it to me for inclusion.
- Fixed small bug in the documentation (one footnote didn't appear where it should have).
- Updated translations: DE, ES, HU, IT, RO. Thanks to everyone who sent translations!

## 0.9.4

### New stuff

- Supports time selection. Yes. ;-) This work has been largely sponsored by Himanshukumar Shah (thank you!). See the docs and example files for details on how to setup.
- Easy to link 2 or more fields by using the new `onUpdate` parameter of `Calendar.setup`. This is useful, say, to automatically set a value in a second field based on the value selected in the first field. See the documentation and first sample in simple-1.html.
- Other `Calendar.setup` low-level parameters, for those wanting to have the complete control: `onSelect` and `onClose`. The handlers are called when something is selected in the calendar or when the calendar is closed.
- The translation files can optionally include the short day names and the short month names. That's because in some languages, like German, the short form is not the first 3 letters of the entire name but only the first 2. Also in other languages short names can't be as easily derived from the full name by just calling substr, so this patch solves the problem.
- Implemented a nice way to make some dates "special" (look different). Specifically, the `setDisabledHandler` method was replaced with the more general `setDateStatusHandler` method (the old one is still available for backwards compatibility but will be removed). More details about this in the documentation. Also see simple-3.html for a live sample.
- Date parsing and formatting engine is now rewritten and supports a subset of `strftime` format specifiers from ANSI C. This makes it possible to use dates like "YYYYMMDD" (the corresponding format for this would be "%Y%m%d"). Details in the documentation. Please note that the new engine is not compatibile with older calendar releases!
- Along with the new date parser I workarounded an unpleasant crash that occurred in IE when certain accented characters appeared in the texts. I think German was one of the language with such problems, and the workaround was to use the letter without an accent. Well, now you can translate to whatever you want.
- "Fixes" (I mean, "horrible workarounds") for Konqueror (and hopefully Safari). Unfortunately, this otherwise excellent browser still has some bugs that keep the calendar from working exactly as it should.. But they're going to be fixed, right? ;-)
- CSS themes got pretty much modified too so if you wrote your theme you need to update it. Aside for the time selector support, the CSS themes contain a simple hack that makes the navigation buttons show a little arrow in the lower-right corner which indicates that if one holds the mouse a menu will appear.

### Translation files

The translation files need to be updated in order for the calendar to work properly. Currently the only updated files are calendar-en.js (main file) and calendar-ro.js (well, yes, I am a Romanian ;-).

Specifically, they need the following:

- Correct date format, according with the new format specifiers introduced in 0.9.4. Details about the available format specifiers in the documentation
- Short day or month names, if required. If they can be derived by taking the first N letters of the full name then a simple Calendar._SDN_len = N or Calendar._SMN_len = N will suffice. If N is 3 then nothing needs to be done as we take it for granted if no other option is offered ;-)
- We have some new texts that shows short usage information as well as copyright information.

If your favorite language is not there yet, or it is but not updated according to the main calendar-en.js file, then please consider translating calendar-en.js and send the translation back to me so that I include it in the official distribution.

### Bug status

Check SourceForge, I didn't keep track. However, there were a lot of bugfixes.

## 0.9.3

### New stuff

- Opera 7 compatibility — keyboard navigation is still not available; text selection can't be disabled, leading to an ugly effect when walking through the month/year menus.
- Ability to align the calendar relative to the input field (or any other element). Vertical: top, center, bottom. Horizontal: left, center, right. This is established as a new parameter for `showAtElement`.
- Added `dateClicked` property (boolean). This can be inspected in the "onSelect" handler to determine if a date was really clicked or the user only changed month/year using the menus. You need to check this for "single-click" calendars and only close/hide the calendar if it's `true`.
- Full documentation in HTML and PDF format is now available in the distribution archive.
- New language definition files: HU, HR, PT, ZH. Thanks those who submitted!

### Bug status

This covers only those bugs that have been reported at SourceForge.

1. `#703,238` — fixed
2. `#703,814` — fixed
3. `#716,777` — closed (was fixed already in 0.9.2-1)
4. `#723,335` — fixed
5. `#715,122` — feature request; implemented.
6. `#721,206` — fixed (added "refresh()" function)
7. `#721,833` — fixed (bug concerning the "yy" format parsing)
8. `#721,833` — won't fix (we won't set the time to midnight; time might actually be useful when we implement support for time selection).

Last modified on Wed Oct 29 02:37:07 2003