All notable changes to TypiCMS will be documented in this file.
- Laravel 11
- Images from
/public/img
directory moved to/resources/images
directory. - TypiCMS Service class and Facade removed, use
/app/helpers.php
instead. - Open Graph Image field added to pages, news, events, projects, places.
- Breaking change: 3 files need to be republished. To do so, you can run these commands:
cp vendor/typicms/core/resources/js/admin/set-content-locale.ts resources/js/admin/
,cp vendor/typicms/core/resources/js/admin/preview-window.ts resources/js/admin/
andcp vendor/typicms/core/resources/views/core/admin/_buttons-form.blade.php resources/views/vendor/core/admin/
.
- Breaking change: Use of Laravel/prompt package for the TypiCMS commands. You have to run
composer require laravel/prompts
.
- Use of @remotedevforce/tom-select in place of tom-select npm package.
- Laravel 10
- Bootstrap 5.3
- Removed: jQuery, Lodash, axios and webpack removed.
- Uppy for file uploads.
- PhotoSwipe for viewing images.
- PHP CS Fixer (and Laravel Pint) rules changed.
- Blade files formatted with Prettier.
- JavaScript files rewritten to TypeScript.
- Vue.js 2.7
- Bootstrap 5.2 (you will have to add
@import '../../../node_modules/bootstrap/scss/maps';
in your bootstrap.scss files)
- Breaking change: In
config/app.php
, you have to moveTypiCMS\Modules\Core\Providers\ModuleServiceProvider::class,
above the TypiCMS Modules Service Providers and addTypiCMS\Modules\Core\Providers\PagesRoutesServiceProvider::class,
at the end of theproviders
array.
- Support for WebP (Croppa 6 uses Intervention Image).
- Breaking change: Because of Bkwld/Croppa v6, you have to republish the config file by running
php artisan vendor:publish --tag=croppa-config
. - Breaking change: Croppa facade changed from
Bkwld\Croppa\Facade
toBkwld\Croppa\Facades\Croppa
.
- Ability to impersonate users
- Translatable title field added to files
- Page sections templates
- Events module has a simple reservation system
- Tables name changed: permission_role to role_has_permissions, role_user to model_has_role, permission_user to model_has_permissions.
- Table primary keys are now big increments.
- Modules Pages, Menus, Users, Roles, Files, Tags, Taxonomies, Blocks, History, Setting, Translations are now part of Core.
- TypiCMS config file structure has changed.
- laravelium/feed replaced by spatie/laravel-feed.
- Bootstrap 5 beta3
- Assets compiled during installation process.
- The locales should now be configured in config/typicms.php
- The SetLocale middleware is now splited in four smaller middlewares: AddLocaleToRootUrl, VerifyLocalizedUrl, SetLocaleFromUrl and SetSystemLocale.
- New permission added: see unpublished items
- The route named 'dashboard' is renamed to 'admin::dashboard'.
- CKEditor: oEmbed plugin remplaced by Embed.
- Bootstrap 5
- Laravel Mix 6
- Description textarea added to menu links
- A menu link can be linked to a section of a page
- Export to Excel functionality added to some modules
- Facebook App Id & Twitter fields added to settings
- Search module
- Subscriptions module, works with Laravel Cashier for Mollie
- Forum module
- New Artisan command to create a superuser (php artisan typicms:user)
- Laravel 8
- ModuleProvider are renamed to ModuleServiceProvider
- Permissions are now shared with the frontend
- Font Awesome replaced by Bootstrap Icons
- $request->all() replaced everywhere by $request->validated()
- LiveReload preloaded, can be enabled in webpack.mix.js.
- Use of Node Sass in place of Dart Sass, Node Sass consumes less memory and is faster.
- Added the possibility to specify IP’s that can see the website without login, when the website is protected by a login and a password.
- The SetLocale middleware has been removed from the web group, allowing to use Laravel Telescope without further config. The SetLocale middleware has been added to the routes of the Users module.
- Added the possibility to make links to CMS pages via CKEditor.
- The CKEditor directory has changed from public/components/ckeditor to ckeditor4. Please republish assets and update you blade views to point to this new directory. Also, there are now two initial possible configurations: config-full (class .ckeditor-full in markup) and config-light (class .ckeditor-light in markup).
- Upgraded to Laravel 6.
- Return type definitions in models and controllers
- Repositories removed, queries are now cached with genealabs/laravel-model-caching
- This version contains a breaking change in the croppa config file ('path' value). Please copy the content of the config file at this address:
https://github.com/TypiCMS/Base/blob/master/config/croppa.php
and paste it into your project’s/config/croppa.php
file.
- Upgraded to Laravel 5.8.
- An image_id field was added to each module.
- Use of json-ld in place of microdata for structured content.
- [Module Events] A route was added to view past events.
- Classes name in views changed.
- Email verification added to the Users module.
- Make use of Laravel notification system in Contacts module.
- Login, register, forgot password views are now translated.
- In the core presenter, the thumb() method was renamed to image().
- Vue.js in place of angular
- Server side lists in admin
- Many other enhancements
- Bootstrap 4
- CKEditor 4.9
- Page model: the method 'children' is renamed to 'subpages'.
- pagesState cookie renamed to typicms_pagestree
- Upgraded to Laravel 5.5 LTS
- Use of Laravel Mix
- Use of translation strings stored in json files
- New filemanager with directories and drag and drop
- A page can have sections
- Use of spatie/laravel-translatable in place of dimsav/laravel-translatable
- Use of rinvex/repository
- locales() helper method to get an array of all locales
- @block('name') blade directive
- @menu('name') blade directive
- Better roles and permissions management
- Groups is replaced by roles
- Permissions are now stored in database, see spatie/laravel-permission
- Preview button in form is only present when the module is linked to a page.
- Routes name in admin have changed from admin.{module}.{action} to admin::{action}-{module(s)}
- index, edit and create methods where removed from BaseAdminController.
- Class img-responsive removed from core presenter method thumb().
- width and height attributes added to tag generated by thumb() in core presenter.
- Bug where old input value where empty when form validation failed.
- app/helpers.php file autoloaded.
- mb_ucfirst method in helpers.php.
- Offcanvas navigation on public side.
- Possibility to show every languages in a form.
- Replace file /resources/assets/js/admin/set-content-locale.js with https://github.com/TypiCMS/TypiCMS/blob/master/resources/assets/js/admin/set-content-locale.js
- Add 'languages.all' key in /resources/lang/*/global.php
- Angular 1.5, CKEditor 4.5.7, jQuery 2.2.0 (Drop IE 8 support).
- Translatable fields are grouped by fields, not by locale, TypiCMS now use Propaganistas\LaravelTranslatableBootForms.
- Bower is removed from TypiCMS.
- Bug with PHP < 7 in history module.
- Command typicms:create {module} to scaffold a module.
- Command typicms:publish {module} to move a module from vendor directory to the Modules directory.
- Added a button to clear latest changes in dashboard.
- TypiCMS now require Laravel 5.2.
- Old value are preserved in tags and date fields when a form has errors.
- When Tags module was loaded, there was a query to get all tags on every requests.
- API GET methods are now protected.
- Find nearest address is repaired in Places module.
- TypiCMS@logo(), TypiCMS@logoOrTitle() method.
- Methods previously marked @deprecated are removed.
- Menulinks module has been merged with Menus.
- Disabling all "Online" languages throws error #38. BREAKING CHANGE: in app/Http/Kernel.php, move PublicLocale middleware from $middleware to $routeMiddleware array.
- Multiple pages can be linked to same module (require modules Core 2.5.10 and Pages 2.5.5).
- Redirect + Notification on TokenMismatchException in place of server error.
- Custom script (clear-compiled) to avoid composer update issues. See laravel/framework#9678.
- Pages can be saved to static html files in the public/html directory, to be served directly by the webserver. See config/typicms.html_cache.
- New command
php artisan clear-html
to empty the public/html directory. - Pages that shouldn't be cached have a no_cache attribute.
- cviebrock/image-validator 2.0
- dimsav/laravel-translatable 5.2
- adamwathan/bootforms 0.7
- edvinaskrucas/notification 5.1
- TypiCMS coding style follows the "recommended" preset of StyleCI. See https://styleci.readme.io/docs/presets#recommended
- TypiCMS can be installed on systems without memcached.
- Edvinaskrukas/Notification system was misconfigured.
- BREAKING CHANGE: Add this line after publicAccess in routeMiddleware array: 'publicCache' => \TypiCMS\Modules\Core\Http\Middleware\PublicCache::class,
- BREAKING CHANGE: Add a new column in pages table:
no_cache
tinyint(1) NOT NULL DEFAULT '0'.
- BREAKING CHANGE: store and update methods where removed from TypiCMS\Modules\Core\Http\Controllers\BaseApiController, so you will have to implement these methods in your custom modules ApiController classes.
- Dynamic links to a resource in text editor, for example {!! page:3 !!} or {!! news:5 !!}
- CKEditor 4.5.1
- Angular 1.4
- Font Awesome 4.4
- npm in place of Bower when possible
- bkwld/croppa 4.2
- Laravel 5.1
- Authentication is now based on Laravel Auth.
- Composer set to "minimum-stability": "stable"
- Better wysiwyg filepicker
- Cartalyst/Sentry (No more throttling feature)
- angular-gettext
- cviebrock/image-validator
- Laracasts\Presenter package
- Core module Namespace is now TypiCMS\Modules\Core.
- A page can be private.
- Content of a page linked to a module is shown in module’s list template.
- Contacts module has an event that send mail to visitor and webmaster.
- laracasts/generators package added.
- CKEditor autocorrect plugin.
- Assets versionning with elixir.
- Possibility to upload the website logo via settings module in admin interface.
- During page creation, possibility to add it to a menu.
- (BETA) Enabling config/typicms.html_cache cause frontend pages being saved as static html in public/html folder.
- Locale is no more stored in page’s uri.
- Lot of code cleaning and bug fixes.