Skip to content

3.0.0

Compare
Choose a tag to compare
@rootpd rootpd released this 22 Jan 20:52
· 53 commits to master since this release
  • BREAKING: Fixed class namespaces to follow PSR4 specification. remp/crm#2228
    • Use package remp/crm-rector:^3.0 to automatically fix these renames.
  • BREAKING: Changed how LazyEventEmitter->removeListener() works. Event listeners are now removed from within LazyEventEmitter->getSortedListeners() and not immediately when removeListener() is called in *Module class. remp/crm#3039
    • Before this change, order of modules could affect if event listener was removed or not. If module with removeListener() was initialized before module which added listener with addListener(), lister would stay active.
    • After the change, all listeners marked for removal are queued first. They are removed when getSortedListeners() is called (which should be after all modules are initialized).
    • Note: Calling LazyEventEmitter->removeAllListeners($event) unsets also listeners (for $event) queued for removal.
  • BREAKING: Changed registration of mounted filesystems in configuration. remp/crm#2835
    • If you registered your filesystems in configs to applicationMountManager via setup directive, please replace the applicationMountManager with mountManagerConfig.
  • BREAKING: Updated League\Flysystem to v3. If you used any of the League\Flysystem\MountManager methods, please review their use. remp/crm#2835
    • It's not possible to request ApplicationMountManager::getAdapter, MountManager will not expose real path to the file anymore.
  • BREAKING: Removed Crm\ApplicationModule\Models\ApplicationMountManager::getMimeType() method in favor of (existing) mimeType() method. remp/crm#2835
  • BREAKING: Application now requires use of psr/log: ^3. remp/crm#3050
    • If you implement any of the Psr\Log interfaces, you might be required to add return types to the implemented methods.
  • BREAKING: Updated robmorgan/phinx library to the latest version. remp/crm#3050
    • If you write your own migrations, you might want to test them against an empty DB. Types are now strict and older migrations could be broken if you used incorrect type in the past.
  • BREAKING: Changed WidgetInterface; it now extends Nette\ComponentModel\IComponent. remp/crm#2988
    • BaseLazyWidget / BaseWidget and LazyWidgetManager / WidgetManager require widgets to extend IComponent. To prevent registrations with incorrect widgets, WidgetInterface now has clear "dependency".
    • In most cases is best to extend Nette\Application\UI\Control which implements Nette\ComponentModel\IComponent.
  • BREAKING: Added return types to Crm\ApplicationModule\Event\EventManagerInterface. remp/crm#2988
  • BREAKING: Application now uses kdyby/autowired: ^3. remp/crm#3064
  • BREAKING: Removed nette/finder in favor of nette/utils. remp/crm#3065
  • IMPORTANT: Application now uses nette/robot-loader: ^4 and nette/utils: ^4. remp/crm#3065
  • Changed implementation of Crm\ApplicationModule\ComposerScripts::postAutoloadDump method. remp/crm#3050
    • Due to compatibility issues we can't initialize Console application directly in Composer script anymore. We now execute the console command in a separate process.
  • Fixed errors reported by PHPStan (level 3). remp/crm#2988
  • Added transaction to database tests (DatabaseTestCase). remp/crm#3055
    • Transaction rollback is faster than truncation of all tables.
  • Updated contributte/forms-multiplier to the latest version. remp/crm#3067
  • Updated sentry/sentry to the latest version. remp/crm#3069
  • Fixed GoogleLineGraphGroupControlFactoryInterface to return GoogleLineGraphGroup. remp/crm#3070
  • Added missing dependency symfony/console. remp/crm#3072
    • This si required by commands. It is installed by other packages, but we should keep it as direct dependency with version constraint.
  • Added maskEmail Latte helper (moved from family-module extension). remp/respekt#141
  • Added use statements for classes where we used FQN. remp/crm#2228