~indicator-applet-developers/ubuntu/precise/indicator-appmenu/upstream

« back to all changes in this revision

Viewing changes to ChangeLog

  • Committer: Charles Kerr
  • Date: 2012-04-05 16:19:32 UTC
  • mfrom: (1.4.2)
  • Revision ID: charles.kerr@canonical.com-20120405161932-rf6899hc99e99pmb
* New upstream release.
  * Faster searches and better search results. (lp: #947283, lp: #972354)
  * Don't submit searches with zero tokens. (lp: #973203)
  * Propertly emit the WindowUnregistered signal when windows go away.
  * Improvements to the gcov automake rules.
  * Fix bootstrap error in tests.
  - reduce hud cpu usage and DoS on long strings (lp: #938584, lp: #948820)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
# Generated by Makefile. Do not edit.
2
2
 
 
3
2012-04-05  Charles Kerr  <charles.kerr@canonical.com>
 
4
 
 
5
        0.3.97
 
6
 
 
7
2012-04-05  Charles Kerr  <charles.kerr@canonical.com>
 
8
 
 
9
        merge lp:~desrt/indicator-appmenu/emit-unregister-signal to properly emit the WindowUnregistered signal when windows go away
 
10
 
 
11
2012-04-04  Ryan Lortie  <desrt@desrt.ca>
 
12
 
 
13
        appmenu registrar: properly emit the "WindowUnregistered" signal when windows go away
 
14
 
 
15
2012-04-04  Charles Kerr  <charles.kerr@canonical.com>
 
16
 
 
17
        merge lp:~desrt/indicator-appmenu/no-search-tokens to check for search with no tokens before searching.
 
18
        
 
19
        The search algorithm assumes that there will be at least one search token, so be sure not to submit any searches with zero tokens. This can happen if the user searches for " ", for example.
 
20
 
 
21
2012-04-04  Ryan Lortie  <desrt@desrt.ca>
 
22
 
 
23
        hud-service: check for search with no tokens before searching
 
24
        
 
25
        The search algorithm assumes that there will be at least one search
 
26
        token, so be sure not to submit any searches with zero tokens.  This can
 
27
        happen if the user searches for " ", for example.
 
28
 
 
29
2012-04-04  Charles Kerr  <charles.kerr@canonical.com>
 
30
 
 
31
        merge lp:~charlesk/indicator-appmenu/remove-dead-file to remove a file that should have been deleted in the previous commit but was incorrectly resolved. h/t seb128
 
32
 
 
33
2012-04-04  Charles Kerr  <charles.kerr@canonical.com>
 
34
 
 
35
        remove file that should have been deleted in previous commit but was incorrectly resolved. h/t seb128
 
36
 
 
37
2012-04-03  Charles Kerr  <charles.kerr@canonical.com>
 
38
 
 
39
        merge lp:~allanlesage/indicator-appmenu/TDD to remove a dependency on gcovr, move gcov targets to their own makefile, and clean up .gcno files.
 
40
 
 
41
2012-03-27  Allan LeSage  <allanlesage@gmail.com>
 
42
 
 
43
        Pedantic name change for gcovr xml coverage results.
 
44
 
 
45
2012-03-27  Allan LeSage  <allanlesage@gmail.com>
 
46
 
 
47
        Removed gcovr dependency, cleaned up *.gcno files.
 
48
 
 
49
2012-04-03  Charles Kerr  <charles.kerr@canonical.com>
 
50
 
 
51
        merge lp:~desrt/indicator-appmenu/hud-performance to improve hud-service performance and search result quality by substantially reworking the core distance algorithm and the needle/haystack assignment algorithm.
 
52
 
 
53
2012-04-03  Ryan Lortie  <desrt@desrt.ca>
 
54
 
 
55
        HudWindowSource: fix a couple of leaks
 
56
        
 
57
        - don't leak icon name while changing windows (fixes lp:972354)
 
58
        
 
59
        - don't leak the collector on finalize (which never happens)
 
60
 
 
61
2012-04-02  Ryan Lortie  <desrt@desrt.ca>
 
62
 
 
63
        Adjustments for Ted's review comments.
 
64
 
 
65
2012-04-02  Ryan Lortie  <desrt@desrt.ca>
 
66
 
 
67
        Increase the default swap penalty to 15
 
68
        
 
69
        The current value is too low.  It allows "xyze" as a valid match for "File" (3
 
70
        swapped characters at a cost of 10 each gives a total cost of 30, which is the
 
71
        maximum permitted value).
 
72
        
 
73
        It also causes an issue with accents.  Consider the case of typing
 
74
        "pref" and encountering the menu items "préférence" and "précédent".
 
75
        Clearly the user wants "préférence".  During normalisation, we convert
 
76
        each of these strings to "pre'fe'rence" and "pre'ce'dent".
 
77
        
 
78
        "pref" vs "pre'fe'rence" is best scored as the first "'" being dropped
 
79
        and the trailing "e'rence" also being dropped.  10 points for the accent
 
80
        drop plus 7 for the trailing "e'rence".  Total of 17 points.
 
81
        
 
82
        "pref" vs "pre'ce'dent" seems like it should be scored worse since the
 
83
        accent is dropped and the following character is incorrect.  Instead,
 
84
        however, the algorithm assigns a lower score for the possibility that
 
85
        the accent is replaced by the letter "f" (10 points) and then the rest
 
86
        of the characters "ce'dent" are dropped (7 points).  Also a total of 17
 
87
        points.
 
88
        
 
89
        This tie would be prevented with a higher swap cost.
 
90
        
 
91
        This problem could be fixed by special-casing the dropping of accents in
 
92
        the core search algorithm and I tested this approach but it had a
 
93
        substantial performance cost on the rather tight inner loop (nearly
 
94
        doubling the amount of time to do a search).
 
95
        
 
96
        Another possibility would be to drop all accents entirely during the
 
97
        normalisation process.  This sounds acceptable for French, but I imagine
 
98
        other languages may find this to be less than ideal.
 
99
        
 
100
        Also, consider "fl" against "file" and "fix" as another example that
 
101
        doesn't rely on accents to make its case (although the argument is
 
102
        somewhat weaker here).  This shows that we should probably just increase
 
103
        the swap cost.
 
104
 
 
105
2012-04-02  Ryan Lortie  <desrt@desrt.ca>
 
106
 
 
107
        hud-performance: increase the size of the test again
 
108
        
 
109
        The testcase size was reduced for easier valgrinding.  That accidentally
 
110
        got committed with a fix for a leak that was found while valgrinding.
 
111
        Put it back to the larger value.
 
112
 
 
113
2012-04-02  Ryan Lortie  <desrt@desrt.ca>
 
114
 
 
115
        'make distcheck' fixes
 
116
        
 
117
        - fix srcdir != builddir issue for new testcase
 
118
        - make sure the new gsettings schemas get disted
 
119
 
 
120
2012-04-02  Ryan Lortie  <desrt@desrt.ca>
 
121
 
 
122
        fix small leak in testcase
 
123
 
 
124
2012-04-02  Ryan Lortie  <desrt@desrt.ca>
 
125
 
 
126
        really.  don't delete schemas on 'make clean'.
 
127
 
 
128
2012-04-01  Ryan Lortie  <desrt@desrt.ca>
 
129
 
 
130
        Skip checking of search terms when it's not possible to take the term
 
131
        
 
132
        There are two situations in which a term will never be taken:
 
133
        
 
134
        - the max cost has already been exceeded
 
135
        
 
136
        - the cost of taking the term can't possibly beat the cost of dropping it
 
137
        
 
138
        In those two cases, don't do the extra work.
 
139
 
 
140
2012-04-01  Ryan Lortie  <desrt@desrt.ca>
 
141
 
 
142
        Add a good search performance test
 
143
 
 
144
2012-03-31  Ryan Lortie  <desrt@desrt.ca>
 
145
 
 
146
        test that the new distance algorithm fixes bug 947283
 
147
        
 
148
        The new needle/haystack matching algorithm penalises trailing haystack
 
149
        terms that are not matched to needles.  Result: "save" now matches "File
 
150
        > Save" better than it matches "File > Save As...".
 
151
 
 
152
2012-03-31  Ryan Lortie  <desrt@desrt.ca>
 
153
 
 
154
        don't blow away GSettings schemas on 'make clean'
 
155
 
 
156
2012-03-31  Ryan Lortie  <desrt@desrt.ca>
 
157
 
 
158
        update POTFILES.in
 
159
 
 
160
2012-03-30  Ryan Lortie  <desrt@desrt.ca>
 
161
 
 
162
        tests: test-distance: write compatibility shim
 
163
        
 
164
        Write a compatibility shim for the old calculate_distance() API so that
 
165
        we can use the existing testcases to test the new code for regressions.
 
166
 
 
167
2012-03-30  Ryan Lortie  <desrt@desrt.ca>
 
168
 
 
169
        Don't leak the app icon.
 
170
        
 
171
        The app icon was leaking once per menu item.  This could get pretty substantial
 
172
        over time.
 
173
 
 
174
2012-03-30  Ryan Lortie  <desrt@desrt.ca>
 
175
 
 
176
        bring back the results highlighting
 
177
 
 
178
2012-03-30  Ryan Lortie  <desrt@desrt.ca>
 
179
 
 
180
        HudStringList -> HudTokenList conversion: do it in the right order
 
181
        
 
182
        The current algorithm was resulting in "File > Save" turning into the
 
183
        token list "Save", "File", which is problematic given the
 
184
        order-sensitive nature of the new assignment algorithm.
 
185
 
 
186
2012-03-30  Ryan Lortie  <desrt@desrt.ca>
 
187
 
 
188
        Remove exponential algorithm for matching haystack and needle tokens
 
189
        
 
190
        Instead, use a new O(n^2) algorithm inspired by the Levenshtein distance.
 
191
 
 
192
2012-03-30  Ryan Lortie  <desrt@desrt.ca>
 
193
 
 
194
        Clean up GSettings
 
195
        
 
196
        Drop the no-longer used settings.  Improve the documentation for the
 
197
        remaining ones.
 
198
        
 
199
        Change the default end-drop penalty from 10 to 1.
 
200
        
 
201
        Rename "drop-penalty-end" to "end-drop-penalty" for consistency (all
 
202
        other penalties have the form '*-penalty') and also because the default
 
203
        value changed and we don't want to accidentally pick up any old value
 
204
        the user may have around.
 
205
 
 
206
2012-03-30  Ryan Lortie  <desrt@desrt.ca>
 
207
 
 
208
        Switch to using new intltool gschema support.
 
209
        
 
210
        Drop the .gschema.xml.in dance.
 
211
 
 
212
2012-03-30  Ryan Lortie  <desrt@desrt.ca>
 
213
 
 
214
        Simplify the improve the performance of the distance calculation.
 
215
        
 
216
        - we now normalise to casefolded normal-form ucs4 ahead of time and
 
217
        operate on that instead of doing the normalisation at each search.
 
218
        This removes normalisation steps and utf8 operations from the main
 
219
        path of searching.
 
220
        
 
221
        - the innermost loop has been simplified free it of special-cases: it
 
222
        is now exactly equal to the reference implementation of Levenshtein
 
223
        distance from Wikipedia
 
224
        
 
225
        - we continue to support post-drops as a special-case, but other
 
226
        special cases have been removed.  pre-adds were probably a bad idea
 
227
        to start with, but it's worth talking about bringing back transposes.
 
228
        
 
229
        - 'bold' highlighting of matching search terms is broken again (and
 
230
        will come back soon)
 
231
 
 
232
2012-04-03  Charles Kerr  <charles.kerr@canonical.com>
 
233
 
 
234
        merge p:~charlesk/indicator-appmenu/lp-957417 to silence a coverity warning by removing a goto.
 
235
 
 
236
2012-04-03  Charles Kerr  <charles.kerr@canonical.com>
 
237
 
 
238
        remove a goto to silence a Coverity warning reported in lp bug #957417
 
239
 
 
240
2012-03-29  Charles Kerr  <charles.kerr@canonical.com>
 
241
 
 
242
        Merge lp:~desrt/indicator-appmenu/simplify-math to perform some explicit strength reduction to clarify an algorithm. Also, use a signed integer to correct an error due to unsigned substraction.
 
243
 
 
244
2012-03-29  Ryan Lortie  <desrt@desrt.ca>
 
245
 
 
246
        Perform some explicit strength reduction to clarify an algorithm
 
247
        
 
248
        Also, use a signed integer to correct an error due to unsigned substraction.
 
249
 
 
250
2012-03-29  Charles Kerr  <charles.kerr@canonical.com>
 
251
 
 
252
        merge lp:~ken-vandine/indicator-appmenu/tests_use_builddir to use mock-json-app in the builddir instead of depending on an installed version of indicator-appmenu-tools, which caused a bootstrapping problem
 
253
 
 
254
2012-03-29  Ken VanDine  <ken.vandine@canonical.com>
 
255
 
 
256
        Use mock-json-app in the builddir instead of depending on an installed version of indicator-appmenu-tools, which causes a bootstrapping problem
 
257
 
3
258
2012-03-28  Charles Kerr  <charles.kerr@canonical.com>
4
259
 
5
260
        0.3.96