We face austerity from the government, privatisation via academies, a toxic influence on our students online, the attacks of the populist right in Trump and Farage — but we are growing, in number, in militancy — and we have shown we cannot be beaten, says NEU general secretary DANIEL KEBEDE
Error message
Deprecated function: Drupal\xmlsitemap\XmlSitemapStorage::__construct(): Implicitly marking parameter $memory_cache as nullable is deprecated, the explicit nullable type must be used instead in include() (line 582 of /var/www/ms/vendor/composer/ClassLoader.php).
include() (Line: 582) {closure:Composer\Autoload\ClassLoader::initializeIncludeClosure():581}() (Line: 433) Composer\Autoload\ClassLoader->loadClass() is_a() (Line: 143) Drupal\Core\Config\Entity\ConfigEntityType->checkStorageClass() (Line: 350) Drupal\Core\Entity\EntityType->__construct() (Line: 69) Drupal\Core\Config\Entity\ConfigEntityType->__construct() (Line: 60) Drupal\Core\Entity\Annotation\EntityType->get() (Line: 37) Drupal\Core\Entity\Annotation\ConfigEntityType->get() (Line: 90) Drupal\Core\Plugin\Discovery\AttributeDiscoveryWithAnnotations->parseClass() (Line: 84) Drupal\Component\Plugin\Discovery\AttributeClassDiscovery->getDefinitions() (Line: 67) Drupal\Core\Plugin\Discovery\AttributeDiscoveryWithAnnotations->getDefinitions() (Line: 116) Drupal\Core\Entity\EntityTypeManager->findDefinitions() (Line: 213) Drupal\Core\Plugin\DefaultPluginManager->getDefinitions() (Line: 22) Drupal\Core\Plugin\DefaultPluginManager->getDefinition() (Line: 132) Drupal\Core\Entity\EntityTypeManager->getDefinition() (Line: 257) Drupal\Core\Entity\EntityTypeManager->getHandler() (Line: 192) Drupal\Core\Entity\EntityTypeManager->getStorage() (Line: 182) Drupal\Core\Entity\EntityRepository->getCanonicalMultiple() (Line: 175) Drupal\Core\Entity\EntityRepository->getCanonical() (Line: 134) Drupal\Core\ParamConverter\EntityConverter->convert() (Line: 100) Drupal\Core\ParamConverter\ParamConverterManager->convert() (Line: 45) Drupal\Core\Routing\Enhancer\ParamConversionEnhancer->enhance() (Line: 244) Drupal\Core\Routing\Router->applyRouteEnhancers() (Line: 124) Drupal\Core\Routing\Router->matchRequest() (Line: 89) Drupal\Core\Routing\AccessAwareRouter->matchRequest() (Line: 101) Symfony\Component\HttpKernel\EventListener\RouterListener->onKernelRequest() (Line: 246) Symfony\Component\EventDispatcher\EventDispatcher::{closure:Symfony\Component\EventDispatcher\EventDispatcher::optimizeListeners():241}() (Line: 206) Symfony\Component\EventDispatcher\EventDispatcher->callListeners() (Line: 56) Symfony\Component\EventDispatcher\EventDispatcher->dispatch() (Line: 159) Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 76) Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 53) Drupal\Core\StackMiddleware\Session->handle() (Line: 48) Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 28) Drupal\Core\StackMiddleware\ContentLength->handle() (Line: 201) Drupal\page_cache\StackMiddleware\PageCache->fetch() (Line: 138) Drupal\page_cache\StackMiddleware\PageCache->lookup() (Line: 87) Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 48) Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51) Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 36) Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 51) Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 709) Drupal\Core\DrupalKernel->handle() (Line: 19)
Deprecated function: Drupal\xmlsitemap\XmlSitemapStorage::doLoadMultiple(): Implicitly marking parameter $ids as nullable is deprecated, the explicit nullable type must be used instead in include() (line 582 of /var/www/ms/vendor/composer/ClassLoader.php).
include() (Line: 582) {closure:Composer\Autoload\ClassLoader::initializeIncludeClosure():581}() (Line: 433) Composer\Autoload\ClassLoader->loadClass() is_a() (Line: 143) Drupal\Core\Config\Entity\ConfigEntityType->checkStorageClass() (Line: 350) Drupal\Core\Entity\EntityType->__construct() (Line: 69) Drupal\Core\Config\Entity\ConfigEntityType->__construct() (Line: 60) Drupal\Core\Entity\Annotation\EntityType->get() (Line: 37) Drupal\Core\Entity\Annotation\ConfigEntityType->get() (Line: 90) Drupal\Core\Plugin\Discovery\AttributeDiscoveryWithAnnotations->parseClass() (Line: 84) Drupal\Component\Plugin\Discovery\AttributeClassDiscovery->getDefinitions() (Line: 67) Drupal\Core\Plugin\Discovery\AttributeDiscoveryWithAnnotations->getDefinitions() (Line: 116) Drupal\Core\Entity\EntityTypeManager->findDefinitions() (Line: 213) Drupal\Core\Plugin\DefaultPluginManager->getDefinitions() (Line: 22) Drupal\Core\Plugin\DefaultPluginManager->getDefinition() (Line: 132) Drupal\Core\Entity\EntityTypeManager->getDefinition() (Line: 257) Drupal\Core\Entity\EntityTypeManager->getHandler() (Line: 192) Drupal\Core\Entity\EntityTypeManager->getStorage() (Line: 182) Drupal\Core\Entity\EntityRepository->getCanonicalMultiple() (Line: 175) Drupal\Core\Entity\EntityRepository->getCanonical() (Line: 134) Drupal\Core\ParamConverter\EntityConverter->convert() (Line: 100) Drupal\Core\ParamConverter\ParamConverterManager->convert() (Line: 45) Drupal\Core\Routing\Enhancer\ParamConversionEnhancer->enhance() (Line: 244) Drupal\Core\Routing\Router->applyRouteEnhancers() (Line: 124) Drupal\Core\Routing\Router->matchRequest() (Line: 89) Drupal\Core\Routing\AccessAwareRouter->matchRequest() (Line: 101) Symfony\Component\HttpKernel\EventListener\RouterListener->onKernelRequest() (Line: 246) Symfony\Component\EventDispatcher\EventDispatcher::{closure:Symfony\Component\EventDispatcher\EventDispatcher::optimizeListeners():241}() (Line: 206) Symfony\Component\EventDispatcher\EventDispatcher->callListeners() (Line: 56) Symfony\Component\EventDispatcher\EventDispatcher->dispatch() (Line: 159) Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 76) Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 53) Drupal\Core\StackMiddleware\Session->handle() (Line: 48) Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 28) Drupal\Core\StackMiddleware\ContentLength->handle() (Line: 201) Drupal\page_cache\StackMiddleware\PageCache->fetch() (Line: 138) Drupal\page_cache\StackMiddleware\PageCache->lookup() (Line: 87) Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 48) Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51) Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 36) Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 51) Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 709) Drupal\Core\DrupalKernel->handle() (Line: 19)
Deprecated function: Drupal\xmlsitemap\Entity\XmlSitemap::loadByContext(): Implicitly marking parameter $context as nullable is deprecated, the explicit nullable type must be used instead in include() (line 582 of /var/www/ms/vendor/composer/ClassLoader.php).
include() (Line: 582) {closure:Composer\Autoload\ClassLoader::initializeIncludeClosure():581}() (Line: 433) Composer\Autoload\ClassLoader->loadClass() is_subclass_of() (Line: 471) Drupal\Core\Entity\EntityType->entityClassImplements() (Line: 355) Drupal\Core\Entity\EntityType->__construct() (Line: 69) Drupal\Core\Config\Entity\ConfigEntityType->__construct() (Line: 60) Drupal\Core\Entity\Annotation\EntityType->get() (Line: 37) Drupal\Core\Entity\Annotation\ConfigEntityType->get() (Line: 90) Drupal\Core\Plugin\Discovery\AttributeDiscoveryWithAnnotations->parseClass() (Line: 84) Drupal\Component\Plugin\Discovery\AttributeClassDiscovery->getDefinitions() (Line: 67) Drupal\Core\Plugin\Discovery\AttributeDiscoveryWithAnnotations->getDefinitions() (Line: 116) Drupal\Core\Entity\EntityTypeManager->findDefinitions() (Line: 213) Drupal\Core\Plugin\DefaultPluginManager->getDefinitions() (Line: 22) Drupal\Core\Plugin\DefaultPluginManager->getDefinition() (Line: 132) Drupal\Core\Entity\EntityTypeManager->getDefinition() (Line: 257) Drupal\Core\Entity\EntityTypeManager->getHandler() (Line: 192) Drupal\Core\Entity\EntityTypeManager->getStorage() (Line: 182) Drupal\Core\Entity\EntityRepository->getCanonicalMultiple() (Line: 175) Drupal\Core\Entity\EntityRepository->getCanonical() (Line: 134) Drupal\Core\ParamConverter\EntityConverter->convert() (Line: 100) Drupal\Core\ParamConverter\ParamConverterManager->convert() (Line: 45) Drupal\Core\Routing\Enhancer\ParamConversionEnhancer->enhance() (Line: 244) Drupal\Core\Routing\Router->applyRouteEnhancers() (Line: 124) Drupal\Core\Routing\Router->matchRequest() (Line: 89) Drupal\Core\Routing\AccessAwareRouter->matchRequest() (Line: 101) Symfony\Component\HttpKernel\EventListener\RouterListener->onKernelRequest() (Line: 246) Symfony\Component\EventDispatcher\EventDispatcher::{closure:Symfony\Component\EventDispatcher\EventDispatcher::optimizeListeners():241}() (Line: 206) Symfony\Component\EventDispatcher\EventDispatcher->callListeners() (Line: 56) Symfony\Component\EventDispatcher\EventDispatcher->dispatch() (Line: 159) Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 76) Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 53) Drupal\Core\StackMiddleware\Session->handle() (Line: 48) Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 28) Drupal\Core\StackMiddleware\ContentLength->handle() (Line: 201) Drupal\page_cache\StackMiddleware\PageCache->fetch() (Line: 138) Drupal\page_cache\StackMiddleware\PageCache->lookup() (Line: 87) Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 48) Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51) Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 36) Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 51) Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 709) Drupal\Core\DrupalKernel->handle() (Line: 19)
Deprecated function: Drupal\xmlsitemap\XmlSitemapInterface::loadByContext(): Implicitly marking parameter $context as nullable is deprecated, the explicit nullable type must be used instead in include() (line 582 of /var/www/ms/vendor/composer/ClassLoader.php).
include() (Line: 582) {closure:Composer\Autoload\ClassLoader::initializeIncludeClosure():581}() (Line: 433) Composer\Autoload\ClassLoader->loadClass() (Line: 41) include() (Line: 582) {closure:Composer\Autoload\ClassLoader::initializeIncludeClosure():581}() (Line: 433) Composer\Autoload\ClassLoader->loadClass() is_subclass_of() (Line: 471) Drupal\Core\Entity\EntityType->entityClassImplements() (Line: 355) Drupal\Core\Entity\EntityType->__construct() (Line: 69) Drupal\Core\Config\Entity\ConfigEntityType->__construct() (Line: 60) Drupal\Core\Entity\Annotation\EntityType->get() (Line: 37) Drupal\Core\Entity\Annotation\ConfigEntityType->get() (Line: 90) Drupal\Core\Plugin\Discovery\AttributeDiscoveryWithAnnotations->parseClass() (Line: 84) Drupal\Component\Plugin\Discovery\AttributeClassDiscovery->getDefinitions() (Line: 67) Drupal\Core\Plugin\Discovery\AttributeDiscoveryWithAnnotations->getDefinitions() (Line: 116) Drupal\Core\Entity\EntityTypeManager->findDefinitions() (Line: 213) Drupal\Core\Plugin\DefaultPluginManager->getDefinitions() (Line: 22) Drupal\Core\Plugin\DefaultPluginManager->getDefinition() (Line: 132) Drupal\Core\Entity\EntityTypeManager->getDefinition() (Line: 257) Drupal\Core\Entity\EntityTypeManager->getHandler() (Line: 192) Drupal\Core\Entity\EntityTypeManager->getStorage() (Line: 182) Drupal\Core\Entity\EntityRepository->getCanonicalMultiple() (Line: 175) Drupal\Core\Entity\EntityRepository->getCanonical() (Line: 134) Drupal\Core\ParamConverter\EntityConverter->convert() (Line: 100) Drupal\Core\ParamConverter\ParamConverterManager->convert() (Line: 45) Drupal\Core\Routing\Enhancer\ParamConversionEnhancer->enhance() (Line: 244) Drupal\Core\Routing\Router->applyRouteEnhancers() (Line: 124) Drupal\Core\Routing\Router->matchRequest() (Line: 89) Drupal\Core\Routing\AccessAwareRouter->matchRequest() (Line: 101) Symfony\Component\HttpKernel\EventListener\RouterListener->onKernelRequest() (Line: 246) Symfony\Component\EventDispatcher\EventDispatcher::{closure:Symfony\Component\EventDispatcher\EventDispatcher::optimizeListeners():241}() (Line: 206) Symfony\Component\EventDispatcher\EventDispatcher->callListeners() (Line: 56) Symfony\Component\EventDispatcher\EventDispatcher->dispatch() (Line: 159) Symfony\Component\HttpKernel\HttpKernel->handleRaw() (Line: 76) Symfony\Component\HttpKernel\HttpKernel->handle() (Line: 53) Drupal\Core\StackMiddleware\Session->handle() (Line: 48) Drupal\Core\StackMiddleware\KernelPreHandle->handle() (Line: 28) Drupal\Core\StackMiddleware\ContentLength->handle() (Line: 201) Drupal\page_cache\StackMiddleware\PageCache->fetch() (Line: 138) Drupal\page_cache\StackMiddleware\PageCache->lookup() (Line: 87) Drupal\page_cache\StackMiddleware\PageCache->handle() (Line: 48) Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle() (Line: 51) Drupal\Core\StackMiddleware\NegotiationMiddleware->handle() (Line: 36) Drupal\Core\StackMiddleware\AjaxPageState->handle() (Line: 51) Drupal\Core\StackMiddleware\StackedHttpKernel->handle() (Line: 709) Drupal\Core\DrupalKernel->handle() (Line: 19)
Just because the US is on a military rampage does not mean Britain must join in
We’re in grave danger of walking over the cliff edge into World War III, warns DIANE ABBOTT MP

THE declaration that the US will continue to bomb Yemen means that the Biden administration has effectively declared war on the Houthis, who now control the country.
The British government’s parroting of this line of course means that we too are now effectively at war. In addition, this government has let the world know that any reckless adventure that the US initiates, British armed forces will put at their disposal too.
The conflict is part of the wider regional military struggle going on, with Gaza as the centrepiece. It is ludicrous for Western politicians to claim that action in the Red Sea and against Yemen are completely divorced from the onslaught in Gaza.
More from this author

DIANE ABBOTT MP points out the false premises used by Rachel Reeves in the Spring Statement

With young people, the disabled and the elderly in Labour’s sights as ‘easy targets’ for cuts, the labour movement must remember it’s in the vital interests of us all to defend the groups being picked off, writes DIANE ABBOTT MP

As European leaders compete to increase military spending while threatening welfare cuts, the burden will fall disproportionately on working people and minority communities, warns DIANE ABBOTT MP

Dangerous and delusional military posturing on the world stage does not serve the interests of the public among the European powers, nor the people of Ukraine, writes DIANE ABBOTT