
# 2013-05-12, v2.1.0

- Add new option on single/double-click to exit kalu

- Add support of middle-click on the systray icon

- kalu-updater: Change the way expander (Log) behaves: It wasn't very nice
whenever the paned position was changed, with regards to resizing the toplevel
window. Now it won't resize it, and should remember the last used positions
(expanded & collapsed).
Still not perfect, but better.

- Preferences: Reset timeout for next auto-checks after a save

- Add config tweak NotifButtons to remove buttons from all notifications
(So notify-osd doesn't turn notifications into non-expiring windows.)

- Remove option SaneSortOrder; It's useless, since GTK3 actually has an option
of its own for that (gtk-alternative-sort-arrows).

- kalu-dbus: ALPM_QUESTION_LOCAL_NEWER was removed from ALPM in libalpm 8.0.1
(pacman 4.1.1)

- Update French translation to 2.0.1


# 2013-04-06, v2.0.1

- Fix unable to start a sysupgrade (kalu-dbus would fail to start, due to a
wrongly removed init call)

- Couple other (minor) fixes


# 2013-04-05, v2.0.0

- Major version bump for compatibility with API changes of pacman 4.1

- Add menu "Show unread news" to help marking them read
Not so much to avoid running all checks (just re-show notifs) but for people who
do not have buttons shown on notifications.

- Escape a few more characters for notifications (Fix #3)

- Watched (AUR) window: add scrollbar to the list of watched packages

- Parse UseDelta value in locale-independent way

- Timeouts for checks are now calculated using real time (and not monotonic
time) to handled suspended system.


# 2013-01-22, v1.4.0

- Add feature pause: when paused kalu will not perform its automatic checks

The "skip period" (or "paused period") defined in Preferences now simply
switches kalu's paused state. This means there is now a visual feedback, and
one can "overwrite" this period on demand (e.g. resume during the skip period
and it's back on.)

Upon start, kalu checks whether we're during the skip period or not, and simply
either auto-pauses or auto-resumes (i.e. triggers auto-checks).

- A new action "toggle pause" is available on (double-)click

- A new set of actions for (double-)click when paused is available, including
an extra "Same as non-paused".

- Preferences: Fix double click action empty on re-show last notifications

When action show last notifs was used on dbl-click, showing preferences would
not select it in the list, and could therefore have it lost upon saving.

- Add config tweak to not show notifications on auto-checks

Adding "AutoNotifs = 0" to kalu.conf will disable showing notifications during
automatic checks. They can be shown using "re-show last notifications" as
usual. (Notifications will still be shown for manual checks.)

- Add support for internationalization; and thanks to kolibry kalu can now speak
French

- AUR: Fix package names not being urlencoded

Package names were used as-is in the URLs for the AUR, which could lead to
unexpected results (likely segfault) when said names contained "special"
characters, e.g. the plus sign.

- AUR: Avoid segfault in case of unexpected results

If a package returned by the AUR wasn't on the list asked for (which could
happen when names weren't urlencoded, and both foo and foo+ were packages
existing in the AUR) kalu would segfault.

We now ensure the package was found, and if not trigger an error.

- AUR: Fix possible memory leak on invalid JSON

- kalu-updater: Fix question to skip package not being asked

Question to skip upgrading a package when dependencies cannot be resolved was
not asked, leading to kalu (and kalu-dbus) hanging, needing to be killed.

- Fix empty notifications when '&' was used in text

Seems that because it uses a subset of HTML, the text in notifications should
not use '&' directly, but encode it as &amp; (else, the text of notification
is just empty, at least with notification-daemon and xfce4-notifyd)

So, when creating new notifications, we make sure to "convert" those '&' since
there can be some in e.g. a package description, which could be used as part
of the template (text is untouched on CLI output).

- Fix hanging on error parsing config

When error occured parsing configuration, since 13c4ffb4 GTK init wasn't yet
done, error messages couldn't be shown and kalu would just hang.

- Fix Makefile.am to handle spaces (in {dist,install-data}-hook)

- Help: Add info about conf files structure, and a section about config tweaks

Describe the format of the different conf files used by kalu, as well as the
name and supported values of each settings.

- kalu will now use the installed kalu.png file as its logo. It'll be used
about everywhere (systray, windows, menus...)


# 2012-10-27, v1.3.0

- Add $DESC to all templates (but news) for package description

- Update polkit policy: use auth_admin for all, add message & icon

- kalu's updater: Add tooltip to columns name & all sizes

- Fix segfault on invalid JSON from the AUR

- Fix invalid state when marking read while checking is still running

Notifications appear as soon as possible, and allow user to mark things
read/start upgrades. When this was done while the checking was still running,
it wouldn't be taken into account for kalu's icon/tooltip.

- Fix re-show notifications which would ignore conflicting files error.

When the list of packages to upgrade couldn't be compiled due to file conflict,
a "special" notif is shown, with an error message but also the "Upgrade system"
button.
This notification wasn't registered in the last_notifs list, and re-show would
ignore it (e.g. say "no notifications to show")

- Fix download sizes possibly incorrect (when file already in cache)

Cachedirs weren't set with ALPM during the checks, but they are actually used
when determining the download sizes, in case files are already
downloaded/available in the cache.

- Fix marking watched (AUR) packages could get garbage in memory

Marking watched (AUR) packages as seen could sometimes lead to garbage used as
new version number in memory (data on disk was valid).

- Set icon & tooltip properly when conflict makes upgrades number unknown

- If downloads (news, AUR...) are slow/timeout it might be linked to IPv6, in
which case adding "UseIP=4" in ~/.config/kalu/kalu.conf (under [options])
might help.


# 2012-10-21, v1.2.1

- Fix error checking news (due to switch to https)

Downloading the news used URL on http and didn't follow redirection, so the
switch to https-only caused an error checking the news.


# 2012-09-15, v1.2.0

- Instead of hard-coded use of xdg-open, one can now define the command line to
be used when a link is clicked (in news). Variable $URL will be replaced by the
URL to be opened.

Additionally an error message will now be shown in case of failure.

- On the command line to be executed on AUR upgrades, a variable $PACKAGES can
now be used. It will be replaced by the list (space separated) of all AUR packages
for which an upgrade is available.

- It is now possible to have kalu re-show all notifications from the last ran
checks. New option is available in the menu, and as action on single/double click.

All notifications from the last ran checks will be shown as they were originally
(including action buttons), including any error notifications.

Notifications are removed/altered as needed. For instance, when marking watched
(AUR) packages/news, the corresponding last notification will be removed (if
nothing remains unread/unmarked), or altered to inform that running checks again
is required (also, the button is gone).

It should be noted that the tooltip doesn't display status from the last ran check,
but last known info. Meaning if the last checks failed (e.g. Internet connection
was down), the tooltip will still show data from the (successful) check before,
while re-show will only show the error notification(s).

- Fixed a bug in marking watched (AUR) packages, where garbage could end up as new
version number.

- News parser now handles "all" kinds of new lines (<br>, <br />, etc)

- kalu's updater: error messages of 1024+ characters are no longer being truncated

- kalu's source code moved from a mercurial repo (https://bitbucket.org/jjacky/kalu)
to a git one (https://github.com/jjk-jacky/kalu)

- Added option --enable-git-version to configure. When enabled, the version used
in kalu (and man page) will come from `git describe` ran at compile/make time.


# 2012-08-10, v1.1.0

- Added options --manual-checks (-m) and --auto-checks (-a) to run manual/auto
checks from command line. No GUI used at all, everything gets printed on
stderr/stdout (using the same templates as for notifications). 

This can be done without the need for a DISPLAY (no GTK init performed), thus
works from a tty or through SSH. This can also be useful to use kalu from scripts.

- A configure option --disable-gui is also available, to make kalu a small
CLI-only binary (i.e. no dependency to GTK nor libnotify), which could be useful
on GUIless box (e.g. servers), where kalu can then still be used to check for
upgrades, watched packages, etc

Running this CLI kalu without arguments will do the same as using --manual-checks

- News parser: a few fixes: LF inside <code> blocks are preserved, correct
processing of &minus;, &lsquo;, &rsquo;, &amp;, &lt; and &gt;

- News parser: links are now supported: showed blue & underlined, URL as tooltip,
click to open in default browser (via xdg-open)


# 2012-05-10, v1.0.0

- Preferences: kalu's updater: added option to disable confirmation before
starting PostSysUpgrade processes.

- PostSysUpgrade: now you can use variable $PACKAGES in the command line, to be
replaced by the list of upgraded packages.

Note that the list actually is of all packages involved in the sysupgrade, i.e.
also those removed or added (e.g. when a package is replaced by another one).

- When buttons for Upgrades & AUR were both used/clicked at the same time,
kalu would run a check after each, fixed

- Parsing config file was broken for lines with more than 255 characters, fixed

- News parser: added support for lists and &quot;

- Other minor fixes.

- Bumped to 1.0.0 to follow semantic versioning


# 2012-04-19, v0.1.5.1

- Preferences: option SyncDbsInTooltip could not be changed, fixed

- Preferences, Upgrades: added Check for pacman/kalu conflict. When enabled,
kalu will check if there's an upgrade of pacman likely to prevent the system
upgrade due to kalu's dependency to the current version of pacman (i.e. due to
API changes in libalpm).

If so, a button will be featured on the notification, to show a little message
about the reason for such a conflict, and how to perform the system upgrade.


# 2012-04-14, v0.1.5

- Now using automake & autoconf. (Hopefully) this shouldn't really change
much for most people, but if you don't care for kalu's updater and only want
to use kalu as update notifier, you can use option --disable-updater to configure.
You'll get a smaller binary, no second binary (kalu-dbus) nor dependency to
DBus/PolicyKit.

- When starting an external process to perform sysupgrade (or AUR upgrade), kalu
now waits for the process to end (being "busy" meanwhile), and runs another check
right after, to refresh its state. Closes #5.

- kalu always shipped with a man page, and recently a (this) changelog. Both can
both easily be read using menus Help & Change log.

- Added new option to customize icon used on notification: none, kalu's default,
or specifying a file to load the icon from. The icon will be shown full size, so
e.g. using /usr/share/pixmaps/kalu.png will uses kalu's icon at 48x48 (if
loading icon fails, silently falls back to kalu's default icon). Closes #6.

- kalu's updater always used /etc/pacman.conf (instead of whatever is set in
Preferences), fixed

- Parsing kalu.conf would report & stop on first error, now it ignores the line,
continues parsing, and report all errors (at once)

- kalu's updater: log messages longer than 1023 characters would be truncated, fixed

- Other minor fixes


# 2012-03-26, v0.1.4

- added section "Misc" under Preferences, with options to define action on
single- & double-click on systray icon: nothing, check for upgrades, system
upgrade, hide/show opened windows

- kalu updater: one can now click on columns to sort packages

- Preferences/Misc: option to disable sane sort indicator

- tooltip: now indicates if/how many dbs can be synchronized (regardless of
upgrades avability). Can be disabled via option under "Misc" in Preferences

- fixed possible memory leak if showing news failed on parsing

- showing Preferences without "Upgrade system" button enabled didn't have
PostSysUpgrade list disabled, fixed


# 2012-03-20, v0.1.3

- when saving Preferences, \n in templates wasn't resolved to newline (for
current run), fixed


# 2012-03-18, v0.1.2

- saving preferences if the folder (~/.config/kalu) did not already exist would
fail, fixed


# 2012-03-11, v0.1.1

- kalu-updater: environment variables were unset, which could cause issues on
some post_{install,upgrade} scripts, fixed

The sysupgrade is ran from kalu-dbus, which is automatically started through DBus.
When starting something, DBus does clear all environment variables, which could
cause problems is some scripts (e.g. mkinitcpio with autodetect hook, and the
lack of a PATH defined).
This is fixed by using a bash script to source /etc/profile (and therefore
restore a proper environment) before launching kalu-dbus
(See https://bbs.archlinux.org/viewtopic.php?id=136784)


# 2012-03-06, v0.1.0

- first stable release

- The menu "System upgrade" was always present and running kalu's system updater.
It now relies on the preferences for Upgrade notifications: only visible if
enabled, and starts either kalu's updater or the specified command line.
IOW those two (notifications' button & menu item) are 2 GUI elements of the same
feature.


# 2012-03-03, v0.0.6

- When performing a sysupgrade through kalu's updater, when (new) optionnal
dependencies were to be listed, kalu would crash. Note that "only" kalu (aka the
GUI) would crash, the updater part would still run fine and complete the upgrade,
as the log (pacman.log) would show. Still pretty bad, and fixed.

- When starting a sysupgrade, the message in the log (pacman.log) is now
"starting sysupgrade" to be more consistent with the message upon completion
("sysupgrade completed")


# 2012-02-23, v0.0.5

- added man page

- Preferences: added notification expiration delay


# 2012-02-21, v0.0.4.1

- kalu did not perform automatic checks (forgot to remove debugging comment), fixed


# 2012-02-21, v0.0.4

- added window Preferences to configure things

- checking the news did not report error on failure, fixed

- news were always checked regardless of settings, fixed

- templates were overly complicated, rewrote the whole thing


# 2012-02-17, v0.0.3

- when creating local copy of dbs, it would fail if there were folders (in sync/);
fixed (only copy files now)

- added basic command-line parser, and option -d/--debug to enable debug mode


# 2012-02-15, v0.0.2

- saving data (marking (AUR) watched packages, read news, managing (AUR) watched
packages) would silently failed if the folder did not exists (yet kalu acted as
if it had worked), which was pretty much always the case on a new installation, fixed

- template Title was missing $INS (total install size), fixed


# 2012-02-14, v0.0.1

- first release, still in development phase
