This is a reverse history of changes to HyperNews.
Each new release is announced via a message in this forum, so
subscribe below to be notified.
Please don't add messages to this forum about anything that is not related
to the HyperNews history.
April 7, 2002 - 1.11
Fix decoding bug in list-lib.pl.
Fix hard-coded hiding of author names in message outline.
Fix storing forum list address.
Don't require authentication just because reading requires
it. (Registration might be open)
Include missing library files.
Oct 9, 2001 - 1.10.13
Worked around IE5 bug with 'must-revalidate': it is not
needed along with max-age=0.
Added support for SSL to http.pl.
Added some support for LDAP and MS Exchange.
Fixed missing 'Inquire about User'.
Prevent creation of a User ID that is the same as a Group name.
Otherwise it causes the group to disappear.
Fixed use of 'new' keyword on edit-member.pl, for
registering new members.
Fixed incorrect inheritance of a user link from an ancestor
message for authors of messages who provide no userid or
email address.
Now owners of forums are not only
administrators of the forum but also admin of all lower level forums.
This means they may create subforums, and delegate ownership to
some other member.
Added ability to edit messages. Intended for admin only for
now; access this feature via the Admin button. There is no
locking when you start editing, so with two editing at the same
time, one will get lost. Also added a "Edit
the Forum" link in Admin mode. Option to $save_originals after
editing - first micro step towards revision history.
Made Admin mode remember the current inline and outline
depth. Bug: when in Admin mode, message URLs include &admin but
don't go through SECURED, so admin mode is not enabled.
Fixed configuration of admin-messages to check both deletion and
moving options.
Added message-lib.pl, to centralize message reading and
writing, analogous to member-lib.pl. It supports message
info caching to a limited extent, like member info caching in
member-lib.pl.
Added HN::Messsage.pm to replace message-lib.pl.
Added HN::MessageList.pm to replace response-lib.pl and list-lib.pl.
These are the first HN modules. Most of the HN code is
still clear as mud, but now there are a few glimmers of hope.
Added list-lib.pl to write and read new condensed lists of
records. The format is self-defining since the first two lines
identify the type of record and the fields of the record. There
should be a module for this.
Replaced 'include' in hnview.pl with message_list_to_html.
Since 'include' is the oldest subroutine in HyperNews, this
is a notable event. It started as a simple routine that did
something like a C "#include" to support the recursively
threaded message outline, but then it grew increasingly
convoluted and ugly. The new routine uses the new list-lib format.
Fixed bug with copying files - it would lose the file
permissions.
Added workaround for missing urc files - look for '-new' or
'-old' files also. This will avoid some occasional problems
with corrupted or missing urc files.
Inlined threads now indent according to depth, by default.
Added several more variables for flexible control of inline
formatting. Automatic upgrading may not do so well here.
Inlining by the 'embed' script is now merged with hnview.pl.
New $inline_message_form option lets you add the edit message
form to the bottom of any message display.
Added text filters, e.g. for bad word checking. Could be
extended to do spell checking, HTML checking.
Added a check that the format of a posting is allowed.
Especially important for restricting use of HTML format.
Added an option to require membership for posting HTML.
Changed message posting to not use temp files. Also split
message format conversion from message saving. One benefit
is that if you replicate your HyperNews server, you don't have
to worry about previewing on one server and posting to another.
Added extra_head global option and per forum. This may be
used to add a stylesheet, for example.
Added support for speedycgi, but it may be unreliable.
Added moderation, but without email support. Messages
start out Unapproved and may be Approved or Disapproved.
Moderators may be either admin and forum owners (who would
moderate over member and non-member messages), or members (who
would moderate over non-member messages).
Changed the Message Admin form to include moderation
approval changes. The selection checkbox is gone since that
would be confusing. Instead each message has an approval SELECT
menu and another SELECT menu for delete, move, and copy.
Changed again to use icons instead of form select controls
partly because IE gets very confused by forms with too many
elements. The new iconic buttons require JavaScript and a
recent browser (IE5, Mozilla, or equivalent DOM1 support).
Optional level restrictions for non-admin postings; Admin
can always post anywhere. This is a per-forum option (most
new options should be per-forum) that allows you to restrict
postings to only the top-level, replies to the top level,
replies anywhere else, or any combination. The Add Message
button only shows up on those pages where adding a message
is allowed (if the user is known).
The Message Admin form now allows an administrator to add a
message anywhere.
Fix broken "Notify me..." checkbox on edit message form.
Made the generation of HTML for parts of the display a bit
more general. Configuration variables hold templates for the
display that use the values of other variables at runtime.
Every place that used to write directly to output must be
changed to write to a string instead. This is not quite done,
and eventually, it needs to all be moved over to use Mason instead.
March 20, 1999 - Version 1.10
Fixed 'setup.pl --copy' for copying into the Admin dir.
Add 'setup.pl --hardlink' option to do hard links instead of
symbolic. Remember which way we did it in hnrc, for next time.
Don't make links to cgiwrap by default. Added
'make cgiwrap' instead.
Fixed installation doc regarding
how to configure server to use cgiwrap.
Include setup*.cgi links in the .scripts directory so you
can run them directly if you need to.
Simplified edit-member form for use when only registering
or only updating. Inquire option doesnt show at all if
view-members is enabled.
Don't allow someone to post a message using the user id
of one member and the email address of another.
Fixed the ability to change email addresses (again!) and user
id. The same fix will allow members to add new members,
when that is permitted.
Fixed generation of passwords. Also allow an admin to
add a member and cause a password to be generated.
Cookies will now be ignored unless enabled by
$UseCookies. Cookies will not be generated unless the user
has a non-blank password. Cookies will be cleared when no
longer wanted. (Not quite expired though.)
When rebuilding password file, reencrypt blank passwords.
Fixed bug in which $mail_admin user could not change own info.
Furthermore, another admin also cannot change the info when
the password is blank (the default now). Now $mail_admin
must have a non-blank password to be authenticated, except
when acting as a normal user to change info.
Fixed the Header and Footer editing with edit-article.pl.
Now strings may contain double quotes.
Fixed tainting error when moving or copying message
trees. Single messages worked fine; only messages with replies
failed.
Fixed the use of batch-* scripts and mail-incoming to work
with multiple installations.
Changed the Subscribe button to say Email, and look
like a mail envelop.
Jan 4, 1999 - Version 1.9.9
Now you can run setup.pl starting from any directory: .scripts,
Admin, or the top-level HyperNews directory. This makes it a bit
easier to do multiple installations.
More manual security fixes in edit-article.pl, add-article.pl,
admin-responses.pl, login.pl and others.
Fixed authentication problem (again) on subsequent (after the first)
submissions of edit-subscribe form, this time as an admin.
Added support for external authentication via a socket call
to a suitable program.
Added isMember to test membership in the group (global group by
default); now this function is separate from getMember which gets
global member info independent of the group.
add-article.pl can be called from command line now.
'add-article.pl --help' displays the options.
New per-forum BODY tag, inherited like the header and footer.
A '.policy.html' file in a forum directory is displayed on the
edit-response form. This file is inherited by all subforums too.
Removed one of the set of command buttons if there are no reply
messages between them.
Two sets are normally displayed when the message order is reversed.
Cleaned up display of lists of related forums (i.e. ancestors,
sibling and child forums).
Merged the Admin and (Re)Move commands by removing the later.
Allow Admin mode to specify the message itself, so it may be moved or
removed. Moved the options for where to move messages, etc, to the
bottom of the message outline. Move options are hidden if moving is
not enabled.
Changed batch-delete-messages.pl to use Getopt::Declare, and
added an '--inactive' option to only remove inactive threads.
Try 'batch-delete-messages.pl --help' for more options.
Added option to use 'Handle' (or something else) instead of 'User ID'.
Allow HyperNews message IDs that look like
<"/path/to/forum/message"@hypernews.org> to have missing
'"'s since some mail programs strip them out.
Changed locking of directories to put the lock inside the directory.
Oct 12, 1998 - Version 1.9.8.1
Fixed sticky manual security.
Fixed the mail bug on delivery to more than 100 recipients.
Oct 11, 1998 - Version 1.9.8
Changed order of checks by checkAuthentication, so server
authentication remains in effect, but it is overridden by explicit
form based authentication (by login.pl, or admin userid).
Fixed manual security authentication problem with setup,
edit-member, and admin-responses forms. A few other cases may still
need fixing.
Fixed setup-form.pl access control, for subsequent setups.
Fixed authentication problem on subsequent (after the first)
submissions of edit-subscribe form.
Fixed missing $hnGroup when getting member info.
Changed "join" to "register" in most places.
Cleaned up encoding of message IDs to be safe and consistent.
There might be a bug with message IDs that have bad domain names,
but that is someone else's bug too.
Added support for usenet's 'References' header line in lieu of
'In-Reply-To'. It uses the last reference first.
Don't allow '%' in anchorized email addresses.
Anchorize URLs with '&' properly.
Don't allow '%', '+', or '=' in user ids - they could cause URL
confusion. Now only letters, digits, or any of '_.-'. Optionally
allow spaces, which are converted to '_' internally.
Changing email addresses of members was broken. Now fixed.
Allow incoming mail to have message IDs with following comment
text. Also allow multiple In-Reply-To lines, using the first.
Fixed infinite loop in mail handling, for continued header lines.
Very old bug. Results in unknown mailer error after growing very large.
Cleaned up in-memory caching of member info.
Fixed message outline rebuilding, which was perhaps broken after
cleaning up the caching.
Added batch-rebuild-outline.pl to force the whole message
outline for a forum to be rebuilt. Useful when reversing the order
or when repairing errors.
Added batch-email-list.pl to extract email addresses of all members.
Aug 23, 1998 - Version 1.9.7
Fixed faulty timeout in http.pl. The bug caused
indefinite waiting while fetching a page. Also added long (5
min) timeout for 'get'.
Fixed a few more tainting errors.
Tainting in http.pl manifested as a complaint about
Socket.pm. admin-responses.pl and others also had errors.
Fixed $externalSecurity option.
Added another configurable way to use cookies for
authentication:
unencrypted userids generated by some external login process.
An interface to an external SQL database is built-in but
disabled - more work is needed to generalize this.
Added a user Identifier field that may come from an
external security database. If an Identifier is available,
it will be used when identifying the user. If no
Identifier, I'm still debating whether to use userids or
email addresses by default (if not hidden) to identify
users. Currently, it uses email addresses.
Fixed $manualSecurity option, at least with use of
cookies.
Added a login.pl that may be used for manual
authentication. It is used automatically in a few
situations already. Watchout for login loops though.
Fixed $authenticateInquiries option. Applies to
both subscription and membership inquiries - a member
is only allowed to inquire about their own info.
Added options $hideUserIDs and $hideEmailAddresses,
to hide the UserIDs or Email addresses from visibility
by anyone else (except admin). To hide other user
information you must also set
$authenticateInquiries.
These are global options, not per-user.
Added per-user option to hide email address.
Added per-user option to unsubscribe from all forums.
Added per-user option to use cookies to remember user
authentication, but only if the user has a password.
$UseCookies is a Global configuration option to restrict or
allow this use of cookies. Form-based authentication takes
precedence over server-based, and server-based over
cookies.
Added per-forum option for All-Member subscriptions
($allMemberForums). Added default subscription option
($defaultSubscribeAll) for each member to these All-Member
forums. There is an all-member mailing list in
"$hndocs/list".
Don't create random passwords for new admin, which
were frequently missed. Just use blank passwords now.
Changed $requirePasswords to default to 1, since
missing passwords cause ambiguities in several cases.
Admin are allowed to have blank passwords, but they should
change their passwords ASAP after setup.
Fixed $generatePasswords option. Made it work with
cookies and $manualSecurity.
Cleaned up member form to not show irrelevant
options. Added option to ask for Personal Data fields.
Fixed form-based admin authentication, especially for
edit-member.pl.
Check that authentication has been done by server
if it was required. This is necessary as an extra safety
precaution when using cgiwrap. Cleaned up distinction
between authentication done by checkAuthenticated and access
control done by access1.
Added view-member.pl to display member info.
We now link to this page from a persons name instead of
linking to their personal URL.
Added view-members.pl to see an alphabetical list of all
members. Search for members whose userid or email contains
a string. This page is now the page linked to from
the Members button. To edit your member info, use the
"Edit your Own Member Info" link on that page.
Show the header and footer on all pages and
forms rather than just the pages for forums and messages.
Allow both hnrc headerText and per-forum headerURL to
contain either text or URL. Same for footers.
One problem: the frames mode doesnt look so good with
all frames containing the same header and footer.
Added option to show lists of parent, sibling, and
child forums, and automatically generate those lists.
Disabled by default. More work needed.
Added new top level page, still in the works,
to give brief documentation and list forums, if enabled.
Added $reverseMessages option with values -1, 0, or 1.
-1 reverses all. 1 reverses top level only.
Fixed lack of removal of old temporary files (hn_tmp*)
in $hndocs.
Added batch-delete-messages.pl to remove a bunch of
messages older than some number of days.
Added configuration option to support caching, default
is off. Once you get a busy forum, you can think about
turning it on.
Fixed email format of Word Processing mode. Subsequent
BRs now cause additional blank lines.
Added X-Hn-Loop to outgoing email, checked by
mail-incoming.pl as additional mail-loop catcher.
Fixed bugs in posting by mail that would
lose the name. This was really caused by bugs in the way
http.pl POSTed the message and the way formlib.pl processed
the incoming POST content, and possibly also a change in
how Apache processes CGI POSTs.
Changed the default error handling mode for sendmail
to -oem to send errors to sender, i.e. the
Owner-HyperNews. If you are upgrading, please change this
setting manually.
Jan 8, 1998 - Version 1.9.6
Added HNUserError and use in place of HNError for user errors.
Several fixes to make HyperNews runnable securely with setuid
(i.e. chmod u+s .scripts/*, and running with perl -T).
Some minor violations were fixed that some OSes complain about.
Install icons automatically if they are not already installed.
Redirect requests without image/gif to same URL with '?nogifs'.
This is so caching can vary based on versions of
documents with or without images.
Fixed update of LastMod date when moving and deleting messages.
When message body contains a relative URL and the base URL is
the same host, do not make the URL absolute - the browser does
it correctly.
This is so that the real server can be different from
the publically accessed server; this occurs when a caching
server is put in front of the real server, or when virtual
servers are used.
Redirect with absolute URLs always - some servers have
problems with relative URL redirects.
Break up long mailing lists into chunks of 50 and delay 5 seconds
between chunks.
April 16, 1997 - Version 1.9.5
Stop redirecting output of sendmail. This caused
duplicate output in some cases for some odd reason. The
sendmail -oeq option should be sufficient for ignoring
errors. But I have turned off -oeq by default too, as
well as queueing of mail. One of these changes (or the
combination) has fixed the missing mail problem.
Turn off the $reverseDisplay by default.
Use $allowDirectPost option to show Post button.
Fix OutlineAll *again* - I don't know how it got lost.
Return to the old way of outlining, with choices of 1, 2,
3, All, since the +1 and -1 icons and semantics were confusing
to many people.
Maintain count of messages under each message.
Also maintain last modified date. Return this
Last-Modified date and use the date to respond correctly
to If-Modified-Since requests, so HyperNews messages are
now cachable. Works great if you set up Squid as
an httpd accelerator to get a huge speed-up in your
server! Highly recommended. But be careful mixing controlled
access and caching.
http.pl is not a proper HTTP 1.1 client. But it does use proxies
correctly and includes the Host header. Added
$httpProxyHost and $httpProxyPort to hnrc to support use
of caches in http.pl. One can use the same Squid server as
a cache/proxy as well as httpd accelerator.
March 21, 1997 - Version 1.9.4
Fix members-only posting restriction.
Remove references to display_Icons.pl and other deleted files.
Fix smart text preformatting of common prefix lines.
Use different HTML tags on edit-response form to be
compatible with more browsers.
Move hnrc into Admin directory. This is necessary for
secure use of the .cgi suffix.
Allow installation via the Admin directory.
Include setup*.cgi symbolic links.
Redirect sendmail errors and output to /dev/null.
Use sendmail version 8 style for default options.
Produce default HyperNews@hostname addresses.
$externalSecurity configuration option. If set,
HyperNews won't change the password file, and users
must be authenticated external to HyperNews.
Option to reverse the normal order of messages in the
outline. This only applies to new postings, but applies
to every level of the tree. It does not affect order of
thread traversal or inlining (presumably you want to
read in normal time order).
Email postings by non-members to members-only forums
should get reject mail.
March 4, 1997 - Version 1.9.3
More minor bug fixes and clean ups.
Lock the right files when rebuilding response lists - this bug
doesn't result in any permanent loss, and only
rarely does it merely appear that everything was lost.
Remove the source message bodies after moving to new location.
This is to make indexing work more reasonably.
Fix rejection of email without a destination or with incorrect
permissions.
Forward email postings to right place if messages have moved.
Always use prefix of the URL used to
access a page in accessing other pages and generating email.
Check that destination is not a subdirectory of source when
moving responses to the same forum.
Smart text: Disable "
Oct 10, 1996 - Version 1.9.2
More minor bug fixes.
Fix -I etc on setup.pl.
Escape single quotes in headerText, footerText, bodytag.
Netscape 2.x crashes when images for anchors with
JavaScript don't have WIDTH and HEIGHT attributes.
Easily fixed, but
Upgrade your browser anyway!
Fixed embedding of HyperNews in other frames - another
JavaScript error, my fault this time.
New icons for outline and inline selection, changed
commands a bit too.
Fix use of $hnEmailNotify in edit-response.pl.
Allow either 'get' or 'get.cgi' in recognizing path prefix.
Aug 20, 1996 - Version 1.9.1
Fix dropped name and home URL for non-members - this
is a bit more serious, but the fix is simple and posted on
the bugs page.
Allow missing ".html" on destination when moving messages.
Allow */* as well as image/gif.
Add some JavaScript help messages for command buttons.
Some clean ups for MS Internet Explorer 3.0.
Fix escaping of title text when moving messages.
Fix fixPerlPath to include -wpi
Fix broken "Don't Notify me" when posting messages.
Fix mail-incoming for message IDs containing addresses
such as [123.456.789.000].
Change encryption algorithm to support use of MD5.
Now we use all of the encrypted password as the salt for
crypt, and this should make no difference to old passwords
that were created with a 2-char salt.
June 7, 1996 - Version 1.9 final
Several incoming email fixes.
Add optional email address per forum (base article).
Use only one submit button for edit-member.pl and
edit-subscribe.pl
Change "Inherit" to "Not Specified".
Change "Embed" to "Inline".
Fix missing names on Re lines.
Change display of messages - wrap body with a table.
Fix refreshing of outline frame after adding a message.
Fix missing uplinks in moved messages.
May 21, 1996 - Version 1.9B5.7
Fixed broken nickname creation.
Fix missing Re lines in email.
Unescape email subjects that have HTML special chars.
Fix some indenting errors in HTML-to-text for email.
Stop being confused by base articles with 'get' in the name.
Fixed redirect after deletion.
Delay rebuilding response lists until needed - makes
admin much faster.
Write transaction logs for changes to people and messages.
Change frame display.
Support for netscape server added.
Change terminology: "Response" to "Message".
Protect $hnPeople directory, and $hndocs if reading is
members-only
Fix unsubscribe of self when posting.
Fix case where old members without userid fields appear to be
newly joining members.
Fix display of embedded responses with unknown authors.
Fix some quoting/escaping problems.
Added icons for all the operations - improvements appreciated.
New feature: incoming mail to HyperNews address now is
in alpha testing. Look in mail-incoming.pl for details.
Mar 29, 1996 - Version 1.9B5.6
Fix detection of group membership.
Update password of email address when nickname password changes.
Disallow relative URLs for responses, but use them internally.
Disallow editing responses with edit-article.pl
Merge separate Move and Delete forms into one, using
admin-responses.pl. This also allows bulk move and delete
by merely automating each separate move or delete.
Add optional support for Netscape Frames. The use of frames
works well with bulk move and delete to make restructuring
easier.
Fix to allow admin to change user subscriptions.
Educated Smart Text to handle typical email quoting style,
recognize mail headers ('<any-name>:') and signatures
(following '--' line) and be more selective about URLs
(only known URI schemes, no &s).
Use named submit buttons to simplify interface - includes a
workaround for older browsers.
Include In-Reply-To header line in outgoing email.
Feb 20, 1996 - Version 1.9B5.5
Fix editing of base articles to work for non-admin.
Also fix recognizing user as owner of base article.
Fix broken .htgroupmembers construction.
Make setup.pl work from parent directory,
e.g. .scripts/setup.pl.
Fix creation of nick-name when that is the only change
to personal info.
Always add user to group when "changing" user.
Removed another use of $hndocsURL for $hniconsURL.
Fix loss of date when moving.
Prevent people from directly running setup.pl from web.
Use absolute URL for action of setup forms.
When rebuilding passwords and groups, only rebuild passwords
if the group is the root level.
Only store the .htaccess file in the .scripts directory
when the group is the root level. (I need to call this
something other than "the root level".)
Allow relative URLs for the document bodies.
They are prevented from escaping the documents directory.
Support another "relative" URL that is already in use:
the absolute path relative to $hndocs.
Add 'None' as first relation if it is not already there.
Feb 15, 1996 - Version 1.9B5.4
Removed two more evals from setup-lib.pl.
Ensure that full URLs are reported in Email.
Fix writing of passwords for new users.
Fix mistaken Reply-To line in email.
Fix broken construction of .htgroupmembers.
Lower group line size to 1000, and fix how it is used.
Feb 12, 1996 - Version 1.9B5.3
Delete another $hndocsURL dependency.
Use -oeq by default on sendmail to silence the immediate
errors.
Get rid of evals, in email.pl, member-lib.pl, setup.pl, etc.
There is still one in every script, to catch errors, but
it seems to not be a problem.
Add new nicknames to group and password files.
New setup-short-form with only the most popular options.
New option to disable each of the security settings.
I havent really tried these, but some people want it.
Fix wrong author address in embedded responses.
Feb 8, 1996 - Version 1.9B5.2
Fix allowEmailUserID default.
Use 0 by default for CERN server.
Optionally authenticateInquiries of members.
Reduce dependence on SCRIPT_NAME since some servers
don't supply the right value. There are still some more
dependencies.
Now setup.pl always writes out a new hnrc, even when called
from command line.
Merged setupCustomizations with setDefaultValues.
Use author's address or $mail_from or $mail_to instead of
'HyperNews' for "From:" and "To:" headers of mail.
Remove use of $hndocsURL.
Work around Perl scoping bugs: Returning from nested control
structures loses list results sometimes, so dont do that.
Work around Perl eval bug: in setup.pl, don't do nested
fevals.
Work around NCSA httpd bug in group files: sort members by
userid size.
Jan 31, 1996 - Version 1.9B5.1
New member password fixes.
Perl 4 syntax error fixes.
Fix use of email address for non-members in response list.
Allow "./setup.pl".
Fix numerous notification and subscription problems.
Preview used email address of page you responded to.
requirePasswords and generatePassword didn't work.
Jan 28, 1996 - Version 1.9B5
Ported to CERN server, which required the next change.
Separate short user ID from email address. Old email
address IDs will still work, and will alias to new IDs.
Because email address is separate, now you can change it.
Any display of name or email will use the current values.
Moved setupCustomizations to setup-lib.pl.
Any value defined in hnrc is used instead of defaults.
Several changes to allow
you to share the .scripts directory more easily
across multiple HN installations each configured
differently, and allowing different groups of users.
Moved hnrc back up to the HyperNews directory.
Added $hnGroup so each installation has its own
group of users.
Added $hnbin == $hnlib with last component dropped.
So this is a logical parent rather than physical.
Added to Membership page display of privileges.
Added phone and address fields.
Added option to require passwords.
Added option to only email new passwords.
Fixed non-use of $mail_from and $mail_sender.
Added $hnEmailNotify as distinct from $hnEmail.
Fixed an infinite loop displaying three level deep response.
Fixed an infinite loop when embedding All. Same bug as above.
Fixed an infinite loop in thread code.
Fixed SECURED thread code.
Make thread code self-correcting for manual deletions.
Fixed display of forward pointer to moved responses.
Default outline depth is a per-article option.
(Still needs response page outline depth.)
Fixed display of relative URL response body.
Fixed html.pl to support BASE tag in response body.
New version of html-to-ascii, fixes infinite
loop with bad HTML, fixes incorrect whitespace handling,
and adds URL references to bottom of page.
New look and feel for Add Response.
Cleaned up icons, added threading icons. Note icon is used
by default.
Nov 22, 1995 - Version 1.9B4.2
Rearrange setup.pl to catch more errors at the top.
Perl 4 support: e.g. split up large text in setup-form.pl
$hniconstable is now in $hniconsDir.
Fix $hnmail typo.
Nov 15, 1995 - Version 1.9B4.1
Fix first name in rebuilt global group file.
Fix infinite loop in next-response after last response.
Learn where next and previous responses are for next time.
Allow relative URLs for base articles and responses.
Nov 7, 1995 - Version 1.9B4
Setup may be run from command line again.
Fixed rebuilding password file, and made it faster too.
Split the one big group of users into multiple small groups,
to get around problems with httpd.
Catch all errors and print to output - syntax errors
in the top level scripts are not caught, however.
Print correct HTML headers for all pages.
Added 'who can be affected' parameter to access restrictions.
This is hardcoded for each command for now.
Added per-article administrator support.
New commands: next-in-thread, next thread, next and
previous response.
New Embed and Outline Display Depth controls.
Abbreviated display of nested single responses.
edit-article lets you enter the body text, and reedit existing
articles.
Articles may have their own header and footer text.
"Smart Text" replaces "Paragraph Filled", and it tries to
be smarter. Let me know where it screws up.
It fills and wraps paragraphs, as for paragraph filled.
It uses PRE for paragraphs with same prefix on every line
or any indentation.
It anchorizes what looks like a URL.
Display of response number and date are configurable.
Sept 8, 1995 - Version 1.9B3.1
Fixed joining new member with or without new password.
Fixed to allow blank password.
Sept 7, 1995 - Version 1.9B3
Customization section added to create_hnrc_gbl.pl.
Fixed reset password bugs - wrong argument name.
Fixed rebuilding of password file. Also rebuild .htglobal.
Allow blank passwords - if you must.
Rebuild administrator list (.htAdmin) each time.
Fixed new, newer, newest icon references.
Cleaned up and centralized error reporting.
More error checking during writes.
Sept 5, 1995 - Version 1.9B2
Bug fixes:
Restructured, cleaned up setup.
Fixed chmod in setup.
Display created passwords on setup.
Add HyperNews.gif to distribution.
Fixed default icons directory URL.
Add administrators to .htglobal.
Recognize old date formats.
Aug 30, 1995 - Version 1.9b1
New form-based configuration process - checks consistency
when you submit.
Removed configuration dependence on script directory.
Fix security holes (don't ask, don't tell).
Fix duplicate password entries.
Administrator passwords cannot be reset.
Email recipients are hidden in Bcc.
Message-Ids are relative URLs.
Prevent deletion of base articles.
Check that copy destination exists.
Smaller icons.
Use Socket.pm for Perl 5.
Added "Paragraph Filled" mode as the default for text entry.
Added max display depth option, to limit depth of display
of response trees.
Numerous little things and clean ups.
July 3, 1995 - Version 1.8.1
Fixed deletion of base articles when adding a response
and when scripts are changed from .pl -> .cgi.
June 26, 1995 - Version 1.8
Put URL and Subject after Re's.
Added "HN-" for HyperNews header lines in email.
Email addresses are a bit more liberal, allowing "%".
Added support for deletion of responses and trees.
Added support for moving responses and trees.
Added option to email password to user.
Moved default directory for $hnpeople.
Use NCSA httpd security mechanism if available.
Added configurable security constraints on reading vs
deletion, etc.
Fix Immediate notification.
Added icon display to indicate relationships.
Added display of newness to response tree.
April 24, 1995 Version 1.7
Fixed adding new responses.
April 21, 1995 Version 1.6
Remove newlines from titles and other user supplied data.
Make HyperNews header lines part of email header lines.
Fixed locks some more.
Don't print html parse errors to log.
April 19, 1995 Version 1.5
Fixed email to subscribers.
Don't add author if already (un)subscribed.
Fixed check for no name.
April 17, 1995 Version 1.4
Fixed bad variable: $baseL
Made missing responses.html file not an error.
Changed names of some lock files, and cleaned up log.
Changed default file mode to 664, directory to 775.
Show the Body-URL if it is interesting.
Added optional security on article creation.
April 5, 1995 Version 1.3
Setext support added.
Preformatted -> PRE-formatted.
Added plain text option.
Added Next and Previous lines.
Interface to HyperNews uses "HyperNews | Respond | (Un)Subscribe"
format - normal anchors.
Added subscription on a per response basis, to receive
email notification of new responses.
Locking now used where needed.
Fixed problem of double quotes in titles.
Avoid use of url'get when response is local URL.
After submitting response, reload page that you started at.
December 21, 1994 Version 1.2
Fixed bugs involving hndocs.
Unify and fix creation of response lines.
Added list of ancestors.
December 16, 1994 Version 1.1
Added "embed" script to embed all responses recursively.
Removed HR under response headers, to make embedding cleaner.
Got rid of `cat`, `pwd`, `date`, and uses of csh (in globbing),
to ease installation in secure environments.
Removed email addresses from tree of responses. Each response
takes only one line, if it fits.
Allow scripts to be called via relative path names.
Added fixPerlPath script (From Bill Voss) to convert the path
at the top of perl files.
November 7, 1994 Version 1.0
Reorganized and renamed many things.
Made it require only standard CGI support. NCSA httpd 1.3 is no
longer required.
The header files for each document are named with a suffix of ",urc",
and they look like mail header lines.
Cleaned up to work with Perl 5.0. It should continue to work
with Perl 4.036, at least for now.
Client-side editing uses remote control now to display the posted
response, but that means it requires the equivalent of Mosaic's
remote control which is non-standard. Someday, CCI will be used.
October 7, 1994
Changed the previewer to save a temporory file on server side.
This is to avoid putting all the text of a response in a form field,
which is prone to error.
Changed the header lines again.
October 6, 1994
Moved all configuration to two files.
Added a preview mode.
Changed the display of articles and responses to remove
the mail/news-like header lines. Responses get a simplified header.
September 26, 1994
Fixed "Preformatted Text" bug that didn't preformat it.
Changed the user interface of the response form.
For the content of the response, different browsers use different
conventions regarding end of line and word wrapping. For MS Windows
browsers, convert CR/LF to just LF. For Mac browsers, convert CR into
LF. No solution to word wrapping yet.
August 30, 1994
Use newer version of html.pl which fixes quoting bug.
Replace \015 with \012 in content text, so it works better with
Mac Mosaic and anyone else with this problem.
Duplicate the Title in the body of a document.
August 22, 1994
Moved HyperNews articles to an NCSA server. Reorganized directories.
August 10, 1994
Ported to work with NCSA httpd 1.3
July 15, 1994
Allow HTML or Plain Text responses.
June 27, 1994
Remote, client-side editing of responses
now works. See end of responses section below.
June 21
Responses now show a parent link, called
"Up". Only new responses will have this link, however.
New responses will show the date.
A direct pointer to the contents URL is now provided.
I stopped displaying the HyperNews icon (escher-fish) on every
article. If I could display the header lines after the icon, the
vertical space would not be wasted.
You can now enter the content of a response as preformatted text
and it will be stored at the same site as the base article.
May 1994
The source is
now available, but with only minimal instructions for how to use it.
Ask me if you can't figure it out.
April 1994
You can now respond to responses, and the whole tree of responses is
shown under each article. The title can no longer contain general
HTML stuff, but there is a separate URL field.