C-Diary by hermocom
Version history:


2012-10-09 - NO CHANGE IN SOFTWARE
===================================

C-Diary is now freeware. Use this registration info to unlock all of its features:
Username: freeware
License key: hmc212725145856522


2011-10-18 - C-Diary 1.28
=========================

- Fix: Configuration for "Use Blood Pressure" was saved to config file, but not read from it on program start. So after enabling this feature, the feature only worked until program was terminated. On next program launch the feature was disabled again.



2011-09-12 - C-Diary 1.27
=========================

- Bugfix: If started for the first time (no data file exsits yet), program crashed (due to io.close() on non-existent file pointer)

- Improved Symbian^3 compatiblity (due to usage of mShell 3.07)


2011-08-23 - C-Diary 1.26
=========================

- Official support for blood pressure entry and display available now. Enable / disable this feature by reconfiguring C-Diary (Menu "Configuration").

- Increased compatibility with Symbian^3, e.g. 
	- workaround for Symbian3 bug which caused C-Diary to lock in the screen "Sending data" after AirSync.
	- Default maximum font size reduced to avoid huge fonts on larger displays
	
- Increased data safety by instant reloading of the data file after saving, in order to quickly detect problems if file is broken due to file system corruption etc.

- Minor cosmetical changes and bugfixes.



2011-02-21 - C-Diary 1.25
=========================

- Bugfix: Touchscreen buttons had unreadable labels on Symbian^3 devices

- Add: new parameter "ForceEvents" in cdiary.properties file: Default 0, if set to 1, event dialog is shown always after record dialog (also if new record is generated).
Start and quit program once in order to write the file with the new paramter, then change the value in the file to 1 if needed.

- Add: Blood pressure entry possible in this version for testing purposes only. Set UseBloodPressure=1 in cdiary.properties file to enable blood pressure entry and handling.
(A blood pressure dialog is displayed after the main and event entry dialogs).  Blood pressure values are also included in the export/sync.
BLood pressure handling is not an official feature of C-Diary yet! It's only for testing purposes. USE WITH CARE! 
I will enable this feature officially once it has been tested enough.

- Bugfix: when non-curent time is given in input dialog and invalid other value (e.g. BG), after error message given non-current time is still displayed, but on successful confirmation of the dialog new entry is inserted at current time, not at given time.


2010-12-23 - C-Diary 1.24
=========================

- Bugfix: Standard font changed from "SwissA" to "Series 60 Sans". This should fix all font display problems on newer Symbian phones, especially Symbian^3 (e.g. Nokia N8)

- Change: Made font sizes dynamic in preview area (day and entry mode) and for date line. Results in much better readbility on larger screens.
If date line or preview pane fonte are too large, use parameter MaxFontSize in the cdiary.properties file to adjust the maximum font size if necessary. Default MaxFontSize is 36 pixles. 


2010-11-17 - C-Diary 1.23
=========================

- Bugfix: When DiagramDay was > 0 and current time was between 0:00 and DiagramDay and new entry was created, date/time initialization was wrong.

- Bugfix: CSV export when C-Diary is configured for English (or French) user interface now uses date format DD-MM-YYYY instead of DD.MM.YYYY to comply with SiDiary rules when SiDiary is configured to English language

- Change: CSV export now generates a new field "DATUM_DE" which always carries the record date in German format DD.MM.YYYY, independent on language setting. That way, no language-setting dependent problems with export / import should happen anymore. SiDiary has implemented the according field too in the latest version. Please update SiDiary, if you plan to export C-Diary data to SiDiary!

- Bugfix: CSV export when C-Diary is configured for English (or French) user interface now uses English event abbreviations instead of German ones to comply with SiDiary rules when SiDiary is configured to English language


2010-07-21 - C-Diary 1.22
=========================

- Bugfix: When adding new record with "hypo" flag and without BG value, and if BG unit set to mmol/l, the predefined hypo BG values were filled in wrongly (incorrect unit conversion).


2010-06-30 - C-Diary 1.21
=========================

- Bugfix: in CSV export, mmol/l was not handled correctly. Not BG values are always exported as mg/dl and SiDiary interprets them correctly, converting them to mmol/l if the user configured SiDiary to use mmol/l.

- Change in CSV export: Carbohydrates are now always exported in grams with the according CSV header "CH_GR". This prevents potential unit conversion problems.

- Change: Reduced limit of data records in demo mode from 15 to 13.


1.20 release (2010-06-30)
=========================

ATTENTION: Some changes made which apply to data storage handling. Please back up your diary data before updating (e.g. export the entire diary and save the exported file elsewhere, or make a backup of your .dat file and copy it to another directory or to the PC!).
Normally all data should be preserved, but the new code has not been tested thoroughly enough to be entirely sure that it works correctly

- Change: New licensing scheme: Saving is now possible in unregistered mode (i.e. as downloaded, without entring any license key).
But number of records is limited to 15. That way, you can test C-Diary with at most 15 entries in its full functionality without requesting a Demo license.

- Change: Saving now saves an additional backup copy of the data file directly after successful saving of the data file. So there is always a most recent good copy of the file, in case a saving action is interrupted by power loss etc. Most recent backup is now "bak1" (after last saving). "bak2" is generated from the file status before saving. Load function has been enhanced to fall back onto bak1 and then bak2 in case file is corrupted. If database file has been detected to be corrupt, is it renamed to [filename]._corrupt_ for later analysis.


- Change: The configuration files cdiary.config and cdiary.properties are now located in the same directory as the diary file, in order to make them accessible to the user. On first start of this new version, the current configuration files are moved to the new location.

- New: When the user changes the storage location for the data (and since 1.20 also the configuration) files from phone memory to memory card or vice versa, C-Diary looks in the not chosen place if there is C-Diary data and offers to move that data to the chosen location



1.11 release (2010-05-05):
==========================

- SiDiary AirSync now always sends blood glucose in mg/dl. If you kept your diary in mmol/l and then tried an AirSync, blood glucose values were messed up on SiDiary Online due to a unit mismatch of the AirSync interface between C-Diary and SiDiary Online.


1.10 (first official release) (2010-04-23):
===========================================

- Change: AirSync now has "Send only new data" feature, using date/time of last AirSync for start 

- Change: When adding / editing an entry with date/time prior to "LastCSVExport" or "LastAirSync" timestamp, a warning is displayed that this entry may not be exported next time. ("LastAirSync" timestamp is only saved when AirSync was successful)

- Change: AirSync "only new records" is only triggered if at least one new record is to be sent

- Fix: AirSync screwed up Events (repeated first 31 Events from Event 32 on)

- Change: Undocumented feature (to be optimized and integrated in future): Force mode for AirSync (non-interactive). To be triggered only with 6-5-2 key sequence currently. Requires all AirSync parameters to be set. Triggers an "only new records" AirSync, non-interactively.

- Change: CSV / DAE export of "only new records" is only triggered if at least one new record is to be exported

- Change: Day view follows time (When a new day begins, day view switches to new day, at midnight + DiagramDay setting)

- Enhancement: Touchscreen handling optimized

- Workaround for S60 5th ui.list bug: One dummy event "LetActivated" is appended to event list (and user event 26 is removed for that). Let this activated, don't use it. Without this, C-Diary may crash on S60 5th when the last activated event in the list is deactivated.

- Change: Export CSV, AirSync and Diary info check for empty database and if empty, show error and return.

- Change: Tap touchscreen around red dot more precizely: The entire right half of the diagram is the "button") to trigger save action manually

- Some text changes (mainly French)

- Fix: Title bar subtitle now displays "Diabetes Logbook" instead of "C-Diary".





1.0beta7 (Release Candidate 2) (2010-03-17):
============================================
Beta version expiry date: 2010-04-30.

This is really ;-) supposed to be the last beta version before the first release!
If you find the slightest glitch, please report! Don't hesitate to ask me if you are unsure.
And remember: Active testers get a significant discount when buying a license for the first release.


- Manuals in HTML format available now. Please read and report errors or problems!

- French language GUI available now. Use configuration to change language.

- Fix: 100% reproducable crash on UIQ phones (apperently not on S60) when program was in day screen and program was running in background (KERN_EXEC crash)

- Fix: Correct Umlaut / special character coding in SiDiary AirSync implemented

- Fix: When depleting the diary after CSV export, there was an error that the archive file could not be generated. Now the archive file is generated in subfolder "Archive_YYYY-MM-DD"

- Fix: "Saved" indicator (green/red dot) is now in upper right corner also on non-QVGA screens

- Fix: After entering a Demo license, the message "Your demo license will expire in ... days" was displayed twice.

- Fix: in day view mode, long text still exceeded the rectangle.

- Fix: Hypoflag dot color only assigned when Event 1 (-) was set, not with Event 2 (--).

- Change: Saving is now disabled entirely in unregistered mode (so far the cyclic saving after 15sec timeout worked even in unregistered mode; this was for testing purposes)

- Fix/Change: Don't save empty records when adding or editing a record. When user does not give values in main entry dialog, event dialog is opened even on adding a record, assuming that user only wants to enter events.

- Change: Menu relabeled to "Menu" instead of "C-Diary" for S60.

- Fix: prevent division by zero crash when showing diary info of empty diary.

- Fix: CSV export injection food delay now handled like in AirSync: An according comment is created.

- Chance: LastAirSync value is saved in properties file now (not used yet, though. AirSync sends always all diary data).

- Fix: When entering a full license when a demo license was active before, license data was reported invalid.

- Change: FoodReminderOnIFD property added (default=1. Set 0 if you don't want food reminder when IFD is given)

- Change: Plausibility check of BG range entries in config dialog




1.0beta6 (Release Candidate 1) (2010-02-11):
===========================================
Beta version expire date: 2010-03-31.

This is supposed to be the last beta version before the first release!
If you find the slightest glitch, please report! Don't hesitate to ask me if you are unsure.
And remember: Active testers get a significant discount when buying a license for the first release.

- Add: Enabled license key checking. From now on, you need a valid user name / license key pair to run the program (this is included in the beta6 already for testing the license checking code. In the release version, this code has to work reliably)
Please ask me for a license key. If you are one of the active beta testers who are known to me already, you will get a free full license. Otherwise you will get a demo license or you may purchase a full license.

- Add: SiDiary AirSync enabled (via menu). Still experimental, don't totally rely on it yet (knwon bug: special characters such as Umlauts etc. are messed up)! 
Supported modes: 
Without SiDiary Online (=SDO) account: data is sent as Java AirSync email attachment to your email address by SDO.
With SDO account and without entering a password or entering a wrong password: Data is sent to your SDO account and to your email address. Import into SDO must be approved by you on your next SDO login.
With SDO account and with entering the SDO password into C-Diary: Data is sent to SDO and is imported automatically into your SDO account. No email is sent, except you have enabled the Email notification in SDO.
Currently, always the entire diary is sent to SDO (SDO detects duplicates and does not import them) on each AirSync.

- Add: After successful CSV export, the user is asked if the CSV file shall be sent to a PC now. If the user confirms, the file can be sent via MMS, Email, IR or Bluetooth (depending on phone / configuration capabilities).

- Add: When exporting to CSV, user has the choice to deplete the current database and start over with a fresh one. If he chooses "yes", the current databased is archived (copied to an archive file in the same directory as the dat file) and the current diary is depleted.

- Add: Diary info with information about diary database / file added

- Add: Splashscreen is shown on program start, some cosmetical changes, better optical user feedback (status screen overlays)

- Fix: "Today"-Handling, dependent on DiagramDay setting, was not correct.
With "Today", everything which is displayed in the today's day screen is meant, e.g. with a setting of DiagramDay = 3, "Today" in C-Diary means 3am today until 3am tomorrow.

- Change: Food reminder dialog is now also shown when entry has been edited, food-injection delay is > 0 and time of the entry is not older than 10 minutes from now and delay is set to more than 10 minutes.

- Fix: Deleting old reminders from the agenda did not work.

- Change: Menu does not contain "Save" item anymore. Programs saves the database automatically after user interaction timeout and on quit, so this menu item is not necessary anymore.

- Fix: When entering a valid but expired demo license, program did not warn until next program start. Now program does not accept such a license.

- Fix: Reminder generation generated alarm time = start time, which UIQ appointment book doesn't like ("alarm time beyond valid range"). Now alarm time is generated on desired time, start time is alarm + 1 minute, and end time is start time + 1 minute.

- Add: Cyclic license check during program execution. This prevents "everlasting" demo or beta versions by preventing the program from being shut down and restarted

- Some GUI strings optimized, cosmetical changes, some confirmations for user actions added.

- Change: When flash card is detected on configuration and dialog for storage location is shown, phone memory is the first and default item, not flash card anymore. 

- Fix: Key "2" did not generate a reminder.

- Fix: IE2 (Insulin 2 / medication 2) value was never saved.

- Fix: CSV file name now has correct "from" timestamp and slightly better-to-read format

- Fix: Crash when navitaging to a day with records of which none contains a BG value (reason: division by zero for BG statistics)



1.0 beta5 (2009-12-30):
========================
Beta version expire date: 2010-02-18.

- Fix: Flash card detection on first program start and database location choice ("Store database on phone or card memory?") did not work correctly 

- Fix: New storage location for database and CSV-Export: Now using a location where it is accessable from a Windows PC running the phone suite's file manager. Tested with Nokia E50 (S60) and on SonyEricsson M600i (UIQ) with and without a flash card inserted. Please report if this causes problems for your phone, or if the files are not accessible from Windows for you:
S60 Phone memory: C:\DATA\C-Diary\
S60 Card memory:  E:\Others\C-Diary\
UIQ Phone memory: C:\Media Files\OTHER\C-Diary\
UIQ Card memory:  D:\other\C-Diary\

ATTENTION: If you want to continue to use your database created with a version prior to 1.0beta5, you need to manually move it to the new location using the phone's file namager. The old location is C:\C-Diary or D:\C-Diary (UIQ) or E:\C-Diary (S60). Move the entire "C-Diary" directory to the new location (see above) before starting the new C-Diary version. On UIQ, you can use the file manager of "SwissManager" to move the file. If you have problems, please contact me.
		
- Fix: When adding a new record and selecting "hypo" with glucose value = 0, events "est. gluc" and "hypo-" or "hypo--" were not set
(Same with glocuse value set and hypo set: no hypo event was set)

- Fix: After adding a record after 0:00am but before DiagramDay time (e.g. at 1am with DiagramDay set to 3am), the wrong day was displayed. Also, "Today" key did not work properly (DiagramDay offset issue).

- Fix: "Today" appendix to date line was not assigned correctly for current times > 0am and <DiagramDay

- Fix: CSV export bug: comments were not exported

- Fix: When editing a record with Event "--" (hard hypo), the "Hypo" checkbox in the edit dialog was not checked. 

- Change: Removed choice to use test database (was only a testing feature)
(you may delete the c_diary_test.dat and c_diary_test_debug.txt files manually, if you like, to free up some space)

- Change: Changed key sequence for "random-fill of database for test purposes" from 6-6 to 6-5-3 to make it more difficult to start this feature by accident (because it erases all entries of the current database!)

- Change: Date and time can now also be entered without delimiters. Expected formats: DDMMYYYY and HHSS (e.g. 18122009 and 1435)
This is for easier usage on phones with a normal numeric phone keyboard. The old delimiters are still allowed (.,:;/ and a few more)

- Change: When you add a new entry in day mode while displaying another day than today, the date field gets pre-filled not with today's date, but with the currently displayed day's date. In that case, the time field is empty by default and must be filled by you. This makes it easier to add entries for days in the past --> Simply navigate to a day and add an entry for that day.

- Some cosmetic changes



1.0 beta4 (2009-11-25):
========================
Beta version expire date: 2010-01-07.
- New bugtracker: http://www.hermocom.com/bugtracker (requires account on www.hermocom.com)
- Enhancement: Touchscreen support:
	Touch the touchscreen's button area (= preview/statistics area) and buttons will appear for 
	- "<" (Previous record) (in day view: switches to record view)
	- ">" (Next record) (in day view: switches to record view)
	- "<<" (Previous day)
	- ">>" (Next day)
	In day view:
		- "NEW": Create new entry
		- "TODAY": Jumps to today
	In record view:
		- "EDIT": Edit record
		- "DAY" (= 0, Spacebar) Switch from record view to day view
	Buttons will vanish after a timeout of 15 seconds (autosave timeout is used).
	Buttons will also vanish if you touch a non-button area of the screen, for convenience when wanting to read preview area
- When editing an entry, the label of the dialog is now not "New entry" anymore, but "Edit entry" ("Neuer Eintrag" -> "Bearbeiten")
- In preview: Removed wird "Comment" / "Kommentar" from comment line to save some space.
----- 1.0beta4PRE sent to "nowo" only for touchscreen testing -----
- Menu item "Configure": function implemented. When choosen, config file is deleted, so that on next start of C-Diary, configuration dialog is shown to reconfigure C-Diary. No worries: no data is lost on reconfiguring. Just make sure that when reconfiguring, you choose the same storage location as before (memory card / tel. memory)!
- Added "Diagram Day" configuration setting: Diagram display starts and ends at the set hour instead of 0:00 to 24:00. Useful if you measure your days  e.g. from 3..3 o'clock or so (when usually going to sleep after midnight). Activate this feature by reconfiguring C-Diary.
- Indicator for saved/unsaved (green/red dot) should now always be placed correctly in upper right corner of the screen, also on non-QVGA displays
- Fix: When configured to BG unit mmol/l, BG values were not shown correctly or not shown at all in the day diagram
- Fix: Somewhere in the code "mmol/l" was incorrectly wirtten as "mol/l" leading to unwanted results when program is configured to mmol/l
- Day statistics implemented (BG average and distribution pie chart, IE sums, CH sum, day's event colloection)
- In entry preview, no entry number and ID shown anymore (this was for easier debugging only)
- Diagram shows BG unit now. 
- Diagram shows time as "hh:00" now instead of as "hh" 
- Diagram shows grey vertical helper lines for hours 6:00, 12:00, 18:00, 24:00 now
- Event dialog is now only shown after main entry dialog, if entry is EDITED. Not when adding a new entry. This is for faster adding of entries. In order to add events to an entry, you need to add the entry and then edit it.
Better solutions will come in the future, when new dialogs will be used for adding / editing (planned, probably for 2.0 version).
- Entry preview now also shows injection-food delay if present
- New properties file cdiary.properties is created, storing the timestamp of last CSV-exported entry (not included in config file because config file is deleted for reconfiguration. Properties file won't be deleted.)
- CSV export enhanced: User can choose to export entire database or only new entres (later than last exported entry, if there was a prior export).
- Moved the keys "Username" and "Licensekey" as well as all "UserEvent[XX]" definitions from cdiary.config file to cdiary.properties file (so it won't get deleted on reconfiguration of C-Diary). (Call "configure" function of C-Diary once to clean up your old config file please!)
- Cleanup of old agenda reminders implemented now: On program quit, thee phone's agenda is scanned for absolete C-Diary reminders. They are deleted automatically.


1.0 beta3 (2009-10-12):
========================
Beta version expire date: 2009-11-30.
- Fix (Bug #5): If event "Change of battery"/"Batteriewechsel" was checked, there was a variable overflow resulting in event chaos.
- Fix: upper border line of preview area flickered when scrolling through records in day view
- Fix: If the dialog "how many random records" for the debug feature of generating random database entries was canceled, C-Diary crashed.
- Fix: When cancelling some dialogs instead of choosing a value and confirming with OK, C-Diary crashed. 
- Fix: When generating random entries, messages "x entries created" stayed on screen until a key was pressed.
- Fix: Actually not a bugfix, but behavior modified: In entry preview, events were shown as numerical codes (bitfield values). Now they are shown as a list of SiDiary-conform	 Event abbreviations in brackets ("[--]" for a hard hypo, "[AW]" for Ampullenwechsel / change of reservoir etc.)
- Fix : Now, storage location is only asked for if there IS a choice (i.e. if a memory card is installed. Also, the correct drive letters are used now: UIQ: C: for Flash, D: for card. S60: C: for flash, E: for card.
- Fix: Deleting a record did not set the "unsaved" status of the database (visualized using a red dot in the upper right korner of the screen).
- On phones with a QWERTZ / QWERTY keyboard, now the keys D anf F can be used to browse backwards in diary entries, and J and K move forward. This is an alternative to using the jog wheel of e.g. the SE M600i.
- The test database random fill feature now also creates some entries without a blood glucose value (with a rate of 20%)
- The test database random fill feature: Fixed a bug in event creation. Now random events should be more plausible.
- Some menu entries shortened (for S60)
- Some additional cosmetical changes



1.0 beta2 (2009-09-24): 
========================
Beta version expire date: 2009-10-18.
- First official beta version

