403Webshell
Server IP : 198.38.94.13  /  Your IP : 216.73.217.33
Web Server : Apache
System : Linux d4744.dxb1.stableserver.net 5.14.0-611.49.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Apr 21 16:39:08 EDT 2026 x86_64
User : revivere ( 1140)
PHP Version : 8.2.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/softaculous/dotcl/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/softaculous/dotcl//changelog.txt
Dotclear 2.39.1 - 2026-08-16
===========================================================
* Fix: Widget, feed reader, URLs was displayed instead of titles
* Fix: Available plugins/themes from repo, install button was missing
* Fix: Entry (post, page, ...) update with an empty URL which was not recomposed
* Fix: Widget category was not set the active one if any
* Fix: Blog parameter "Include sub-category's entries in category page and feed" was not taken into account

Dotclear 2.39 - 2026-08-13
===========================================================
* 🐘 PHP 8.2+ is required, PHP 8.3, 8.4 and 8.5 compliance
* Breaking change: Structure::table() method will now register a new table only if not already registered
* Breaking change: Move Codemirror instance stack (global codemirror_instance) to dotclear.codemirror property
* Breaking change: Deprecated form methods (legacy) will no longer accept an associative array of optional parameters
* Breaking change: __top_behaviors and __shutdown global variables are no longer taken into account
* Breaking change: Filters::userOptions() is deprecated and do not return anything else than null
* Breaking change: Using new UserPrefFilter class is now mandatory (except for related behaviors) for user preferences filters
* Breaking change: UrlHandler->type is no longer public, use getType() instead
* Theme: Add a new template set, named glaz. Plugins should provide their according template file
* Theme: A button has been added to create symbolic links to the distributed themes if the blog’s theme folder is not the default one.
* Core: Add DC_MODERN flag (inc/config.php) to avoid loading of legacy and deprecated code (PHP, JS), default to false
* Core: Silently ignore module file loading error (especially with old code)
* Core: New typed methods for MetaRecord::field() aliases: strField(), intField(), boolField()
* Core: Record->index() no longer return null, only int if given $row is null or not provided, bool otherwise
* Core: Add specific contexts for plugin/theme configuration page (PLUGIN_CONFIG, THEME_CONFIG)
* Core: Backend Listing class, add count() method to get number of rows in associated record
* Core: Modules (plugins, themes) update checking optimisation
* Core: Use release.json URLs for plugins and themes stores with a fallback to blog settings
* Core: Core/Backend/Listing rs_count is now int (was ?int before)
* Core: Review menu item management (using a specific class MenuItem)
* Core: Review menu item icon management (using a specific class Icon)
* Core: Review favorite icon management (using the class Icon)
* Core: User preferences, use Favorite Icon (menu/dashboard) with fallback to legacy one (small/large)
* Core: Use a specific Core/Backend/Notice to define a notice
* Core: Add a new recommended behavior: adminPageNotificationV2 (to be used instead of adminPageNotification)
* Core: Add a new Core/Backend/Notices::addNewNotice(), which use a Notice instance as parameter
* Core: DB Table field length is now always an integer (= 0 if not relevant, rather than null before)
* Core: Add a SqlStatement::satinizeIn() to prepare a list of item to be used in SqlStatement::in()
* Core: Add a log entry if a media has a malformed metadata
* Core: Use a specific class (UserPrefFilter) for user preferences filters (sort by, order, nb)
* Core: Add a new behavior adminFiltersListsV3 to add some 3rd party user filter (use it instead of adminFiltersListsV2)
* Core: Tags plugin has migrate it's list option in user preferences table too and will no longer use Auth::$user_options
* Core: Take care of current output buffering level
* Core: Add typed (str, int, bool and float) getXXX methods for blog workspace settings and user workspace preferences
* Core: Add an UrlHandler::isType() method to check if one of the given type is the current one
* Core: Cope with string argument for popover (hint, auto, manual) or boolean (true = auto)
* Core: Use __toString() method to get string value of an SimpleXMLElement child value
* Core: Throw an exception if UserPreferences::createFromUser() is called with an empty user id
* Core: Prevent usage of unknown xdebug functions
* Core: Add defer option of jsLoad() methods
* UX/UI: Dirty forms monitoring: reduce to 500ms every check (as it last between 1 and 10ms)
* UX/UI: Take care of Codemirror clean flag when saving file (and checking changes) in theme editor
* UX/UI: Add module configuration form monitoring
* UX/UI: Try to avoid double scrollbars on theme editor
* UX/UI: Add flip/rotate image in media item management
* UX/UI: Enter key in form helper, allow Shift+Enter to insert a new line rather than submitting form
* UX/UI: Review user preferences columns management (order and display)
* UX/UI: Icons color, replace #167bba by #4878d1
* UX/UI: Link (and some others), color replace: #2373a8 by #436fc2
* UX/UI: CSS light blue for drag'n'drop active and link on fault page
* UX/UI: Adjust darker blue in CSS
* UX/UI: Make all icon cards same height on dashboard, reduce gap between cards
* UX/UI: Review footer tooltip management
* UX/UI: Add apple-touch-icon for backend
* UX/UI: Allow wider select components in table
* UX/UI: Slight change of background color of soft badges
* UX/UI: Switch from flex to grid for standard icons layout on dashboard
* UX/UI: Make some more room for uploaded filename, if possible
* A11y: Slightly enforce icon background in light mode on dashboard
* A11y: Put ascii art in a span with aria-hidden="true", decoration only
* L10n: User profile and languages management: add a note about languages other than English and French are translated automatically
* L10n: Fix .po parsing when msgid start with an empty content (should be followed by multiline)
* L10n: Add missing resources.php for Hindi
* JS: Independant metaEditor object becomes a property of global dotclear class (use new dotclear.MetaEditor instead of new metaEditor)
* JS: Put jsToolBar, jsButton, jsSpace, jsCombo, jsDialog classes inside global dotclear object (as dotclear.ToolBar)
* JS: Update CodeMirror (5.65.7 -> 5.65.21)
* πŸ›‘ Security: Avoid setting innerHtml property (XSS prevention)
* πŸ›‘ Security: Avoid possible XSS in page-tabs-helper, using dataset
* Fix: Themes Ductile 2026 and Custom CSS: don't load resources (js/css) if not relevant
* Fix: Do not read exif data from unsupported image format (JPEG and TIFF only, up to now)
* Fix: Expand system (JS), do not put button inside a A but before
* Fix: We might have <span>…</span> in tab title
* Fix: Authentication when user has no default blog defined
* Fix: Argument type for Url::getPageNumber()
* Fix: Core/Log::getLogs() with $params[...] used as list in sql->in()
* Fix: Core/Credential::setCredential() with credential_data field
* Fix: Maintenance settings for delay when using generic one
* Fix: Post metadata synchro in Plugins/Maintenance
* Fix: Cope with media with empty metadata field
* Fix: Left badge position on icon when using dense layout
* Fix: Usage of widgetcontainerformat setting if present in _define.php of current theme
* Fix: Quick menu prefix management
* Fix: Set attach_i and attach_f (in attachments loop) in context stack
* Fix: ThemeConfig::publicCssUrlHelper() was buggy
* Deprecated: Core/Backend/Notices::addNotice(), use Core/Backend/Notices::addNewNotice()
* Deprecated: Global metaEditor class, use dotclear.MetaEditor
* Deprecated: Gloabl jsToolBar class, use dotclear.ToolBar
* Deprecated: $GLOBALS['_l10n'] and $_l10n
* Deprecated: ConnectionInterface:escape(), use escapeStr()
* Deprecated: form class, use Dotclear/Helper/Html/Form/* instead
* Deprecated: Auth::getOption() and Auth::getOptions() become deprecated and standard options are now migrated in user preference table
* Deprecated: Favorite::smallIcon() and Favorite::largeIcon(), use respectively Favorite::menuIcon() and Favorite::dashboardIcon()
* Dev: Use PHPStan max level
* Dev: Add a MetaRecord PHPStan stub file for MetaRecord extensions
* Dev: Use a popover and a button in header to display debug information
* πŸ› β†’ Various bugs, a11y concerns and typos fixed
* 🌼 β†’ Some locales and cosmetic adjustments

Dotclear 2.38 - 2026-05-13
===========================================================
* 🐘 PHP 8.2+ is required, PHP 8.3, 8.4 and 8.5 compliance
* Breaking change: Dotty archive template will now display all blognav widgets rather than only search
* Breaking change: Method addBehavior() $func argument must be callable type
* Breaking change: Backend actions addAction method no longer accept Option nor formSelectOption as item
* Breaking change: name attribute cannot be used on every html element (JS/CSS may be need some review in 3rd party modules)
* Breaking change: App::blog()->updPostStatus() and App::blog()->updPostsStatus() requires integer status as 2nd argument
* Theme: Remove blowup and blueSilence themes from distribution (still downloadable from Dotclear server)
* Theme: Remove ductile from distribution (still downloadable from Dotclear server) and add Ductile2026
* Theme: Berlin stylesheet has been reviewed
* Core: Add an option for pages, categories and tags widget to prevent display on archive main page
* Core: Consider only those themes present in the themes folder of the current installation as distributed themes
* Core: Switch from jQuery to Vanilla JS (almost) for theme editor
* Core: Add webp and avif format to auto image mechanism in dotclear wiki
* Core: Review admin favicons (login/logout), rename PNG, add SVG and remove ICO oldies
* Core: Add Continue reading link after trackback content in template set (dotty/mustek)
* Core: Encapsulate pagination separators with span (classes .pagination-separator-before and .pagination-separator-after), (dotty, mustek)
* Core: Add a class="poweredby" to p in footer (mustek, dotty, Ductile2026)
* Core: Use list rather than p for list of feeds (category, tag) - (mustek, dotty, Ductile2026)
* Core: Review default CSS rulesets for media alignments (public.css)
* Core: Add a span class bc-separator around default breadcrumb separator
* Core: Simple menu, add a disabled option for simple menu items
* Core: Add title before comment form message, some themes may need to be adapted
* Core: Add 2 behaviors when a theme is selected, themeBeforeSelect and themeAfterSelect
* Core: Main help index reviewed
* Core: Set " - " in a span class="navlinks-separator" for posts navigation (dotty/post.html)
* Core: Dotty/Mustek reviewed (classes and roles)
* Core: Add "search" class to search widget and "topnav" class to navigation widget
* Core: Add "breadcrumb" class to breadcrumb container
* Core: Add "simple-menu-navigation" class to simple menu container (nav)
* Core: Breadcrumb, do not show 1st page (for all contexts), add an option to modify Home link label (in blog parameters)
* Core: Make small SVG image visible in public.css, themes should overload this
* Core: Add a setting for customCSS to select the template set to use with (mustek/dotty)
* Core: Use strip_tags rather than remove_html for cutting start of content as strip_tags preserve texts from tags (as for links)
* Core: Add a class="footnote-ref" to footnote link (a inside sup)
* Core: Add feeds class on feed list containers (widget, template, …)
* Core: Add an additional tpl:EntryIf attribute to check if there is one or more tags associated with the entry, Tags plugin
* Core: Add a private method to sanitize antispam filters settings, Antispam plugin
* Core: Add user_style.css, user_print.css and links in user_head.html in berlin and Ductile2026
* Core: Add not on main archive page for some more widgets (search, navigation links, best of, languages, subscribe, …)
* Core: Add tpl:IfEntryFirstImage template block (check if a tpl:EntryFirstImage will provide something)
* Core: Rewrite Files::deltree() method using RecursiveDirectoryIterator() rather than DirectoryIterator()
* Core: Add a tpl:LoopCount template value
* Core: Put standard CSS (public, print and smilies) rulesets inside a @layer dotclear
* Core: Add a cardinal() method to MetaRecord, get (int) value (from the 1st row) from a SQL select using a count(), max(), … at 1st column
* Core: Add a Fault::unsetExceptionHandler() to be used with PHPUnit tests (see bootstrap)
* UX/UI: Codemirror theme selector, separate light and dark themes
* UX/UI: Cope with perceptual brightness of background color to split dark and light Codemirror themes
* UX/UI: Add a supplemental button to hide/show menu (this button may be hidden via user prefs)
* UX/UI: Add a note about textarea settings in widgets as their content can be enhanced wit HTML syntax
* UX/UI: Blog selector in header: sort by blog status (descending: online, offline, removed, …) and then by blog name
* UX/UI: Theme editor using Codemirror: template blocks/vars are now displayed with their own colors (attributes remains uncolored)
* UX/UI: Review theme editor code font size (slightly smaller)
* UX/UI: Add vertical resize capabilities to textarea/Codemirror in theme editor, and smaller font for line numbers (Codemirror only)
* UX/UI: Add offline and sts-<status> classes to each blog line (list of blogs)
* UX/UI: Add offline and sts-<status> classes to each user line (list of users)
* UX/UI: Allow using theme.jpg if no screenshot.jpg exists to display theme's screenshots
* UX/UI: Replace H1 Dotclear logo (in all non-popup pages) by an update link if Dotclear update is available
* UX/UI: Use softer border for dashboard icons (only if more contrast is not set)
* UX/UI: Review borders: breadcrumb, boxes and quick entry on dashboard (only if more contrast is not set)
* UX/UI: Review icons' background color (dark mode, only if more contrast is not set)
* UX/UI: Remove borders of badges (only if more contrast is not set)
* UX/UI: Adjust contrast of outgoing link icon
* UX/UI: Visually center user preferences icon
* UX/UI: Add some colors to plugins description summary markers
* UX/UI: Add post date as href title on comments listing
* L10n: Template becomes gabarit in French
* Fix: Ensure fake email field is hidden on comment form (useful if CSP prevents inline styles)
* Fix: Do not allow deletion of distributed themes (in original DC themes folder) on update tab
* Fix: Use protected module list rather than distributed one in Cleaner plugins/themes
* Fix: Theme editor: Remove cm_dirty class from textarea (not removed by Codemirror during Ajax saving)
* Fix: Do not use date (usually date of media upload) in media legend, only description
* Fix: Set inert attribute to Codemirror sample (avoid tab stop in it)
* Fix: Unknown modules (plugins) are now disabled if possible
* Fix: Use default date/time format if none defined (maintenance plugin)
* Fix: Exclude all possible thumbnails rather than only jpg when zipping theme
* Fix: Back to media root directory if the chosen directory (fav/direct) does not exist
* Fix: Berlin theme, no need to load berlin.js in footer, load it in head
* Fix: Berlin theme, add an upper margin before a figure following another figure which have a figcaption
* Fix: Harmonize breadcrumb of theme customization page and add a return button in all cases (standalone config, doc only, …)
* Fix: Audio/video media insertion when position (left, right, center) is chosen
* Fix: Show page number in breadcrumb only if relevant
* Fix: Exclude .git/.DS_Store from theme archive (maintenance plugin)
* Fix: Remove outnumbered </tpl:Block> for <tpl:Block name="main-content-inner"> in dotty category.html template
* Fix: Template engine, fix compilation of files if use_cache is false
* Fix: tpl:EntryIf using type and anything different than 'post', also add a ! prefix to test on everything but given type.
* Fix: Give back focus to editor textarea after saving in Theme Editor
* Fix: Form Component generic class attribute, use only unique values is class list
* Fix: Use search element (without using role="search" on form) if container is used in widget element
* Fix: Berlin theme, Cut long trackback URL in order to avoid overflow
* Fix: Category feed URL should be available even if no posts in it
* Fix: Fixes the reading of item categories from basic RSS feed
* Fix: Template engine: don't cope with compile stack on including file, includes them whatever they have been yet compiled or not
* Fix: Do not lock/unlock tables if a transaction is in progress
* Fix: Comments listing used wrong status methods to get status icon and status class
* Fix: Cope with unknown URL with static home page
* Fix: Loading of custom locales of theme
* Fix: Check stream context before using it
* πŸ› β†’ Various bugs, a11y concerns and typos fixed
* 🌼 β†’ Some locales and cosmetic adjustments

Dotclear 2.37 - 2026-02-13
===========================================================
* 🐘 PHP 8.2+ is required, PHP 8.3, 8.4 and 8.5 compliance
* Breaking change: PHP 8.1 is no longer supported
* Breaking change: Adjust return type of isSpam method of antispam filter (filter now must return null or true or false)
* Breaking change: type property is now mandatory in _define.php of modules (plugins, themes)
* Breaking change: Switch from DotAddict to Dotclear for plugins/themes repositories
* Breaking change: Use only one category (ActualitΓ©s) for Dotclear news feed
* Breaking change: Upgrade jQuery from 3.7.1 to 4.0.0 and jQuery migrate from 3.5.0 to 4.0.1
* UX/UI: Media sub-folders are now sorted in lexical order (based on their names)
* UX/UI: Add a user preference option to use dynamic letter spacing rather than normal
* UX/UI: Add a visual indicator (header border color and collapser background color) when one of monitored forms is unsaved, checked every 5s
* UX/UI: Review color input appearance
* UX/UI: Review CSS breakpoints (now 600, 1024 and 1280px)
* UX/UI: Sortable items: reduce sortable handler area to button only (was entire row before) and give more room for the handler
* UX/UI: Add two user preferences to use a dense layout for favorites icons, and for dashboard modules boxes
* UX/UI: Adjust badge horizontal position on icons with dense layout
* UX/UI: Add an header label for Antispam filter's settings link in list
* UX/UI: about:config and user:prefs plugins: give focus to 1st focusable element on menu selection
* UX/UI: Switch order of two options of Antispam plugin in blog parameters page, add some explanation about the "only moderate spam" option
* UX/UI: Cope with last opened folder in media manager
* UX/UI: Cope with last media directory opened from user (stored in user prefs)
* UX/UI: Use specific labels for user statuses (in order to avoid confusion with other usages of these labels)
* UX/UI: Add some statistics on users list and blog list
* UX/UI: Add date and modification date (and time) columns for users list
* UX/UI: Widgets management, CSS review
* A11y: Use aria-current rather than aria-selected for current tab
* A11y: Enforce some contrasts in dark mode (AA minimum)
* Core: Add an option for each category to disabled feedback (enabled by default)
* Core: Simple Menu, a data (string) may be add to each item and it's value will be rendered as data-menuitem HTML attribute
* Core: Add a max_level parameter (0 = all, n = number of levels) for categories retrieval in blog->getCategories() and categories->getChildren()
* Core: Blog settings and User preferences, if unknown type, try to detect type from given value and use it if possible
* Core: Add a dotclear helper (JS) to give focus to the 1st focusable child in an element (take care of tab order)
* Theme: Berlin, cope with motion reduce setting (a11y)
* Fix: Blank target of Simple Menu item was not correctly preserved when changing order of menu items
* Fix: Checking $_POST[…] for a checkbox which may be not present is $_POST if not checked
* Fix: Some cleanup was missing in last 2.36 update
* Fix: Cope with GD not available for OTP QR Code in user pref
* Fix: Media item deletion with a search filter
* Fix: Ensure given value of Html/Form/Strong field is string
* Fix: Antispam filters order management if drag'n'drop is disabled in user prefs
* Fix: Menu was hidden in some cases
* Fix: Use key attribute of keydown event rather than code in order to ignore keyboard layout (standard Editor)
* Fix: Success message on user deactivation
* Fix: cope with encapsulated tags (code in pre for example) for smilies replacements
* Fix: Blogroll, use "Category status" rather than "Link status" for categories
* Fix: Search module (plugins/themes) with 0 results
* Fix: Cope with Codemirror editor for dirty forms monitoring
* Fix: Return URL from secondary page of actions (entries, …), was limited to last 10 selected in 1st page
* Fix: Usage of CKEditor and classic editor for non admin users
* Fix: Avoid overflow of figcaption for centered figures
* Fix: Theme editor, give priority to named template set rather than generic one when searching template files

Dotclear 2.36 - 2025-11-13
===========================================================
* 🐘 PHP 8.1+ is required, PHP 8.2, 8.3 and 8.4 compliance
* Breaking change: Media::getFSDir() has been removed
* Breaking change: Add a MediaFile file descriptor (extends File class)
* Breaking change: File class no longer allow dynamic properties
* Breaking change: ThemeConfig::cleanCSS method has been removed
* Breaking change: dcCore instance parameter is no longer provided by Rest server
* Breaking change: dcCore::app()->spamfilters is no longer taken into account
* Breaking change: The deprecated Error::toHTML() method has been removed
* Core: Unlock theme modification even for old ones (overload attribute in _define.php of themes is no longer used)
* Core: Add Webauthn (Passkeys), OTP and oAuth2 support (to be configured in inc/oauth2.php, an example is provided in inc/oauth2.php.in), a new table credential will be added to the DB
* Core: Frontend session is now supported
* Core: Add a dotclear_exit() proxy function (loaded by App) for exit()/die()
* Core: Add PDO drivers for mysql and pgsql and rename sqlite
* Core: Allow load and forget a service, useful for example to open a secondary connection of a DB
* Core: Add DB method to get a connection on the fly
* Core: Set session TTL to 20 hours rather than 2, it's better for accessibility
* Core: Allow opening a Frontend context during Backend one, using the same session
* Core: Sanitize sqlStatement given conditions (or, and, groups)
* Core: Add a boolean 3rd parameter to Listing::userColumns() to transform if necessary, all columns' value to Component if already not (as Text)
* Core: Let's be gentle with old installations, but not too old, so welcome back the deprecated bootstrap() method to App ;-)
* Core: Add CLI mode for installation
* Core: Add adminPageHTMLBody behavior (called just before closing body)
* Core: Move hard coded store URLs to release file
* Core: Bump minimum required PHP version to 8.2 for future releases (after 2.36)
* Core: Add a maintenance task to empty feeds cache folder
* UX/UI: For entries with closed comments or closed trackbacks, display comments/trackbacks counters with a specific color (aria-details added if necessary).
* Core: Add download attribute to Html/Form/Link (a)
* UX/UI: Add comments/trackbacks status information for post and page
* UX/UI: Review entry link toolbar icon (standard Editor and CKEditor)
* UX/UI: Plugin with setting link(s): remove hr and add a vertical separation (blank)
* UX/UI: Enforce visibility of informative/warning message from media listing (no results from filter, empty folder)
* UX/UI: Add unique id (if not given) of all toolbar's element
* UX/UI: Add group management for standard Editor toolbar elements (spacers are no longer needed)
* UX/UI: Entry edition page: Ask to reset the url base if title has changed and if entry is not published (only if title is used in entry URL format)
* UX/UI: Add some padding to textarea (2px is not enough, the cursor was difficult to see at the beginning of a line)
* UX/UI: Theme preview have been removed
* UX/UI: User preferences: show a warning message if QR code image cannot be provided
* UX/UI: Allow using theme editor as a favorite, use a better name
* UX/UI: Differentiates list of options (used in HTML) and list of values for select filters, group months by year for posts filter
* UX/UI: Groups months by year for menu simple archive item
* UX/UI: Replace grid.png by grid.svg (was the last PNG image in admin)
* Theme: Berlin, use CSS grid for widgets layout (with 2 or 3 columns)
* Theme: Review management of widget title/subtitle formats
* Fix: Link color in warning message on dark scheme
* Fix: Fix link color in warning message on dark scheme
* Fix: Page plugin, use the correct editor for HTML after conversion
* Fix: Cope with search filter when deleting item in media insertion popup
* Fix: CKEditor: allow insertion of link (direct/entry) on empty selection
* Fix: All editors: Use entry title as link text if current selection is empty
* Fix: Ensure storing integer value in post_limit, post_offset and post_count properties when importing from Wordpress
* Fix: Fix progress bar progression in import/export plugin, and autosubmit JS script
* Fix: Allow entry preview for non admin users
* Fix: Flat export without check zip format
* Fix: Do not insert custom CSS stylesheet if the current theme is not customCSS (frontend)
* Fix: Thumbnails deletion on search media delete action
* Fix: Isolate upgrade dependencies classes (Menu and Helper)
* Fix: CSS variable name for #help-button color
* Fix: Ensure that some transient user preferences (media_manager_dir, media_file_mode) are not already stored in DB before adding them
* Fix: Media manager, back to first page when changing directory (fav, last or sub-directory)
* Fix: Cope with media item deletion from search results
* Fix: Take care of empty value for given REST function
* Fix: Use process way for admin URLs set by JS (and ensure popup=1 is set when opening a popup)
* Fix: Avoid removing media from post if no IDs given
* Dev: Switch from Atoum to PHPUnit for unit tests
* Dev: Add a development mode to theme editor (if set then the editor will behave as before overloading system, directly editing themes files). This mode may be set via a themeEditorDevMode behavior callback
* Dev: Temporary removal of links to the documentation (until the new server is operational) in CONTRIBUTING.md
* Locales: Norwegian (bokmΓ₯l), Thai and Vietnamese languages added
* Locales: Bengali, Catalan, Esperanto, Spanish (Argentina),Basque,Hindi,Croatian,Occitan,Serbian,Telugu removed

Dotclear 2.35 - 2025-08-13
===========================================================
* 🐘 PHP 8.1+ is required, PHP 8.2, 8.3 and 8.4 compliance
* Breaking change: App::auth()->blog_count is no longer public, use App::auth()->getBlogCount() instead
* Breaking change: App::frontend()->smilies is an array (may not be initialized) and no longer accept false value
* Breaking change: restCheckStoreUpdateV2 behavior use now an single associative ArrayObject rather than two arrays
* Breaking change: Put the global __() function in a separate file, L10n::bootstrap() should be call in order to have this function defined
* Breaking change: HtmlFilter now trim returning string
* Breaking change: User favorites, remove unused case (using array) in getFavorite($id) method
* Core: Propose to reset entry URL when publication date is changed (if not already published)
* Core: Allow using patterns for house cleaning during upgrade
* Core: Add an option to Antispam to publish immediately moderated comments/trackbacks if they are recognized as not being a spam
* Core: Reset host cache list if force refresh is required (upgrade dashboard)
* Core: Add a host cache in StoreReader (with log)
* Core: Remove old IE code from standard Editor Wysiwyg mode
* Core: Add a JS helper, dotclear.DOMready to use when DOM content is loaded (backend/frontend)
* Core: Add also media_private to idx_media_media_path SQL index as this field is often used in queries with media_path and media_dir
* Core: Make idx_media_media_path SQL index generic, not only for PostgreSQL
* Core: Adds a meta tag that can be disabled to prevent indexing by AI engines in Blog parameters (advanced section)
* Core: Add two behaviors in themeEditor themeEditorWriteFile, themeEditorDeleteFile to let 3rd party plugins play with it
* Core: Cope with mjs (javascript module) in themeEditor
* Core: Remove link to current selected theme stylesheet which is not useful on themes' list page
* Core: Display a warning message if theme is too old to be overloaded with themeEditor
* Core: Add a specific define value for theme supporting overloading (DC 2.35+)
* Core: Allow modification of distributed themes as the new system will not modify original files
* Core: Cope with index.php?tf=resource.ext and with custom theme template path (var)
* Core: Add a behavior (adminDashboardMessage) to provide 3rd party modules message on dashboard
* Core: Add a behavior (adminConvertBeforePostEdit) to allow 3rd party conversion before editing entry content (post/page)
* Core: Set default antispam moderation TTL to 7 days rather than 0 (immediate)
* Core: Rewriting the method for building category lists without using recursion
* Core: Call coreContentFilter behavior for preview button (wiki mode)
* Core: Add a status information for blogroll links and categories
* Core: Cope with full URL for public media when looking for 1st image in entry
* Core: Use XML format rather than serialized PHP Object to cache feeds
* Core: Use IntersectionObserver rather than an EventListener for Goto Top button (show/hide) and Help button (position and aspect)
* Core: Optimize getLangsCombo method
* UX/UI: Review prefix of back button text (::before)
* UX/UI: Review editors' name, use description rather than name in user pref if available
* UX/UI: Use an animated SVG rather than GIF for autocomplete loading indicator
* UX/UI: Review responsive table header management on small devices (WIP)
* UX/UI: Use a dialog for inline quote insertion in legacyEditor rather than two consecutive prompts
* UX/UI: Add aria-label to set to today button
* UX/UI: Add aria-label to show/hide password button
* UX/UI: Add an Ok button to notices in order to close them
* UX/UI: Review maintenance tasks messages using Ajax
* UX/UI: Slight review of toolbar buttons background on standard Editor
* UX/UI: Review theme editor help
* UX/UI: Add a global help sidebar only if has not already been loaded
* UX/UI: Add a last donation date personal reminder in donation fieldset on dashboard
* UX/UI: Add some note about video insertion sizes
* UX/UI: Slight review CSS of responsive tables
* UX/UI: Add a plugins settings page with all available links to different kinds of plugins settings
* UX/UI: Review Theme Editor plugin icon (light/dark)
* UX/UI: Review look and position of title on auth page
* UX/UI: Force sub-categories to be displayed under the category
* UX/UI: After update done, go directly to authentication (Upgrade) instead of requiring a another click from user
* UX/UI: If secondary notes should be hidden (in user pref), also hide informative notes
* UX/UI: Switch to light-dark() and cope with color scheme for backend CSS
* Fix: No need for spl_autoload_register callback to return anything
* Fix: Do not use french feed for Finnish language
* Fix: Do not request multiple times the list of fonts during blowup config rendering
* Fix: Fix form children selector in dotclear.enterKeyInForm() helper
* Fix: Fix CSS for outgoing-link image
* Fix: Set media link (not image nor video nor audio) content to current selected text (or url if none) in standard Editor
* Fix: Set media link (not image nor video nor audio) content to current selected text (or url if none) in CKEditor
* Fix: Avoid loading more than once util.js (Frontend)
* Fix: Fix fields' color (to cope with light/dark mode) for Blue Silence theme
* Fix: Fix fields' color (to cope with light/dark mode) for Blowup theme
* Fix: Do not list minified versions of files in themeEditor
* Fix: No need to change field backgrounds in order to cope with light/dark modes in Ductile
* Fix: Prevent unsaved media properties if necessary
* Fix: Berlin theme: style only aside without any classes
* Fix: Try to cope with non UTF-8 encoded theme's files in themeEditor if necessary
* Fix: Review composition of list of plugins in notice/success/warning/error
* Fix: Display delete button as soon as file saved (even with JS) in themeEditor
* Fix: Review dynamic activation/deactivation of delays in maintenance settings tab
* Fix: Maintenance plugin: display expired task(s) message only if requested in plugin settings
* Fix: Select the correct radio button for maintenance alert depending on current settings
* Fix: Quick entry creation without category
* Fix: No need to load more than once legacyEditor resources (JS, CSS, …)
* Fix: Fix miniTidy by reverting HTML5 closing single tags to XHTML form as xml_parser will use XHTML format.
* Fix: Cope with footnotes CKEditor plugin which force background color
* Fix: Do not display generic help on plugin config if help is already set
* Fix: Filter contextual help content to avoid malformed HTML
* Fix: default smilies definition path
* Fix: Put ul of sub-categories inside the li, not after
* Fix: Fix: Its better to have a form to save stuff in maintenance!
* Fix: Target = _blank is for opening in another tab/window
* Fix: Fix comment preview content, the publicBeforeCommentPreview behavior effect was ignored
* Fix: Fix helper message for comments and trackbacks TTL
* Fix: Use new-stuff class rather than top-add as this one might be hidden by ads-blockers
* Fix: Keep some space between username and logout icon
* πŸ› β†’ Various bugs, a11y concerns and typos fixed
* 🌼 β†’ Some locales and cosmetic adjustments

Youez - 2016 - github.com/yon3zu
LinuXploit