Skip to content

Changelog

Use this link for EasyQuery.NET changelog.

2026-09-28
  • [New]: When there is no license key, the license dialog tells you if a newer EasyQuery.JS release is available. See The version check without a license key for what is sent and how to turn it off

  • [New]: setAppName and getAppName methods in EqContext class, and the appName option

  • [New]: disableVersionCheck method in EqContext class, and the noVersionCheck option

  • [New]: eqjsVersion and eqjsBaseVersion constants in @easyquery/core

  • [Upd]: The x-eqjs-version request header now follows the library version (without any prerelease suffix) instead of a fixed value

2026-09-23
  • [New]: Column resizing in the result grid. Column widths are remembered in the browser by default; to keep them elsewhere, implement the ColumnWidthStore interface and pass it through the columnWidthStoreResolver option (columnWidthStoreOptions sets the storage key prefix)

  • [New]: Sorting by column headers in the result grid. When the fetch for a new sort order fails, the query’s previous sorting is restored and the grid is not re-rendered

  • [New]: autoFillColumns option in DataFilterView (on by default): an empty query is filled with the root entity’s attributes once the model is loaded, so sorting and column widths work in data filtering too. Set it to false to get the previous behavior

  • [New]: fillColumnsWithRootAttributes method in Query class

  • [New]: ColumnsPanel, EntitiesPanel and SortingBar widgets accept a custom query in their constructor

  • [Upd]: The ChartJS widget supports Chart.js 3.x and 4.x. Before, the Bar chart failed with “horizontalBar is not a registered controller” on anything newer than 2.x

  • [Upd]: Requires EasyData 1.6.0 (@easydata/core and @easydata/ui)

  • [Fix]: A popup menu scrolled the page, or jumped to the top of the viewport, when the page was scrolled

  • [Fix]: The useMaxSpace option of popup menus was ignored below the first level, and sub-menus opened away from their item

  • [Fix]: Changing the chart type reset the scroll position

  • [Fix]: The Close button of the mobile menu could end up off the screen

2026-04-10
  • [New]: Dependent value lists. When a value editor has the dependsOnAttr property, its list is requested with the current value of that attribute (as parentValue), is not cached, and is reloaded when that value changes

  • [Upd]: The default status check interval for async export is now 10 seconds

  • [Upd]: The trial license dialog sends the application type with the license key request

  • [Fix]: Keyboard navigation: scrolling a menu, activating a row, and focus landing on disabled elements (including disabled columns in ColumnsBar)

2026-01-18
  • [New]: exportStart method in EqContext class

  • [New]: editMode option in ColumnsBar

  • [Fix]: Undefined entitiesMenu in QueryPanel

  • [Fix]: An error on query loading when the column’s attribute is not recognized

  • [Fix]: Query description was not set properly in the adhoc reporting scenario

  • [Fix]: An error in getAggregateData function

2025-03-23
  • [Upd]: Services are binded to thecontext now (EqContext class). So, to get a service you can call context.getModelStore(), context.getValueListLoader(), etc.
2024-02-26
  • [New]: nameTemplate option in QueryNameWidghet

  • [Upd]: Activate column row on caption or button click

  • [Upd]: Remove MIN, MAX, COUNT DISTINCT from the list of functions in Aggregation Settings dialog

  • [Fix]: Exception on operator change if the value can’t be converted to date

  • [Fix]: ‘ready’ event wasn’t raised if the default query could not be found

  • [Fix]: getConditionsText() missed sub-queries

  • [Fix]: Get License dialog

  • [Fix]: Title column header width when showCheckboxes is on

  • [Fix]: ‘hasOwnProperty is not a function’ error on condition creation

  • [Fix]: Aggregate settings were not updated on query change

2024-01-18
  • [New]: nameTemplate option in QueryNameWidghet

  • [Fix]: ‘hasOwnProperty is not a function’ error on condition creation

  • [Fix]: Aggregate settings were not updated on query change

2023-11-15
  • [Upd]: Support for Custom SQL and constant columns in the ColumnsBar

  • [Upd]: Support for constant columns

  • [Fix]: Query.addColumn worked incorrectly for Custom SQL columns

  • [Fix]: Exception on the wrong column type

  • [Fix]: Query.getConditionsText() raises an error in some cases

  • [Fix]: Add Condition Group threw an error

  • [Fix]: Wrong responseType for CSV and HTML exporters

  • [Fix]: Wrong format of the query file returned by QueryFileLoader

  • [Fix]: Error saving query file locally

2023-03-15
  • [Fix]: Excel-HTML exports was always turned on

  • [Fix]: Lookup attribute was not used on column creation

  • [Fix]: show validation errors for inputs

2022-07-16
  • [Fix]: Pass client data in beforeExportResult
2022-02-24
  • [New]: showIdsForListItems option for QueryPanel widget

  • [Fix]: An exception in GoogleChartWidget on NULL boolean data

  • [Fix]: fetchDataOnChange option didn’t work on EasyQuery.JS views

  • [Fix]: extraParams didn’t work properly in CustomValueEditor

2022-01-31
  • [New]: DataModelStorage inteface

  • [Upd]: Smar aggregation update on query columns change

  • [Upd]: Don’t call Fetch on empty queries by default

  • [Fix]: Null reference exception on ReportView.detach

  • [Fix]: Clear result datatable on report change

  • [Fix]: Wrong default caption on column type change

  • [Fix]: Apply case insensitivity only to string values while grouping

  • [Fix]: Old-style date/time macros were not processed

2021-10-20
  • [Fix]: Old-style date/time macros were not processed
2021-10-15
  • [Fix]: Support for old dateFormatDisplay option in QueryPanel

  • [Fix]: Avoid a request for record count on group data fetching

  • [Fix]: Setting aggregation for Custom SQL columns

  • [Fix]: wrong sorting indexes of non-grouped columns when we set enableAggregation = true

  • [Fix]: Support for different data types in Custom SQL columns

  • [Fix]: Unnecessary sorting for non-grouping columns in “aggregated” queries

2021-09-01
  • [New]: groupFetchSuccess callback in ContextFetchDataOptions

  • [Fix]: Wrong expr.dataType value for new columns

  • [Fix]: Handle errors on group data fetching

2021-07-27
  • [New]: fetchDataOnChange option in ReportView

  • [New]: Add debugMode option

  • [Upd]: Allow string colums as cells in pivot with COUNT aggr function

  • [Upd]: Add counts to aggregate settings

  • [Upd]: elasticPaging option for EqContext

  • [Upd]: Add description editing in AdHoc Reporting scenario

  • [Upd]: Allow empty integer values in condition panel

  • [Upd]: Add columnTitleFormat option for context

  • [Upd]: Add columnCaptionFormat for entities panel

  • [Fix]: Setting description ReportView.newReport

  • [Fix]: QueryPanel behaviour with unrecognized operator

  • [Fix]: widgets behaviour when query contains unrecognized attributes

  • [Fix]: ‘Unable to change operator…’ error

  • [Fix]: Don’t send aggregation ‘fetch’ requests on paging

  • [Fix]: Issue with columnsBar options

  • [Fix]: Issue with FilterBar options

2021-06-30
  • [Fix]: Fix “No tag property for undefined” error

  • [Fix]: Fix NPM packages descriptions

  • [Fix]: Fix buttons behavior in QueryPanel (they were not show for the active row)

2021-06-16
  • [Upd]: Add “Description” field to Save Query dialog

  • [Fix]: Fix string resources for ReportView

2021-05-28
  • [Fix]: Error message insinde ChartWidget

  • [Fix]: Clear the value in a condition if the operator’s kind is changed from “Scalar” to “List”

2021-05-20
  • [Fix]: Issue with FilterBar options

  • [Fix]: Issue with columnsBar options

2021-04-22
  • [New]: Query.getConditionTextAsHtml method

  • [Upd]: Totals in pivot are calculated as given aggr func, not only as sum.

  • [Fix]: Error callback processing on context.loadQuery

  • [Fix]: Totals settings edit dialog refreshing on remove aggr columns

  • [Fix]: Issue with community mode error on cal totals when query has condition groups

2021-04-09
  • [Upd]: EasyData version to 1.2.4
2021-03-31
  • [Upd]: Add columnTitleFormat option for context
2021-03-29
  • [Upd]: Send totals options with export request.
2021-03-19
  • [Fix]: Small changes in facets rendering to fit the screen size
2021-03-18
  • [Upd]: Add QueryChangePart.Facets to handle facets changed event

  • [Upd]: Add facet restrictions based on query

  • [Upd]: Improve Pivot facet settings dialog. Add Swipe column and row button

  • [Upd]: Make chart legend optional. Add show legend option in chart facet

  • [Fix]: Filter in EntitiesPanl

  • [Fix]: Pivot display format for Total column and first column

  • [Fix]: Apply display format in pivot as well

  • [Fix]: Disable drag-n-drop on CusomSQLExpression value editing.

2021-03-11
  • [Fix]: Disable drag-n-drop on CusomSQLExpression value editing.

  • [Fix]: Apply display format in pivot cell.

2021-02-26
  • [New]: hideButtons option in Popup Menu

  • [New]: submitOnBlur option for Popup Menu

  • [Upd]: Refactor Column -> QueryColumn

  • [Upd]: Introduce context.useEnpoint() method. endpoint` option is deprecated

  • [Upd]: Add shadowRoot option for view to support rendering in shadow DOM. Slot options of view not supports either ids or html elements.

  • [Upd]: entity filter now support sections separted by > symbol

  • [Upd]: Load default date formats from browser

  • [Upd]: Popup menu now shows matched groups (not only items) when filtered

  • [Upd]: Support string representation of subQueryDialogHeight and subQueryDialogWidth options

  • [Upd]: i18.setLocale is deprecated. Use i18n.setCurrentLocale

  • [Upd]: Add possibility to set aggrFuncId or customSql in addColumn method of query

  • [Upd]: Add context parameter to onInit event handler

  • [Upd]: Add width and height options for dialogs. subQueryDialogHeight, subQueryDialogWidth options are fixed

  • [Upd]: Add possibility to get widget from context

  • [Upd]: Return syncWithColumns option for EntitiesPanel

  • [Fix]: Menu error in column bar when model is empty

  • [Fix]: Setting InJoin for condition

  • [Fix]: ReportView dialogs’ texts

  • [Fix]: Close calendar on Now button click if oneClickDateSelection is turned on

  • [Fix]: Problem with QueryPanelwidth in subquery dialog

  • [Fix]: SubQuery dialog reopening on submit when autoEditNewCondition option is turned on.

  • [Fix]: Set default time to 00:00:00 if it is not set in date string.

  • [Fix]: Error processing in some promises

  • [Fix]: M and d date formats were not correctly processed.

2020-12-23
  • [New]: executeQueryOnChange option for AdvancedSearchView.

  • [New]: showDateTimeInput options to show edit input in calendar

  • [Upd]: Add shadowRoot option for view to support rendering in shadow DOM. Slot options of view not supports either ids or html elements.

  • [Upd]: entity filter now support sections separted by > symbol

  • [Upd]: Load default date formats from browser

  • [Upd]: Popup menu now shows matched groups (not only items) when filtered

  • [Upd]: Support string representation of subQueryDialogHeight and subQueryDialogWidth options

  • [Fix]: ReportView dialogs’ texts

  • [Fix]: Close calendar on Now button click if oneClickDateSelection is turned on

  • [Fix]: Problem with QueryPanelwidth in subquery dialog

2020-10-23
  • [Upd]: Support string representation of subQueryDialogHeight and subQueryDialogWidth options

  • [Fix]: Problem with QueryPanelwidth in subquery dialog

2020-09-30
  • [New]: queryFileExtensions option for views

  • [Upd]: Return syncWithColumns option for EntitiesPanel

  • [Fix]: query ID was set to null on newReport in ReportView

  • [Fix]: Problem with widgets rerendering on sync query

  • [Fix]: IE 11 porblem with Object.values error in grid.

2020-09-18
  • [Upd]: chunkSize get, set accessor in EasyDataTable

  • [Fix]: Paging/chunk processing in EasyDataTable

2020-09-12
  • [New]: disableConfirmationOnQueryChange options for view

  • [New]: supportedChartTypes options

  • [New]: Support for pivot table functionality (via ResultFacetsPanel)

  • [New]: ResultFacetsPanel widget
    This new widget allows to represent the query result set in several different views (facets): as a simple table (grid), a chart or pivot table.

  • [New]: New grid widget (EasyGrid): more functionality, better styling, increased perfomance.

  • [New]: New data flow: lightweight format, data chunks, automatic data load.

  • [New]: Introduce @easydata packages

  • [New]: Process special date times value editors

  • [New]: Spinner in ResultPanel and result option shosProcessIndicator to turn on/off it.

  • [New]: Entity scan method

  • [Upd]: Modifying condition supports autoEdit

  • [Upd]: SyncQueryOnChange option of EqContext

  • [Upd]: Reset query modified if query was saved on sync (Advanced Search View)

  • [Fix]: Wrong grid cell rendering for multiline values

  • [Fix]: Operand’s value editor was not applied for date/time attributes.

  • [Fix]: “No such endpoint” error message in error.sourceError

  • [Fix]: newQuery method sets wrong query name in BrowserQueryStorage

  • [Fix]: Throw error on success query create in context

  • [Fix]: Remove calling sync after query removal in AdvancedSearchView

  • [Fix]: Problem with filter bar on loadModel

2020-08-14
2020-08-06
  • [New]: ColumnsPanel in ReportView

  • [New]: ColumnsBar in AdvancedSearchView

  • [Fix]: Bug with save report as

  • [Fix]: Do not drag column in edit mode

  • [Fix]: Data model createQuery method for Enterprise

  • [Fix]: Processing non easyquery error reponses

  • [Fix]: Setting default text for default value in custom list and sql list editors

  • [Fix]: Setting text for default operant with constant list value editor

2020-07-15
2020-06-25
  • [Fix]: Setting default text for default value in custom list and sql list editors

  • [Fix]: Setting text for default operant with constant list value editor

2020-06-25
  • [Fix]: Setting default text for default value in custom list and sql list editors

  • [Fix]: Setting text for default operant with constant list value editor

2020-05-29
2020-05-12
2020-04-30
  • [Fix]: Condition elements rendering for long values

  • [Fix]: Angular problem with TypeScript compiler

2020-04-25
  • [New]: Implemented insertColumn, removeColumn methods of EqDataTable class

  • [Fix]: dateTimeToStr() for ‘hh’ and ‘tt’ formats

  • [Fix]: Extra parameters processing in list value editors

2020-03-26
  • Update: DateTimePicker styles
    Control’s size can be changed by single font-size style of the root div.

  • Fix: Incorrect calendar display
    Count of days in a month were shifted to one month

  • Fix: DateTimePicker hiding bug
    DateTimePicker was not always closed on mouse click outside the control

2020-03-10
  • New: editableParts options for QueryPanel
    This options can be used to allow or restrict addition, delete, editing values, operators and use other actions of QueryPanel

  • Fix: Processing array of columns/conditions on attachQueryObserver in widgets

  • Fix: Error with stopPropogation on changing order

  • Fix: Proglem with text field of expression
    Fixes problem with queries shown in WinForms edition

  • Fix: Wrong content type on export request

  • Fix: Reading lattr of EntityAttr from JSON format
    lattr property was not processed coreclty

2020-03-06
  • Add: showCheckboxes options in ColumnsPanel.
  • Fix: Wrong text message on sucessfull endProcess event.
  • Fix: Remove validation for disabled conditions.
  • Fix: Wrong behavior in ReportView: createResultGridWidget was not called.
  • Fix: Setting and removing aggregate function behavior in ColumsnPanel.
  • Fix: View styles for mobile representation.
2020-02-11
  • Fix: Calendar appeared behind sub-query dialog.
  • Fix: Export all renderes (there were not visible outside).
  • Fix: Translations of menu items in QueryPanel or ColumnsPanel were not processed properly.
  • Fix: userData was not accessible in entity attributes (EntityAttr objects).
2020-01-23
  • New: Make ColumnsPanel mobile-friendly.
  • New: Highlight input elements with invalid values with a red border.
2020-01-13
  • New: Now you can call useEnterprise with a callback function for initialization. The license key is taken from the server-side (on /.easyquery/lck endpoint by default).
  • New: Showing a landing area in QueryPanel during drag-n-drop operations.
  • Fix: Drag-n-drop problems in FilterBar.
  • Fix: Loading/saving behavior for entity attributes and expressions
  • New: Add queryPanel argument in onGetExpressionRenderer event
2020-01-03
  • Fix: enum processing in OData
  • Fix: init function in views changed the widgets behavior if called twice
  • Fix: Wrong event on clear in FilterBar
  • Fix: Drag-n-drop style in ColumnsPanel
2019-12-18

Despite of the version number this is an initial release of EasyQuery.JS with the new arthitecture and composition.

EasyQuery.JS is a separate product now with two main editions now: Community and Enterprise. Its UI part was totally rewritten and now does not depend on JQuery.

For more information please read the Release Notes for version 6.0.0