Fixes for typos, broken links, etc.
Fixed truncated Delete and Cancel buttons on edit comment screen.
Fixed Mac IE problem in multiple category selection screen--when selecting all of the options in the left box, the right box would jump around on the screen. Fixed by adding a dummy category when the source box is going to be empty.
Preferred Archive Type option will now only show archive types that you have selected in Archiving.
Added a changes saved method after saving in power edit.
Made <MTComments lastn="N"> work when placed in entry context; it will only display the last N comments from that particular entry.
Added docs for entry screen customization.
If editable authored-on date is not to be displayed on customized entry screen, display an uneditable version instead (because this is useful information).
Fixed bug with creating thumbnails on Windows (binmode issue).
Fixed bug where <$MTArchiveTitle$> on category archive would display incorrect category label (because it was retrieving the label from the first entry's primary category).
Fixed bug where convert line breaks and allow comments values would not be set to default when using Custom entry screen settings without those two checkboxes.
Fixed bookmarklet login bug that was introduced in 2.0b4 or somewhere.
Power edit and list & edit entries now only show authors that are registered for the particular blog.
Added the encode_php global tag attribute (thanks to Brad Choate for the patch).
Fixed bug with saving profile without setting a password (introduced in 2.0b4).
Moved setting of global app variables back into load_tmpl, because some other parts of the code call it directly, bypassing build_page.
mt-xmlrpc.cgi now checks if it has XML::Parser; if not, it uses this knowledge to determine whether or not to decode HTML entities.
Fixed bug in date/time-formatting: times in the hour of 12 PM were being displayed as 12 AM.
New and edit entry screens are now modular and customizable; you can set the fields you'd like to appear, and set where you would like the button bar (top or bottom of page).
Increased width of Category pull-down in bookmarklet window.
The form you get after you've uploaded a file will no longer submit in err when you press return; all submits are through the buttons using JS anyway, so the form submit is now disabled.
Changed error screen so that there are now 2 buttons: CLOSE and GO BACK. So it's clearer what happens when you click the buttons.
Refactored build_page and load_tmpl code; CMS-specific logic now goes into MT::App::CMS::build_page, and parameter-setting goes into MT::App::build_page. So load_tmpl now just loads the template.
Fix import so that new imported entries get Convert Line Breaks set properly.
When listing Five most recent entries on editing menu, grab first 22 characters of entry body if no entry title.
Added border="0" for thumbnail image after choosing popup image; also fixed the invalid XHTML.
Fix thumbnail creation error by providing Image::Magick with the image format on $magick object creation.
Fix bug on category-editing page where an error will be displayed if the user who created a category has been deleted.
When creating a new author, give an error if no password is provided.
Fix bug with Convert Line Breaks being unchecked for pre-2.0 entries even if the default in blog config is set to on. blog
Cache format hashes for dates after creating them.
Added another speed enhancement, particularly for large archive pages, by caching the MT::TemplateMap preferred object for an archive type.
Moved excerpt below entry body and extended entry body in bookmarklet window to match layout on edit/new entry pages.
New New Entry and Upload File icons for left nav.
Added troubleshooting section for mt-load.cgi and DataSource errors.
Added Post Status pulldown to import so that "Status" default in blog config can be overriden. Added help links to import options.
HTML-formatting buttons (bold, italic, URL, etc.) will now only show up when using a browser that supports them.
mt-upgrade.cgi now detects if MT databases are already upgraded; if so, it stops, and doesn't try to upgrade again.
When running under mod_perl, use Apache::Request instead of CGI.pm, because it's faster, less bulky, etc. Required changes to any code calling CGI.pm functions other than param.
Deleting entries from the power edit screen will now return you back to the power edit screen (as opposed to list & edit entries).
Saving the power edit screen will now maintain the same page that you were on when you saved, rather than starting back at the beginning.
Fixed a bug in MT::ObjectDriver::DBM where offset would not be applied when using a join.
Fixed heights on power-edit input boxes and on thumbnail boxes.
Fixed Monthly rebuild slowness (thanks to Norch for the shell access so I could debug it). Turns out it was due to some unimplemented short-circuit logic. In addition, templatemaps are now cached to speed up rebuild even further.
Category and author Filter pulldowns are now sorted alphabetically.
Fixed Email Address => IP Address on IP Banning screen.
Fixed help links (broken when help file names were shortened).
Sort categories and authors in power-edit screen.
Changed input box styles back to 20px so that they are not too small in Windows.
Added caching of templates when rebuilding archives; this means that for each archive type, each archive template need only be loaded once. Hopefully this will improve performance.
Fixed bug where Convert Line Breaks setting was not applied to preview page.
Shortened manual split page names so that they don't get truncated.
Export now exports in ascending chronological order. (morbus, and others)
Added <p> and </p> around the welcome message on the editing menu, so that anything typed in (even without adding HTML) will get the proper type formatting.
Untaint template's linked file path; we allow anything, assuming that the user who set it up knows what he/she is doing. (Norch)
Fixed recently_commented_on, which was broken because it was resorting the entries into the wrong order.
Fix warning when select all entries for limit pulldown on list & edit entries.
Added bookmarklet config option to include Convert Line Breaks checkbox on bookmarklet window.
Fixed bug where Convert Line Breaks would not get set when posting from bookmarklet. (RoyalTS)
Fixed bug with German date/time display. (RoyalTS)
Fixed typo in mtchanges.html. (morbus)
Lots of changes to the UI: leftnav, topnav, edit-entry screen, new-entry screen, etc.
Blog Editing Menu has now changed greatly to provide space for a welcome message (editable in blog config), blog stats, and links to 5 most recent posts and comments.
Added the ability to do NFS-safe database locking using .lock files and link(). This is not something most people should worry about; if it affects you, it's likely that you will know it. :) Thanks to Kelsey Cummings for ideas and code.
Hold and Release are now Draft and Publish.
<MTEntries lastn="1"> within calendar should display the most recent post from that day, not the earliest. Fixed.
In old versions, search and replace would not work unless you had the permission to edit all entries. Now it does--if you don't have permission to edit a particular entry, it is just not searched/replaced.
Added notes on Win32 installation, cgiwrap install, cgi-bin install, etc. Added example pictures of set permissions window in FTP program.
When posting a comment, if comment text is not provided the system will give an error.
Split up manual into sections, one HTML page per section.
encode_js no longer encodes / characters, because there is no reason to do so.
Added thumbnail creation interface (requires Image::Magick) for creating thumbnails of images uploaded through the system.
Added the ability to select a language other than English for date formatting and display.
Added a script for ``mail this entry''
Added boolean AND/OR logic to the <MTEntries> category attribute.
Added power-editing interface.
Status of imported entries will now be set to the default status assigned in blog configuration (rather than always Release, as was the case before).
Changed class="container" to id="container" in default templates. (Thanks to Brad Lauster)
Added graphical editing shortcuts to bookmarklet window.
Use HTML::Entities for HTML-entity encoding if it's available; if not, use the standard routines we've been using.
Added <$MTBlogEntryCount$> and <$MTBlogCommentCount$>.
Added RSS 1.0 template to the default templates. Thanks to Rael Dornfest for sending it.
Added <$MTBlogTimezone$> tag, which displays the timezone as an offset from UTC in +|-hh:mm format.
Added the <$MTArchiveDateEnd$> tag, which represents the end date of a date-based archive (Daily, Weekly, or Monthly) and thus can only be used in a date-based context. It is a standard date tag, in that it accepts a format attribute like any other date tag.
Made archive_type attribute to <MTArchivePrevious> and Next work.
Fixed graphical editing shortcuts so that if nothing is selected, nothing happens--this will prevent the issue where empty tags are added at the top of the page when nothing is selected.
Added comment IP banning.
Split configuration screen into 4 screens: core setup, preferences, archive setup, IP banning.
Added the ability to assign multiple archive templates to a single archive type; added an interface for associating archive templates with archive types, added MT::TemplateMap object, etc.
Improved error message when an error occurs reading mt.cfg, or when the file cannot be found.
Fixed bug where <MTEntries lastn="N"> on a Category Archive would grab the wrong set of entries (not in the correct order).
Changed notification message sending so that only one will be sent to the author of the entry, rather than N / 20, where N is the number of notification addresses on the list.
Added more sort and display options to <MTEntries>: recently_commented_on attribute, and sort and sort_by options.
Fixed parsing response from weblogs.com ping, which changed formats slightly and broke the regular expression.
Added ability to truly delete categories.
Now use a better hack to get non-UTF8 data in mt-xmlrpc.cgi: we run the data through $foo = pack 'C0A*', $foo, which strips the UTF8 encoding and flag. So at least we can now use XML::Parser, if it's there.
Added lastn attribute to <MTComments>.
Added offset attribute to <MTEntries>.
A category archive page will no longer be generated for non-categorized entries (in 1.x an empty archive page with the name cat_.html would be generated).
Added MT::App::print and MT::App::send_http_header, both of which do the Right Thing under either CGI or mod_perl.
Fixed script name detection in MT::App::script, particularly under mod_perl.
Eliminated mt-export.cgi and mt-import.cgi by moving import and export into the MT::App::CMS class (with some modifications to enable them to still run with unbuffered output).
Added ImportPath directive to mt.cfg; defaults to ./import, and allows setting the path to the import directory.
When a new entry is posted, the activity log will now be updated with the author and entry ID.
Added IP address logging for comments, along with new tags <$MTCommentIP$> and <$MTCommentPreviewIP$>.
Moved all comment code from mt-comments.cgi to MT::App::Comments, a new app subclass of MT::App.
Changed calendar in default templates to add <span class="calendar"> into every cell.
Split up individual entry rebuild into segments of N entries at a time so as not to kill servers. (40 entries at a time is the default.)
Force rebuild window to focus when it loads.
Fixed bug where an apostrophe (') in an author name would cause a JS error on List & Edit Entries.
Added <$MTBlogArchiveURL$>, the blog Archive URL.
Added <MTCategories> and <$MTCategory*$> tags to list all categories.
<MTArchiveList archive_type="Category"> is now the same thing as <MTCategories>. Also, categories are listed in alphabetical order.
Added <MTEntryCategories> to list all categories to which an entry belongs.
<$MTEntryCategory$> now displays the entry's primary category.
Added the category attribute to <MTCalendar> to only display entries from a certain category in the calendar.
In <MTEntries>, if a list of entries is already in context (for example, in a date-based archive template), category and author can now be used to filter that list.
Added lastn attribute to <MTArchiveList>.
All file-management operations are now abstracted out to the MT::FileMgr class.
Added public_key field for author.
Made the rebuilding entry failed error message more verbose--now it contains the name of the entry on which the rebuild failed. Useful when tracking down problems with entries. (David Gagne)
Fixed a bug in the XML-RPC code where HTML entities would not be decoded; thought the XML parser was doing this. But it wasn't.
In the List Notifications screen, the notification records will now be sorted by email address.
Added spam_protect attribute to all tags which can show the user's email address to protect from spambots.
Added <$MTVersion$> tag.
Added single-quoting where warnings were popping up in Perl 5.004_04.
Added docs about %Z (timezone) date tag format.
Added an index on entry modified_on column.
New default templates no longer use <label> tag in the Remember info? checkbox for the ``remember me'' JS, because it was breaking XHTML validation.
Fixed Linked File Templates so that, when linking a template to a new file that doesn't yet exist, the permissions will be set correctly (based on umask settings in mt.cfg).
Added new default templates and made them customizable by stylesheets.
Added the Comment Error Template to specify the layout of the page a user receives when there is an error with his/her comment submission (eg. an invalid or missing email address).
Usage of <$MTCommentPreviewState$> in the Comment Preview Template is now deprecated; handling of this tag will not be removed from MT, because existing users are certainly still using it. But it is no longer recommended as the best method for comment previewing (instead see the new default templates for editable comment previews).
Changed the <title> tags of the default templates so that they are more descriptive by default of the content in the page (and no longer just MOVABLE TYPE : TEMPLATE).
Added <MTGetVar> and <MTSetVar> for use in passing around values to template modules, etc. (Yaacov Akiba Slama)
Added troubleshooting docs on fixing ``Moved hosts, can't login'' DB problems.
Added an editable comment preview form to the Comment Preview default template, using encode_html="1" and convert_breaks="0".
Added <MTArchiveNext> and <MTArchivePrevious> containers for displaying links to the next and previous date-based archives, respectively.
Added encode_js filter. (Yaacov Akiba Slama)
Added zero_pad and space_pad filters.
Fixed bug where, when posting via bookmarklet, allow comments on a new entry would be turned off even if the default is set to true, in the situation where the allow comments checkbox is not included on the bookmarklet. (Volker Weber)
Fixed a bug in mt-check.cgi where the module description (and reason for inclusion) would not be displayed.
Changed %l to %I in the default date/time format string, because %l is unsupported in some strftime implementations.
Removed <a name="comments"> from the default Comment Listing template, as this was causing problems with the form of the same name.
Added a convert_breaks attribute to the <$MTEntryBody$>, <$MTEntryMore$>, and <$MTCommentBody$> tags. This allows you to override the Convert line and paragraph breaks on a case-by-case basis, if desired.
Added <MTCalendar> and associated tags for a monthly calendar display of entries.
Now, if default-templates.pl cannot be found by mt-load.cgi, the actual error message will be given, which can be useful for determining path errors.
Fixed bug where using <MTArchiveList> and <MTEntries> within an Individual archive template would overwrite the entry object in the stash.
Added trim_to global tag attribute. (morbus)
You can now use lastn="N" in an <MTEntries> tag within an <MTArchiveList> container to only display the last N entries within a certain archive grouping; for example, to display the last N entries in each category.
Index templates and template modules are now sorted alphabetically in List Templates. (morbus)
Added remove_html global tag attribute. (morbus)
dirify now strips HTML tags (eg. <br>) and entities (eg. &). (morbus)
In import dates, AM/PM is now optional; if not present the hour will be treated as on a 24-hour clock.
Fixed bug where setting words in excerpt to 0 would not work properly (ie. excerpt would still be generated using 20 words).
Made upload popup link onclick attribute return false.
Added index on comments for created_on column.
Added <$MTCommentID$> tag.
Fixed small comment bugs: if URL or email address was completely undefined (not blank, but undefined), this would cause a Build error; and the PreviewURL, PreviewAuthor, and PreviewEmail tags were not using the correct Comment context.
Fixed error message (importing => exporting) in mt-export.cgi.
Fixed error message when opening up index template file fails (error message included tempfile).
Now require at least version 0.8 of File::Spec, because of the use of splitpath (below). Changed mt-check.cgi to reflect this.
Use File::Spec->splitpath to split up path into directories and filename; this should fix a bug on Windows when rebuilding files.
Fixed nasty bug that occurred when using ``Link this file to a template'' feature, and manifested when rebuilding indexes, causing the rebuild process to hang.
Fixed discepancies in Creating a new blog section in manual.
Fixed typo in search and replace link to export feature.
Fixed bug that occurs when two entry_id input fields are present (because of list vs. scalar context--now force scalar context).
Fixed bug where, after uploading a file without an extra path, its URL would contain an extra forward slash (/) (same with popup HTML URL).