Return to Main Page
Old
TTYtter change logs
This is here mostly for people digging through old versions
(pre-1.1.0,
pre-1.0.0) of TTYtter.
You can also get documentation for
0.9.12 and
0.8.6, the last versions of those branches.
None of these versions work with Twitter anymore! However, they
may be useful for other microblogging platforms, so I still offer them
for your entertainment. Enjoy.
Oops, I want the most current version
Changes in version 1.0.4 (these fixes are also in 1.1.0):
- Search API URLs corrected to Twitter-specified URLs.
- NewRTs now appear in user timelines and mentions, thanks to new
improvements in the Twitter API.
- Ported /doesfollow and the improved UTF-8 entity translation
for -seven from the forthcoming revised 1.1 beta.
Changes in version 1.0.3 (bug fixes and critical improvements only;
these fixes are also in 1.1.0):
- Search API URLs now transitioned to the api.twitter.com endpoint,
as the old ones will be eventually shut down.
- When terminating TTYtter correctly exits with the right
error status now (thanks @jlm314).
- Reply username matching is now a bit less greedy.
- Spaces are trimmed off URLs in /whois.
Changes in version 1.0.2:
- Missed one of the bleeding colour bugs into the
-readline prompt that was supposed to be fixed in
1.0.1. Fixed for sure this time. (thanks
@tjh)
- Updated API URLs.
- Search API support streams more reliably and is compatible with future
changes to the Search API search method.
Changes in version 1.0.1:
- Fixed JSON parser to avoid bailout with certain large GeoAPI coordinates.
(thanks @pssdbt)
- TTYtter now counts in UTF-8 characters, not bytes, now that I
have confirmation of full support in the Twitter API. 140
character tweets and DMs are now fully supported, and also
work with -autosplit.
- Multi-module loader properly insulates non-fatal errors from the
extension. This should improve compatibility. (thanks
@colindean)
- Error messages won't foul prompt colour in -readline mode
anymore (thanks
@wireghoul).
- -synch mode updates are only triggered now for successful
posting, not on overlength tweets, etc.
Changes in version 1.0.0:
- Source code reorganized and in some cases completely rewritten.
- Multi-module system for the
TTYtter API
allows you to install and run multiple
extensions simultaneously (if compatible), adding the new
-exts option.
- Speaking of, massive changes to the
TTYtter API. Extension authors
should re-read the API documentation for compatibility notes. While many
extensions will work with no or minimal changes, some may need to be
updated.
- The old -lib and -olib options are now deprecated,
and will be removed in the 1.1 releases.
- Synchronicity mode synchronizes updates with your keyboard activity
(-synch), but has a price to pay. Mostly intended for input methods
that are unhappy with background updates.
- -runcommand option for simple command-line queries.
- -hold is no longer infinite when used with -script.
- Tweet code temporary menus now occupy a three character menu code
that always starts with z (so now /thread generates
zz0 through zz9). This is to accommodate future menus that
may be more than 20 entries.
- Initial support for the Retweet API and newRTs. NewRTs now appear in
your timeline by default, are properly unwrapped so they are not truncated,
and are canonicized to appear just like RTs used to. Retweets-of-me are
displayed using the new /rtsofme command
(/rtom). Note that
because the API doesn't give you information about who retweeted you,
neither does this command. Twitter acknowledges this deficiency and it will
be supported in a later TTYtter when they fix it. If you want to
disable NewRTs (such as for StatusNet, etc.), use -nonewrts.
RTs made with /rt and friends are still the manual variety.
- /follow and /leave now handle following and leaving
users (no more FOLLOW and LEAVE even though they are
still supported).
- /dm who what replaces D who what (although the
latter will still work), giving you your 140 characters all back,
and is properly supported by -autosplit, -slowpost and
-verify. /replying to a DM now internally uses /dm.
- /dump now supports the Geolocation API and Retweet API,
giving you location information for tweets that encode it, plus the
retweet metadata. More information is also in the tweet cache for later.
- A new versioning system recognizes when you are using a beta and checks
the internal build number.
- Special logic to detect the Fail Whale for more bulletproof posting
and more useful error messages.
- /again and /whois get confused by numeric Twitter user
IDs (and treat them as user numbers). Patched to fix this so that numeric
IDs are seen as true IDs. Although this also affects 0.9,
it requires making an incompatible change, so it will not be fixed
in that version.
- If -rc gives an absolute path, use that. (thanks
@FunnelFiasco)
- All bug fixes from 0.9.10, 0.9.11 and 0.9.12.
Changes in version 0.9.12 (bug fixes and critical improvements only;
these fixes are also in 1.0.0):
- If you /troff
on a keyword set that has quoted phrases, the quotes get lost off all of them.
Fixed.
- Restoring from /set tquery 0 also fouls up quoted search terms.
Fixed.
- Setting $tquery in an extension's initialization does not
override $track. Fixed.
(thanks @colindean)
Changes in version 0.9.11 (bug fixes and critical improvements only;
these fixes are also in 1.0.0):
- Warn the user if a notification framework was selected but no
notifies were requested. This might be useful for an extension to
dynamically control, so it is not a fatal error.
- Another try at properly handling GeoAPI information (thanks
@chfrank_cgn).
- Author breaks 50,000 tweets. A loud sobbing noise can be heard from
Twitter corporate headquarters throughout most of the Bay Area.
Changes in version 0.9.10 (bug fixes and critical improvements only;
these fixes are also in 1.0.0):
- If the foreground process exits abnormally, it should still clean up the
background process.
- -script and -verbose should work together better (a
more effective fix is in the 1.0.0 beta).
- The -slowpost prompt lagged the signal switch ever so slightly,
meaning you could hit ^C and kill the process even when it told you it was
okay. The prompt is now delayed until after the signal handler change.
- -notifytype=0 should work fully now.
- -script and -status now correctly ignore
-slowpost and -verify.
- /vreply format tweaked slightly.
Changes in version 0.9.9 (bug fixes and critical improvements only):
- Tweets with geolocation information no longer cause the JSON
parser to panic.
- If -autosplit=word fails, fall back on =char instead
of completely destroying the tweet.
- /vre no longer threads the reply, as API changes have caused
threaded tweets to be only visible to the one replied to.
- The planned conversion of 140 bytes to 140 characters as the tweet
length could not be implemented in this version as the Twitter API does
not correctly accept them yet.
Changes in version 0.9.8 (bug fixes and critical improvements only):
- Identica fixes: base URL returned to friends_timeline;
fixed the "null list" warnings Identica users were getting;
updated JSON parser to understand the new Identica fields.
- You can now say -notifytype=0 on the command line to disable
a notifytype in your .ttytterrc.
- -hold can potentially loop forever even if you don't want it
to. -hold=1 or -hold by itself keeps the old behaviour, but
specifying an argument greater than 1 causes the script to stop after that
many unsuccessful tries. In 1.0.0, this will be changed again.
- Auto-ratelimiting changed to use 50% instead of 60%. This slightly
diminishes responsiveness, but seems to help people who were getting beaten
up by other client usage. You can still use -pause with an argument,
of course.
- /[ef]rt no longer thread retweets to the source tweet. Per
Twitter, this won't work right any more and actually
prevents retweets from being seen (by causing them to be treated as replies).
- /whois and /wagain now recognize the new default
images Twitter is using for accounts without avatars.
- -curl now works correctly again (stupid typo regression).
- Error codes fixed for command line tools.
Changes in version 0.9.7:
- 0.9 is now the stable branch and bug fixes only will occur on
this branch until a stable 1.0.x becomes available, after which it will
be deprecated. New development will now occur on unstable
1.0 and there will be compatibility changes. More on that when 1.0.0 is
released.
- New notification framework with built-in support for Growl
(via growlnotify)
and experimental built-in support for libnotify
(via modifications to notify-send; see
Galago Project
trac ticket #147)
using -notifytype and -notifies. Expandable via the
API.
- Revised API method for dynamic classification
of tweets using the $tweettype method. (The
old $choosecolour method is now deprecated and trying to call
its handler will generate a fatal error. It will be completely removed
in 1.0.0.)
- Favourites support with /favourites, /(un)fave
and /frt.
- Tweets can be dumped and their status URLs grabbed with /dump
(suggested by
@augmentedfourth).
- /short and /url take %URL% as default,
and /whois//wagain and /dump populate it,
allowing you to grab URLs from status IDs or user profiles and open them
or repost them (based on a suggestion from
@vkoser). As a nice
side effect, /url can now open arbitrary URLs as arguments.
- "Verified Account" support for /whois and /wagain.
- -slowpost mode for people needing something gentler than
-verify (like me).
- Training-wheels mode intercepts common newbie tweets like
quit and help (disabled by -slowpost and
-verify; I assume that if you set those then you know what
you're doing).
- -filter is now dynamic and can be recompiled on the fly
with /set filter.
- /vreply forces publicly visible replies (with the
de facto r @ttytter A public reply. notation).
- /eretweet populates %% as well to allow editing
with the conventional substitution sequences (thanks
@jasonwryan).
- To facilitate this behaviour, %-sequences are now generally
interpreted at the end of a line as well, not just at the beginning.
- New reserved namespaces for API modules using
the
$store
global reference
in anticipation of multi-module support in 1.0.0.
- HTTPS URLs now accepted by /short and the TAB completer in
-readline.
- -olib option for one-line libraries on the command line.
- UTF-8 characters can now be scanned for by /url, although your
underlying browser may not like them (for example, Mac OS X
/usr/bin/open thinks they are filenames).
- Default replies URL now set to mentions.json but remains the
same command line option for backwards compatibility.
- Substitutions using %-x sequences would accept arguments that
were too high and simply cut off until it couldn't anymore. This is now
correctly flagged as an error.
- Another crash bug removed.
- Internal code consolidation.
- Better error messages for deletions, failed substitutions, etc.
Changes in version 0.9.6:
- Direct message selection, analogous to tweet selection, which also
supports /delete, /url and /reply for a nice
almost-orthogonal interface.
- /retweet and /eretweet, previously undocumented in 0.9.5
due to inadequate testing, are now officially supported and properly thread
in-reply-to fields.
- Large internal change to subprocess management for easier future expansion,
along with more changes to $authenticate. This internal reworking will
continue up until the OAuth-based TTYtter, so people hacking on the
core should beware.
- $choosecolour is now unstable. API
programmers who are using this method should contact me, as I am planning
to change the interface as part of the future notification framework.
- /track should not throw pagination errors on common or popular
search terms. I disagree with the way Twitter has implemented this warning,
but this version includes a workaround (thanks
@johndalton).
- /ruler once again lines up properly with the prompt
(thanks
@vkoser,
@jazzychad
and others of the Brotherhood of the Ruler).
- Search results now are properly coloured in anonymous mode.
- GNU screen printed bold characters as inverse text. ANSI
sequence tweaked for wider compatibility (thanks
@arsatiki).
- Unicode code point 0x2028 needed to be seen as a newline,
and subject to -newline (or not). Fixed.
- -noratelimit does not work when it is changed dynamically,
so it is simply made a startup-option only.
- -filter didn't handle quote-wrapped arguments
(thanks
@augmentedfourth).
Fixed.
- -wrap sometimes overindented following lines
(thanks again
@augmentedfourth).
Fixed.
- Not all legal characters for URLs were accepted by /url. Fixed.
- /search did not call $conclude, so -filter
counts got out of sync. Fixed.
- Author breaks 40,000 tweets. Twitter calls him on the phone to please
stop and use Plurk or something.
Changes in version 0.9.5:
- Selection of individual tweets and threading with /thread,
/reply, /delete and /url, along with @
markers on tweets that are part of a thread.
- -noratelimit and -notrack to disable rate limit
checks and tracking keywords, respectively, on systems that don't support
them (most notably Laconi.ca/Identi.ca).
- API addition with $choosecolour.
- UTF-8 characters are now allowed in tracking keywords.
- Faster and more reliable JSON fetch and parsing method.
- Expanded /help text.
- Bogus colour warnings when using -noansi are fixed.
Changes in version 0.9.4:
- Twitter Search API integration, based on initial work by
@kellyterryjones,
@vielmetti
and
@br3nda
(/search, -queryurl),
with hashtag integration and keyword management
(/tron, /troff, /track, /#,
-notimeline, -track)
and trends (/trends, -trendurl), suggested
by a whole bunch of people including the most esteemed
@adamcurry.
- Customizable colours (-colour{prompt,dm,me,reply,warn}), another
common request.
- Base API URL can now be specified for Twitter clone APIs
(-apibase).
- Official API
support for libraries driving commands, or wishing to make JSON fetches
from services.
- Whitelisted accounts bombed with autoratelimiting. Fixed to constant
value.
- @ highlighting in direct messages tended to bleed. Fixed.
- -status probably shouldn't print version check warnings. Fixed.
- Not every overlong prompt was getting wordwrapped. Fixed.
Changes in version 0.9.3:
- Automatically check that you're using the most current version, either
with -vcheck at startup, or /vcheck within the client.
- New $authenticate API method makes
it possible to store your credentials anywhere you darn well please, including
nowhere. Now prompts for password when you don't specify. Based on code
by @jcscoobyrs.
- Autosplit using the -autosplit option, suggested by
@dogsbodyorg and
@timtom.
- Correctly counts bytes in tweets, since Twitter counts
in bytes, not characters (thanks
@cyrixhero).
- Wordwrap for arbitrary screen sizes, based on a suggestion by
@augmentedfourth.
- Verify individual tweets as you post them with -verify,
along with simple Perl-expression-based filtering with -filter,
based on suggestions by
@cwage.
- Posting tweets did not show verbose information in
-superverbose mode. Fixed.
- /setting superverbose should also set verbose.
Fixed.
Changes in version 0.9.2:
- Status changed to 'stable' fork; previously embryonic features now either
fully enabled or made default.
- -rc=... option allows selection from multiple .ttytterrc
files, based on a suggestion by
@br3nda. Corresponding
-norc option allowed to, conversely, completely disable any
rc file present.
- API additions
($addaction/&defaultaddaction).
- Time ranges printed for /again user (when -timestamp is
not enabled).
- /print ntabcomp to display newly added entries during this
session, based on a suggestion by
@augmentedfourth.
- TAB completion is now case-insensitive.
- Expanded control character filter from 0.8.6.
- All bug fixes and backouts from 0.8.6.
Changes in version 0.8.6:
- Status changed to 'deprecated' fork.
- Control character filter added (backported from 0.9.x) and expanded
to pre-interpret most common mistaken entries.
- Bug fixed with @ names framed with certain punctuation not getting
highlighted.
- Backed out kludges for bowdlerized /whois and less efficient
workaround JSON fetch.
Changes in version 0.9.1:
- Large rewrite of the UTF-8 handling code, with hopefully better support
on as wide a range of Perls as possible.
- /print tabcomp to display your optimized completer string in
advance, based on a suggestion by
@augmentedfourth.
- -newline to parse \n and \r, also suggested by
@augmentedfourth.
- CTRL-C now correctly triggers the END subroutine, reported by
@augmentedfourth.
Yeah, he's been busy. ;-)
Changes in version 0.9.0:
- Split into 'unstable' fork.
- Major retooling of program logic to eliminate redundant portions and
streamline complex sections.
- Auto-ratelimit support with -pause=auto
(EMBRYONIC). However, works
well enough to be the default right now. If you don't want to use this,
or don't trust it, you probably should be using 0.8.5.
- Support for Term::ReadLine::* with -readline
(EMBRYONIC),
including cursor key history and TAB completion (with auto-learn),
and API support with
$autocompletion/&defaultautocompletion
to define your own TAB completion routine.
- URL shortening (-shorturl and /short).
- Runtime changes to certain options now supported with
/set and /print.
- Support for unusual client environments, using -leader and
-noprompt, based on an idea submitted by
@chfrank_cgn.
- Easier SSL operations using -ssl instead of requiring
changes to .ttytterrc.
- /again on a username reports the time of last update if
you aren't using -timestamp.
- Friendship queries fixed.
- All bug fixes from 0.8.5.
- Author breaks 25,000 tweets. He is, truly, a nerd.
Changes in version 0.8.5:
- Split into 'stable' fork.
- Bug fixed with UTF-8 handling, even on systems and Perls that don't
understand UTF-8.
- Bug fixed with users with no DMs.
Changes in version 0.8.4:
- Several temporary workarounds for glitches in the Twitter API,
namely a kludge for eating invalid JSON generated by tweet deletes,
disabling some fields in /whois that were pulled,
and turning off friendship checks as they currently generate 500 errors.
The tweaked JSON fetch is also marked as kludge. These temporary fixes will be
backed out when they are fixed on Twitter's end.
Changes in version 0.8.3:
- Tweaked fetch routine pending eventual format of null responses (i.e.,
much less spurious timeout or no data messages).
Changes in version 0.8.2:
- Twitterer names, and @ names, are now boldface and underline respectively
based on patches submitted by
@smb.
- Expanded /whois with code for looking up friendships, and
processing avatar images (-avatar, -frurl).
- API additions ($precommand,
$prepost, $postpost).
- Certain HTTP status codes could cause the JSON parser to freak out. Fixed.
- -noansi didn't take precedence over -ansi like it was
supposed to. Fixed.
Changes in version 0.8.1:
- $lasttwit, and origination classes for $handle, both
API enhancements suggested by
@emilsit.
- -lynx and -curl can be told to run a specific
binary, useful for PATH-deficient environments or version testing.
- -status correctly warns for tweets over 140 characters.
- Speaking of which, normal tweet activity also has better warning text
for oversize tweets too.
- Additional debugging information for failed test logins available.
Changes in version 0.8.0:
- Robust scripting support for simple command-line queries (/end and
-script).
- -pause=0 is now valid.
- Popping words off the end of the line (%%--, etc.) works.
- API
additions (&standardtweet, &standarddm,
DUPSTDOUT).
- Null array references could escape from certain asynchronous commands
and cause uncaught exceptions. Fixed.
- &prinput allegedly took arguments, but ignored them and
just used $_ like it used to. Kludged around.
Changes in version 0.7.1:
- Null array references could leak from the JSON parser, which
would throw an uncaught Perl error. Fixed.
- /ruler (suggested by
@jspath55).
Changes in version 0.7.0:
- Changes suggested and coded/adapted from code by @br3nda:
- ANSI colour and highlighting (and -ansi/-noansi).
- Timestamp support, including templates on supported installations
(-timestamp).
- Replies support (/replies and -rurl).
- /again expanded to allow querying user timelines (and
-uurl).
- API
expanded with $prompt, &defaultprompt
and -twarg.
- Anonymous mode (-anonymous).
- User query (/whois and /wagain, and -wurl).
- JSON parser upgrades to accomodate user queries.
- Error message reporting fixed.
- Proper detection of presence/absence of modules (particularly fixing
problems with -seven) and streamlined BEGIN block.
- No need to pause with -silent.
- Several side effects have now been incorporated as virtues.
- Author breaks 10,000 tweets. What a dweeb he must be.
Changes in version 0.6.1:
- Improved stability in JSON validator when using Lynx as the user-agent.
Changes in version 0.6.0:
- Direct message support added to both interactive client and
API, with
-dmurl and -dmpause.
- -silent mode and exit statuses.
- Abstraction of console input processing to facilitate future expansion
in both API and internal code.
- Recognizes new-format Twitter error messages. (Correspondingly, some
API exception codes are now deprecated; see documentation.)
- Command abbreviations.
- Expanded command history support and -maxhist.
- Reworked error messages.
- Various custodial fixes and upgrades to JSON interpreter.
Changes in version 0.5.1:
- Patched for various entities in the new Twitter JSON release. This version
will correctly handle both ampersand-escaped and standard entities and quotes.
Changes in version 0.5:
- Support for rate-limited API, in two ways: first, increasing default
timeout to 120 seconds, and two, properly recognizing when rate-limiting
has kicked in.
- Stability improvement in JSON validator.
- Additional API exception codes for the above features.
- select() loop tightened up to make timeline
hits as minimal as possible.
Changes in version 0.4:
- UTF-8 now works right (most of the time). Added -seven option
for backwards compatibility.
- First support for the TTYtter API and
the -lib option.
- Detached mode using -daemon, allowing bot building.
- Tweaks to defaults.
- Work-around for out-of-order tweets "stuttering" or getting stuck.
This is technically
a Twitter bug, but this version can now ignore the anomaly.
Changes in version 0.3:
- Even bigger morer robuster JSON validator.
- Posting from the command line using -status.
- Can now configure update source using -update, allowing complete
abstraction of TTYtter
assuming the other side supports the Twitter API over
JSON.
- -hold timeout tweaked.
- Messages tweaked for accuracy and semi-user-friendliness.
Changes in version 0.2:
- Improved detection of Twitter HTML status messages and better tolerance
of partially-transmitted data (which could sometimes
cause ttytter's JSON validator to freak out).
- Added "re-tweet" facility for ... retweeting.
- Added -hold option.
- Another hal-fassed attempt at better UTF-8 handling.
- Exit statuses of curl/Lynx sessions are properly reported.
- Proper command line precedence over default options.
Send comments and blank cheques to ckaiser@floodgap.com.
Top of the page |
Return to main page
Cameron Kaiser