.
- docs: lots of changes to the finding_more.html page, including adding
a stronger bookmark, fixing the broken FoRK example, warning about
Sherch's age, and adding new entries: RacingNewsOnline.com, NWFusion.com,
Mail-Archive.com, Daypop.com, fyuze.com, Snewp.com, and Yahoo Finance.
- docs: add kudos.html to move it off the news page.
- featurette: now supports authenticated proxies (Ian Dash and others).
- bugfix: we handle the rss 2.0 "id" attributes on item (XML::Simple
turns id's automatically into another tree level), and also no longer
die if there is only one item in a channel (Jeremy Zawodny).
- code shui: removed a level of indentation in our AmphetaDesk.pm
by "next unless defined $connection" instead of "if ()".
- bugfix: under win32, we set our "already clicked" menu item checker
for "Open Browser" immediately, as opposed to after the browser has
been opened. this fixes a race condition where an impatient user
could request to "Open Browser" before the first one finishes.
- bugfix: amphetadesk now spits out http headers (thanks Dave Beckett).
- featurette: png images may now be displayed.
- security fix: you can now choose whether to allow AmphetaDesk
to accept outside (nonlocal) connections. This is determined
by a new user_allow_nonlocal_conn setting, and defaults to "no".
- security fix: URLs are now checked for funny business.
- converted some more date instances to HTTP::Date.
- bugfix: we no longer die on a myChannels.opml with only one channel.
- bugfix: 404 pages no longer divulge the full path on the HD (Eric).
- updated the README.txt to suggest expat 1.95.3 instead of .2.
- bugfix/win32: worked around segfault concerning UTF-8 BOMs.
- bugfix/os x: updated to expat 1.95.3 to fix UTF-8 BOM segfault.
- bugfix: our shutdown() to the webserver wasn't formatted correctly.
- bugfix: fixed "Argument "" isn't numeric in bitwise or" error on
line 53 of the Mac OS X gui. $flags was '', but now starts out as 0.
- bugfix: we don't echo that we're loading the OPML file twice anymore.
- bugfix: os x wrapper comments no longer echo if we run from the shell.
- bugfix: the AmphetaDesk.log was opened in ~ and not the install dir.
0.93 (released June 13th, 2002)
- updated to the latest XML::Simple and Text::Template.
- documentation updates. lots. still more to do.
- all images changed over to the new set done by Eric Vitiello. Rock.
- fixed minor bug where invalid scriptingNews would say there
were no parsable items as opposed to an xml parsing error.
- to prevent our popup delete window from bring the view back to the
top of the page, we moved the onClick to the image itself, and used a
cursor style to duplicate the UI element. see for crossplatform notes:
http://developer.netscape.com/evangelism/docs/articles/cursor/
- added email icons to the headers of the templates.
- tweaked the index.html template a bit to prevent runaway
tags, and to make the entire page load faster (thanks redmonk).
- lots of Classic Mac fixes here and there.
- added toplevel README.txt's for the subdirectories.
- added encode_to_dec into AmphetaDesk::Utilities, which fixes the
issue of del_urls not working properly when the channels URL
has it's own query string (their query string was being read as ours).
- proxy configuration via mySettings.xml has been added.
- final round of alpha testing begins.
- quickie drop in of environment proxy code (thanks Klaus).
- Compress::Zlib added to AmphetaDesk.pl. Preparation for v0.94.
- the channel_count is now spit out into the log so much.
- moved special globals from "vars" to "my" instead.
"vars" is deprecated for 5.6.0+, but we're not
going to "our" since we want perl 5.004 compat.
- moved all our stupid date code in MyChannels.pm to use
the matching functions from HTTP::Date. Much nicer.
- Radio Userland, AmphetaDesk, and similar OPML files can now be
imported from a URL via "add_url". Since these files can be
HuuUGe, we don't download the channels at the time of the
import, but rather on the next restarting of AmphetaDesk.
- Radio Userland mySubscriptions.opml imports are now possible,
assuming you rename to myChannels.opml and stick in data/.
- added "user_channels_check_interval" which AmphetaDesk will use
to repetitively check for new channels every X minutes. The minimum
setting (which can not be changed) is 2 minutes.
- added an email/envelope graphic to the templates page, which
will only show if we can figure out an email from the feed.
- CDATA'd rdf:values from RSS 1.0's mod_content are now shown.
- scriptingNews support has been added back in, same data structure.
- instead of using Cwd (current working directory), we now use FindBin
to figure out where we are in the file system, making relative
directories much safer to use. this fixes a bug where AmphetaDesk
could be installed in /usr/bin, but would break if a user tried
it from the /tmp directory (since the relative paths would be
to /tmp and not /usr/bin). This was really only an issue on Linux.
- default template has moved to templates/default, and gui/ has moved to
templates/default/gui, allowing future support for template subdirs.
also did some quick edits in Settings.pm to support the new subdir.
- strip_newlines_and_tabs data in myChannels.opml.
- cleaned up some uninit warnings in strip_newlines_and_tabs.
- the my_settings.html now works correctly.
- if a channel has no items to display, then we show an error in the HTML.
- second round of alpha testing has begun.
- added popup window for deleting off the main page, thanks to eric.
- errors in the RSS feed are now passed to the template for display.
- switched over to http::daemon and cgi.pm as opposed to homebrew.
- template system has been made more generic, and there are now
no "special" template names, like add_a_channel.html or my_channels.html.
"index.html" is, however, required if you want auto-directory serving.
- fixed up the various GUI libraries.
- get_response and set_response have been added to ::Utilities,
which are quickie routines to set messages to be displayed
in the HTML pages. The header template has also been updated
to show these messages if they exist. Once their shown, they're
permanently removed until the next set_response is triggered.
- we no longer need the "id" attribute in our OPML, as we've
moved to using the xmlurl as the unique id (a safer choice).
- ?del is now ?del_url to more closely match ?add_url.
likewise, a ?del_urls now exists as well to match ?add_urls.
- if get_my_channels_data isn't passed a $setting to retrieve,
then it will return a hash ref of all settings. this allows the
templates to be slimmer (less calls to that routine).
- updated README.txt to be remotely applicable.
- stopped Win32 DoEvents from logging thousands of warnings.
- first round of alpha testing has begun.
- split the template pages into header/footers.
- added "title" attributes to most of the template pages.
- fixed the UserAgent string so it's more in line with others.
- added "last modified" and "added" dates to my_channels.html
- more good code from eric, which involves checking for duplicate
filenames and URLs, as well as fixing a moreover title bug that
caused duplicate filenames to be a regular issue.
- eric vitello jumps on as a developer. contributes good code to
getting MyChannels.pm up to snuff. this has now been moved over to
Text::Template and is much smarter code. Usability wise, people now
"check" to delete the item, instead of unchecking. The opposite of
what existed before, but makes a bit more sense (the old way only
existed like that because of lazy programming).
- we no longer consult the filesystem for the last time a channel
has been downloaded (we now consult date_downloaded, which is a
new attribute in our myChannels.opml file) mirror() still checks
against the filesystem, but that's normal / intentional.
- "request_timeout" added a setting, and "strict_xml" removed.
- added {app}->{os}, which gets spitout in the logfile.
- we no longer need to ship a mySettings.xml file, as one is
created at runtime if none can be found. this helps upgrades too
as we will no longer have to worry about overwriting. this has
also been addressed with myChannels.opml.
- we now use File::Spec to figure out paths, not $dlmtr;
- our logfile is now opened FIRST. the logfile location has
changed to the root directory for ease of finding and sending.
logfiles are now kept around until they're over 250k.
- error() is now just a wrapper around note() since we can
be pretty sure that the logfile is opened correctly.
- modularization has begun.
- modified the URLs so that they are relative, making it easier for
AmphetaDesk to be used over a network (previously links referred
back to the user's local machine, not necessarily the Ampheta box).
- when minimizing the window on Win32, it now goes directly to the
Systray, as opposed to going to the taskbar, and doing weird stuff.
- fixed bug where the channel count wouldn't be updated after a
modification of the user's myChannels.opml. the counting should
probably move into the actual create routine.
- installed INTerrupt handler so that users who Ctrl-C in a Linux
or OSX terminal will have the webserver shut down properly.
- added Simon's Kittle code to stop Linux from crashing on add channel.
- fixed bug that would cause the myChannels.opml to be erased if
bad GET based data was passed off to it. its still affected by POST.
- the socket read timeout error is much more userfriendly now.
- README.txt updated with upgrade notes and Linux install walkthrough.
- added a number of user quotes to the docs/news.htm page, and
included a quick little blurb about them on the docs/index.htm.
likewise, reworded some of the docs/index.htm options to be less scary.
- we've changed how we handle CDATA sections. previously, we would
remove any CDATA tags when "fix XML" was turned on. now, we leave
them alone, but add a conditional to not encode links if we see
a CDATA in the feed (previously, we "fixed" links that were not
properly encoded - this caused problems with CDATA sections,
where the links could be unencoded). this does not effect
any parsing (thanks Steve Yost).
- old versions added to docs/index.htm.
- added README.txt as "Installation" notes to docs/index.htm.
- added OS X note concerning "which version?" to docs/index.htm.
- added "shared libs" and "README.txt" docs/to files_and_dirs.htm.
- the screenshots.htm now loads the ss- images from disobey.com.
this is so we don't have to ship them in the archive files, as
they were taking up an awful lot of space.
- a simple docs/README.txt file has been added.
- original Artistic License replaced with NcFTP revision.
- build instructions (docs/build.htm) have been added.
0.92 (released October 5th, 2001)
- sigh. Mac GUI has been put on hold again. show stopping bug.
- some more Mac GUI fixes. it doesn't scale very well though (at
120 channels, which is my selection, it slows to a insane crawl).
- went through the TODO and move a bunch of stuff to "after 1.0" so
that we can hurry up and get a flippin' release out.
- removed spitout of http headers and how they were parsed.
- fixed bug where files name like picture$2312 (a common Manilla
construct) would cause us to die if they were used in a relative
link and not as an absolute.
- fixed "broken pipe" program killer that happened when we tried to
read from an image file that didn't exist locally (caused due to
relative links within an rss feed).
- fixed some core problems with how we handle entity encoding. now,
we only encode entities if the channel has failed an initial parse
using XML::Simple. This allows unencoded entities from US-ASCII
types to be properly shown in AmphetaDesk (thanks again to
Karl Ove Hufthammer for being the pesky foreign user and making
sure we get this crap right). we do, however, encode some
entities that are common when people are using the 'windows'
encoding.
- fixed a problem with 's having an attribute (for example
xml:lang="eng"), which would cause the tag to not display.
now, if we find something similar, we check a bit deeper and
try to rectify the situation. we only do this for title, and not
description (description gets far too fun with possible attributes,
possible unencoded HTML, etc). Thanks again to the ever observant
Karl Ove Hufthammer.
- added a "strict_xml" configuration setting. turning this setting
on (via manual editting of mySettings.xml) will cause AmphetaDesk
to not try ANY fixing of common problems with XML feeds. basically,
we sent the feed unchanged to the parser and hope the user got it
right. this is more conducive to "if the XML is wrong, then the
parser should not display" ideal.
- after going through all of the logfiles that people have sent, we've
fixed a number of minor errors:
's are now converted to
because it's simple to do; ´'s are now converted to apostraphes
(search for ´ in the code if you want more info); Happily enough,
most of the display errors in v0.91 have been fixed with the change
in parsing of this version.
- the webserver will now try to jump onto three ports before dying.
these are all configurable, of course, and the doc's have been updated.
there was a change in logic - {urls}->{port} includes the currently
chosen and running port of AmphetaDesk. likewise, the new {port_default},
{port_secondary} and {port_tertiary} point to the three possible
port choices.
- fixed some comment in the various OS libraries.
- we now correctly close the logfile and webserver before exiting.
- fixed silly != / ne bug in Linux.pl.
- fixed an infinite loop when an http server redirects us repeatedly.
- in channel display, we no longer show blank entries or HASH(ddddd)
entries (which can manifest because of unencoded HTML).
- warnings / notes improved upon. most user logging has been configured
to spit out the program name and to report the error to the program's
email address. other warnings and so forth have been tightened as well.
- drastically reduced the amount of "quit AmphetaDesk" error messages -
instead, we try to continue on with limited functionality. now, we only
die if one of required files or directories can not be found, if we
can't load the myChannels.opml, and if we couldn't start the webserver.
We no longer quit when the myChannels.opml file can't be saved,
when we can't load the channel list, when a valid URL wasn't passed,
or when we can't find a template file (as any file that is not
defined internally could become a template file, such as relative
links within an RSS file, etc.).
- Error messages now come with more verbiage containing a possible
solution. All admonish the user to report the error to {app}->{email}
when the problem is more than just a file missing (reinstall, bucko!).
- fixed line feed issues in our log files on the Mac.
- added "letter_next" and "letter_prev" for use within the
"add a channel" page. this allows quicker browsing than having
to hunt and peck the right letter and screw up.
- cleaned up some bad error messages in the "add unknown channel"
code, as well as added a log message to the GUI window when
the channel was successfully added.
- the title column of the "add a channel" and "my channels"
pages has been set to 200 pixels to prevent annoying resizing.
- new html-in-rss parser has been added, which listens only to
encoded HTML tags (i sincerely doubt we'll ever support unencoded
HTML, cos that's just so anti-RSS that it drives me nuts).
- show stopping entries like and are now fixed.
- all links now listen to the users target= preference.
- added &gui_after_html_display, necessary for the Macintosh GUI;
stubs have been added to the Windows and Linux GUI libraries.
- added "Tools" menu to the Windows GUI.
- we now correctly close our logfile at the end of a run.
- various minor html documentation changes for IE6 beta viewing.
- minor template changes for better viewing in Opera and IE6 beta.
- standardized all documentation to use "AmphetaDesk" and not
any derivatives there of (like "amphetaDesk" or "Amphetadesk").
- first attempt at Macintosh GUI has been committed.
- added screenshots and pirillo's custom skin to documentation.
- added the bottom navigation bar to docs to match ui templates.
- added NewsIsFree.com, Sherch.com and Network54.com to finding_more.htm.
0.91 (released July 2nd, 2001)
- fixed bug where we wouldn't close if our child process was still
hanging around (caused by forking to run a browser different than
the default and then not killing the bastard).
- fixed a silly bug that stopped encoded characters in a URL from
being accepted as part of a typed website address for the
"add an unknown channel" feature. this fix makes
NewsIsFree.com integration possible (and nifty!).
- AmphetaDesk no longer crashes when Opera has been set as the
default browser (it worked fine when the path to Opera was
specified in mySettings.xml). The bug was caused by Opera's
reliance on Multiple Document Interface (or so some more
knowledgable people have told me).
- finally stopped resizing in the Windows gui.
- added right click menu to the systray icon for the Windows gui.
- added "refresh channels" and "open window" to the systray
icon for the Windows gui. and "exit" too, but that's boring.
- fixed some minor template problems with new channel listings.
- fixed a minor template form issue with Mozilla.
- changed the default letter to "0" in the "add a channel"
page. that just makes more sense, since it's first in our nav.
- updated the three master channel lists.
- fixed bug in version check code that would get confused with
different types of line returns in the Macintosh version.
- we now check for duplicate entries in the "add a channel" list
based on xml url, not the title as we had previously done. this
fixes an obscure bug where channels with the same name would
be lumped (and by default, checked) into one entry.
- stderr is now redirected to our logfile. we also sleep after
spitting out any message for 10 seconds so that the DOS
window on Windows doesn't disappear too quickly.
- moved most of the divider lines into the respective routines.
- added a lot more logging information to help debug.
- added an error message for when the webserver dies. this lets
the Windows 2000 people know what the problem is and that we
know about it.
- in our &process_initial_request routine, we know check to see
if $url is defined before sending the results back. if $url
is undefined, we set it to the main page of AmphetaDesk (which
should work around some random browser idiocies when it actually
makes a request to the server, but a url can't be determined).
- server timeouts have been removed from &head and &get, as well
the timeout was lowered from 20 seconds to 10 seconds.
- we now print out the remote server headers if it doesn't contain
Content-Length or Last-Modified headers. that's just weird.
- Added $TEMPLATE->{total_my_channels}, $TEMPLATE->{total_channel_items},
and $TEMPLATE->{total_channels} which just provide various counts.
Find more information in the skinning.htm documentation.
- Some minor template changes after usability testing - removed some
of the more obscure terms, added some more whitespace, and duplicated
the navigation at the bottom of the page. Eventually, they'll be a
template that will remove all this "helpful" crap for people who
know it all.
- Reduced the head() request to 512 bytes, instead of 2096.
- Added {app}->{url} into all HTTP User-Agent lines.
- Our checks for server headers in head() are now case insensitive.
0.90 (released May 29th, 2001)
- added UTF-8 character encoding meta tag to all XHTML documents,
thanks to Karl Ove Hufthammer for bringing this to us.
- template variables that were specifically used in the list_item
pages are now prefaced with "list_"... this is to prevent
confusion about template variables having the same name,
but different meanings based on what page was being shown.
- fixed . instead of undef'ing, it defaults to
"_blank". if someone wants links to open in the same window,
we set it to "_parent". that's a good solution. yeah.
- the settings was moved into . it makes more sense.
- 'echofactor' removed from the "finding_more.htm" page.
- the 'www' directory has been renamed to 'templates'.
- "news and update" page added to the documentation. the
matching rss feed added to the default channel lists.
- added to the service lists - in conjunction, we now show
channels which have been added in the past month in a different
background color, based on this value.
- added to user preferences.
- More entries added to the finding_more.htm docs.
- Template changes: channel_title.html is now called
channel_header.html. likewise, channel_footer.html is now displayed
only if it exists. All template filenames have been renamed to
.html, and channel_list_item_new.html has been added (which is
displayed if the currently nonexistant tag is newer than a
month). There has also been tons of template variable changes, as
well as the addition of a rather mediocre skinning.htm to the
documentation.
- Fixed bug where network timeouts would happen twice.
- Added mySettings.xml workaround for Netscape and other browsers that
don't automatically open up - the user can now enter a full file
path of the browser, and we'll attempt to open that app, while
passing it the URL requested.
- mySettings.xml frontend has been integrated and related
documentation has been added (xml_my_settings.htm).
- Morbus, being bored one day, looked at every single line of
code all over again, and tweaked and hemmed and hawed. tons
of myriad comment updatings, space cleansing, and so forth.
- We've added a Timeout of .1 second to our internal webserver, The
Timeout will ensure that the webserver is nonblocking (moving on in
the infinite loop after 1/10 second), which helps the GUI listen for
requests.
- We now override xml::simple's xmldeclaration with our own, which
solves the xml syntax error with [version='1'] when it should
be [version="1.0"].
- Error messages and name related data that was hardcoded has been
moved to its $SETTINGS equivalents for better customization.
Eventually error messages should live in mySettings.xml as well,
but that will come later.
- Because of the improved $SETTINGS configuration, we now have
better error checking for missing files (like the various
template files and myChannels.opml, etc.).
- The logfile is now opened again in the main script - only the
filehandle is referenced in Miscellaneous.pl. Our problem with
the log not being written because of a crash was because we
didn't autoflush the buffer in our old code. This is fixed.
- Tons of variable name changes in line with improved $SETTINGS
and $TEMPLATE changes - the whole thing has basically been redone
for better support of mySettings.xml and distribution power.
- One channel bug resolved (we still need to check some of the
uninit'd values that seem to pop up every now and then).
- Added the tidy_house() routine to clean out old channel files
- files_and_dirs.htm added to documentation.
- Tons of minor documentation fixes and additions.
- Micropayment links secretly added. Let's see if they'll notice.
- Turned (back) on the service list download - if the recent channels
list hasn't been updated for a week, we check for a new one. If it
doesn't exist, we download it (which allows us to not ship that at
the expense of a longer first startup for users).
- Only newly added channels are downloaded from the "add a channels"
screen now - previously, we would recheck all our myChannels.
- Artistic license added to docs.
- Because the XML parser has been nicely tested and the only errors
that show up are due to mismatched tags, we no longer spit out
xml error messages to the user, we just send them to the log.
- We now display an error message when there are no channels to display
on the initial page (ie. all channels timed out and no local files).
- The version check actually works now.
- ¬e split up into ¬e/&gui_note.
- Various default channel changes, including the removal of
The Motley Fool and the addition of Lockergnome...
0.24 (released March 19th, 2001)
- chose an almost entirely new set of default channels.
- fixed bug where numerically named services would never show.
- a simple error message is now displayed when no channels exist
under a chosen letter in the "add a channel" page.
- fixed bug where our parse_template routine thought that a "0"
was a nonexistant value, even though it could be (ie. a "0" could
mean that we want to see all services matching a number.)
- stuck the "display_home_page" routine back where it belongs, but
still as a routine. reasoning being it's the only block of code
called more than once in the main file, and it'd be lonely being
the only routine at the bottom of the file.
- documentation updated to match new block within service
list, as well as to be more organized and crosslinked.
- cleanup changes to ServiceMaintenance.pl to make it more useful.
- added timeout setting using IO::Select of 20 seconds. this combat
slow networks, and should fix Geomisk's nephew's crappy connection.
- documentation can now be served/read by the webserver.
- "add channel from url" feature has been added.
- the large channel list is no longer loaded when people go
to "My Channels" and delete a channel (this saves a few seconds
if the user hadn't requested to see the channel list earlier).
- "xmlUrl" and "htmlUrl" from myChannels.opml have been changed
to "xmlurl" and "htmlurl" respectively. our code will read both
but only write the lowercase versions.
- naming.htm added to documentation.
- history.htm added to the documentation, as well as documentation
links added to the default templates. Just integrating help.
- removed Red Herring from myChannelsDefault.opml.
0.23 (released March 6th, 2001)
- fixed stupid misspelling in check_version.
- removed all global variable passing.
- program name is now a variable (and is now used in all socket calls).
- channel downloading within download_my_channels is now more
informative, and allows us to more easily troubleshoot missing
channels (and dead/failing ones).
- the "unlink" on the filename has been secured, since technically
it's outside data (people could modify the myChannels.opml). We
leave the unlinks on the log file deletions alone though, since
the directory comes from Cwd and the filename internally.
- invalid xml entities/characters are now encoded when the channel
fails to be loaded the first time around. this should fix almost
all "invalid entity" errors (hopefully). there will still be
errors concerning missing tags, but we don't care about those.
- make_valid_xml moved into Miscellaneous.pl.
- large channel lists added, along with alphabetical breakdowns by page.
the current channel lists are not all that we know of on the net, but
enough to be a proof of concept. the list will be expanded in the
future.
- scriptingNews regexps are now eval'd.
- Development moved to SourceForge.
- ServiceMaintenance.pl added - creates and maintains service lists.
- "xml_services_lists.htm" added to documentation.
- "xml_my_services.htm" added to documentation.
- removed "text" from myChannels.opml - it was a throwback to
Winer's mySubscriptions.opml, and has been replaced with "title".
- we now add "&go=1" onto the end of the delete url's so that
IE 5.5 on the PC won't think that it should display an
xml file because of the extension in "?del=filename.xml". The
"&go=1" is ignored by AmphetaDesk.
- fixed bug where "weekdayword" and "weekdaywordabbr" were never
being correctly set. this eventually caused undef errors in
&unencode_some_html and &strip_newlines_and_tabs.
- channels that have no items to display are no longer
displayed (previously, we saw just the title of the channel).
- make_valid_xml improved with better fixing for the
statement not being on the first line of the passed data.
- all empty elements within the channel xml are now suppressed
via &load_channel_data - this should fix some rather random,
but confusing bugs (and probably introduce some more, but hey...)
- new logo and slightly larger globe added. all images compressed.
- &load_channel_data has been added - this understands both
raw xml data, as well as a filename... likewise, make_valid_xml
understands either raw xml data, or a filename.
- delete_channels now removes the filename from data/channels.
- delete references channel filename as opposed to xml-url.
- more html changes - icon key is now in header.
- fixed the stupid logic error in this file.
0.22 (released January 21st, 2001)
- unencode_certain_html added - converts "/lt/gt to "<>.
- changed the delete code to reference xmlUrl and not htmlUrl.
- changed the delete code from "delete.ahtml?del=" to
"my_channels.ahtml?del=" - the main reason for this is that
delete.ahtml will never exist as a template file, so we
shouldn't define it.
- tons of html changes to clean the ui.
- added delete from home page feature.
- lots of routines now use the global variables instead of passing.
- download_channels_in has been renamed to download_my_channels.
- loading of the channel list is now cached for quicker access.
- lots of new routines to make the script even more blackboxed:
create_channel_filename, load_my_channels, sort_my_channels_by_filename,
strip_newlines_and_tabs, load_channel_list, and write_my_channels.
- comment and code cleaning - general gold plating.
- merged myChannels into the big list and checked them off.
- fixed the Netscape/Mozilla bug where POST requests would
never be properly resolved (due to erroneous content-length).
0.21 (released January 15th, 2001)
- we now only load filenames that are defined in myChannels.opml.
- make_valid_xml no longer dies if the file can't be opened.
- < and > are changed to < and > in our item descriptions
so that anyone who properly encodes HTML will show correctly.
- Our template channel items are now undef'ed each time through
to fix a bug where a from item 1, would appear
on all further items that didn't have a .
- Removed flocking. Really only a one user system.
- Fixed bug where the submit button became a new channel.
- Fixed bug with Windows freezing / force-quitting.
- Downloading after channel add has occurs after the page displays,
not before (as before). This is so the page displays without an
overly lengthy delay. This simulates "background downloading".
- Cleaned up some uninit's when the channel $html wasn't there.
- Content-length and POST changed so more browsers will work.
This has currently been tested on: NS 4.7.x (Mac), IE 5 (Mac),
iCab 2.x (Mac) and IE 5 (Win).
- Timeout for socket connection has been moved to 15 seconds.
People like me who have 40 channel subscriptions will wait
forever (quite rightly so) to download them all. Non -
responding sites are a pain waiting to timeout.
0.20 (released January 13th, 2001)
- Add and remove channel code has been added.
- myChannelsDefault is no longer referenced in the code.
- Channel list is now updated once a day.
- Globe and XML image added to HTML templates.
- Filenames are now part of the OPML file.
- HTML and XML urls are now available in channel title display.
- Timeouts for downloads changed to 30 seconds.
- Tweaking of ¬e output - lot cleaner output to the user,
and more helpful output to our log file. How slow is this?
0.17 (released January 12th, 2001)
- Channels and lists are only downloaded if the saved versions
are older than 1 hour. This makes the script even quicker.
- GET/POST now properly parsed for form data.
- List items and channel news are stripped of newlines and tabs.
- channel list is optimized but it's kludgey. needs fixing.
- .opml and .xml added to content-type extensions.
- HTML cleaned up a bit, and section names finalized.
- The old log is deleted before a new log starts.
- &mirror now supports modification dates and works so much nicer.
- Version checking is now mirrored.
- The main $socket loop is now autoflushed.
- ¬e and &error moved to Miscellaneous.pl.
- Date stamp on logging shortened, since we overwrite each run.
- All code switched to the rewritten LWP routines.
- All routines are now labeled with what they can return, as well
as the conditions for those situations. Most routines are non-fatal;
if something bad happens, then the script will just keep on going.
- The only routines that can kill the script are the parse_template
routine (cos if we can't parse templates, we won't be able to show
anything to the user), and the error routine (whose sole purpose is
to kill the script anyways).
- Timeouts during downloads are set to 45 seconds.
0.16 (released January 9th, 2001)
- All LWP functions rewritten using non-module code (besides
IO::Socket). This was mainly because a *compiled* runtime
on the Mac would fail on every LWP routine besides get().
- Channel download is now sorted alphabetically.
- Channel news display is now sorted by last modified.
0.15 (released January 7th, 2001)
- Removed unneccesary junk from the OPML.
- Versioning code has been added.
- Finalized logo appearance.
- Fixed the annoying corrupted image problem for Windows.
- We now use mirror() instead of getstore() for downloading.
- Cleaned up comments for parse_file.
- Directories now skipped when searching for channels.
- Initialize.pl changed to Miscellaneous.pl.
- We now check to see if all our directories exist.
- Delimiter choosing cleaned up.
- Removed tainting.
- Port set to 8888 to reduce conflicts.
- OS specific libraries added.
- Stupid delimiter error fixed.
- Library handling changed a bit.
- Quick code to display all news headines added.
- Quick code to download all channels in the subscriptions.
- Simple, default mySubscriptionsDefault.opml added.
- Added simplistic &error, which is just a die-ing shell to ¬e.
- WebServer.pl and Initialize.pl appear.
0.1 (released January 5th, 2001)
- First public release.