2.5 (2002.10.08)
Localization: the MT interface can be available in multiple languages, on a
per-author setting.
Integrated Jay Allen's mt-search (Thanks, Jay!). We've made the following
changes from version 1.31b:
Rewrote ``new comments search'' to make it more scalable (using
recently_commented_on functionality)
Added a search log through the Activity Log.
Added search request throttling, to help against denial of service attacks.
Merged mt-search.cfg directives into mt.cfg.
Customized default search templates to use MT stylesheets.
Including Template Modules using <MTInclude> tags now works, though you should
be careful if you have more than one blog in the system. See the documentation
for more details.
Added an IncludeBlogs config setting and form field to allow for setting a list
of blogs to include in the search (as an alternative to excluding a list of
blogs). IncludeBlogs overrides ExcludeBlogs.
Changed AltTemplateN directives to just AltTemplate. You can now set an infinite
number of alternate templates.
Renamed TemplateDir setting to SearchTemplatePath to avoid confusion with the
TemplatePath setting.
Reworked as an MT::App subclass.
Added ability to ping blo.gs and other services.
Made default templates more accessible: added summary to calendar table; changed
month name to a <caption> tag; changed day names to <th> headers and added
abbreviations; blog title in banner is now linked back to main page; now use
real header tags, eg <h1>; now use relative font sizes, eg small; use <label> on
comment form elements. Thanks to Mark Pilgrim's 30 Days to a More Accessible
Weblog.
Image thumbnails can now be created using the NetPBM tools, if your system has
those. Look at the ImageDriver and NetPBMPath settings in mt.cfg. The default is
still to use ImageMagick.
Added TrackBack auto-discovery, which can automatically find TrackBack ping URLs
based on permalinks in entry bodies. These entries can then be pinged without
any extra effort. Inspired in part by the pingback specification.
Added a new stylesheet as the new default style for new blogs.
Added a Keywords field to the new/edit entry screen, for storing search
keywords/metadata, along with a <$MTEntryKeywords$> tag.
Fixed RSS 1.0 template so that we're now using Dublin Core tags instead of RSS
0.9x extensions. Thanks to many concerned parties. :)
Fixed a bug in the MySQL implementation with recently_commented_on when using
MySQL 3.23.45 (or earlier?). Thanks to Adam Kalsey for the fix.
TrackBack pings should now be sent using POST instead of GET.
Added encode_xml="1" to the <$MTEntryLink$> tags in the default RSS templates
(to encode ampersands, among other things).
Update pings (eg weblogs.com, blo.gs, MT, etc) are now sent only when an entry
is either new (and published), or was previously a draft, and is now published.
Send entry title in subject of notification messages.
Added two new date formatting tags, %x and %X. The former displays the
language-sensitive date, and the latter the language-sensitive time.
Improved the default settings for TemplatePath, ImportPath, PluginPath, and
SearchTemplatePath, so that they are now based on the detected directory where
MT is run from, rather than just ./foo (off of the current working directory).
Added <MTBlogs>, a container tag to list all of the blogs in the system.
Fixed thumbnail and HTML popup filenames when the uploaded image filename
contains multiple . (periods). (Ask Bjørn Hansen)
<$MTCategory*$> tags can now be used in category archive file templates.
MT::Util::encode_xml now encodes apostrophes for XML. (Timothy Appnel)
All container tags in MT::Template::Context now propagate conditions properly.
(Brad Choate)
Added sprintf global tag attribute. Thanks to Brad Choate for the patch.
Increased height of main entry text window if there is no extended entry.
Changed RDF so that TrackBack ping URL is now in trackback:ping. Should be
backwards-compatible.
Added AdminCGIPath setting to use if mt.cgi URI is different than public URI (eg
if you're using https).
<$MTBlogEntryCount$> no longer includes entries marked Draft. (Brad Choate)
Added MT->version_number for just the numeric portion of the version.
Changed TrackBack ping URLs to use path info for TrackBack ID instead of query
string. This allows using POST requests.
Tags can now be used with XMLish / (forward slash) at the end, which allows
using a tag both as a container and as a variable tag. Multiline attributes are
also possible. Thanks to Brad Choate for the patch.
Search and replace (within MT) can now search in keywords.
Set default date formatting language to English if not set.
Added optional language attribute to <$MT*Date$> tags, allowing you to override
your per-blog language date formatting setting. (Justin Hall)
Added entry title to comment and TrackBack ping notification messages.
Added <MTPingsSent> container to list the TrackBack pings sent from a particular
entry.
Added <$MTBlogSitePath$>, the Local Site Path from blog config.
Fixed bug with OR in part of category name when using boolean with <MTEntries
category="Foo OR Bar">.
Container tags can now be nested within container tags of the same name (eg <MTEntries>
inside another <MTEntries>) without using a template module. Thanks to Brad
Choate for the patch.
Default PingTimeout setting is now 15 seconds instead of 10.
Added checkbox in bookmarklet TrackBack item when there is just one TB-enabled
entry. Thanks to Phil Ringnalda.
Fixed bug with half timezones and MySQL by changing blog_server_offset column to
a float.
Improved security when deleting objects--now we perform the ``has-permissions?''
check not only before displaying the option to delete in the UI, but also before
deleting the actual object in the system.
Fixed CGIMaxUpload example in mt.cfg; the underscore was causing the postmax to
be set to 500 bytes, causing spurious Uploaded file too large errors.
Daily, Weekly, and Monthly archives are now rebuilt in segments, N entries at a
time, just like individual archives. N is based on a multiplier of the
EntriesPerRebuild setting in mt.cfg.
Moved all XML-RPC implementation methods into MT::XMLRPCServer, so that
mt-xmlrpc.cgi is just a shell. This allows using the XML-RPC implementation with
mod_perl.
Added mt_allow_comments, mt_allow_pings, mt_convert_breaks, mt_text_more, and
mt_excerpt extensions to the content struct in metaWeblog.newPost and
metaWeblog.editPost, and to the return values in metaWeblog.getPost and
metaWeblog.getRecentPosts.
Only show ``5 most recent comments'' and ``5 most recent pings'' if there are
any.
Fixed bug with OR/AND booleans and categories: the OR/AND now respects the
context in which it was used, and filters the list of entries already in
context, rather than always listing all entries that match in the entire blog.
Thanks to Ben Hatton and others.
Added CommentScript, TrackbackScript, and SearchScript config variables to make
it easier to configure MT for mod_perl or in situations where Perl scripts need
.pl extensions.
Documented the words=``N'' attribute to <$MTEntryBody$>.
When rebuilding an index template, the rebuilt screen now has a ``View this
page'' link.
List 5 most recent pings on the main menu for a blog.
Now use Resize instead of Scale when scaling images using ImageMagick. Also,
remove all profile information from the image. Thanks to Michael S for the
patch.
TrackBack pings are now imported and exported like comments.
When exporting, make sure to set date language to English, so that exported AM
and PM will be in English.
metaWeblog.newPost and metaWeblog.editPost now accept a dateCreated parameter in
the struct in ISO.8601 format to specify the authored-on date. Thanks to Bill
Kearney for the reminder.
If an author's password is NULL, mt-db2mysql.cgi now converts it to the empty
string before sticking it in MySQL.
mt-check.cgi now displays the version of the module installed.
Attributes hash ref is now localized before being passed in template tag
handlers, which means they can modify the list of attributes in a localized
scope. Thanks to Brad Choate for the idea.
Template parser now parses attributes with embedded $ characters properly (like
<$MTFoo bar="/baz$/"$>). Thanks to Brad Choate for the pointer.
Fixed bug with invalid (empty) ALLOW PINGS values.
Added title="page title" to link created in bookmarklet posting window.
Added validity checking for URLs sent in TrackBack pings.
Only load files in the plugin directory whose extensions are .pl. (staggernation)
Added show_email and show_url to <$MTEntryAuthorLink$> and <$MTCommentAuthorLink$>.
These let you control whether the email address or URL is displayed in a
particular instance of the tag. (syndromes)
Added the following languages for date formatting:
Japanese (Justin Hall)
Icelandic (Einar Orn Einarsson, Ingvi)
Slovenian (gandalfar)
Czechoslovakian (Johanka)
Danish (henrik hammer berthelsen)
Link from bookmarklet now includes title attribute with title of page. (Todd
Dominey)
Fixed postion to position in the default stylesheet. (Doug Feuerbach)
Added a link to the edit-entry screen on the edit-comment screen to edit the
entry on which the comment was made.
Fixed bug where author count could include authors who no longer have
permissions on the blog.
Added mt.publishPost method to XML-RPC interface to rebuild the files for a
particular entry.
Improved detection of MT directory (now detected from Config parameter to
MT::new).
Changed TrackBack entry pulldown in bookmarklet to menu-long style. (girlie)
TrackBack RDF data is now enclosed in HTML comment tags. Added comment_wrap
attribute to <$MTEntryTrackbackData$> to turn off this wrapping.
Added namespace URLs to the <html> tags in the default templates.
Fixed bug when importing data when using the MySQL version when ``import as me''
is unchecked. (Kristine)
If the path you specify as your DataSource in mt.cfg does not exist, you will
now get an error. This should help in figuring out installation problems,
perhaps.
Added MT::Template::Context::add_global_filter to add a global tag attribute.
Added NoLocking config option for use on systems using Berkeley DB where flock()
and link() are both unimplemented (some Windows systems). Not to be used unless
one knows what one is doing. Thanks to dws for the patch.
Added the <MTCommentEntry> tag, a container tag representing the entry on which
a comment was posted. So you can use <$MTEntry*$> tags inside of that container
referring to the entry.
Fixed dc:identifier and URL sent in TrackBack ping so that they include the
numeric ID for the permalink, if the preferred archive type is not individual.
Added the <$MTStaticWebPath$> tag, which displays the value of the StaticWebPath
that you've set in mt.cfg.
The comment sort order you've chosen in Blog Config | Preferences is now used to
sort the comments used in <MTComments lastn="N">. You can override this with the
new sort_order attribute. Thanks to morbus for the patch.
Changed order of tag initialization in MT::Template::Context::init. Now tags
created in plugins are set after the defaults, which means you can override the
default tags. This should, of course, be done with caution. Thanks to Jay Allen
for the reasoning.
Fixed compatibility problem with older versions of DBD::mysql, where the
auto-increment column value is returned through $dbh->{insertid}, rather than $dbh->{mysql_insertid}.
Added MT::Template::Context::add_conditional_tag to add a conditional tag. This
makes it easy for plugins to add conditional tags.
Fixed bug causing double slashes in <img> code for thumbnails.
2.21 (2002.06.28)
Very important bug fix to MySQL schema: Changed all *_created_on columns to the
datetime type instead of the timestamp type. The latter could have very bad
effects if used within the MySQL shell (although through MT's libraries it is
not a problem). Thanks to shanson for finding this.
The plugin framework can now create container tags (thanks to Adam Kalsey for
pointing out that it couldn't before).
Added encode_xml global tag attribute to escape special XML characters.
Changed default RSS templates to use encode_xml=``1'' rather than encode_html=``1'',
because the latter will encode characters into undefined XML entities.
Added encoding=``iso-8859-1'' to default RSS templates. This means that users
using other encodings will have to change the RSS templates.
Made bind_columns usage compatible with older versions of DBI that expect the
attributes hashref as the first arg.
Fixed bug with Allow pings default not being unchecked after pressing save.
(Robyn)
Fixed MySQL usage under mod_perl to look in the right spot for the
mt-db-pass.cgi file. Thanks to Ask Bjørn Hansen for the patch.
Fixed mt-load.cgi to set email to the empty string, so that it's not NULL.
Changed from using lib->import method back to unshift @INC because the former
seemed to be causing problems for some people.