On the day when I've celebrated by 36th anniversary, Six Apart made available movable type v7.0 alpha 2.

I couldn't expect a more precious present for both my birthday and my name's day that both occur on November the 8th :-)

Alpha 2 comes with a number of features and improvements comparing to what was made available in Alpha 1.

NEW AND IMPROVED FUNCTIONS

CONTENT TYPE BROWSER

The Content Type Browser provides a search function for Content Types and Content Fields. You can copy and paste a unique ID or name for Content Types and Content Fields quickly.

NEW TEMPLATE TAGS

mt:CategorySetName

The name of the category set in context.

MODIFIERS

None

mt:CategorySets

A container tag that lists all of the category sets of a content type. This tag creates a category-set context within which any category-set tags may be used.<-p>

MODIFIERS

content_type="unique_id | name"
Specifies a specific content type by name or unique ID for which to return a category set. If not specified, will use the current content type in context.

blog_id="N"
Specifies a specific site ID for which to return a category set. If not specified, will use the current site in context.

name="foo"
Specifies a specific category set by name for which to return a category set.

UPDATED TEMPLATE TAGS

mt:CategoryCount

If a category is associated with a category set, this tag returns the number of published content data for the category in context. Otherwise, this tag returns a number of published entries for the category in context.

mt:ArchiveList

You can specifies a unique ID or name of content type by content_type modifier.

The product has a completely new interface and introduces an excellent feature called "content type".

This new feature would allow you to create virtually any other object you would need, similar to the "entry" and "page" object or to the "categories" and "tags" for "categorizing/sorting" items.

With this awesome feature on board, Movable Type is ready to win the competition against Word Press on building very custom projects, those projects that require specific content types (not only entries/posts and pages, but also any other type of content with its own set of fields, such as say: seminars, collections etc.).

This version comes with a large number of new and improved functions covering data api, a new configuration directive, user management, development, updated functions covering user management, development and miscellaneous as well as many resolved issues covering data api, entry and page, dynamic publishing, template, template tag, user management and miscellaneous.

Let's take a look at the release notes:

NEW AND IMPROVED FUNCTIONS

Data API

createEntry and updateEntry can save entries without rebuilding

You can now save an entry without rebuilding by createEntry and updateEntry endpoints. This will improve performance when saving lots of entries.

entry={"title" : "Some title","body" : "Some body"}&publish=0

For example, sending above request to createEntry or updateEntry endpoint, a status of saved entry is ‘Published’ but output file is never built. If publish parameter is set 1 or not specified, output file is built as before.

search endpoint can now filter target object

A search endpoint returns entries and web pages that contain specific keywords, but now it supports filtering by class. If ”class” parameter with ‘entry’ or ‘page’ specified, the results of the search would include entries or web pages only.

/v3/search?search=keyword&class=entry

Web services password now can be set/changed by DataAPI

You can now set/change web services password via createUser and updateUser endpoint.

Miscellaneous

The definition of the ReturnToURL directive is now moved into the core package. (#100832)

RESOLVED ISSUES

Data API

Rebuilding an archive template now works when the current archive context does not include an entry by deleting entry. (#114213)

The site URL of the blog is now set correctly when creating a blog via createSite endpoint. (#114304)

PageStats endpoint now supports offset parameter. (#113117)

Comment receiving now works when the Data API is disabled on one of the website’s blogs. (#114070)

Entry and page

Recovering the auto-saved custom fields data now works when the type of custom fields is image. (#114385)

The entry title is never changed to an empty title when the title is 0. (#114284)

Dynamic Publishing

MTParentFolders now works when used in subfolders context. (#114283)

Pagination link by mt-search.cgi now works when it is used on category archive. (#114007)

MTLink now works when specifying different blog ID to blog_id. (#114117)

MTSubCatsRecurse and MTSubFolderRecurse now work with max_depth modifier. (#114261)

Template

Template identifier change tracking now works. (#114375)

Template Tag

MTElse block now works when in MTEntries with a tag modifier that specifies a nonexistent tag. (#114076)

User Management

The permission table is now rebuilt when revoking permission from user who has already joined any group. (#114421)

Password verification error occurring even when the password was not changed on the user information edit screen is resolved when the UserPasswordMinLength environment variable is specified in mt-config.cgi. (# 114344)

Password validation now works even if JavaScript is disabled. (#114503)

Displaying the correct web services password now works when using the password manager of browser. (#114434)

Miscellaneous

The filter label of user based now displays user nickname. (#106171)

The from header of an email is now set correctly when using sendmail in a few environments. (#114196)

‘J’, ‘K’, ‘X’ keys are now enterable on the modal dialog so that keys will never operate table. (#114515)

Fixed typo for X-Content-Type-Options. (#114519)

Facebook Commenters plugin now works. (#114463)

Addressed an issue with garbling by rebuild-pages script. (#114165)

If the above convinced you to take a look at the latest version, please go to:

It's a pleasure to announce that on February the 22nd, 2017, Six Apart launched movable type v6.3.3.

What's new in this release is that the user of double-byte characters in passwords for users is prohibited along with a number of resolved issues covering websites and blogs, entries and pages, the smartphone option (usability improvement) and dynamic publishing.

Here we go with the whole release notes:

UPDATED FUNCTIONS

User Registration

Now prohibit use of double-byte characters in password for user. (#114313, #114216)

RESOLVED ISSUES

Websites and Blogs

Show the Creative Commons license log now works when settings has been changed to enable. (#114356)

Entries and Pages

New user password is not asked for when importing entries using LDAP authentication and ExternalUserManagement is enabled. (#114051)

Smartphone Option

Body field height increased automatically when entering any text. (#114175)

Dynamic Publishing

Adding new block tag now works when a plugin adds a block tag using addconditionaltag function. (#114302)

MTMultiBlog using mode=”context” now outputs content that belongs to all websites and blogs specified by includeblogs / excludeblogs. (#114360)

This version includes a number of fixes for the assets, entry and page objects, server sync and dynamic publishing as well as new features related to logging (the ability to output a log file on demand and new configuration directives for it).

NEW AND IMPROVED FUNCTIONS

Output a log file on demand

In this newest version, Movable Type is able to output the activity log to an external file on demand. Of course, output of the CSV file from the activity log listing screen is also available. This feature make it possible to monitor the activity log easily and detect system errors and security issues.

Also, it is possible to control the log output in accordance with the log level. This means you can control logs by production server or development server.

Logging Level

The log levels now supported are debug, info, warn and error. debug outputs the most information from the log,error is the most minimal. You can specify the logging level by using the LoggerLevel configuration directive in the mt-config.cgi configuration file.

debug

A large amount of the log is output. Movable Type does not use the `debug` logging level, but some plugins are using it. If this level is set as the LoggerLevel, the external log file contains all types of log entries. This level is recommended for a development server.

info

A log at this level is just information such as sign-in's, sign-out's, and creating new entries. If this level is set as the LoggerLevel, the external log file contains `error`, `warn` and `info` level log entries.

warn

This log is a kind of error but it does not impact the running of Movable Type. However, it is better if you check the `warn` log entries because an abnormal situation has occurred.

error

This log is recorded in the case of issues affecting the system. For example, when writing to the database or to the file system has failed, or when security issues have occurred.

Also, an `error` will be recorded in the case of a security risk such as a sign-in failure.

Log file

The log file that is named al-yyyymmdd.log will be output in the directory that is specified by LoggerPath configuration directive. (yyyymmdd will replaced with server date)

Logger modules

Currently, Movable Type supports the Log::Log4perl and Log::Minimal perl modules. Movable Type will detect available modules automatically. If no module is installed and available, the log file will not output. However, you can specify the name of a logging perl module in the LoggerModule configuration directive such as Log4perl, Minimal or any module name that is added a plugin. For example:

LoggerModule Your::Plugin::Log

Develop a custom logger

You can make a custom logger that uses another logger module, or output to Slack or something else, for example. Your custom logger module should inherit MT::Util::Log and should implement debug, info, warn and error methods.

This new version introduces support for PHP 7 and mySQL 5.7, as well as Smarty v3.1 and ADOdb v5.20.3.

Now it is possible to disable the automatic image quality change function. This could be done either from the system level general settings or via a new configuration directive called "AutoChangeImageQuality".

Via the newly introduced "DynamicCacheTTL", you could define the number of seconds for the interval of the task to delete the cache files of dynamic publishing.

Through a newly introduced "force" modifier, you could now "force" Movable Type to generate thumbnail files with the a specific width or height even if the original image size is smaller than the width and height you are looking for.

This version includes a security patch which affects movable type v6.2 and movable type v6.2.2.

The issue is involving XSS on the new upload dialog. It is strongly recommended to upgrade your v6.x installation ASAP.

Apart from the security patch, this new version includes lots of other new and improved functions, as well as so many big fixes.

To summarize just a few items:

an improved new upload screen with the ability to easy cancel uploads;

an updated Data API (v3, actually v3.1);

a few new configuration directives;

the activity log will record blog cloning and category updates;

assets improvements;

entries and pages improvements;

movable type advanced improvements;

dynamic publishing improvements;

dashboard improvements;

themes improvements;

templates improvements;

template tags improvements;

and more.

Here we go with the complete list of the latest development:

Security Patches

Medium: An issue involving XSS on the new upload dialog has been fixed. This issue occurs on 6.2.x versions only.

New & Improved Functions

Improved New Upload Screen

We've revised new upload screen UI to make it easier to use.

The droppable area will be wide

The area that accepts a dropped file was changed to the entire screen or the entire area of ??the modal dialog. The droppable area that displayed on the upload screen has been removed by this change. The droppable area will appear if you drag files.

The waiting files are always displayed on top of the list

The order of upload file list was changed. This change make it possible to cancel uploading easily.

Data API v3

Internal version of the API will be 3.1. The endpoint version is still "/v3/".

New endpoint to get the API version

Added a new endpoint to get the API version that returns endpoint version and internal API version. Your application can judge API version after launching.

ENDPOINT
GET /version

PARAMETERS
none

RESULT

{
"endpointVersion": "v3",
"apiVersion": "3.1"
}

endpointVersion
The major version of API that used in the endpoint URI.

apiVersion
The internal API version. We bump up the version number if minor change or bug fix occurs.

New resource fields for Sites are available

It is possible to get the value for default upload destination and default upload options that were added in Movable Type 6.2. Please see below for a list of new fields.

Revised the data format for Date and Time field of CustomFields

In previous versions, the value of Date and Time fields always returned raw data (e.g. 20151218120000) even if the option is specified. Also you should specify the data with the same format for update.

From this version, it will be able to perform the get and set in a format depending on the option.

DATE AND TIME

Data Format
iso 8601 datetime

e.g.
2015-12-18T17:10:00+09:00

DATE

Data Format
date only

e.g.
2015-12-18

TIME

Data Format
time only

e.g.
17:10:00+09:00

New Configuration Directives

BasenameCheckCompat (0 | 1)

If set to 1, MT will perform the duplicate check for basename by combination of folders and basename. The default value is 0 (disabled).

FreeTextSearchScript

The script name for full text search script. The default value is mt-ftsearch.cgi

Miscellaneous

The activity log will be recorded when making a clone of a blog.

The activity log will be recorded when updating a category.

Entry graph always appears even if cannot connect to the Google Analytics.

Updated Functions

Data API

The "date and time" field type with a value of empty now sets value as "null" instead of "0000-00-00T00:00:00 + TZ".

Template Tags

If the result of MTBlogRelativeURL does not end with slash, a slash is added automatically.

The result of MTArchiveCount is changed to always return 1 if it is in the Individual Archive.

Miscellaneous

mixiCommenter plugin is no longer bundled because they discontinued their OpenID Authentication service.

MT::App::Search::Legacy application is no longer mounted automatically if running on PSGI environment.