1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448
|
1.0.15:
* #loginputformat
* TCP keepalives
* bugfix: crashes when resizing the terminal window
1.0.14:
* logging to .xz
* proper handling of long lines when screen width changes
* don't include soft line wrapping in #condump
* omit the greeting message (credits, etc) in #condump
1.0.13:
* handle broken terminals which report screen size of 0x0 a bit better
* increase several fixed limits
* bugfix: crash if a session is closed from an event or tick
* drop support for single byte only compilation
* yTin's pseudovars: _random, _time, _clock, _msec, HOME
* #ctoi for Chinese numbers, taken from yTin
* start month and yday from 1, not 0 (#localtime, #gmtime)
* fix compilation without zlib. Fail such compilation with a help
message if --disable-mccp is not given.
* auto-remake function prototypes
* bugfix: UTF-8 chars split by a packet boundary were mangled in the
log.
* SSL support (#sslsession).
1.0.12:
* #localtime, #gmtime
* bugfix: segfault on MCCP end (not exploitable)
* bugfix: active session changes inside of compound commands didn't
propagate properly
* another stab at gnome-terminal and blue lines...
* ansi2html: skip a character on unknown codes
* necrocomputing -- support for BSD's iconv brain damage. Hey, guys,
it's 2008, even _SCO_ does basic POSIX.
* new BSD has grantpt() but no getpt() or /dev/ptmx, handle this
1.0.11:
* bugfix: don't double the asterisks when typing in a password
* turn PARTIAL_LINE_MARKER into a variable (not settable yet)
* bugfix: -r starting with a non-letter
* work around gnome-terminal's blue lines
1.0.10:
* more transliterations, mostly for line-drawing characters
* support for Form Feed and ANSI CLS
* support for CJK double-width chars (TTY driver)
* TTY driver: combining chars on output, still buggy on input
* CJK and combining chars in #substr, #postpad and #prepad
* bugfix: #prepad took the end not start of the string, as opposed to
what the documentation said
* use glib's g_slice instead of malloc if it's installed, it's
insanely faster
* allow "weeks" in #time
* re-written from scratch ansi2html, using CSS instead of tables
* bugfix: input and #logcomment were mangled in ttyrec logs
* new #mess type: logging
1.0.9:
* #ord as inline
* MCCP compression
* workaround for a gnome-terminal bug
* 'make bin' target
1.0.8:
* in the dumb terminal mode, "assphrase:" will trigger password
protection as well
* bare \r will turn the line into a draft, and thus cause it to be
cleared when some new text appears
* bugfix: pathologic action priorities were ordered wrong
* #doactions, #dopromptactions
* #chr, #ord, #hexord, bugfixes in UTF-8 parsing
* bugfix: #textin with an empty line
1.0.7:
* end-of-file ends KBtin when in non-fullscreen UI and no sessions are
left
* explicit -q or #verbose 0 hushes #read
* UTF-8 support; likely to be buggy and/or incomplete (massive change)
* IPv6 support
* UI drivers support (specify -p or -i on command line)
* some basic regression tests
* #read ignores #! on the first line
* history is no longer local to a session
1.0.6a:
* bugfix: variables were not resolved in #log
1.0.6:
* made commands case-insensitive, so #ALIAS works
* bugfix: the prority of "6a" is supposed to come before "60"
* made KBtin a more responsive to keyboard input when under a heavy load
* #gagthis
* made "#system something &" actually work
* intelligent use of TCP_NODELAY
* add a hook for closing KBtin for sessions started with -r/-s which
didn't make any use of #hook
* bugfix: #listlength
* logging by >, >> and |
* #condump won't insert unneeded background colour codes anymore
* logging to .bz2
* #logtype
* bugfix: highlights prevented prompts from being recognized as such
* moved to automake1.9
1.0.5:
* added a symlink kbtin -> KBtin to avoid mixed-case executable
name while retaining old name as well
* \e[39m, \e[49m
* manual.html (just a converted version of the online help)
* commands that don't work on an architecture are no longer accesible
* outgoing 0xff bytes are sent as IAC IAC telnet sequences
* the terminal string will cycle between "KBtin", "hardcopy",
"unknown" and "KBtin-1.0.4" (conforming to RFC 1091)
* if you undefine UI_FULLSCREEN in tintin.h, KBtin will be pipe-
friendly; for use as a scripting language or for regression tests
* telnet EOR sequences are allowed and treated as GAs
* bugfix: unterminated TELNET IAC SB subnegotiations no longer cause
a buffer overflow
* bugfix: sometimes TELNET sequences were not carried properly over
a packet boundary
* cleaned up command line parsing, added -q, -c, -s and -r
* a (too short) manpage added
* axed the old BSD license with advertising clause from acinclude.m4,
the only snippet we use is in public domain
* window title in xterms
* #undelay as an alias for #remove=#unevent
* bugfix: \e[K and \e[D used to swallow some text
* core dumps will now be properly generated when appropriate
* #pretick
* some tintin++ 1.86 compatibility:
* #ifexists
* #ifstrequal (=#strcmp)
* #show_pretick (=#pretick)
* bugfix: no more corrupted logs when KBtin gets killed by a SIGINT (^C)
or a SIGHUP (disconnect)
* \e[J clears the current line (\e[1J and \e[2J still don't work ok)
* bugfix: #grep's regexp can now contain variables
* terminal size data is now passed to the pseudo-terminals
* bugfix: hangup if >29 sessions (oh well... :p)
* bugfix: #act {blah} {#unact *} no longer causes an infinite loop
* inlines: #grep, #match, #strcmp
* pty handling code changed
* consider \r to be an end-of-line char in #read, for M$-DOS files
* workaround for dorky bg color handling in PuTTY and screen. Will
slow down innocent xterm users, too :(
* information about logging in #info
* the echo for player's input has it's own color (#define ECHO_COLOR)
* #collate
* #expand
* #hook/#unhook
* all (?) flags are saved by #write and #writesession
* You can use #delay with a delay of 0.
* log only commands explicitely typed by the player
* #logcomment
* Use exec when invoking something using /bin/sh
1.0.4:
* changes needed to compile on Tru64:
* no "extern inline"
* \e -> \033
* autoconf checks to test whether the code for inlined
functions is actually generated
* changes needes to compile on Cygwin:
* checking for stropts.h
Note: As opposed to UNIX systems, which all enjoy the whole
functionality, KBtin is crippled on Win32 systems. Basically,
while the core functionality works, #run, #system, #shell,
#keypad, #suspend, gzip logging and COMPRESSED_HELP are broken.
Hell, it won't even compile from the sources without your
manipulation right now (no autoconf check to disable
COMPRESSED_HELP).
* #grep
* #retain
1.0.3:
* bugfix: color codes in programs spawned by #systems work correctly
once again
* removed Esc from editing keys
* made it possible to #bind sequences containing Alt
* added Alt-{<,>,B,F,L,U,C,Backspace,T} to the editing keys
* #gauge renamed to #timecommand, and documented
* bugfix: don't use pclose(), as we're not using real popen()
* bugfix: #reverse
1.0.2:
* bugfix: #send with no session
* #gauge
* #debuglog (not officially introduced as it's not finished yet)
* bugfix: some commands ignored variables
* proper handling of IAC IAC sequences
* bugfix: '#<sesname> {command}' sent verbatim {}s.
* bugfix: #message types were not propagated correctly to new
sessions, that could crash KBtin
* Nazi protection against too deep recursion.
* bugfix: #path did something completely different than the docs said
* added italic and underline as valid "colors"
* when a session is started, it will inherit all settings from the
currently active session instead of the null session
1.0.1:
* a slight change of the logic of highlights being suppressed
before/after alphanumeric characters
* don't disagree when a server tells us they want to turn on echo,
some MUDs take offense if we do
* IRIX64 has no snprintf, cope with that
1.0.0:
* first public release
* the message prompting to read #news is disabled for this version
0.4.5:
* man pages for ansi2txt and ansi2html
* added ^P, ^N and ^U to the editing keys
* $IDLETIME
* #change
* added tab as a valid separator between command and its arguments
* changed all(?) error messages to use tintin_eprintf() instead
of tintin_printf(). If "#message error" is on, eprintf will
pierce even the !#verbose gag.
* added ^A, ^E, ^F, ^B, ^T, ^K, ^W and ^Y, changed behavior of ^D
on non-empty lines
* bugfix: undefined non-alphabetic variables no longer cause
expressions to fail
* #send added in place of #verbatim <text>, so no #verbatim is not
overloaded any longer
* bugfix: resizing the window or using #status no longer screws up
the display on SunOS
* proper signal handling for systems where signals follow System V
semantics
* added support for BSD-style pseudoterminals, needed for run.c to
compile on BSD systems
0.4.4:
* #dogoto
* bugfix: #ticksize 0, #ticksize 123blah
* bugfix: #gag with invalid syntax was handled incorrectly
* removed #strip, it was completely useless
* bugfix: {* /}, {+ -}, {<= < > >=} evaluate correctly now
* renamed log2{html,txt} to ansi2{html,txt} and actually bundled
them with KBtin
0.4.3:
* action/promptaction priorities are sorted in a semi-lexicographic
order, so numbers sort properly
* new #message type: error (to show error messages even if they would
be otherwise hidden)
* #verbose
* the following flags are now local to sessions: verbose, verbatim,
blank, echo, speedwalk, togglesub, presub and the #message toggles
* shell-style "!!" history commands will now obey #verbatim
0.4.2:
* bugfix: #writeses doesn't forget about pathdirs anymore
* bugfix: #killall doesn't forget about binds (+plus a memory leak)
* hash tables instead of lists for: variables, aliases, binds and
pathdirs
* #unpathdir
* bugfix: lines of background color no longer appear on the screen
* the list of commands is no longer hardcoded as a looong list of
is_abrev()s; we use a generated hash table of code pointers instead
* KBtin_help is now distributed in uncompressed form
* protection against division by zero in #math and friends
0.4.1:
* bugfix: #cr doesn't send two lines instead of one any longer
* #atoi
* #verbatim <line>
* #strcmp
0.4.0:
* TELNET protocol support. KBtin understands the following options:
- ECHO (we attempt to turn off their echo)
- SUPPRESS GO AHEAD
- TERMINAL-TYPE (type sent is "KBtin")
- NAWS (window size updated every SIGWINCH)
* catching SIGCONT to redraw screen after being stopped
* --More-- kludge. We now hide the input line by default once the
remote end tells us to turn echo off, to protect passwords on
non-English MUDs.
* "make install" will install NEWS and KBtin_help.gz
* TERM environment option in #run passed as "KBtin"
0.3.9:
* multiple config files given from command-line when invoking KBtin
* #sub {a} {b} works as old #sub {%1a%2} {%1b%2}
* substitutes can trigger multiple times in a single line
(#sub {a} {b} on "hahahaha" -> "hbhbhbhb")
* bugfix: #action no longer segfaults
* bugfix: changing the routes while in #goto won't crash KBtin anymore
(we use the old data)
* we send \r\n instead of \n, for compatibility with the telnet
protocol (only for real sockets, of course)
* the NEWS file is statted to tell if KBtin was updated since the
last time you read it. BUG: the check will fail if several users
share the same copy of KBtin
0.3.8:
* changed tintin_puts2 to tintin_printf through the whole source
* more verbose error messages in most cases
* bugfix: #verbatim can be used in the middle of an alias
* incomplete lines are no longer considered prompts if the background
color is non-black at the end
* promptactions fire on "blank" with nothing but spaces and colorcodes
only if they're complete -- to prevent expensive processing of
highlights and substituties
* optimized set_variable
* buffer-overflow checks in most functions
* aborting commands in case of a buffer overflow (incomplete!)
* #match doesn't substitute old values of variables in its command
anymore (use $$1 to get them)
* bugfix: #delay can be called from events without events disappearing
* bugfix: write errors while logging no longer crash KBtin
* #condump can dump log to a .gz file
* changed configure.in to work with newer versions of autoconf
* ESC[m properly recognized as ESC[0m
* #shell
* bugfix: \line before creating a session was improperly echoed
* bugfix: tab (ASCII 09) characters no longer screw up linewrap
* help.c now uses mypopen instead of popen to hide "Broken pipe"
messages
* workaround for systems with no *n*printf
* ignoring errors on ioctl(TIOCSWINSZ)
0.3.7:
* & added to the list of possible prompt chars
* #sortlist
* bugfix: no more segfaults in #write
* #match
* messages from successful calls of #system can be disabled by #mess
#system
* lines are joined together in #read only in case of a tintin-command
* #decolorize
0.3.6:
* parse.c didn't check for #unpromptaction! Aargh!
* #char now accepts also ASCII characters >127
* all bindable keys scroll screen to the bottom of output
* #gag and #ungag no longer touch regular substitutes
* promptactions fire on complete lines as well
* a quirk in VT100 standard: \n as 81th character in line should be
ignored
* bugfix: ${varname} with positional variables in varname
* #dosubstitutes
* #dohighlights
* incomplete lines ending with one of: ?:>.*$#] are considered prompts
and left there if the user types something
* local echo shows color codes intact instead of changing color text
* #run now sets the pseudo-terminal modes correctly. This means no
double-echoing unless a stupid program like telnet changes the
modes.
* bugfix: #zap doesn't (hopefully) leave zombie processes anymore
* tilde conversion in filenames: "~/" = home dir, "~user/" = user's
home dir
* #if substituted variables in its command part too early
0.3.5:
* most commands substitute variables in their args
* #help checks also the dir where KBtin binary resides
* #removeevent can be used to remove #delays
* #event and #unevent as other names for #delay and #remove
* bugfix: #foreach no longer prepends space to implicit arguments
0.3.4:
* KBtin now compiles with -Wall with almost no warnings (save for those
related to ioctl and pseudo-terminals)
* delayed variable substitution - FINALLY!!!
* #foreach can now use positional parameters instead of simple append
* spaces between the command and first argument are not ignored if it's
a MUD command
* statistics from multiple #reads are combined into one
* split-line in #read
* #map works again only on #pathdirs
* bugfix: cannot delete the same action twice
* bugfix: deleting an alias being executed
0.3.3:
* $COLS and $LINES pseudovariables will give you the terminal size
* >place as a shortcut for $loc>place
* spaces before the command are no longer ignored
* #strlen command and inline
* #map now doesn't ignore commands which are not among #pathdirs
* #log <name> now works properly if already logging
* variable names can now contain digits and underscores
* events no longer ignore '#message events' turned off (duh!)
* #explode and #implode commands
* #substr instead of #index
* $PATH pseudovariable
* help file added
0.3.2:
* #index uses now 1-based indices (for consistency with other commands)
* #select and old #foreach removed - variable names shouldn't be used
for storing values!
* #foreach command: iterating through a list
* bugfix: #suspend now deals properly with terminal settings
* bugfix: #system no longer screws up display if the command writes
anything to the screen
* #boss - removed, the input line will give you away anyway
* #write and #writesession now write #gag instead of #substitute {-gag-}
* bugfix: ~~ is no longer considered a color code
0.3.1:
* ~fg:bg:blink~ color codes
* ESC[nC
* #promptaction command added
* splitting long lines coming from MUD to prevent buffer overflows
0.3.0:
* background and blink color codes (0..255)
* rewriting last line of output to make actions guaranteed
* more flexible time format
* portable implementation of run.c
0.2.9:
* #margin command added
* actions, delays and binds ignore #verbatim
* bugfix: ^D now works ok in #verbatim mode
* #bind command added
* bugfix: #blank should now work properly, fixing this bug improved
KBtin's speed about twice BTW :-)
* incoming ~n~ codes are changed to `n~ instead of working as a
colorcode
* unused listnode->pr fields now use 0 instead of allocating a string
just to put "0" there (that was a waste of memory)
0.2.8a:
* gz-logging
0.2.8:
* bugfix: [Esc] works again
* #write and #writesession now support routes
* #writesession now writes also changed aliases/actions/whatsoever
* multi-color highlights
0.2.7:
* KBtin no longer uses the ncurses library! (major rewrite of user.c)
0.2.6:
* fixed bug in simplify_list when an item is a single character
Ex.: #splitlist head tail {a b c d}
* fixed bug if an argument of an alias has embedded braces
Ex.: #alias aa {#showme $1}
aa {{a b} c d}
* bugfix: #verbatim no longer crashes KBtin
* no longer removing braces from the tail of the list in #splitlist
Ex.: iterating through list 'a {b c} d e {f g}'
* #deleteitems command added
|