Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FileLinkTracking causes SilverStripe\ORM\DataObject is not a subclass of DataObject Error #540

Open
mlewis-everley opened this issue Feb 11, 2023 · 1 comment

Comments

@mlewis-everley
Copy link

I am getting a really odd issue on a new site I am building. When trying to upload a file or edit a file in the assets panel (or via an UploadField) I get the following error:

ERROR [Emergency]: Uncaught InvalidArgumentException: SilverStripe\ORM\DataObject is not a subclass of DataObject
IN GET /hbg-store/admin/assets/schema/fileEditForm/46
Line 155 in /var/www/html/hbg-store/vendor/silverstripe/framework/src/ORM/DataObjectSchema.php

I am using a recipe I have used before without issue, using a selection of modules I use on a lot of projects. Looking at the stack trace (below) and stepping through the debugger seems to indicate that RecursivePublisher is pushing through a DataObject into a ManyManyThroughList (in relation to FileLinkTracking).

This appears to be happening when trying to check file tracking for the Content field on a CatalogeCategory (https://github.com/silvercommerce/catalogue-admin/blob/1.4/src/Model/CatalogueCategory.php#L90).

The only way I can get rid of the error is remove the FileLinkTracking.owns via _config.php, but I suspect this might cause issues elsewhere in the system?

ERROR [Emergency]: Uncaught InvalidArgumentException: SilverStripe\ORM\DataObject is not a subclass of DataObject
IN GET /hbg-store/admin/assets/schema/fileEditForm/46
Line 155 in /var/www/html/hbg-store/vendor/silverstripe/framework/src/ORM/DataObjectSchema.php

Source
======
  146:     {
  147:         $current = $class;
  148:         while ($next = get_parent_class($current ?? '')) {
  149:             if ($next === DataObject::class) {
  150:                 // Only use ClassInfo::class_name() to format the class if we've not used
       get_parent_class()
  151:                 return ($current === $class) ? ClassInfo::class_name($current) : $current;
  152:             }
  153:             $current = $next;
  154:         }
* 155:         throw new InvalidArgumentException("$class is not a subclass of DataObject");
  156:     }
  157: 
  158:     /**
  159:      * Get the base table
  160:      *
  161:      * @param string|object $class

Trace
=====
SilverStripe\ORM\DataObjectSchema->baseDataClass(SilverStripe\ORM\DataObject)
DataQuery.php:168

SilverStripe\ORM\DataQuery->initialiseQuery()
DataQuery.php:79

SilverStripe\ORM\DataQuery->__construct(SilverStripe\ORM\DataObject)
DataList.php:61

SilverStripe\ORM\DataList->__construct(SilverStripe\ORM\DataObject)
ManyManyThroughList.php:43

SilverStripe\ORM\ManyManyThroughList->__construct(SilverStripe\ORM\DataObject, SilverStripe\Assets\Shortcodes\FileLink, Parent, LinkedID, Array, SilverStripe\Assets\File, SilverCommerce\CatalogueAdmin\Model\CatalogueCategory)
InjectionCreator.php:35

SilverStripe\Core\Injector\InjectionCreator->create(SilverStripe\ORM\ManyManyThroughList, Array)
Injector.php:633

SilverStripe\Core\Injector\Injector->instantiate(Array, SilverStripe\ORM\ManyManyThroughList, prototype)
Injector.php:1045

SilverStripe\Core\Injector\Injector->getNamedService(SilverStripe\ORM\ManyManyThroughList, , Array)
Injector.php:998

SilverStripe\Core\Injector\Injector->get(SilverStripe\ORM\ManyManyThroughList, , Array)
Injector.php:1168

SilverStripe\Core\Injector\Injector->createWithArgs(SilverStripe\ORM\ManyManyThroughList, Array)
Injector.php:1156

SilverStripe\Core\Injector\Injector->create(SilverStripe\ORM\ManyManyThroughList, SilverStripe\ORM\DataObject, SilverStripe\Assets\Shortcodes\FileLink, Parent, LinkedID, Array, SilverStripe\Assets\File, SilverCommerce\CatalogueAdmin\Model\CatalogueCategory)
DataObject.php:2179

SilverStripe\ORM\DataObject->inferReciprocalComponent(SilverCommerce\CatalogueAdmin\Model\CatalogueCategory, FileTracking)
RecursivePublishable.php:238

SilverStripe\Versioned\RecursivePublishable->findOwnersRecursive(, SilverStripe\ORM\ArrayList, Array)
RecursivePublishable.php:208

SilverStripe\Versioned\RecursivePublishable->findOwners()

call_user_func_array(Array, Array)
Extensible.php:144

SilverStripe\View\ViewableData->SilverStripe\Core\{closure}(SilverStripe\Assets\Image, Array)
CustomMethods.php:61

SilverStripe\View\ViewableData->__call(findOwners, Array)
FileFormFactory.php:395

SilverStripe\AssetAdmin\Forms\FileFormFactory->getUnpublishAction(SilverStripe\Assets\Image)
FileFormFactory.php:456

SilverStripe\AssetAdmin\Forms\FileFormFactory->SilverStripe\AssetAdmin\Forms\{closure}(Array, SilverStripe\Assets\Image, , , , , )

call_user_func_array(Closure, Array)
Extensible.php:456

SilverStripe\AssetAdmin\Forms\AssetFormFactory->extend(updatePopoverActions, Array, SilverStripe\Assets\Image, , , , , )
Extensible.php:424

SilverStripe\AssetAdmin\Forms\AssetFormFactory->invokeWithExtensions(updatePopoverActions, Array, SilverStripe\Assets\Image)
AssetFormFactory.php:284

SilverStripe\AssetAdmin\Forms\AssetFormFactory->getPopoverActions(SilverStripe\Assets\Image)
FileFormFactory.php:461

SilverStripe\AssetAdmin\Forms\FileFormFactory->getPopoverActions(SilverStripe\Assets\Image)
AssetFormFactory.php:259

SilverStripe\AssetAdmin\Forms\AssetFormFactory->getPopoverMenu(SilverStripe\Assets\Image)
FileFormFactory.php:308

SilverStripe\AssetAdmin\Forms\FileFormFactory->getFormActions(SilverStripe\AssetAdmin\Controller\AssetAdmin, fileEditForm, Array)
AssetFormFactory.php:78

SilverStripe\AssetAdmin\Forms\AssetFormFactory->getForm(SilverStripe\AssetAdmin\Controller\AssetAdmin, fileEditForm, Array)
ImageFormFactory.php:178

SilverStripe\AssetAdmin\Forms\ImageFormFactory->getForm(SilverStripe\AssetAdmin\Controller\AssetAdmin, fileEditForm, Array)
AssetAdmin.php:769

SilverStripe\AssetAdmin\Controller\AssetAdmin->getAbstractFileForm(46, fileEditForm)
AssetAdmin.php:637

SilverStripe\AssetAdmin\Controller\AssetAdmin->getFileEditForm(46)
LeftAndMain.php:418

SilverStripe\Admin\LeftAndMain->schema(SilverStripe\Control\HTTPRequest)
AssetAdmin.php:903

SilverStripe\AssetAdmin\Controller\AssetAdmin->schema(SilverStripe\Control\HTTPRequest)
RequestHandler.php:323

SilverStripe\Control\RequestHandler->handleAction(SilverStripe\Control\HTTPRequest, schema)
Controller.php:286

SilverStripe\Control\Controller->handleAction(SilverStripe\Control\HTTPRequest, schema)
RequestHandler.php:202

SilverStripe\Control\RequestHandler->handleRequest(SilverStripe\Control\HTTPRequest)
Controller.php:212

SilverStripe\Control\Controller->handleRequest(SilverStripe\Control\HTTPRequest)
LeftAndMain.php:814

SilverStripe\Admin\LeftAndMain->handleRequest(SilverStripe\Control\HTTPRequest)
AdminRootController.php:123

SilverStripe\Admin\AdminRootController->handleRequest(SilverStripe\Control\HTTPRequest)
Director.php:360

SilverStripe\Control\Director->SilverStripe\Control\{closure}(SilverStripe\Control\HTTPRequest)
VersionedHTTPMiddleware.php:41

SilverStripe\Versioned\VersionedHTTPMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)
HTTPMiddlewareAware.php:62

SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)
LoginSessionMiddleware.php:53

SilverStripe\SessionManager\Middleware\LoginSessionMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)
HTTPMiddlewareAware.php:62

SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)
ConfirmationMiddleware.php:254

SilverStripe\Control\Middleware\ConfirmationMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)
HTTPMiddlewareAware.php:62

SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)
ConfirmationMiddleware.php:254

SilverStripe\Control\Middleware\ConfirmationMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)
HTTPMiddlewareAware.php:62

SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)
PasswordExpirationMiddleware.php:84

SilverStripe\Security\PasswordExpirationMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)
HTTPMiddlewareAware.php:62

SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)
BasicAuthMiddleware.php:68

SilverStripe\Security\BasicAuthMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)
HTTPMiddlewareAware.php:62

SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)
AuthenticationMiddleware.php:61

SilverStripe\Security\AuthenticationMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)
HTTPMiddlewareAware.php:62

SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)
ExecMetricMiddleware.php:20

SilverStripe\Control\Middleware\ExecMetricMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)
HTTPMiddlewareAware.php:62

SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)
SearchableMiddleware.php:60

ilateral\SilverStripe\Searchable\Middleware\SearchableMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)
HTTPMiddlewareAware.php:62

SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)
NotificationMiddleware.php:28

ilateral\SilverStripe\Notifier\Middleware\NotificationMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)
HTTPMiddlewareAware.php:62

SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)
CanonicalURLMiddleware.php:190

SilverStripe\Control\Middleware\CanonicalURLMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)
HTTPMiddlewareAware.php:62

SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)
HTTPCacheControlMiddleware.php:42

SilverStripe\Control\Middleware\HTTPCacheControlMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)
HTTPMiddlewareAware.php:62

SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)
ChangeDetectionMiddleware.php:28

SilverStripe\Control\Middleware\ChangeDetectionMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)
HTTPMiddlewareAware.php:62

SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)
FlushMiddleware.php:27

SilverStripe\Control\Middleware\FlushMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)
HTTPMiddlewareAware.php:62

SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)
RequestProcessor.php:67

SilverStripe\Control\RequestProcessor->process(SilverStripe\Control\HTTPRequest, Closure)
HTTPMiddlewareAware.php:62

SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)
SessionMiddleware.php:20

SilverStripe\Control\Middleware\SessionMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)
HTTPMiddlewareAware.php:62

SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)
AllowedHostsMiddleware.php:60

SilverStripe\Control\Middleware\AllowedHostsMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)
HTTPMiddlewareAware.php:62

SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)
TrustedProxyMiddleware.php:176

SilverStripe\Control\Middleware\TrustedProxyMiddleware->process(SilverStripe\Control\HTTPRequest, Closure)
HTTPMiddlewareAware.php:62

SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest)
HTTPMiddlewareAware.php:65

SilverStripe\Control\Director->callMiddleware(SilverStripe\Control\HTTPRequest, Closure)
Director.php:369

SilverStripe\Control\Director->handleRequest(SilverStripe\Control\HTTPRequest)
HTTPApplication.php:117

SilverStripe\Control\HTTPApplication::SilverStripe\Control\{closure}(SilverStripe\Control\HTTPRequest)

call_user_func(Closure, SilverStripe\Control\HTTPRequest)
HTTPApplication.php:136

SilverStripe\Control\HTTPApplication->SilverStripe\Control\{closure}(SilverStripe\Control\HTTPRequest)
HTTPMiddlewareAware.php:65

SilverStripe\Control\HTTPApplication->callMiddleware(SilverStripe\Control\HTTPRequest, Closure)
HTTPApplication.php:137

SilverStripe\Control\HTTPApplication->execute(SilverStripe\Control\HTTPRequest, Closure, )
HTTPApplication.php:116

SilverStripe\Control\HTTPApplication->handle(SilverStripe\Control\HTTPRequest)
index.php:24
@mlewis-everley
Copy link
Author

Just had this issue pop up again on another site. Looks like the same thing

Again I added the following to _config.php

use SilverStripe\Assets\Shortcodes\FileLinkTracking;

Config::modify()->set(
    FileLinkTracking::class,
    'owns',
    []
);

I still cannot track down any more info about what is causing this issue, but I have the following dependencies installed...

axllent/silverstripe-scaled-uploads                 2.3.5                  
bramus/ansi-php                                     3.1                    
bramus/monolog-colored-line-formatter               2.0.3                  
bummzack/sortablefile                               2.2.0                  
clue/stream-filter                                  v1.6.0                 
colymba/gridfield-bulk-editing-tools                dev-master 793a547     
composer/ca-bundle                                  1.3.6                  
composer/installers                                 v1.12.0                
composer/semver                                     3.3.2                  
deployer/deployer                                   v6.6.0                 
deployer/phar-update                                v2.2.0                 
doctrine/deprecations                               v1.1.1                 
doctrine/lexer                                      2.1.0                  
dompdf/dompdf                                       v0.8.6                 
dynamic/silverstripe-link-migrator                  1.0.0-beta1            
egulias/email-validator                             3.2.6                  
embed/embed                                         v4.4.8                 
fractas/cookiepolicy                                2.1.4                  
giggsey/libphonenumber-for-php                      8.13.17                
giggsey/locale                                      2.4                    
gorriecoe/silverstripe-link                         1.4.1                  
gorriecoe/silverstripe-linkfield                    1.1.0                  
guzzlehttp/guzzle                                   7.7.0                  
guzzlehttp/promises                                 2.0.0                  
guzzlehttp/psr7                                     2.5.0                  
heyday/silverstripe-gridfieldversionedorderablerows dev-ss4-upgrade e410b64
heyday/silverstripe-responsive-images               2.0.5                  
hubertusanton/silverstripe-seo                      4.1.2                  
i-lateral/sc-recipe                                 1.1.x-dev b8c6cd9      
i-lateral/silverstripe-carousel                     2.2.0                  
i-lateral/silverstripe-childhubpage                 2.0.4                  
i-lateral/silverstripe-custommenus                  2.1.6                  
i-lateral/silverstripe-dashboard                    1.0.0                  
i-lateral/silverstripe-deferedimages                1.1.4                  
i-lateral/silverstripe-deferedimages-theme          1.0.2                  
i-lateral/silverstripe-featuredimage                1.0.1                  
i-lateral/silverstripe-gallery                      2.2.7                  
i-lateral/silverstripe-gridfield-addons             2.0.6                  
i-lateral/silverstripe-modeladminplus               1.2.5                  
i-lateral/silverstripe-searchable                   3.0.3                  
i-lateral/silverstripe-socialnav                    2.0.2                  
i-lateral/silverstripe-systemmessages               3.1.0                  
i-lateral/silverstripe-testimonials                 4.0.9                  
i-lateral/silverstripe-users                        2.2.2                  
i-lateral/ss4-recipe                                1.x-dev 6bb1c69        
ilateral/silverstripe-bootstrap-4                   1.4.0                  
ilateral/silverstripe-call-to-actions               1.0.1                  
ilateral/silverstripe-fancy-top-nav                 1.5.0                  
ilateral/silverstripe-modern                        1.5.0                  
ilateral/silverstripe-sideswipe-theme               1.0.1                  
intervention/image                                  2.7.2                  
jonom/focuspoint                                    3.1.3                  
jonom/silverstripe-betternavigator                  5.4.1                  
kinglozzer/metatitle                                2.0.5                  
league/csv                                          9.8.0                  
league/flysystem                                    1.1.10                 
league/mime-type-detection                          1.11.0                 
m1/env                                              2.2.0                  
marcj/topsort                                       2.0.0                  
ml/iri                                              1.1.4                  
ml/json-ld                                          1.2.1                  
moneyphp/money                                      v3.3.3                 
monolog/monolog                                     1.27.1                 
nathancox/hasoneautocompletefield                   2.11.0                 
nikic/php-parser                                    v4.16.0                
omnipay/common                                      v3.2.1                 
omnipay/dummy                                       v3.0.0                 
omnipay/manual                                      v3.0.0                 
omnipay/stripe                                      v3.2.0                 
oscarotero/html-parser                              v0.1.7                 
phenx/php-font-lib                                  0.5.4                  
phenx/php-svg-lib                                   0.3.4                  
php-http/discovery                                  1.19.1                 
php-http/guzzle7-adapter                            1.0.0                  
php-http/httplug                                    2.4.0                  
php-http/message                                    1.16.0                 
php-http/message-factory                            1.1.0                  
php-http/promise                                    1.1.0                  
pimple/pimple                                       v3.5.0                 
psr/cache                                           1.0.1                  
psr/container                                       1.1.2                  
psr/event-dispatcher                                1.0.0                  
psr/http-client                                     1.0.2                  
psr/http-factory                                    1.0.2                  
psr/http-message                                    1.1                    
psr/log                                             1.1.4                  
psr/simple-cache                                    1.0.1                  
ralouphie/getallheaders                             3.0.3                  
sabberworm/php-css-parser                           8.4.0                  
sheadawson/silverstripe-linkable                    2.1.1                  
silvercommerce/catalogue-admin                      1.3.9                  
silvercommerce/catalogue-frontend                   1.0.5                  
silvercommerce/checkout                             1.1.5                  
silvercommerce/checkout-agree-to-terms              1.0.0                  
silvercommerce/checkout-special-instructions        1.0.1                  
silvercommerce/contact-admin                        1.3.3                  
silvercommerce/customisable-products                1.1.5                  
silvercommerce/dashboard                            1.0.0                  
silvercommerce/discounts                            2.0.5                  
silvercommerce/downloadable-products                1.0.x-dev ebbabc6      
silvercommerce/geozones                             1.1.1                  
silvercommerce/orders-admin                         1.4.4                  
silvercommerce/postage                              1.2.3                  
silvercommerce/quantityfield                        1.0.1                  
silvercommerce/reports                              1.1.4                  
silvercommerce/settings                             1.0.5                  
silvercommerce/shoppingcart                         1.2.1                  
silvercommerce/silvercommerce-recipe                1.3.x-dev 9697206      
silvercommerce/silvercommerce-theme                 1.2.2                  
silvercommerce/stock                                1.0.2                  
silvercommerce/subsites                             1.0.1                  
silvercommerce/tax-admin                            1.4.0                  
silvercommerce/versionhistoryfield                  1.0.2                  
silvershop/silverstripe-hasonefield                 3.1.0                  
silverstripe/admin                                  1.13.5                 
silverstripe/asset-admin                            1.13.3                 
silverstripe/assets                                 1.13.3                 
silverstripe/blog                                   3.12.2                 
silverstripe/campaign-admin                         1.13.1                 
silverstripe/cms                                    4.13.2                 
silverstripe/config                                 1.6.0                  
silverstripe/errorpage                              1.13.1                 
silverstripe/event-dispatcher                       0.1.3                  
silverstripe/framework                              4.13.13                
silverstripe/graphql                                4.3.1                  
silverstripe/login-forms                            4.9.0                  
silverstripe/lumberjack                             2.3.2                  
silverstripe/mimevalidator                          2.5.0                  
silverstripe/recipe-cms                             4.13.0                 
silverstripe/recipe-core                            4.13.0                 
silverstripe/recipe-form-building                   1.13.0                 
silverstripe/recipe-plugin                          1.7.0                  
silverstripe/redirectedurls                         2.2.0                  
silverstripe/reports                                4.13.1                 
silverstripe/segment-field                          2.8.0                  
silverstripe/session-manager                        1.5.1                  
silverstripe/silverstripe-omnipay                   3.2.1                  
silverstripe/siteconfig                             4.13.1                 
silverstripe/spamprotection                         3.4.1                  
silverstripe/subsites                               2.8.2                  
silverstripe/tagfield                               2.11.1                 
silverstripe/userforms                              5.15.3                 
silverstripe/vendor-plugin                          1.7.0                  
silverstripe/versioned                              1.13.2                 
silverstripe/versioned-admin                        1.13.1                 
silverstripe/widgets                                2.4.0                  
sminnee/callbacklist                                0.1.1                  
sminnee/tagmanager                                  dev-master 80aaede     
swiftmailer/swiftmailer                             v6.3.0                 
symbiote/silverstripe-gridfieldextensions           3.6.3                  
symfony/cache                                       v4.4.48                
symfony/cache-contracts                             v2.5.2                 
symfony/config                                      v4.4.44                
symfony/console                                     v4.2.12                
symfony/contracts                                   v1.1.0                 
symfony/deprecation-contracts                       v2.5.2                 
symfony/event-dispatcher                            v5.4.22                
symfony/event-dispatcher-contracts                  v2.5.2                 
symfony/filesystem                                  v5.4.25                
symfony/finder                                      v4.4.44                
symfony/http-foundation                             v5.4.25                
symfony/polyfill-ctype                              v1.27.0                
symfony/polyfill-iconv                              v1.27.0                
symfony/polyfill-intl-idn                           v1.27.0                
symfony/polyfill-intl-normalizer                    v1.27.0                
symfony/polyfill-mbstring                           v1.27.0                
symfony/polyfill-php72                              v1.27.0                
symfony/polyfill-php73                              v1.27.0                
symfony/polyfill-php80                              v1.27.0                
symfony/polyfill-php81                              v1.27.0                
symfony/process                                     v4.4.44                
symfony/service-contracts                           v2.5.2                 
symfony/translation                                 v4.4.47                
symfony/translation-contracts                       v2.5.2                 
symfony/var-exporter                                v5.4.21                
symfony/yaml                                        v4.4.45                
tractorcow/silverstripe-autocomplete                4.0.0                  
tractorcow/silverstripe-robots                      4.0.2                  
ua-parser/uap-php                                   v3.9.14                
unclecheese/display-logic                           2.0.6                  
undefinedoffset/silverstripe-nocaptcha              2.4.0                  
webonyx/graphql-php                                 v14.11.10              
wildbit/swiftmailer-postmark                        3.4.0                  
wilr/silverstripe-googlesitemaps                    2.2.1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants