Microagent compatibility matrix¶ Sqreen Microagents use multiple dynamic instrumentation points as hooks through which they monitor and collect security metadata in your application. A microagent, therefore, must be compatible with the frameworks, libraries, and web application servers that your application uses. Listed below are the technologies with which each microagent is compatible. Please contact us directly to request support for a technology that you do not see listed. Node.js microagent¶ Compatibility Supported Not supported Operating systems Linux, macOS, Windows - Runtime versions 4.0 and greater - Web frameworks Express 4.0 and greater, hapi 13 - 16 Koa, hapi 17+, Fastify Databases MariaDB, MongoDB, MySQL, PostgreSQL, SQLite, MS SQL Server, Oracle Templating engines Jade - User monitoring passport-local, passport-http, SDK for user monitoring - Ruby microagent¶ Compatibility Supported Deprecated Not supported Operating systems Linux (incl. Alpine), macOS High Sierra - Big Sur, Solaris - Windows CPU architectures x86-64 - Runtimes Ruby 2.0 - 3.0, JRuby 9.2 Ruby 1.9.3 JRuby 9.1 Web frameworks Rack, Rails 3.2 - 6.0, Sinatra 2.x - Rails 2.x - 3.1, Hanami Web app servers Passenger, Puma, Rainbows, Thin, Unicorn, WEBrick - Falcon Databases MariaDB, MongoDB, MySQL, PostgreSQL, SQLite - MS SQL Server, Oracle Templating engines ActionView, ERB, Haml, Slim, Temple - Hamlit User monitoring Devise, SDK for User monitoring - APMs NewRelic, DataDog, Scout, Skylight - APMs For Sqreen 1.20.0 and up, Skylight 5.0.0.beta or up is required. Use Skylight 4.3 or below with Sqreen 1.18. Databases Database support requires Active Record. Compilers Due to the use of native code for performance purposes, a C compiler is required to build Ruby extentions. Due to a syntax incompatibility between Ruby 1.9.3 and 3.0, agent version 1.22 will be the last to support 1.9.3 with preliminary support for 3.0, and agent version 1.23 will drop support for 1.9.3, introducting full support for 3.0. PHP microagent¶ Compatibility Supported Not supported Operating systems Debian 7 - 10, Linux 1.1.0 (Alpine), Enterprise Linux 7 (RedHat, CentOS, Amazon Linux), Ubuntu 14.04+ macOS, Solaris, Windows Runtime versions 5.3 - 5.6, 7.0 - 7.4 - Web frameworks CodeIgniter, Laravel, Symfony, Zend - Databases MongoDB, MySQL, PostgreSQL SQLite, MS SQL Server, Oracle User monitoring SDK for user monitoring - APMs New Relic, Blackfire by Sensiolabs, Datadog - Java microagent¶ Compatibility Supported Not supported Operating systems Linux, macOS, Windows Solaris Runtime versions 1.6 and greater - JVM languages JRuby, Scala, Clojure, Groovy, Kotlin Web frameworks Spring Boot Netty, SparkJava, Play Web app servers GlassFish, JBoss, Jetty, Tomcat, Untertow, WebLogic, WebSphere, WildFly - Databases MariaDB, MongoDB, MySQL, PostgreSQL, Oracle SQLite, MS SQL Server Templating engines FreeMarker 2, JavaServer pages (JSP), Velocity 2, org.codehaus.groovy, GSP on Grails 2 and 3, Thymeleaf 2 and 3 - User monitoring SDK for user monitoring - Oracle Glassfish 5.0 Glassfish 5.0 has a known compatibility issue with Java 8 after update 151, which prevents a proper connection to any external service using SSL/TLS for secure communication. Do not use a version later than update 151. Using JRuby If your app uses JRuby, please email support@sqreen.com for assistance. Go microagent¶ Compatibility Supported Not supported Operating systems Every Go target OS - Runtime versions The last two major Go versions - Web frameworks net/http, echo, gin, gorilla, beego gRPC Databases Every SQL database accessed with database/sql - User monitoring Go SDK for user monitoring - Python microagent¶ Compatibility Supported Not supported Operating systems Linux, macOS 10.14 and 10.15 Solaris, Windows Runtime versions CPython 2.7, and 3.4 - 3.8 JPython, PyPy Web frameworks Django 1.6 and greater, Flask 0.10 and greater, Pyramid 1.6 and greater, aiohttp 2.2, 2.3 and 3.0 - 3.6 (see note below), Pylons Bottle, Tornado, web2py Web app servers chaussette, gunicorn, uWSGI (see note below), waitress, most WSGI-compliant servers ASGI Databases MongoDB, MySQL, PostgreSQL, SQLite MS SQL Server, Oracle Templating engines Django, Jinja2 - User monitoring Django, SDK for user monitoring - aiohttp The aiohttp server must use either the built-in asyncio event loop or the uvloop. uWSGI The Python agent is fully compatible with uWSGI servers. When using uWSGI, you must include several options. Refer to Python microagent compatibility for details.