Skip to content

Releases: itemsapi/itemsjs

v2.4.3

25 Nov 08:41

Choose a tag to compare

  • Add runtime facets helper (per-facet AND/OR, bucket size/sort/hideZero/chosenOnTop) with data.facets alias
  • Allow boolean or string conjunction in runtime facets
  • Keep pagination/input hardening and compatibility (filters_query > facets > filters)

v2.4.0

22 Nov 11:41

Choose a tag to compare

Highlights

  • Snapshot load/save for fulltext and facets (fulltextSnapshot/facetsSnapshot, serializeAll/serializeFulltext/serializeFacets)
  • Benchmark for snapshot cold-start (npm run benchmark:snapshot) and browser smoke test (npm run serve:benchmark)
  • Sorting fix: null/undefined always sorted last (asc/desc)
  • Boolean facets now correctly marked as selected when filtered
  • Browserslist caniuse-lite updated (no more warnings)

Testing

  • npm test

Converted to ES modules

09 Nov 18:22
95ad43f

Choose a tag to compare

Transitioned all code to ES Modules for modern compatibility. Implemented speed optimizations for faster performance. Reduced build size by 50% for a more efficient package. For a detailed overview of the changes, refer to PR #135

What's Changed

New Contributors

Full Changelog: v2.1.22...v2.1.24

Fix error when filter value not found in items set

14 Sep 15:59

Choose a tag to compare

Enhancement:

Flexible Filtering: The library now gracefully handles non-existing filter values thanks to PR #130 .
Scenario: If you have default filter categories like "comedy", "drama", or "thriller", but the data only contains "comedy" and "drama", the system won't crash. Instead, it adapts to the available items.
Technical Detail: Introduced a fallback to an empty FastBitset to ensure stability.

Selected filters will remain visible at all times

17 Apr 11:50

Choose a tag to compare

With this enhancement, selected filters will remain visible at all times, providing a seamless user experience. For more information and technical details, please refer to the following pull request on GitHub: #125

Hide empty filters through configuration

29 Jul 22:30

Choose a tag to compare

What's Changed

  • Hide empty filters through configuration by @mulquin in #117

Full Changelog: v2.1.19...v2.1.20

Custom id field in integrations

29 Jul 11:37
11bc8e5

Choose a tag to compare

Custom id field in integrations with external fulltext search engines.

Feature requested here: #75

What's Changed

  • Optional custom id field for Lunr2 (and other) integrations by @cigolpl in #116

Full Changelog: v2.1.18...v2.1.19

Support aggregations not being sorted by selected

29 Jul 08:52

Choose a tag to compare

What's Changed

  • Support aggregations not being sorted by selected by @mulquin in #114
  • Sort by key field (alternatively to term) by @cigolpl in #115

New Contributors

Full Changelog: v2.1.16...v2.1.18

Boolean filters query

28 Jul 14:26
4c5fafa

Choose a tag to compare

This feature allows to query data by boolean filter i.e. (tags:novel OR tags:80s) AND category:Western.

Feature requested here: #111

Current itemsjs.min.js size is 109672 bytes.

What's Changed

Full Changelog: 2.1.15...v2.1.16

Custom facets sorting

28 Jul 14:13
61efad8

Choose a tag to compare

Sort facet values by a key or doc_count (default)

Current itemsjs.min.js size is 106780 bytes.