Adding upstream version 1.1.0.
[debian/menu-cache.git] / NEWS
1 Changes in 1.1.0 since 1.0.2:
2
3 * Fixed crash with invalid <Name> tag in a menu.
4
5 * Added new API menu_cache_app_get_generic_name() to get generic
6     name for application.
7
8 * Fixed potential access violation, use runtime user dir instead of tmp dir.
9     It limits libmenu-cache compatibility to menu-cached >= 0.7.0.
10
11 * Directory $XDG_DATA_HOME/applications will be created if it does not
12     exist so it will be monitored in any case.
13
14 * Fixed issue when subdirectories added would be skipped in monitoring.
15
16 * Fixed potential file descriptors leak.
17
18 * Reduced inactivity timer to 6 seconds (from 600 seconds).
19
20 * Fixed an issue with multiple daemons started: test if daemon is already
21     running on socket before killing old socket file.
22
23 * Fixed 100% CPU load by menu-cached due to invalid dup2() call.
24
25
26 Changes in 1.0.2 since 1.0.1:
27
28 * Fixed crash in menu-cached if cache regeneration fails.
29
30 * Fixed 100% CPU load by menu-cached in some rare conditions.
31
32 * Invalid empty <DefaultLayout> should be ignored, see specification.
33
34 * Fixed crash in menu-cache-gen on <MergeFile type="parent"/> if no file
35     to merge found.
36
37 * Fixed showing empty Other menu in some cases.
38
39 * The option --disable-debug is now default, instead of --enable-debug.
40
41
42 Changes in 1.0.1 since 1.0.0:
43
44 * Fixed crash on generating menu with both tags <DefaultAppDirs/> and
45     <KDELegacyDirs/> present.
46
47 * Fixed crash when menu-cache-gen ran manually without CACHE_GEN_VERSION.
48
49 * Fixed crash in menu-cache-gen on <Filename/> in menu layout with
50     <OnlyUnallocated/> tag present.
51
52 * Fixed incorrect processing of <Merge type="files"> in menu-cache-gen.
53
54 * Added safeguards against environment variables containing newlines.
55
56 * Fixed case when cache was not updated while it should, it was claimed
57     to be fixed in 1.0.0 but apparently fix was incomplete.
58
59 * Fixed ignored <Filename> tags inside of <Layout> tag.
60
61 * Fixed memory corruption in scanning <LegacyDir> addressed directory.
62
63
64 Changes in 1.0.0 since 0.7.0:
65
66 * Added new cache file format generation support with changes:
67     - invisible directories (NoDisplay=true or empty) can be put into the
68         cache too but with flag (not displayed) set;
69     - content of TryExec field is added to contents of cache file;
70     - the working dir to execute application is added to cache file;
71     - list of categories is added to contents of cache file;
72     - list of keywords is added to contents of cache file.
73
74 * Fixed crash in menu_cache_item_get_file_dirname() for a non-existent
75     file (might happen for directories without .directory file).
76
77 * Made menu_cache_app_get_working_dir() actually work.
78
79 * Made menu_cache_lookup() faster (do not load cache immediately but on
80     idle instead).
81
82 * Eliminated secondary cache reload in menu_cache_lookup_sync() - server
83     response in such case will be ahead of idle reload (since main thread
84     is in wait ATM) and therefore idle call will be supressed.
85
86 * Added new API menu_cache_app_get_categories() to get list of categories
87     for the application.
88
89 * Added new APIs for applications: menu_cache_list_all_for_category() and
90     menu_cache_list_all_for_keyword() that return list of applications
91     matching criteria.
92
93 * Fixed problem if some string in the desktop entry file contained a new
94     line character. That broke cache file format, now it's replaced with
95     a "\n" string and converted back into new line in the library.
96
97 * Fixed bug when cache was not updated while it should: check if the last
98     modification time for directory is more recent than modification time
99     for cache may not always be valid - some .desktop entry might be just
100     changed by update and that will lead to falsed cache contents.
101
102 * Added Log Domain "Menu-Cache" for better library logging messages.
103
104
105 Changes in 0.7.0 since 0.6.1:
106
107 * Added bit of support for multiple supported cache file versions, using
108     CACHE_GEN_VERSION environment variable to the generator. This may be
109     useful in future when 1.2 cache file version will be implemented.
110
111 * The menu-cache-gen libexec binary is rewritten from scratch. No that
112     Red Hat / GNOME code anymore. New menu-cache-gen uses libfm-extra XML
113     manipulation functions therefore it is required now for build.
114
115 * Added a parameter for menu-cached to specify socket path instead of
116     calculating one, that is definitely more safe.
117
118 * Libmenu-cache handles menu-cached failure more gracefully now, don't
119     tries to restart it so fast that it clones many times.
120
121 * Fixed menu-cached crash after menu-cache-gen failure.
122
123
124 Changes in 0.6.1 since 0.6.0:
125
126 * Fixed invalid memory access after cache reload.
127
128 * A little cleanup of dist tarball: removed unused files menu-cache.h and
129     libmenu-cache-uninstalled.pc.in.
130
131
132 Changes in 0.6.0 since 0.5.1:
133
134 * Fixed few GLIB compatibility issues.
135
136 * Changed default tarball format to XZ instead of GZIP.
137
138 * Fixed build without --enable-gtk-doc.
139
140 * Fixed crash on access root_dir with empty cache (no menu).
141
142 * Allowed menu_cache_get_desktop_env_flag() accept colon-separated list
143     in accordance to freedesktop.org specification for the environment
144     variable XDG_CURRENT_DESKTOP.
145
146 * The case if user deleted cache file is handled: it will be regenerated.
147
148
149 Changes in 0.5.1 since 0.5.0:
150
151 * Fixed build on systems where MAXSYMLINKS isn't defined.
152
153 * Fixed menu-cached crash in some rare cases.
154
155
156 Changes in 0.5.0 since 0.4.1:
157
158 * Added a possibility to include NoDisplay files into cache file. This
159     can be achieved by adding suffix '+hidden' to requested name in call
160     to menu_cache_lookup(). The hidden items will be returned along with
161     visible ones by any API that returns listing of cache directory. The
162     menu_cache_app_get_is_visible() API will return FALSE for hidden item
163     with any DE mask passed to the API.
164
165 * New macro MENU_CACHE_CHECK_VERSION() to test version of library.
166
167 * Added new APIs: menu_cache_find_item_by_id, menu_cache_find_child_by_id,
168     menu_cache_find_child_by_name.
169
170 * Two bugfixes for crashes, and for some another bugs.
171
172
173 Changes in 0.4.1 since 0.4.0:
174
175 * Minor bugfix, the resulting tar file was not complete.
176
177 Changes in 0.4.0 since 0.3.3:
178
179 * The libmenu-cache is made thread-safe. Thread-unsafe APIs are marked
180     as deprecated now and should be never used in any multithreaded
181     application.
182
183 * Added creation of HTML developers documentation. It is triggered by
184     configure script option --enable-gtk-doc.
185
186 * The libmenu-cache is made more responsible by moving some time-critical
187     operations into thread. Also it preloads saved cache file if it
188     exists so it is available near instantly after menu_cache_lookup().
189     Caller still will get updates by adding notifier to the cache.
190
191 * Added automatic shutdown of menu-cached server after some inactivity
192     timeout (i.e. all clients were unregistered).
193
194 * Fixed few memory problems (referencing errors and memory leaks).
195
196 * Fix for bug #3501347: use g_get_tmp_dir() instead of hardcoded "/tmp".
197
198 * The libmenu-cache ABI bumped to 2.