ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/Changes
(Generate patch)

Comparing rxvt-unicode/Changes (file contents):
Revision 1.1170 by root, Fri Nov 14 11:06:49 2014 UTC vs.
Revision 1.1303 by sf-exg, Wed Jan 10 17:21:01 2024 UTC

22TODO: catch exceptions when calling perl hooks 22TODO: catch exceptions when calling perl hooks
23TODO: xdbe 23TODO: xdbe
24TODO: optimise bg reeval for resize for common patterns (pixmap bigger than window?) 24TODO: optimise bg reeval for resize for common patterns (pixmap bigger than window?)
25TODO: pack rxvt_fatal messages into the exception object 25TODO: pack rxvt_fatal messages into the exception object
26TODO: load must not cache, but global image cache must be cleaned 26TODO: load must not cache, but global image cache must be cleaned
27TODO: provide something like % for easy access for parse_keysym
28TODO: description into --help output? 27TODO: description into --help output?
29TODO: rxvt -help => (see rxvt-XXX(1))? 28TODO: rxvt -help => (see rxvt-XXX(1))?
30TODO: xor_rect should shift right 29TODO: xor_rect should shift right
31TODO IMPL: recalc bg only when not fully covering (no alpha, repeat|extend etc..) 30TODO IMPL: recalc bg only when not fully covering (no alpha, repeat|extend etc..)
32 31
33TODO IMPL: colour-change event with index 32TODO IMPL: colour-change event with index
34TODO IMPL: recalc bg always on bg colour change 33TODO IMPL: recalc bg always on bg colour change
35 34
36TODO: document typical actions in rxvt.1.pod keysyms 35TODO: document typical actions in rxvt.1.pod keysyms
37TODO: warn with a graphical message when env has been modified 36TODO: warn with a graphical message when env has been modified
37TODO: c&c perl socket via daemon-ext mechanism
38TODO: simplify extension metainfo cache, cache on disk
39TODO: URxvt::Ext::Name installs urxvt ext name and provides pod/manpage for URxvt::Ext::Name
40TODO: pixel droppins idenrasm,ll,scrollup
41TODO: cuu/cud and probably others default to 1 when arg is 0, not just missing, in xterm/vt102, but not in rxvt
42TODO: clean up the resource vs. long option mess, especially in the manpage.
43TODO: think about daemon delaying urxvt client exit.
44IDEA: use harfbuzz to render combining sequences, maybe also complex scripts
45TODO: rclock horribly time-biased
46TODO: rclock iso date mode?
47TODO: printf "\e[4:3m" - "undercurl" - should probbaly be interpreted as underline, rather than \e[43m
48TODO: feature where I can just click on (y/p/n) when prompted after pasting text to the terminal?
38 49
50TODO: 08:11:16 <dg> in some cases printf "\e]50;\a" can be a crash
5108:11:50 <dg> it seems to depend a bit on setup, two in a row maybe needed
52- what font dpes urxvtr flal back ion this case? why not fixed?
5307:28:56 <dg> schmorp: try printf '\e]50;\a\xe7\xaf\xad'
5407:29:15 <dg> i'm guessing the builtin font doesn't have that character (篭)
5507:29:40 <dg> on one machine with 9.30 that segfaults, with what looks like a null pointer deref
5607:29:58 <dg> on latest dev, but a different machine it hangs
5707:33:26 <dg> hmm, and on openbsd it doesn't even hang with that reduction, but the actual case the fuzzer
58 found does hang
5907:34:02 <dg> curl -o - dg.cx/f12-afl-urxvt-id0-src517.txt
60
61TODO: nmeum reports that when the wm resizes urxvt while it opens, the prompt is now somewhere in the middle
62of the window, rather than near the top. this behaviour change wss part of the wrapmode fix, and should normally
63prevent from readline jumping around on resizes. running urxvt with the exact geometry that the wm will assign "fixed" this.
64https://github.com/exg/rxvt-unicode/commit/1eb2c326cb88ee7bae01e995a16829746bfe374e
65
66 - fix memory leak when a background expression uses the muladd
67 or focus_fade operators (reported by Erik-Jan).
68 - fix reference counting of values returned by some perl bindings.
69 - fix OSC responses with 7-bit ST (reported by Stuart Henderson).
70 - change the encoding of buttons 8-11 in mouse reporting
71 sequences to match xterm's and enable reporting of release
72 events for them (patch by Pierre-Marc Fournier).
73 - clamp coordinates in mouse reporting sequences to the number
74 of rows and columns (patch by Nick Hanley).
75 - added Alt_L/ALt_R and updated some keys in iso 14755 5.2 mode.
76 - perl 5.38 does not handle empty locale names, use "C" instead
77 (patch by sxzzsf).
78 - add emoji test character, so that emoji-only fonts can be used without
79 any tricks.
80
819.31 Mon 02 Jan 2023 18:13:16 CET
82 - implement a fix for CVE-2022-4170 (reported and analyzed by David Leadbeater).
83 While present in version 9.30, it should not be exploitable. It is exploitable
84 in versions 9.25 and 9.26, at least, and allows anybody controlling output to
85 the terminal to execute arbitrary code in the urxvt process.
86 - the background extension no longer requires off focus fading support
87 to be compiled in.
88 - the confirm-paste extension now offers a choice between pasting the original
89 or a sanitized version, and also frees up memory used to store the paste text
90 immediately.
91 - fix compiling without frills.
92 - fix rewrapMode: never.
93 - fix regression that caused urxvt to no longer emit responses
94 to OSC color queries other than OSC 4 ones.
95 - fix regression that caused urxvt to no longer process OSC 705.
96 - restore CENTURY to be 1900 to "improve" year parsing in urclock (or at
97 least go back to the old interpretation) (based on an analysis
98 by Tommy Pettersson).
99 - exec_async (used e.g. by the matcher extension to spawn processes) now
100 sets the URXVT_EXT_WINDOWID variable to the window id of the terminal.
101 - implement -fps option/refreshRate resource to change the default 60 Hz
102 maximum refresh limiter. I always wanted an fps option, but had to
103 wait for a user requesting it.
104 - new clickthrough extension.
105 - perl now also requires Xext.
106 - X region and shape extension functionality has been exposed to perl
107 extensions.
108 - RENDER extension no longer depends on ENABLE_XIM_ONTHESPOT.
109
1109.30 Sat 27 Nov 2021 21:07:09 CET
111 - the background extension did not initialise properly when automatically
112 loaded via the OSC.
113 - new "on_attach" hook type implemented, to initialise late-loading
114 extensions.
115
1169.29 Mon 22 Nov 2021 18:07:14 CET
117 - libptytty (http://dist.schmorp.de/libptytty/) is now a required
118 external dependency.
119 - enable confirm-paste extension by default, can be disabled by e.g.
120 URxvt.perl-ext: -confirm-paste
121 - Key bindings specified with the -keysym option or with resources of
122 the form URxvt*keysym work again. Such resources, as opposed to
123 resources of the form URxvt.keysym, were not officially allowed but
124 accepted, so ignoring them is considered a regression.
125 - new option/resource -rm/rewrapMode, which sets the line rewrap
126 mode to auto, never or always.
127 - new option/resource -dpb/disablePasteBrackets, which can be used to
128 disable bracketed paste mode sequences, as more and more programs
129 abuse these sequences (typically in the name of security, but these
130 sequences are not improving security). Also, bracketed paste mode
131 is now under frills.
132 - add manpage for urclock.
133 - confirm-paste wrongly considered brackets as ctrlchars (patch by
134 Jakub Wilk, debian bug #995244).
135 - if urxvt cannot detect a good estimate for font width (because a font does
136 not contain latin characters at all for example), it will now fall
137 back to xft's max_advance_width, which works well with some fonts. It
138 currently will warn about this.
139 - do not render variation selectors in the default font as boxes, treat
140 them as zero-width characters.
141 - change combining character architecture to allow fonts to handle
142 combining sequences on their own. This could allow future renderers
143 to be more intelligent about these sequences.
144 - use the previous enhancement to allow unicode characters outside of the
145 BMP to be rendered even without --enable-unicode3, as long as an
146 xft with the character is configured.
147 It's recommended to stay with disabled unicode3 even more now.
148 - freetype/xft have been verified to return nonsensical offsets for
149 combining characters. urxvt tries to compensate to some extent,
150 but diacritics will be slightly off in many cases, and far off in
151 some cases (e.g. input mono).
152 - when checking for overlap/careful handling, take non-basefont
153 character shifts into account.
154 - extensions can now request autoloading on OSC and Perl OSC sequences,
155 implement this for the background, clipboard-osc and overlay-osc
156 extensions.
157 - the background extension will now be autoloaded when the OSC 20 or 705
158 sequence is received.
159 - added OSC 776 sequence to return character cell width, height and font
160 ascent, which is useful when using urxvt as slave to calculate window
161 size form or to row/column count.
162 - matcher extension documentation now points out some requirements for
163 regular expressions. the default url matching regex will now try
164 to match IRLs in addition to URLs.
165 - The view_start perl method now scrolls to the bottom also when the
166 argument is greater than 0.
167 - eval scroll actions now scroll to the bottom when scrolling down and
168 there are less lines to scroll than the ones requested (reported by
169 Stephen Talley).
170 - allow perl-ext and perl-ext-common to override autoloaded extensions.
171 this allows tabbed to disable itself in subtabs, avoiding recursive
172 loading.
173 - update precompose table to unicode 13.0.
174 - update charset conversion tables to perl 5.32 (this only affected
175 cs_koi8_u_from_unicode).
176 - unicode characters > 0x100000 were not handled correctly w.r.t.
177 font rendering.
178 - replace bitstream vera by dejavu sans, as it has replaced the former
179 almost everywhere.
180 - urxvt will now try tic -x first and only fall back to tic without -x
181 when tic -x fails.
182 - fix urclock not erasing the old date on the clock face, causing
183 overdraw, plus a host of other small fixes and improvements.
184 - shave off over 1K of code size from urclock by replacing the sine table
185 with a slightly less accurate fixed point approximation.
186 - do not specify indentation with =over in pod, this is no longer
187 needed with semi-modern pod tools and gives the formatter more
188 stylistic freedom.
189 - background extension did not set the "size-sensitive" flag
190 when repeat mode wasn't normal.
191 - extensions are now subjected to "use strict 'subs'".
192 - avoid crashing when xft successfully opens a font but then somehow
193 can't lock the face.
194 - locale_decode/encode api methods now pass through undef unchanged.
195 - fix undefined behaviour in the perl hook function, as diagnosed by clang.
196
1979.26 Fri May 14 19:14:14 CEST 2021
198 - ev_iouring.c was wrongly required during compilation, and wrongly
199 not packaged.
200
2019.25 Fri May 14 15:51:36 CEST 2021
202 - for the 17.5th anniversary, and because many distributions seem to
203 remove rxvt in favour of urxvt, this release resurrects rclock as
204 urclock.
205 - add support for systemd socket-based activation - debian bug #917105,
206 freebsd bug #234276.
207 - do not destruct perl on exit anymore: this might fail for a variety of
208 reasons, and takes unnecessary time.
209 - remove any macros from urxvtperl manpage(s), should fix debian
210 bug 858385.
211 - the old bg image resources are now provided by the background
212 extension, and perl is thus required for bg image support. No
213 configuration change is needed: urxvt autoloads the background
214 ext if any bg image resource/option is present (for OSC sequences to
215 work you need to enable it explicitly). The old bg image
216 resources are also now deprecated; users are encouraged to
217 switch to the new bg image interface (see man urxvt-background).
218 - confirm-paste now checks for any ctlchars, not just newlines.
219 - searchable scrollback will now ignore bracketed paste mode sequences
220 (prompted by Daniel Gröber's patch).
221 - drop ISO 2022 locale support. ISO 2022 encodings are not supported in
222 POSIX locales and clash with vt100 charset emulation (the luit
223 program can be used as a substitute).
224 - perl didn't parse rgba colours specified as an array correctly,
225 only allowing 0 and 100% intensity for each component (this affected
226 fill and tint).
227 - when iterating over resources, urxvt will now try to properly handle
228 multipart resources (such as "*background.expr"), for the benefit
229 of autoloading perl extensions.
230 - ESC G (query rxvt graphics mode) has been disabled due to security
231 implications. The rxvt graphics mode was removed in rxvt-unicode 1.5,
232 and no programs relying on being able to query the mode are known.
233 - work around API change breakage in perl 5.28, based on a patch by
234 Roman Bogorodskiy.
235 - improved security: rob nation's (obsolete) graphics mode queries
236 no longer reply with linefeed in secure/default mode.
237 - ISO 8613-3 direct colour SGR sequences (patch by Fengguang Wu).
238 - xterm focus reporting mode (patch by Daniel Hahler).
239 - xterm SGR mouse mode.
240 - implement DECRQM. Patch by Přemysl Eric Janouch.
241 - add missing color index parameter to OSC 4 response. Patch
242 by Přemysl Eric Janouch.
243 - in some window managers, if smart resize was enabled, urxvt
244 erroneously moved the window on font change - awesome bug
245 #532, arch linux bug ##34807 (patch by Uli Schlachter).
246 - fix urxvtd crash when using a background expression.
247 - properly restore colors when using fading and reverse video
248 is enabled while urxvt is focused and then disabled while it
249 is not focused, or vice versa (patch by Daniel Hahler).
250 - fix high memory usage when an extension repeatedly hides and
251 shows an overlay (reported by Marcel Lautenbach).
252 - expose priv_modes member and constants to perl extensions
253 (patch by Rastislav Barlik).
254 - fix a whole slew of const sillyness, unfortunately forced upon
255 us by ISO C++.
256 - update to libecb 0x00010006.
257 - disable all thread support in ecb.h as we presumably don't need it.
258 - slightly improve Makefile source dependencies.
259 - work around bugs in newer Pod::Xhtml versions (flags incorrect formatting codes
260 in xhtml/html sections but does not interpret correct ones).
261
2629.22 Sat Jan 23 21:07:33 CET 2016
263 - NOTICE: this release updates terminfo.
264 - add terminfo capabilities for various ctrl and shift-ctrl key variants
265 (patch by Sebastian Schmidt).
266 - fix longstanding core font encoding bug where some character
267 ranges could not be mapped from unicode to the font: affected
268 encodings are big5, gb2312, iso8859-8 (hebrew), jis0201 and
269 ksc5601 (reported by Mikachu).
270 - fix crash when the number of columns is 1 and a 0 width character is inserted
271 (reported by Kuang-che Wu).
272 - fix a crash when parsing an invalid color specification (reported by Kuang-che Wu).
273 - fix a buffer overflow in font name parser (reported by Kuang-che Wu).
274 - do not start blinking cursor if the window is unfocused (reported by
275 Devin J. Pohly).
276 - change the width of underline and i-beam cursor to 2 pixels (based on
277 a patch by Omar Sandoval).
278 - add pointerShape resource to change the mouse pointer shape
279 (based on a patch by Brian Watson).
280 - a keysym resource for a key which is already bound to an
281 action now properly rebinds the key.
282 - do not report mouse motion events if Shift is active (patch by Daniel Hahler).
283 - put the alpha component last in responses to OSC color queries
284 (patch by Benjamin Herr).
285 - the key_press hook is now invoked before processing the
286 event, as documented. This change was done in 9.21 but not
287 announced and fixes debian bugs #511377, #531751 and red hat
288 bug #1105069. Note that this change breaks a few scripts,
289 such as mark-yank-urls, which rely on the previous buggy
290 behaviour that urxvt processes the event (in particular
291 keysym bindings) before invoking the hook.
292 - the tabbed extension now properly refreshes the active tab
293 on a key press when the mouse pointer is outside the terminal
294 window.
295 - add 'lookup_keysym' perl method to lookup the action bound
296 to a key combination.
297 - a key combination bound to 'matcher:select' can now be used
298 to cycle through the matches in matcher.
299 - change perl integer accessors (->width et al.) into mutators.
300 - this version has been verified to work with perl 5.8.3.
301
3029.21 Wed Dec 31 14:50:03 CET 2014
303 - the "moa redraw 8-bit british vintage colour management" release.
304 - NOTICE: this release updates terminfo.
39 - fix pixel droppings on overdraw when a secondary core font has the 305 - fix pixel droppings on overdraw when a secondary core font has the
40 same height but different ascent. 306 same height but different ascent.
307 - implement cvvis in terminfo as blinking cursor, to distinguish it
308 from cnorm (emacs uses cvvis which is commonly a blinking cursor).
309 - when xft support was compiled in, colour queries erroneously returned
310 premultiplied values, this also affected internal queries, for example
311 when calculating faded colour. alpha is now divided out when possible,
312 which is more correct but loses colour resolution.
41 - add DECSCUSR xterm extension to set the cursor to a vertical bar. 313 - add DECSCUSR xterm extension to set the cursor to a vertical bar.
42 - add 'extension:string' action, and associated on_action perl 314 - add 'extension:string' action, and associated on_action perl
43 hook, for keysym resources that invokes actions provided by 315 hook, for keysym resources that invokes actions provided by
44 perl extensions. The 'perl:string' action and 316 perl extensions. The 'perl:string' action and
45 on_user_command hook are deprecated but still supported. 317 on_user_command hook are deprecated but still supported.
46 - add 'builtin-string' action for keysym resources that restores string 318 - add 'builtin-string' action for keysym resources that restores string
47 mappings for keys that have predefined actions in urxvt. 319 mappings for keys that have predefined actions in urxvt.
48 - add -k option to urxvtc for killing the daemon process. 320 - add -k option to urxvtc for killing the daemon process.
321 - document urxvtd's -e/--eval option that was implemented in 9.16,
322 but not documented.
49 - add -dockapp option to make the wm treat urxvt as a dockapp. 323 - add -dockapp option to make the wm treat urxvt as a dockapp.
50 - add -mc option and multiClickTime resource to set the maximum time 324 - add -mc option and multiClickTime resource to set the maximum time
51 between multi-click select events (patch by Joe Peterson). 325 between multi-click select events (patch by Joe Peterson).
52 - new 'eval' extension to evaluate arbitrary perl code with keysym 326 - new 'eval' extension to evaluate arbitrary perl code with keysym
53 bindings. The extension also provides methods that implement basic 327 bindings. The extension also provides methods that implement basic
69 - fix off-by-one bug causing the iso14755 window not to jump out of the 343 - fix off-by-one bug causing the iso14755 window not to jump out of the
70 way properly. 344 way properly.
71 - fix crash that may happen if a lib to which urxvt is linked to calls setenv. 345 - fix crash that may happen if a lib to which urxvt is linked to calls setenv.
72 - fix memory leak in special_{encode,decode} perl methods. 346 - fix memory leak in special_{encode,decode} perl methods.
73 - fix refresh bug that occurs when reverse video is set on a cell 347 - fix refresh bug that occurs when reverse video is set on a cell
74 containing a space and with the same bg and fg color, red hat bug 348 containing a space and with the same bg and fg colour, red hat bug
75 #830236. 349 #830236.
350 - fix crash that may happen if an x error is received after a terminal
351 window/popup has been destroyed already.
352 - removed superfluous 0 digit from sgr terminfo sequence.
353 - greatly improve colour allocation on colour-starved pseudocolour
354 displays to avoid read-write cells instead of simply failing
355 (this is only relevant for antique 8bpp frame buffers).
356 - do not free fade colours when not doing fading (this is likely
357 only relevant for antique 8bpp frame buffers).
358 - do not specialcase 2 or 4 colour visuals, leading to
359 simpler and actually more correct code.
360 - hopefully no longer leak colours on !truecolour visuals.
361 - use consistent method names (scr_recolour => scr_recolor).
362 - use simpler (but slightly less bogus) formula for nearest
363 colour choice (this is likely only relevant for antique 8bpp
364 frame buffers).
365 - remove fallback behaviour when initialising colours - the
366 behaviour was inconsistent between startup vs. later and
367 was only effective when valid colours couldn't be allocated.
76 368
779.20 Sat Apr 26 16:22:27 CEST 2014 3699.20 Sat Apr 26 16:22:27 CEST 2014
78 - (libptytty) fix bug that prevented urxvtd from writing utmp 370 - (libptytty) fix bug that prevented urxvtd from writing utmp
79 entries when using --fork (reported by Ryan Kavanagh). 371 entries when using --fork (reported by Ryan Kavanagh).
80 - security bugfix: window property values could be queried even 372 - security bugfix: window property values could be queried even

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines