# 9.3 2018-06-12 * Feature #79889: Cleanup saltedpasswords salt api and add the PHP password api as salt * Feature #82905: anonymize IPs in belog * Bug #83983: Improve ModuleLinkViewHelper * Bug #84683: Wrong directory status in report module * Bug #84697: Viewpage module throws localization error * Bug #84700: Recycler response time is really slow and functionality is broken * Task #84709: Add SiteConfigurationTCA to ConfigurationController * Task #84711: Improve recycler performance * Task #84725: Move rootpage resolving into PSR-15 middleware * Bug #84750: Custom prototypes not working as expected in form editor * Feature #84760: Conditions for site language * Feature #84780: Store icons fetched by the Icon API in localStorage * Bug #84782: AbstractFormElement::calculateColumnMarkup() must cast floored division to int * Bug #84785: Execution order of hooks ['tslib/index_ts.php']['preprocessRequest'] and ['tslib/class.tslib_fe.php']['pageIndexing'] changed from 8.7 to 9.2 * Bug #84788: TYPO3 stops working if client doesn't support localStorage * Bug #84804: Make translation of form validation errors in form extension consistent * Bug #84832: Rendering of DatabaseAnalyzer output is recursive * Task #84836: Create a template with best practices for php files in Build/Scripts * Bug #84838: Empty AdditionalConfiguration.php breaks install tool * Task #84854: Replace TYPO3_OS constant with Environment check * Bug #84857: Indexed Search cropping does not take multi-byte strings into account * Bug #84858: ErrorController is not called with a PSR-7 request * Bug #84859: Exceptions from Form Configuration files are not caught * Bug #84860: PageTSconfig is included twice * Task #84861: Move TypoScript inclusion into ext_localconf * Bug #84862: Misspelling in InheritancesResolverService * Bug #84869: DB list search is too slow * Bug #84871: Sort pages shows page translations * Task #84875: Store t3editor cache as native array * Task #84877: Make page localization independent from column * Task #84883: Replace PATH_thisScript with Environment API call * Task #84886: Make linkvalidator table usable without scrolling * Task #84888: Add logging to signal / slot dispatching * Task #84893: Use later hook for rendering the admin panel * Feature #84894: Add runtime cache log writer * Bug #84898: Upgrade > Check for broken extensions blocks rendering * Bug #84909: Move TSFE rendering preparations into PSR-15 middleware * Bug #84931: `grunt build` re-creates EXT:lang * Feature #84932: Allow to sort pages by nav_title * Task #84937: Cleanup workspaces backend AJAX calls * Task #84940: Extract workspace preview uri generation * Bug #84953: ActionController must not register additional PropertyValidator * Task #84956: [TASK] Use variable argument-list with ObjectManager::get * Bug #84963: config.ftu is evaluated too late * Task #84964: Clean up TimeTracker usage in frontend requests * Task #84965: Deprecate various TSFE methods * Task #84966: Various cleanups regarding comments and API calls * Task #84967: Migrate cObject to LoggerAwareTrait * Bug #84989: Creating file references in tt_content are broken * Bug #84991: Accessing localhost/typo3 while being logged in shows a strange login form * Task #85005: Deprecate methods and constants in ValidatorResolver * Bug #85012: Only validate method params if validation is needed * Task #85024: Add functional tests for QueryGeneratorTest * Task #85036: Remove support for non namespaced classes in Extbase * Bug #85068: IpAnonymizationAdditionalFieldProvider causes javscript problem in Scheduler * Bug #85077: Online Media cannot be added in composer mode anymore * Task #85078: Deprecate PageRepository->versioningPreview * Task #85081: Cleanup t3editor controllers and docs * Task #85086: Deprecate GeneralUtility::arrayToLogString() * Task #85089: Make Tests/Unit/Tree/ notice free * Task #85091: Make TypoScriptParserTest.php notice free * Task #85093: Make RootlineUtilityTest.php notice free * Task #85096: Make FileStreamWrapperTest.php notice free * Bug #85101: Clean up error handler for site handling * Task #85102: Deprecate PhpOptionsUtility class * Task #85105: Deprecate 3rd argument in PageRepository->getRootLine() * Task #85113: Deprecate Backend Module Routing methods * Task #85116: Change visibility of CharsetConverter init methods * Task #85118: CharsetConverter: Remove Case Folding * Task #85120: Deprecate JavaScriptEncoder class * Task #85122: Deprecate various functionality in CharsetConverter * Task #85123: Deprecate T3_ERR_SV_ constants * Task #85124: Deprecate redirecting urlHandler hook concept in Frontend * Task #85125: Deprecate usages of CharsetConverter in core * Task #85130: Move TSFE->getPageShortcut to PageRepository * Bug #85148: Scheduler throws error when cleaning up removed tasks * Bug #85173: Core ignores RTE config pageTsConfig * Task #85184: Store only valid icon markup into local storage * Bug #85190: Disallow access to .sqlite files in MS IIS demo config * Bug #85193: AdminPanel Initialization depends on parsed TypoScript * Bug #85194: Move SEO fields to SEO extension * Bug #85195: Dynamically added fields are added to the end of a table * Bug #85197: MetaTagManager API has unused methods * Task #85198: Store legacy deprecation file to var/log folder * Task #85199: Remove extra check for pageNotFoundHandling * Bug #85210: Invalid import statement in ErrorController * Bug #85211: Closing the "create new backend user" view renders a second backend * Bug #85213: BE users are unable to deactivate checkboxes in the Filelist * Task #85215: Have EM only evaluate current ext_tables.sql on installation