Movable Type 4.3 Release Notes
Entry Pagination via MT-Search ¶
An oft-requested feature has been added to the app. We've made a variety of new querystring parameters available to mt-search.cgi to provide dynamic pagination for all archive types and from the index. In order to allow for the usage of index or archive templates, we've created a new template tag, BuildTemplateId, which provides the template ID for the template you're editing.
We're working on putting together a proper guide for this with sample template code, but here are the new parameters: author (takes an ID), category (takes an ID or label), templateid (takes an ID), page (can be used in place of offset), archivetype (takes one of the 14 archive types, listed here), year (format is YYYY), month (format is MM) or day (format is DD). When used with date-based archives, year/month/day corresponds with the start date of the archive.
Clonging a Blog Without Content ¶
We've added the ability to clone a blog without including the entries/pages, comments, trackbacks and categories (or any combination thereof). You can also edit the blog name, URL or site root during the clonging process.
Attribute "namespace" doesn't work in mt:Actions ¶
Passed the "namespace" attribute in addons/Community.pack/lib/MT/Community/Tags.pm to allow for custom namespaces on user profile pages.
Fix Memory Leaks and Move to JSON Serialization in Serialize.pm ¶
Fixed several memory leaks in Serialize.pm and added two new serialization methods (the default stays the same). The two new ones use JSON and Storable formats, but both have caveats. While the Storable format has performance improvements, it does not work with dynamic publishing. The JSON based format does not support scalar or circular references and cannot support multiple references to the same object. We hope to evolve the JSON serialization as the JSON spec changes.
Pagination for comments ¶
Comments can now be paginated with the addition of a dynamic API request from mt-comments.cgi. The default and community template sets have been updated to use comment pagination by default, while the other template sets now include the new System Template.
Asset Management: Manage assets in an entry (AssetAgent) ¶
There is a new asset manager in the sidebar of the entry edit screen. It will list all assets that are associated with the entry. You can associate assets with an entry without including the asset in the entry body. You can also remove asset associations without removing the link to the asset from the entry body. 100892, 100893, 101548
- When inserting an asset into an entry, whether using the asset manager on the side or the insert asset/image buttons in the RTE, no
<form>tag is wrapped around the asset. - When an asset is inserted into the image, the asset information is added to the sidebar and it's asset id is added to the hidden
<input>element "includeassetids". - When the entry is saved/published, MT uses this information to associate the asset ID to the entry via MT::ObjectAsset.
- Since custom fields still use
<form>tags for their assets, I did not completely remove the code which wraps these tags around stuff in MT::Asset.
Asset Management: Reconsider infrastructure: reference of assets in entry bodies (paths coded) ¶
We have (finally) removed the form tag that surrounds image assets in the entry body. Hallelujah.
Community: Investigate commenting and sessions across domains on the same MT instance ¶
The default setting for SingleCommunity is now '1'. This means that cookies will now work across all blogs on your installation (excluding cross-domain). If you have been using your Movable Type install to run each blog as a separate community, you should add 'SingleCommunity 0' to your mt-config.cgi file.
Create Dashboard Stats TTL directive and allow users to turn stats off ¶
We have added two new config directives for controlling the dashboard stats. We have added StatsCacheTTL, which is set in minutes and determines how long before the cached statistics expire (default is 15), and StatsCachePublishing, which determines if stats are published at all. It can be set to 'Off' and 'OnLoad', with OnLoad being the current behavior as well as the default.
Allow Republish from Object Listing or Search Results ¶
You can now publish entries, templates or comments from the internal search result listings.
Summary Object Framework ¶
The Summary Object framework allows MT’s core codebase and plugins to store arbitrary summary and dependent information in the database, replacing expensive calculation queries with fast primary-key lookups against summary tables. The framework includes a flexible mechanism for invalidating summary objects when the objects on which they depend are modified, and a queued worker class for asynchronously regenerating invalidated summaries.
Log template editing events in the Activity Log ¶
When a template is saved, this action is now sent to the Activity Log. This feature is useful for finding out who made a particular change.
Send Blog Setting Changes to the Activity Log ¶
When changes are made to blog settings, an entry is added to the activity log.
Assets doesn't recognize BMP, TIFF as image formats ¶
Assets now recognized BMP and TIFF as image formats, which should also fix a common issue seen when importing Wordpress content. (Thanks Su!)
SetVarTemplate attributes no longer localized, now affect global vars ¶
SetVarTemplate is now properly localized so you can pass in variables and the data is not set permanently, only outputted with the provided values. (Thanks Jay!)
Make include_blogs="all" work in all contexts ¶
Fixed a bug where IncludeBlogs="all" did not work when used in mt-search.cgi querystring.
Template tags: mt:Authors should take an ID ¶
You can now limit mt:Authors with an 'id' (for user ID) or 'username' modifier.
Create a tool in system settings to send a test email ¶
Added the ability to test sending from inside the app on the Global general settings page.
Expose settings within app (DebugMode) ¶
You can now set DebugMode from the Global general settings page.
New Config Directive to turn on DBI RaiseError ¶
We have made the Date::ObjectDriver RaiseError flag available as a config directive and are setting it to 0 by default. This provides more accurate descriptions of database errors than were previously provided.
Expose settings within app (PerformanceLogging) ¶
You can now set the PerformanceLogging, PerformanceLoggingPath and PerformanceLoggingThreshold config directives from the Global general settings page.
Allow mt:else with mt:Assets ¶
The mt:Else tag now works in mt:Assets blocks. (Thanks Byrne!)
Support specification of build_type for template set archive maps ¶
You can now define the "build_type" for an archive template in the config.yaml file for custom template sets. (Thanks Jay!)
motion.js utilizes deprecated syntax which breaks under jquery 1.3 ¶
Fixed a selector in the jQuery of the Motion template set that was incompatible with jQuery 1.3x. (Thanks Byrne!)
Unable to use template tags of custom fields for archve paths ¶
Fixed a bug where custom field template tags could not be used in archive paths.
Blogs where you didn't have any permissions are displayed in the blog list when you choose which blog to export entries from ¶
Users now only see blogs they have permission to change in the list of clonable blogs.
Off by 1 error in mt:Authors lastn ¶
Fixed a bug where using lastn with mt:Authors always returned one more result than requested (Thanks Byrne!)
Typo in TheSchwartz.pm: Serialize vs. Serializer ¶
Fixed a typo in the TheSchwartz.pm
Apply Mark Carey's patch to avoid false upgrade notices ¶
Fixed a bug that occasionally caused false upgrade notices. (Thanks Mark!)
MT::Entry is overzealous about updating when new comments are added ¶
MT:Entry now only updates a comment count when it would change. Previously, it would update anytime a comment associated with that entry was saved.
Fatal rebuild error caused by any template tag filter specified via a config.yaml file ¶
Fixed a bug where a fatal error would occur whenever you defined a template tag filter in the config.yaml file. (Thanks Jay!)
any_type attribute of mt:Authors doesn't work as expected ¶
Fixed a bug with he any_type filter for mt:Authors, so it now properly returns all users, regardless of their role.
Cloner plugin should not be included in distro ¶
The Cloner functionality was moved to the core, so the plugin is no longer included in the application.
Recommend Dates Don't Respect Blog Timezone in User's Actionstream ¶
Fixed a bug where the dates for recommended entries in a user's actionstream did not respect the blog's timezone, causing it to filter improperly.
Restrict "favorites" blog selection dialogue in CMS ¶
When adding an additional blog to your list of favorites in the dropdown, you can now only select blogs that you have access to. This keeps people from potentially having to page through hundreds of blogs they can't access.
MT::Blog::clonewithchildren() doesn't actually clone() children ¶
The MT::Blog::clonewithchildren operation now clones each of the individual objects (e.g. MT::Template, MT::Association, etc.) that make up the blog.
Entries with comments in the last 7 days ¶
Fixed a bug affecting the 'Entries with comments in the last 7 days' quickfilter on the entry listings screen. The app would throw an error when DBIRaiseError is set to 1. Changing the sort method fixed this problem.
Patch to allow non-superuser editing in systemwide Comments listing ¶
Non-superusers can now view the global list of all comments that they can access.
Increase commenter email column length ¶
Increased the allowed length of a commenter's email to account for very long authentication emails used in Facebook authentication.
mt:Entries 'category' attribute broken under dynamic publishing ¶
Fixed bug where logical operators for category filtering in mt:Entries would not work in dynamic publishing.
LaunchBackgroundTasks 1 doesn't work for MT-4.261 ¶
We have fixed the bug that was causing LaunchBackground tasks to fail.
Manage assets dies when image type and class conflict ¶
Image asset types (JPEG, PNG and GIF) are now determined based on file compression instead of file extension. This prevents publishing errors when Image::Magick is used to resize improperly labeled images.
sort_order doesn't work for mt:Comments with lastn in static publishing ¶
When applying a lastn to mt:Comments in the context of an entry, it would always use the 50 most recent comments, even if sort_order was set to 'ascrend'. mt:Comments will now sort first and filter second.
Improve ease of use and styles for search pagination ¶
Improved styling of search pagination in the Community template set when there are dozens of pages.
Add XML::Parser to mt-check ¶
mt-check.cgi now looks for the optional perl module XML::Parser.
MTEntryTags retrieves tags assigned to an asset with the same ID under dynamic publishing / MySQL ¶
Fixed a bug where a dynamically published template which contains an <mt:EntryTags> template tag retrieves tags for the entry ID in context and also retrieves any tags assigned to an asset which has the same ID number as the entry.
Doc links for *.pack template tags go to Google ¶
Tag links inside the apps for our packs (e.g. Community) are now being sent to movabletype.org instead of Google.
%-C archive file path specifier does not replace underscores in category basename with dashes ¶
Archive path specifier %-C now produced dashes instead of underscores.
can't retrieve "mt.supportedMethods" call on Windows Server 2003 ¶
Fixed a bug where mt-xmlrpc.cgi gave no response or error using Windows IIS.
Dynamically published weblog pages display "Page not found" error ¶
Fixed an error where viewing a dynamically published weblog page results in a "Page not found" error being displayed if the template which publishes the page has a templateidentifier field value of "NULL" in the mttemplate table in the Movable Type database.
Custom fields template tags cause "You used an '[CF Tag Name]' tag outside of the context of the correct content;" error ¶
Fixed an issue where using a custom field tag occasionally produced an error when previewing or publishing.
Known Issues ¶
- Comment Pagination will not work when using MS-SQL and setting DBIRaiseError to 1 (Bug ID: 101428)
- A bug was introduced no later than MT 4.0 where the registry function exhibits unpredictable behavior when called without a parameter. (Bug ID: 101429)
Changelog ¶
The full changelog is available in Trac.

ashkan
November 10, 2009 9:26 AM | Reply
thanks for this poste
MG
January 13, 2010 8:15 AM | Reply
Very minor mention of typos:
Darn, fairly certain I've lost one.
Thanks for the work, looking forwards to upgrading!