This is a list of changes in Typo 4.1. This is aimed at developers and theme creators, not end-users. URL Generation -------------- URLs are now generated based on the blog base_url, not the current controller's base URL. This has a number of impacts: * If the base_url setting is wrong, most links will be broken. * We can now generate permalink URLs directly from models without needing a controller object. * We can (and have) removed all of the controllers parameters passed around to text filters and notifiers. We've added a number of methods for generating URLs directly from models. In specific, all models that make sense have a 'permalink_url' method, and we're adding methods like 'trackback_url' and 'feed_url' where they make sense. There are *way* too many definitions of common URLs within Typo, and we're moving all of them into the models. Text Filters ------------ The text filter API has been overhauled. Since we no longer need a controller object everywhere, we've been able to simplify the API substantially. We've also moved text filters from the Rails components/ directory into Rails plugins, in vendor/plugins/typo-textfilter-*. It should now be possible to manage text filters using the usual plugin management mechanisms. Helper Cleanup -------------- A bunch of redundant helpers have been deprecated. Look at app/helpers/application_helper.rb for a list. All calls to deprecated helpers have been removed from the Typo tree, but some out-of-tree plugins and themes may still call them. Watch Typo's log for deprecation warnings. Here's a partial list of what's been removed: * ApplicationHelper.config_value(:foo): replace with this_blog.foo * ApplicationHelper.config[:foo]: replace with this_blog.foo * ApplicationHelper.server_url_for: just use url_for. * ApplicationHelper.url_of(item): use item.permalink_url * ApplicationHelper.*_url(item): use item.permalink_url * XmlHelper.*_link(item): use item.permalink_url Removal of body_html and friends -------------------------------- The content table's body_html and extended_html fields are gone. They've always been a bit odd, because they're a cache of text_filter(body) and text_filter(extended). They've moved out of the database and into the fragment cache. As a practical measure users shouldn't see a difference, however the body_html and extended_html methods have been deprecated; use html(:body) or html(:extended). Admin revamping --------------- The admin has been rebuilt to become more functionnal. The previous organization was based on the MVC model, this one on ergonomics. There is still a lot of work to be done, like having a lovely Aqua 2.0 like CSS to look cleaner. Internationalization and localization ------------------------------------- Typo now supports foreign languages. The Localization plugin has been used, and the application now supports French. More translators are needed to support as much languages as possible. Comments auto moderation ------------------------ Comments and trackbacks can now be directly sent to moderation before being published. An option is avaliable in the settings.