*** ## description: Archived release notes for release 3.x # Release 3.x #### Links to 3.x Documentation [**3.6.1**](https://docs.omnisci.com/v3.6.1) | [**3.6.0**](https://docs.omnisci.com/v3.6.0) | [**3.5.0**](https://docs.omnisci.com/v3.5.0)[ | **3.4.0**](https://docs.omnisci.com/v3.4.0) | [**3.3.1**](https://docs.omnisci.com/v3.3.1) | [**3.3.0**](https://docs.omnisci.com/v3.3.0) | [**3.2.4**](https://docs.omnisci.com/v3.2.4) | [**3.2.3**](https://docs.omnisci.com/v3.2.3) | [**3.2.2**](https://docs.omnisci.com/v3.2.2)[ | **3.2.1**](https://docs.omnisci.com/v3.2.1) | [**3.2.0**](https://docs.omnisci.com/v3.2.0) | [**3.1.3**](https://docs.omnisci.com/v3.1.3) | [**3.1.2**](https://docs.omnisci.com/v3.1.2) | [**3.1.1**](https://docs.omnisci.com/v3.1.1) | [**3.1.0.1**](https://docs.omnisci.com/v3.1.0.1) | [**3.1.0**](https://docs.omnisci.com/v3.1.0) | [**3.0.0**](https://docs.omnisci.com/v3.0.0) ## 3.6.1 - April 13, 2018 ### MapD Core **New** * Data detection to files imported from S3 **Fixed** * Multiple fixes and performance improvements to S3 Import to support MapD Cloud * Improved handling of networked file systems, including EFS * Fix memory leak with certain style of select query ### MapD Core Rendering Engine **Fixed** * Improved multi-GPU/multilayer rendering compositing ### MapD Immerse **New** * New user interface for loading data to MapD from Amazon S3 **Fixed** * Fixed an issue with MultiPolygon geoJSON parsing bounds (Choropleth). ## **3.6.0** - March 13, 2018 ### MapD Core **New** * Enable sharding for (left-deep) outer joins * Added bulkUpdate support for JDBC to support Pentaho * Significant performance improvement on string comparisons from using std::sort **Fixed** * Several fixes to auto-completion * Fix to avoid dictionary collisions in multiple databases * export\_dashboard works with spaces in dashboard name * Multiple fixes to significantly improve accuracy and performance on APPROX COUNT DISTINCT, for large cardinalities * Fix issue for filter pushdown into expression range calculation when filter results in empty set * Fix broken view from changed underlying tables * ROLLBACK on connection failure with Dictionary server * Revised TColumn->Datum conversion to fix slow selects of array columns ### MapD Core Rendering Engine **New** * Supports spatial projections in Vega. * Supports running MapD Core in CPU-only mode (with CUDA disabled) with backend rendering enabled if a GPU is available. Requires OpenGL 4.6 or higher. * Add `opacity`, `fillOpacity`, and `strokeOpacity` properties to marks so that opacity can be controlled independently of the `fillColor` and `strokeColor` literals. ### MapD Immerse **New** * A new Bar/Line combo chart supports multiple measures. This is currently a BETA feature. * You can export chart data as a CSV file for all frontend-rendered charts. **Fixed** * Filtering on timechart with histogram hangs Immerse. * Chart dimension/measurements requirement and logo disappears when hovering. * Text partially cut off in color Legend Item field when hovering. * An Immerse error occurs when dashboard data takes longer to refresh than the auto-refresh time period set in the dashboard. * Scatter plots could render two charts on top of one another. ## **3.5.0** - February 21, 2018 ### MapD Core **New** * S3 Import: `COPY FROM` now supports directly loading data files (including compressed formats supported in release 3.4) from S3 buckets. * `KafkaImporter`: MapD can now read delimited rows from Kafka topics using the efficient binary columnar load path. * `StreamImporter`: New utility with improved streaming reads for data load, using binary columnar load path. * Outer join performance improvements. * Autocomplete support in `mapdql` based on new `get_completion_hints` Thrift call **Fixed** * Multiple issues related to race conditions causing metadata corruption during simultaneous load and query of capped collections * Multiple JDBC-related issues, including missing checkpoints on bulk distributed loads and reporting correct JDBC versions * Edge case of filter qual pushdown causing negative cardinality estimation * Enabled use of hardware accelerated atomics for double-precision aggregates on Volta GPUs * Better exception handling of arrays in shapefile metadata * Fixed exception thrown on `DROP...IF NOT EXISTS` * Better error reporting if string dictionary paths not found at startup * `startmapd` now passes `--config` to `mapd_web_server` * mapdql: fix LineNoise memory leak * mapdql: Various error handling improvements ### MapD Core Rendering Engine **New** * Significant performance improvements in rendering datasets with large numbers of polygons **Fixed** * Better handling of bad data in shapefiles ### MapD Immerse **New** * SQL Editor now includes autocomplete and syntax highlighting. * Scatter Plot and Geo Pointmap charts now support aggregations. * Immerse now allows adding additional Mapbox basemap styles and third party map tiles * Community Edition EULA is updated. **Fixed** * Skinny histogram charts when using date or time extracts. * Immerse hangs when editing a chart, with the error message “Cannot read property timeBin of null”. * Y-Axis has repeating numbers. * Range chart disappears on clearing color dimension. * Unable to add second layer in multilayer chart on Firefox. * Unable to load chart after adding second multilayer in Geo Heatmap chart on Firefox. * `SUM` aggregation for measures in Geo Heatmap chart should not return `COUNT`. * Changing map style before selecting a source prevents selecting source and breaks the Dashboard button. * Extract binning does not work on timestamp. * Empty popups in Pointmap chart. * Dashboards with large number of filters generate bad sql and fail to reload ## **3.4.0** - January 16, 2018 ### MapD Core **New** * COPY FROM command supports input files compressed with tar, zip, rar, gzip, bzip2, and tgz. * DATE\_TRUNC and EXTRACT of YEAR, QUARTER and MONTH are 3-5x faster executing on GPU. * Loading of dictionary-encoded data is 15-30% faster. * “Top K” queries using LIMIT k OFFSET n with k+n \< 1000 are optimized to run using k+n memory per GPU and in linear time; not yet enabled for distributed queries. * Allow simple predicates to be used in calculation of expression ranges. This allows for faster GROUP BY when binning by timestamp or numeric expressions if a narrow filter is applied on the same column. * Allow simple predicates with simple casts to be used for skipping fragments. * New initialize “-i” file option is added to SQLImporter. * Add get\_completion\_hints thrift call to enable friendlier SQL clients. * Add deallocate\_df thrift call to deallocate an unused data frame. * Add thrift calls (and mapdql support) for get\_tables, get\_views, and get\_physical\_tables. * Speed up t and d in mapdql by requesting only the required metadata. * Add –help-advanced option to mapd\_server. * Add thrift calls to set/get table epochs by name. **Fixed** * Address issue where LDAP parameters cause mapd\_web\_server to fail to start by allowing passing LDAP parameters enclosed in double quotes. * Pushdown simple predicates containing casts of TIMESTAMP and INTs into expression range and fragment skip calculations. * Fix issues with operand nullability for time comparisons. * Fix crash on outer cross join. * Add thrift and mapdql commands for get\_hardware\_info (missing in mapdql help). * Fix possibly nondeterministic result of left outer join. * Sink boolean expression in a projection to its reference in the condition. * Start distributed loads at random leaf to better balance over all nodes. * Allow export/import of Immerse dashboards with spaces in the name. * Change default pagesize from 1M to 2M, add version\_num to table metadata. * Recognize and use shared encoding dictionary with IN subqueries, resulting in better performance when inner and outer query use the same dictionary. * Support DECIMAL and NUMERIC for load\_table\_binary\_columnar; improve errors * Fix equi-join on dictionary-encoded columns without shared dictionaries. * Upgrade to JDBC 4.0. * Fix processing of spaces on JDBC inserts. * Return correct count of inserted rows in JDBC executeBatch. * Allow URL format in JDBC driver spec as [jdbc:mapd:/](jdbc:mapd:)/\. * Fix JDBC DatabaseMetaData to return MapD version, set JDBC driver version. * Fix conversion BOOLEAN to LONG for better Hive support in SQLImporter. * Fix handling of NULL doubles in SQLImporter. ### MapD Core Rendering Engine **New** * Multi-thread filling poly and aggregate query render giveing a 2-4x performance improvement. * Performance of line rendering has been improved by 25% - 50% * Performance of polygon rendering is significantly faster for large data sets * New command-line option “render-poly-cache-bytes” is added to MapDServer (default 300M). * Allow threshold scale to be used with symbol shape property in Vega render spec. **Fixed** * Rendering deals more gracefully with malformed polygons. If simple triangulation fails, a proxy geom will be used in its place. It will first try using a Ramer-Douglas-Peucker simplification algorithm, next will will try to generate a convex hull, and throw an error only if this also fails. * Addresses issue when the only difference between successive render\_vega queries is a change between projection and aggregation. * Address issue where Rendering a poly table for the first time with a filtered query crashes server. * Mostly address GL\_FRAMEBUFFER\_UNSUPPORTED error seen on some older Cuda drivers on Centos. * Fix issue when a multi-GPU non-accumulation render is followed by a single-GPU accumulation render. * Always cache non-in-situ renders for get\_result\_row\_for\_pixel hit testing. ### MapD Immerse **New** * Dashboards can reference multiple data sources. * Geo charts can incorporate multiple layers. * Dashboards can be configured to auto-refresh on a set time interval. * New menu items in Community Edition have been added under Help to request a trial license and manage trial license keys. * Four new Base Map Themes have been added: Odyssey, Vintage, Decimal, and North Star. * Shape selection now is allowed in point maps and scatterplot charts. * A new Top Level menu - Data Manager - has been added. **Fixed** * Immerse now allows highlighting and copying a field in a table chart without inadvertently applying a filter. * Text Widget can now save text on Internet Explorer 11. ## **3.3.1** - November 8, 2017 ### MapD Core **New** * Add initialize file option to SQLImporter * Add thrift apis and mapdql comands for reporting on role/user privileges **Fixed** * Fix handling of NULL in loading doubles with SQLImporter * Add export/import dashboard commands to mapdql help * Fix precision for output of decimal to file * Fixed nulls first/last sorting for distributed * Rollback failed table copy from * Reduce checkpoints to once per load, locking table to limit to one concurrent update * Apply reverse distribution to logical arguments * Add optional error percentage argument to APPROX\_COUNT\_DISTINCT * Move SQL importer to binary columnar format for better performance * Upgrade SQL parser to Calcite 1.14 **Dependencies** * Now requiring Java Runtime Environment (JRE) version 1.8 or higher ### MapD Core Rendering Engine **Fixed** * Fix to reduce GL\_FRAMEBUFFER\_UNSUPPORTED when running older CUDA drivers on CentOS * Fix to render thread shutdown * Fix to error code on framebuffer error * Address mark property update issue when the only thing changing between render calls is sql and render property * Add multijoin and left deep inner join to table scan for rendering ### MapD Immerse **New** * Add nulls sort first/last to table sort **Fixed** * Fix for exception raised when switching from geoheatmap to other chart type * Fix to row and pie chart to set minimum number of groups to one instead of zero * Allow SQL editor to accept SQL statements starting using WITH table expression ## **3.3.0** - October 26, 2017 ### MapD Core **New** * Improve support for left-deep joins to allow joins of large numbers of tables * Automatically reorder tables in a query by row count * Allow encoding dictionaries to be shared among multiple columns in the same table * Add new mapdql commands to export/import Immerse dashboard definitions * Remove the limit on the number of simultaneous connections **Fixed** * Allow object level privileges against multiple databases, still under trial flag * Throw an error if two operands of IN operator don’t have matching types * Allow empty IN operands * Add nested loop code to code generation * Initial pass at internal catalog functions for viewing object privileges * Fix jdbc to not ignore substitution parameter at the end of a query * Add at\_most\_n parameter to thrift sql\_execute endpoint * Fix to join of a column against an expression * Fix for possible CPU heap corruption after memory starvation * Improve error messages on file operation failure ### MapD Core Rendering Engine **New** * Run all render commands on a dedicated thread, removing connection limit * Add line mark rendering type ### MapD Immerse **New** * Additional GTM tagging has been included * Improved error reporting on failure to load a dashboard * User logout moved to dropdown by navigation bar, count widget moved under dashboard header **Fixed** * In SQL Editor, fixed issue with scrolling ## **3.2.4** - October 6, 2017 ### MapD Core **New** * Add Thrift call load\_binary\_table\_arrow for Arrow columnar import **Fixed** * Fix loading of DECIMAL string with leading decimal point * Create object security tables if feature is enabled * Fix to checkpoint creation on epoch-based table rollback * Read fragment metadata in parallel * Parallelize cold start reload of string dictionary * Fix table rollback by epoch * Fix DECIMAL import for values between -1 and 0 ### MapD Core Rendering Engine **New** * Support rendering of aggregate and projection queries for distributed configuration * Enable rendering where number of render GPU’s is less than query execution GPUs **Fixed** * Fix logging of rendering calls ### MapD Immerse **New** * For Community Edition, added link to the \[Community Forum]\([https://community.mapd.com](https://community.mapd.com/)) under Help **Fixed** * Fixed an issue where a line chart filter could not be removed * Fixed an issue with old crossfilter instance preventing opening a new dashboard * Fixed an issue where exceptions/errors prevented histogram and line charts to reload * Fixed an issue with multi-series line chart filter icon not disappearing * Fixed an issue creating a numerical binned multi-series line chart * Fixed an issue where reverting edits on a line chart resulted in error ## **3.2.3** - September 22, 2017 ### MapD Core **New** * Add support for object privileges, not enabled by default * Add Thrift call for load\_table\_binary\_columnar * Update EULA text **Fixed** * Add basic lock protection for drop and truncate table * Fix potential incorrect result for filtered outer join queries * Fix to improve precision in decimal arithmetic * Optimize queries with combinations of equality and null * Fix possible crash on sort of empty result * Fix to bulk import related to decimal scale * Round when reducing decimal scale on import * Write temporary install files to temp directory * Save sample data sets to temp directory during install to reduce required privs * Fix to command line options while inserting sample data * Fix to limit pushdown with offset * Allow case insensitive boolean literals on import * Fix range checking for fixed width encoded strings * Fix possible segfault on outer non-equijoin on string * Fix for distributed query with grouped sort and offset * Fix for null handling in top k queries on a single-fragment table * Fix for self-join query * Fix for possible error on query with empty ranges of type double * Fix join on fixed encoding dictionary columns with nulls * Enable HA in build of MapD Enterprise Edition ### MapD Core Rendering Engine **Fixed** * Fix for multi-layer rendering in distributed configurations * Improve support for ordinal scales when domain count exceeds range count * Fix for floating point issues with heat map hex binning * Fix for multi-layer rendering with 1 or more accumulation layers ### MapD Immerse **New** * Update EULA text * Added Google Tag Manager for product usage tracking ## **3.2.2** - September 9, 2017 ### MapD Core **New** * Equi-joins between expressions and columns are now supported * Joins on time and date are now supported * Non-grouped projected top-k queries of form `order by col limit n` are now executed more efficiently * Performance improvement for grouped top-k queries on sharded tables **Fixed** * Fix for projection query with order by a float column not used in a filter * Fix for null pointer exception in `PreparedStatement` ([https://github.com/mapd/mapd-core/pull/53](https://github.com/mapd/mapd-core/pull/53)) * Fixes for conditions of potential arithmetic overflow * Fix for segfault on natural join, or join explicitly including rowid * Gracefully return exception on scalar subquery returning text * Fix for failure to execute join query against an empty table * Fix for failure to execute a query with parenthesis around ilike condition * Fix to enable some cases of reordering joined tables improve performance ### MapD Core Rendering Engine **New** * Symbols now work with multi-layer rendering * Add support for GPU rendering with EGL on IBM Power **Fixed** * Fix blend accumulator type mismatch bug * Issue resolved for potential crash with geo-heatmap render * Various vega symbol update issues ### MapD Immerse **New** * New chart type : Text Widget * Alias for custom measures and custom dimensions * Geo heatmap (available on single node only) **Fixed** * Range chart is now OFF by default * “Back to Dashboard” link is now aligned on browser resize ## **3.2.1** - August 25, 2017 ### MapD Core **New** * allow group by floating point column, even if watchdog is enabled * allow one-to-many join on multiple columns **Fixed** * fix for overflow detection for fixed encoding dictionary entry creation * disallow multi-node export, for now * fix for subquery with a CASE statement inside a derived table returning a non-grouped column * explicitly disallow LIMIT 0 * fix for query with sort on a dictionary encoded field containing null values * add progressive backoff to mapdql connect retries and limit retries ### MapD Core Rendering Engine **New** * enable multi-sampling for smoother rendering **Fixed** * Use correct cuda context index during EGL compositing * Fixing active gl context bug during distributed rendering ### MapD Immerse **New** * Allow switching between donut and pie chart styles for pie chart * Top level Help has one new menu item for Immerse tutorials * Declining EULA in community edition disconnects user * Default aggregation on time unit measures is MAX **Fixed** * Fixed spinner on incorrect custom dimension expression * Fix for switching series dimension in a line chart or histogram to reflect new dimension * Number chart no longer exposes show range chart toggle * Fixed isue with histogram range bar width * Multi-series range chart colors are no longer reset when range chart is toggled off/on ## **3.2.0** - August 17, 2017 ### MapD Core **New** * Tables now can be sharded by a numeric or dictionary encoded column * Dictionaries for encoded columns can be shared across multiple tables * Multi-column join is allowed provided combination of columns yields a unique join key * Tables can be joined on columns of type BIGINT, provided the column yields a unique join key * Join now allows the one-to-many case, with uniqueness in the outer table * TRUNCATE TABLE command is now supported * MapD startup has an optional parameter for maximum error for APPROX\_COUNT\_DISTINCT * Data import via COPY now reports on specific location of bad data * COPY TO now supports relative path names * MapD Server now defaults to ignore divide by zero **Fixed** * Max string length of 32767 is now enforced * Trailing semicolon is automatically removed from SQL or SQL inside a view * Incorrect result fixed for selecting with a filter from a join view * Incorrect result fixed with LEFT JOIN resulting in a cross join * Fix issue with precision of APPROX\_COUNT\_DISTINCT when running on CPU * Fix issue with join on empty inner table * Fix issue with database.table syntax * Fix for possible race condition in distributed queries causing query hang ### MapD Core Rendering Engine **New** * Improved anti-aliasing using multi-sampling, most noticable stroking polys or symbols \< 2 pixels wide * Allow dictionary-encoded string columns from geo polygon tables to be used as domains in ordinal scales * Added set of new extension functions as helpers for hexagonal headmap binning and rendering * Symbols now can be used in accumulation rendering **Fixed** * Symbols that are both filled and stroked now render in the appropriate oder * Fix issue when using values from a dictionary encoded string column in an ordinal scale when rendering a GROUP BY query * Fix for crash when trying to render a GROUP BY query also sorted with ORDER BY ### MapD Immerse **New** * Top level Help has one additional menu item that displays core version, immerse version and whether backend rendering is enabled. * Dimension lock axes on histogram and line charts. * Range charts for histograms * Stacked histogram charts **Fixed** * Issue with line chart date fields don’t reflect filter dates after clearing filter * Issue where brushing on initialized chart (Range/Line/Histogram) will extend brush filter beyond what is selected * Issue where multiple range charts and focus charts created when changing chart type * Issue where range chart with multi-series changes color of range chart when brushing range * Issue with Time entry box for line chart not applying time filter * Bug where Line chart does not cancel changes when switching from binning to extract and clicking cancel * Multi-series line chart loses color when going to and from SQL editor * Uncaught TypeError - Cannot read property ‘dimensions’ of undefined when creating a line chart ## **3.1.3** - July 27, 2017 ### MapD Core **New** * Improved support for `INTERVAL` data type, and added functions for `TIMESTAMPADD`, `TIMESTAMPDIFF`, `DATEADD`, `DATEDIFF` and `DATEPART`. For example the following two queries can now be run, which would give equivalent results: ``` SELECT TIMESTAMP '2016-02-28 1:23:45' + INTERVAL '24' HOUR SELECT TIMESTAMPADD(HOUR, 24, TIMESTAMP '2016-02-28 1:23:45') ``` **Fixed** * NULL now does not match other values (e.g. another NULL) in hash joins * Crash in cpu mode when a hash join inner table column is all NULLs * Crash when `LIKE` or `REGEXP_LIKE` pattern is not a literal * Problem with loading through aggregator in multi-node setups when table contains non-encoded strings or arrays ### MapD Core Rendering Engine **Fixed** * Bug when using dict-encoded string column as color when rendering a `GROUP BY` query * Crash when using a heatmap query with a `LIMIT` ### MapD Immerse **New** * SQL Editor Reference panel for tables and columns **Fixed** * Issue with Number chart not removing old charts when changing aggregation type ## **3.1.2** - July 19, 2017 ### MapD Core **New** * Division by zero behavior is now configurable via flag `null-div-by-zero`. New installs using `systemd` will default to `true` in their config files, meaning that division by zero returns `null`; existing installs will default to `false`, preserving the existing behavior of throwing a `division by zero` exception. * `round_to_digit(x,y)` function now supported. Rounds `x` to `y` digits. * Dictionary encoded columns may now be specified for the `sql_execute_gpudf` endpoint * Fast versions of statistics functions are now available. Note that these functions might overflow; use single precision float instead of double precision. `STDDEV_FLOAT`, `STDDEV_POP_FLOAT`, `STDDEV_SAMP_FLOAT`, `VARIANCE_FLOAT`, `VAR_POP_FLOAT`, `VAR_SAMP_FLOAT`, `CORRELATION_FLOAT`, `CORR_FLOAT`, `COVAR_POP_FLOAT`, `COVAR_SAMP_FLOAT` * Avoid overflows for most literal arithmetic expressions **Fixed** * Crash with certain join queries when inner table is empty * Incorrect results on order by non-encoded string with filter applied on that column * Incorrect detection of overflow when multiplying decimals with negative numbers * Dictionary folders are now dropped in multi-node setups when tables are dropped * `SUM` and `AVG` overflows for tables with more than 4B rows * Crash on grouped `COUNT(DISTINCT)` in multi-node setups * Crash on join query when column contains all nulls ### MapD Core Rendering Engine **New** * Vega API now supports ability to render non-projection ( `GROUP BY` ) queries * Added new ExtensionFunction `rect_pixel_bin` as a helper for rectangular heatmap binning * New `symbol` vega mark type. Supports circle, square, diamond, cross, triangles, and hexagons * Added support for a new percent accumulation type, which allows a region to be colored based on one category’s percent of all results at that location. **Fixed** * Fix vega update issue when mark property references new data and nothing else changes. ### MapD Immerse **New** * Added Custom SQL Dimension feature, allowing SQL to be used to form dimensions * `STDDEV` now available in UI as an aggregate type * Immerse now displays End User License Agreement when product is accessed for first time from Community Edition **Fixed** * Issue with pointmap and scatterplot charts, where chart image is larger than the chart widget size * Issue with widgets shifting on dashboard after changing browser window size then restoring to original size * Issue when using custom measure on Scatterplot chart * Values between -1 and 1 now display in a typical decimal format rather than with “m” abbreviation * Incorrect behavior for points auto-sizing and manual sizing (pointmap and scatterplot) ## **3.1.1** - June 26, 2017 ### MapD Core **New** * Multi-column hash joins now work provided the dimension table has unique composite keys * Loop join is now automatically allowed for inner tables with up to 1,000 rows * Improved performance for `LIKE`/`ILIKE` operations on dictionary-encoded columns * Improved performance for `COUNT(DISTINCT)` and `APPROX_COUNT_DISTINCT` for low cardinalities * Enhanced SQLimporter compatibility and performance with PostgreSQL * StreamInserter now offers `—-quoted` flag which, when set to true, removes any double-quotes in the output **Fixed** * Due to an issue with the current release of glibc on many operating systems, we have moved away from a JNI interface to Calcite to avoid segfaults * Better support for batch JDBC insert (statements are no longer case sensitive) * Fix for possible race condition when using popups on a rendered chart in a distributed system * Import improvements around column detection and reject row summary * Improved error messages around user management commands * Eliminated overflow when comparing integers with high-precision decimals * Now recording rejected rows properly in case of Overflow * Now dropping string dictionaries for `DROP TABLE` in distributed case * Issue with `AVG(float)` when number of records is >2B ### MapD Core Rendering Engine * No notes this release ### MapD Immerse **New** * Chart y-axis height can now be capped using a control on the axis, for example to exclude outliers from view. Data is not filtered from the dataset, but merely excluded from view. * X and Y axes for dc charts can now have their labels edited, allowing for friendly names * SQL editor beta now offers a command-line style interface with query history **Fixed** * No longer incorrectly showing non-encoded strings as available Dimension columns ## **3.1.0.1** - June 22, 2017 This point release addresses an issue introduced in recent version of glibc. JNI fails with a segfault after the operating system had been updated. This release fixes that issue by removing the JNI usage. ## **3.1.0** - June 15, 2017 MapD Core for single-node usage has been open sourced under the Apache 2.0 license ([https://github.com/mapd/mapd-core/blob/master/LICENSE.md](https://github.com/mapd/mapd-core/blob/master/LICENSE.md)). Code available at [https://github.com/mapd/mapd-core](https://github.com/mapd/mapd-core) . EULA at [https://www.mapd.com/legal/](https://www.mapd.com/legal/) ### MapD Core **New** * Initial API support for GOAI consortium ([http://gpuopenanalytics.com/](http://gpuopenanalytics.com/)). New Thrift API endpoint (`sql_execute_gpudf`) creates a query resultset on the GPU in Arrow format and returns a handle. Other GPU kernels can work directly on the data via the returned handle, reducing the data movement normally associated with staged operations. * Improved initial GPU memory load times by more fully utilizing available PCIE bandwidth * Now supporting `COVAR_POP`, `COVAR_SAMP`, `CORR` * Performance for certain complex subqueries, for large `IN` subqueries for multi-node environments, and for `MIN` on a nullable float or int * Float performance improvement on `AVG`/`SUM`/`MIN`/`MAX` aggregates * Multi-way `JOIN` queries now use memory more efficiently **Fixed** * Issue where sorting `GROUP BY` and `AVG` through view of a `JOIN` query returns results in non-sorted order * Problem where in some cases `--allow-cpu-retry` flag would not fall back to CPU * Now correctly returning list of columns for views * Crash on `CREATE TABLE AS SELECT` when `SELECT` statement returns no rows * Incorrect results when doing `MAX` on a float in some cases * Issue with accuracy of results with drawn polygon filters * `AVG` and `SUM` on float now supported on Kepler GPUs * Allow execution on GPUs for queries larger than can fit in GPU memory when `--enable-watchdog` flag is set to false * Further overflow detection for decimal type * Improved precision of numeric on initial load * Reduce data transfer to GPU memory when not required * `COUNT(DISTINCT)` on all `NULL` now returns correct (empty) result ### MapD Core Rendering Engine **New** * Default rendering now done through EGL. No longer dependent on Xorg * Multi-layered points/polygons can now be rendered in multi-node environments * Now using blosc/zstd compression for passing image data between nodes * Accumulation rendering now supported in multi-node environments **Fixed** * Incorrect darkening of color for images with transparent colors composited on multiple GPUs/nodes * Issue with re-initializing counts for accumulation rendering when rendering a new frame * Issue with layers incorrectly persisting from one frame to another when number of layers changes from frame to frame * Problem with EGL compositing in multi-node environments * Error on accumulation rendering when using `POW` scale * Errors with removal of polygons from cache * Bugs when rendering polygons against empty query results * Issue when coloring by dictionary encoded string when string is in inner table of a joined query * Accumulation rendering crash when data from query doesn’t span the compositor’s gpu * Now not throwing error when fill/stroke is turned off between successive render frames * Fixed shader compile issue when updating the data reference for a packed color vega property ### MapD Immerse **New** * Pointmap basemap themes can now be changed * Raster charts can now render with a density color gradient (represents the number of points stacked at each pixel) * Chart axis labels can now be edited **Fixed** * Various issues with the scatter chart ## **3.0.0** - April 26, 2017 * This version introduces a change in the Thrift API which breaks compatibility between 3.0 servers/clients and older servers/clients. Users with custom Thrift clients will need to re-run Thrift to generate the update client libraries. * The deprecated v.1 Immerse is no longer available as of this release. Attempts to access v.1 dashboard links will lead to a 404 message. * To use MapD Core Rendering Engine, CentOS and Redhat users must upgrade to CUDA driver version 375.51 or later. * The `--disable-rendering` flag has been changed to be `--rendering=false` ### MapD Core **New** * Native distributed scale-out capability, allowing deployment of the MapD Core database across a cluster of GPU machines * Native ODBC support, enabling MapD Core to be connected to 3rd party clients * `VARIANCE` `STDDEV_POP`` and ``STDDEV_SAMPLE` * Support for more groups in multi-column `GROUP BY` queries (40m - 60m groups) * Up to 10x performance improvement for `IN` subqueries with many values. Additional small performance improvement for `IN` queries with at most 3 values. * Ability to have 3+ way `JOIN` on a conjunction of equality expressions when each of them is one-to-one * Now offering ability to specify commonly used columns to be loaded from disk at database startup time * Supporting HH:MM time format for file import **Fixed** * Issue where `HAVING IS NOT NULL` wasn’t applied to date extraction/truncation expressions * Issue with 3-way `JOIN using` star schema * Fix import correctness issues when rows are rejected * Issue where non-grouped queries returned incorrect number instead of `NULL` when no rows match for `MAX` / `MIN` aggregates * Issue with potential corruption during overlapping parallel loads to single table * Issue where column metadata for `VIEW`/s would show the term “Explanation” instead of proper metadata ### MapD Core Rendering Engine **New** * Rendering now uses EGL instead of GLX, removing the Xorg requirement **Fixed** * Crash when rendering `JOIN` queries ### MapD Immerse **New** * Dimension axis now dynamically updates during cross-filtering to maintain fine granularity as data ranges get smaller **Fixed** * Issue with Line/Histogram chart where brushing range would extend filter beyond what is selected * Chart spinners, used to indicate network wait time, are now less intrusive and appear/disappear more quickly * Restricting arrays from being selectable as dimensions/measures when not available, and visually indicating them more clearly * Certain problems with handling `NULL` * Certain problems with shape selector tools This [sitemap](https://docs.omnisci.com/latest/sitemap.html) link is for the benefit of the search crawler.