Skip to content

Releases: itemsapi/itemsjs

v2.4.3

Choose a tag to compare

@cigolpl cigolpl released this 25 Nov 08:41
  • 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

Choose a tag to compare

@cigolpl cigolpl released this 22 Nov 11:41

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

Choose a tag to compare

@cigolpl cigolpl released this 09 Nov 18:22
95ad43f

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

Choose a tag to compare

@cigolpl cigolpl released this 14 Sep 15:59

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

Choose a tag to compare

@cigolpl cigolpl released this 17 Apr 11:50

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

Choose a tag to compare

@cigolpl cigolpl released this 29 Jul 22:30

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

Choose a tag to compare

@cigolpl cigolpl released this 29 Jul 11:37
11bc8e5

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

Choose a tag to compare

@cigolpl cigolpl released this 29 Jul 08:52

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

Choose a tag to compare

@cigolpl cigolpl released this 28 Jul 14:26
4c5fafa

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

Choose a tag to compare

@cigolpl cigolpl released this 28 Jul 14:13
61efad8

Sort facet values by a key or doc_count (default)

Current itemsjs.min.js size is 106780 bytes.