Skip to content

Releases: gorse-io/gorse

Gorse v0.4.7

13 Sep 15:17
da4e462
Compare
Choose a tag to compare

Features

  • Support AVX512 SIMD instruments (#533).
  • Support purge all data and cache (#549).
  • Implement Go SDK in client package (#522).
  • Add CORS support to RESTul APIs by @NMathar (#550).

Fix

  • Fix updating item visibility and categories (#552).
  • Fix the deadlock problem of the scheduler (#554).

Performance

  • Remove interface call in SIMD dispatch (#545).

Gorse v0.4.6

17 Aug 00:45
b1e9727
Compare
Choose a tag to compare

Features

  • Support dynamic goroutine allocation for multiple tasks (#513).
  • Support database prefixes postgresql:// and rediss:// (#499).
  • Support disable/enable model size searching (#502).
  • Support prefixes for database table names (#503).
  • Build windows arm64 release (#500).
  • Support HTTPS for ClickHouse connection: chhttps:// (#508).
  • Prune solely user labels and item labels (#512).

Fix

  • Fix unexpected database schema migration (#501).
  • Fix duplicate measurements (#505).
  • Stop the HTTP server and RPC server gracefully (#506).

Gorse v0.4.5

09 Jul 01:31
4e7355e
Compare
Choose a tag to compare

Features

  • Implement a playground based on the all-in-one server (#479).
  • Support Oracle as one of the cache stores (#482).
  • Support Oracle as one of the data stores (#484).

Fix

  • Remove tasks from disconnected worker nodes (#480).
  • Show progress for index building (#490).
  • Fix the isolation level (READ UNCOMMITTED) in MySQL (#481).
  • Fix the positive feedback display in the dashboard (#486, by @bradrisse).

Gorse v0.4.4

11 Jun 13:08
e3eb6d6
Compare
Choose a tag to compare

Features

  • Support SQLite as one of the data stores (all-in-one server only, #469).
  • Support SQLite as one of the cache stores (all-in-one server only, #467).
  • Implement the all-in-one server (#470).

Fix

  • Fix delete users and items (#471).
  • Fix import feedback CSV with quoted field (#472).

Performance

  • Remove redundant cache deletion (#475).

Gorse v0.4.3

27 May 12:21
d3551a2
Compare
Choose a tag to compare

Features

  • Track the memory usage of the master node and worker nodes (#461).
  • Calculate positive feedback rates during load dataset (#462).

Fix

  • Report metrics (precision, recall, etc.) once saved models are loaded (#457).
  • Redact username and password in DSN (#459).
  • Fix migration error with PostgresSQL and ClickHouse (#464).
  • Fix insert duplicate users/items/feedback (#465).

Gorse v0.4.2

14 May 14:57
0b9e334
Compare
Choose a tag to compare

Features

  • Display binary versions in the dashboard (#448).
  • Implement the request ID for RESTful APIs (#449).
  • Move measurements from the data store to the cache (#450).
  • Support database auto migrate by gorm (#453).
  • Reimplement auto similarity as hybrid similarity based on labels and users/items (#455).

Performance

  • Set MySQL and Postgres isolation level to READ UNCOMMITTED (#452).

Gorse v0.4.1

01 May 12:06
862f39e
Compare
Choose a tag to compare

Features

Fix

  • Fix hidden items and deleted items visibility (#442).

Performance

  • Cache popular items in the server node (#438).
  • Cache hidden items in the server node (#439).

Gorse v0.4.0

10 Apr 06:57
8a50a86
Compare
Choose a tag to compare

Features

  • Support MongoDB as cache_store (#406).
  • Support MySQL as cache_store (#415).
  • Support PostgresSQL as cache_store (#414).

Fix

  • Fix typos in Swagger spec (#405) by @europaer.
  • Unify timezone in ClickHouse (#417).
  • Fix inserting duplicate cache rows in Postgres (#417).
  • Fix item timestamp modification (#417).

Performance

  • Optimize inserting users/items/feedbacks (#411).
Action Cache Data Before After
Insert 1,000 users Redis MySQL 75ms 38ms
Insert 1,000 items Redis MySQL 324ms 32ms
Insert 1,000 feedbacks Redis MySQL 248ms 42ms

BREAK CHANGES

  • New config file specification and default values are introduced in v0.4.0 (#418).
  • The write-back-delay parameter of GET /api/recommend/{user-id} requires time unit now. For example:
curl -X GET "http://172.18.0.3:8087/api/recommend/zhenghaoz?write-back-type=read&write-back-delay=10m&n=10" \
    -H "accept: application/json" \
    -H "X-API-Key: 19260817"

Gorse v0.3.4

13 Mar 04:12
63cfc78
Compare
Choose a tag to compare

Features

  • Support set check recommend period (#384).
  • Support replacement in the recommendation (#385).
  • Support DNS SRV record lookup for MongoDB (#386, authorized by @pranav377).
  • Support set clock error in the cluster (#397).

Fix

  • Import and export items with hidden flags and categories (#383).
  • Hide hidden items in the latest items, popular items, and item neighbors (#393).
  • Fix inaccurate representation of timestamps in float32 (#394).
  • Fix potential Redis memory leak (#395).

Upgrade Guide

  • Configuration: Replacement has been supported in the configuration, as well as check_recommend_period and epsilon_time.
[server]
# ...
epsilon_time = 5                # clock error in the cluster in seconds

[recommend]
# ...
# The time period to check recommendation for users (minutes). The default values is 1.
check_recommend_period = 1

# Replace historical items back to recommendations.
enable_replacement = false

# Decay the weights of replaced items from positive feedbacks.
positive_replacement_decay = 0.8

# Decay the weights of replaced items from read feedbacks.
read_replacement_decay = 0.6
  • Redis: Remove incompatible stale cache.
redis-cli KEYS "offline_recommend*" | xargs redis-cli DEL

Gorse v0.3.3

18 Feb 12:25
f9df387
Compare
Choose a tag to compare

Feature

  • Support login authorization in Gorse dashboard (#376).
  • Support AVX2 for vector computation (#372).
  • Support Arm Neon for vector computation (#374).
  • Support feedback type-level "click-through rate" (#379).

Fix

  • Fix recommendations to untrained users (#380).
  • Create folders for log files and handle ignored errors (#378).
  • Return zero recall on empty ground truth (#381).

Upgrade Guide

  • Configuration: Set username and password for Gorse dashboard. If both dashboard_user_name and dashboard_password are empty, login authorization will be skipped.
dashboard_user_name = "admin"   # dashboard user name
dashboard_password = "password" # dashboard password
  • Redis: Remove incompatible stale cache.
redis-cli KEYS "item_neighbors*" | xargs redis-cli DEL