Skip to main content

What’s new in Liberator 2.4

Liberator 2.4 centers on more precise queries, clearer dataset health, and safer limits. Headline capabilities include wildcard / pattern filters on the symbol (key) parameter, a Super-Admin-only usage_log dataset of per-query records, and descriptive entitlement-limit errors. The release also adds a per-dataset cap on how many days a single query can span, Concordance-backed dataset catalog cards, the CloudQuant Excel plugin in the Liberator UI, and a round of connection and time-range reliability fixes.

Highlights

Symbol and key pattern filters

Use % wildcards on symbols / keys to pull a product family or naming pattern without listing every contract.

Clear entitlement errors

Limit violations say which cap was hit and what to change, instead of a generic “not entitled.”

Query day-range cap

Admins can set a maximum number of days a single query may span on a dataset, so one wide request cannot stall everyone else.

Dataset health cards

Catalog cards show date range, symbol count, status, and last updated — in the UI and via liberator.datasets(details=True).

Excel plugin in Liberator

Download and access the CloudQuant Excel plugin from the Liberator client, without a separately shared installer.

Combined user creation

Create and enroll a user in one flow. Invite emails include the username to sign in with.

Per-query usage log

Super Admins query usage_log like any other dataset — who queried what, which window, rows returned, and outcome.

Symbol and key pattern filters

symbols (and the keys synonym) accept SQL LIKE patterns. An unescaped % is a wildcard for any sequence of characters:
You can mix exact keys and patterns in one list. To match a literal percent character in a key, escape it as \%. See Symbols and key fields and the query parameters reference.

Clearer entitlement errors and query day-range limits

When a query is rejected because of an entitlement or usage limit, Liberator now returns a specific message: which limit applied, the configured value, and what to change. A row-limit miss no longer looks the same as a missing entitlement. Super Admins can also set a maximum number of days a single query may span on a given dataset (or dataset group). Use this on high-volume sources so a misconfigured back_to / as_of window cannot pin query workers. If a query exceeds the cap, the caller gets the same class of descriptive error. See Fine-grained permissions.

Dataset health cards and symbol discovery

The dataset catalog now surfaces Concordance-backed health on each dataset:
  • Date range covered
  • Symbol count
  • Status (for example, Ready)
  • Last updated
The same fields are included when you call liberator.datasets(schema=True, details=True). Administrators can configure how often symbol discovery refreshes, so newly added keys appear on cards without waiting for a fixed backend job. See Listing datasets and Checking dataset access.

Excel plugin in the Liberator UI

The CloudQuant Excel plugin is available from the Liberator client experience. Users can find and download it in the UI instead of waiting on a separately shared installer. Account setup (User ID, token, Base URL) is unchanged. See Configuring your account.

User onboarding

  • Combined create-and-enroll — Super Admins create a user and add them to Liberator permissions in one step, instead of Create User followed by Add Users.
  • Username in invite and verification email — new-account mail includes the username the recipient should sign in with.
  • Search by company — the Users list finds people by their company field.
See Managing users and entitlements.

Per-query usage log

Super Admins can query usage_log, a private Liberator dataset of one row per query per dataset. Each row records the user, the dataset they asked for, the as_of / back_to they passed, rows returned, and an outcome of success, limit_exceeded, not_entitled, or error. Query it with the standard client (liberator.query(name='usage_log', ...)). The log’s own back_to / as_of select when the usage happened; the as_of / back_to columns are the window the original caller requested. The symbol / key is the dataset that was queried. Records are retained for at least 30 days. See Query usage log.

Connection and query reliability

  • S3 request style — during Test Connection, Liberator detects whether the endpoint needs path-style or virtual-hosted addressing (including MinIO, Ceph, and other S3-compatible stores), so you no longer have to set request_style by provider. See Amazon S3.
  • Database port is required on Test Connection for PostgreSQL, MySQL, SQL Server, and Oracle.
  • Passwords with special characters (%, ?, #, @, /, :, &) connect successfully on database sources.
  • Fixed / manual timestamps — datasets onboarded with a fixed date-time (no date column) query the correct partition after discovery.
  • Time-range queries resolve partitions more reliably across the requested window.
  • Future as_of on live-append datasets no longer holds query workers in an empty-fetch loop. Prefer as_of at or before “now” unless you intentionally query forward-dated records. See Usage of the as_of parameter.
  • HubSpot rate limits — HubSpot-backed queries wait and retry when the CRM API returns a rate-limit error. See HubSpot.
  • Date-format ranking — onboarding suggestions prefer ordinary calendar formats over day-of-year when the column contains month/day/year values.

Compatibility

There are no breaking changes to the client libraries (Python, REST, JavaScript, Excel, etc.) or to the dataset query surface. Existing exact-symbol queries continue to work. Pattern filters, day-range caps, catalog-card fields, and usage_log are additive.