Skip to content

Latest commit

 

History

History
1300 lines (739 loc) · 107 KB

CHANGELOG.md

File metadata and controls

1300 lines (739 loc) · 107 KB

Changelog

1.55.1 (2024-12-12)

Bug Fixes

  • create a product if needed after a redis update event (#622) (66010fe)
  • remove legacy log message (267568e)

1.55.0 (2024-12-12)

Features

  • listen to updates from Product Opener using Redis (#618) (9e4d326)

Technical

  • enable fetching product updates from Redis (#621) (3a81968)

1.54.0 (2024-12-11)

Features

  • run and save price tag detections in proof_predictions table (#614) (62ecaab)
  • Shop import: new script to upload prices from a shop csv (#574) (7ec2eda)

Bug Fixes

  • fix bug in directory selection for proof image (#616) (b32b5cf)
  • use openfoodfacts.ml module for proof classification (#613) (8eb37e6)

1.53.0 (2024-12-06)

Features

  • API: allow adding prices on proofs not owned (only PRICE_TAG proofs) (#609) (071fad0)
  • API: Allow anonymous users to upload proofs (#607) (0c68bf8)
  • return proof predictions in GET /api/v1/proof route (#601) (42f1c5e)

Bug Fixes

  • don't try to classify with the image classifier .bin files (#604) (0ecca7b)

Technical

  • API: allow anyone to access proof data (#606) (1b4dcb5)
  • API: only return proof.predictions in detail endpoint (#605) (81f7f0f)
  • Update github-projects.yml (e4bfe68)

1.52.0 (2024-12-05)

Features

  • save proof prediction for all proofs in a new table (#588) (cb1fb7a)

Bug Fixes

Technical

  • add command to run ML models on proofs without predictions (#599) (32de49b)
  • Add unit test for proof type detection (#597) (0386cff)
  • enable ML predictions on prod & staging (#596) (8d049aa)
  • remove deprecated command for ssh-action (#598) (28afbe7)

1.51.0 (2024-12-03)

Features

  • Location: new brand & version fields (fetch & store from OSM) (#591) (63dc620)
  • Location: script to fill in OSM brand & version (#592) (ea29002)

Bug Fixes

  • Location: add try/catch & progress in OSM script. ref #592 (887b508)

Technical

  • increase the number of gunicorn workers in production (#582) (a922030)

1.50.0 (2024-11-27)

Features

Bug Fixes

Technical

  • Admin: add Price view. improve Location & Proof views. (#580) (1a59b1e)
  • GDPR: improve Leclerc merge and price upload. ref #213 (978a401)

1.49.0 (2024-11-21)

Features

  • add CLI command to run OCR on past images (#572) (2f6a94e)

Technical

  • proofs: more features to OCR extraction (#566) (b2e55be)

1.48.0 (2024-11-13)

Features

  • allow users to submit origin tags in their language (#561) (2b867db)
  • proofs: New endpoint to extract price data from images (with Gemini) (#557) (fa54a36)

Technical

1.47.1 (2024-11-09)

Technical

  • Locations: keep only website_url domain (#555) (cc5d589)

1.47.0 (2024-11-08)

Features

  • allow users to submit category_tag with language prefix (#548) (9aab15d)
  • API: on Location POST, return existing if duplicate (#554) (d1efae6)
  • locations: new source field to store the app name & version (#546) (a9188c9)
  • run OCR extraction on every new image (#543) (77ed50b)
  • Sync: fetch OFF obsolete products (25k items) (#552) (badec8b)

Bug Fixes

  • add types to functions and improve docstring in proofs/utils.py (#540) (506bc4a)

Technical

  • add CORS headers to images (#545) (bd3709a)
  • proofs: run OCR in post_save signal instead of create (#549) (f3cfa79)
  • remove perform_create to simplify code (2394940)
  • update dependency openfoodfacts-python (#550) (2f53957)
  • Update github-projects.yml (d8d54d7)

1.46.0 (2024-10-25)

Features

  • API: Allow updating Proof location fields (#539) (8554eaf)
  • Proofs: on update, also update proof prices (#538) (d5481f2)

Technical

  • Proofs: refactor method that updates proof fields from prices (1 instead of 3). ref #481 (e3b97f5)

1.45.1 (2024-10-23)

Bug Fixes

  • GDPR: Use unique location identifier instead of name (bd681f1)

Technical

  • API: store app_version in Price & Proof source field (#533) (bbfce93)
  • GDPR: Use new Price.receipt_quantity field. ref #499 (64fcd80)

1.45.0 (2024-10-19)

Features

  • Prices: Allow adding new prices with a location_id (#527) (99f16df)
  • Prices: new field to allow users to input the quantity bought (#498) (857b813)
  • Proofs: Allow adding new proofs with a location_id (#528) (38e5599)
  • Proofs: new fields to allow users to input the number of prices & total sum (#497) (8a9aa50)

Bug Fixes

  • Prices: init Price.receipt_quantity field in migration. ref #498 (1822b8d)
  • Tests: Remove proof images on test tearDown (#529) (5805eea)

Technical

  • Stats: extra Proof type stats. new Location type stats (#524) (411222b)

1.44.3 (2024-10-13)

Bug Fixes

  • Product sync: Avoid setting None for missing fields. Use model default values instead (#519) (e3ed44e)

Technical

  • Product sync: Build product dict identically if from sync or API. ref #518 (81766b0)

1.44.2 (2024-10-11)

Bug Fixes

  • Proofs: Deny users to delete a proof with prices (#517) (3b1ed29)

Technical

  • Proofs: On proof delete, also remove its images. ref #514 (8360a06)

1.44.1 (2024-10-09)

Bug Fixes

  • Backups: fix backup location. closes #407 (97ed9b2)
  • Queue: bump max_attempts to 2. ref #376 (e83158b)
  • Stats: make sure to get all Product & Proof with prices when updating counts. ref #492 & #481 (6f446b9)

1.44.0 (2024-10-06)

Features

  • Locations: new type & website_url fields to start allowing ONLINE stores (#446) (ce50c74)
  • Users: new /users/:user_id endpoint. Only for self (#500) (665c44f)

Bug Fixes

Technical

  • Proofs: Methods to update missing proof fields from prices (#481) (ffe5e5a)
  • Stats: simple script for top product stats (via API) (#398) (14c6d39)

1.43.1 (2024-10-03)

Bug Fixes

  • Proofs: fix thumbnail generation for some JPEG images. ref #486 (a7f18e9)

Technical

  • stats: new Proof type stats. Rename Price type stats (#496) (6401f80)

1.43.0 (2024-10-03)

Features

  • products: New Product.location_count field (#489) (85cd11f)
  • products: New Product.proof_count field (#491) (f77ec80)
  • products: New Product.user_count field (#490) (459c6fc)
  • Proof: generate image thumbnail (size 400) on create (#486) (9f72de6)

Bug Fixes

  • API: Proofs: improve API documentation for upload (#493) (0168a0f)
  • locations: fix count calculation when FK is null. ref #420 (a075918)
  • products: fix update count CRON setup. ref #492 (7e0588b)
  • users: fix count calculation when FK is null. ref #419 (f2f6d9c)

Technical

  • Documentation: Remove mention of /app. closes #482 (18f7083)
  • products: New weekly CRON to update Product counts (#492) (dd9a239)

1.42.0 (2024-10-02)

Features

  • proofs: new type SHOP_IMPORT to explicitly link shop-imported prices (#485) (82da2b9)

Technical

  • launch vue.js app on / (instead of /app) (#483) (1088f65)

1.41.0 (2024-09-28)

Features

Technical

  • locations: add new count fields in API ordering settings. ref #419 (b02c480)
  • stats: add to admin, cleanup (#479) (39866ac)
  • stats: New daily CRON to update TotalStats (#478) (63f5a76)

1.40.0 (2024-09-27)

Features

  • locations: New Location.product_count field (#470) (cebc523)
  • locations: New Location.proof_count field (#468) (004af12)
  • locations: New Location.user_count field (#471) (be0c796)

Technical

  • locations: New weekly CRON to update Location counts (#473) (07b1c4c)

1.39.3 (2024-09-24)

Bug Fixes

  • Django: set 2h long task timeout & retry. ref #376 (87b6e21)
  • Django: split OFF product sync into 4 flavors. ref #376 (4fab7b8)

1.39.2 (2024-09-23)

Bug Fixes

  • Django: fix daily DB backup task (#461) (35cbb81)
  • Django: tentative fix by removing task timeout. ref #376 (c03af3c)

Technical

  • proofs: extra API filtering (on date year & month, on empty location_id) (99e88c0)

1.39.1 (2024-09-23)

Bug Fixes

1.39.0 (2024-09-22)

Features

  • prices: new querysets to calculate min, max & average (#452) (ab9ed15)
  • prices: new stats endpoint (#454) (540feba)
  • products: new properties to calculate price min, max & average (#453) (f662710)

Bug Fixes

  • Django: fix daily import script (add source in updated fields). ref #376 (fe569d7)

Technical

1.38.0 (2024-09-15)

Features

  • prices: add API filter by labels_tags & origins_tags (#449) (dab02ae)

Bug Fixes

  • Django: fix babel currency list order (#447) (4da6da2)
  • Django: fix daily import script (avoid unique_scans_n null). ref #376 (0656431)
  • Django: fix daily import script (seperate bulk_create & bulk_update). ref #376 (294261f)

1.37.0 (2024-09-12)

Features

Bug Fixes

  • GDPR: fix Picard import script after testing in prod. ref #430 (38e50c9)

Technical

1.36.1 (2024-09-11)

Technical

1.36.0 (2024-09-11)

Features

Technical

  • add model with_stats() queryset. Add tests (5aa00e7)
  • stats: new model update_price_count() methods (#435) (b25146d)
  • tests: skip Product & Location post_save signals (#434) (639cee6)
  • Update github-projects.yml (8d82664)

1.35.1 (2024-09-06)

Bug Fixes

1.35.0 (2024-09-05)

Features

  • prices: GET /prices/id detail endpoint (#423) (0d67b5c)

Technical

  • Create github-projects.yml (092f591)
  • fix github-project.yml (4d9a1fd)
  • Update github-projects.yml (04e9e10)

1.34.2 (2024-09-04)

Bug Fixes

  • Django: allow querying api/status with any auth (#417) (3d9b486)

1.34.1 (2024-09-04)

Technical

1.34.0 (2024-09-02)

Features

  • rewrite backend from FastAPI to Django (#366) (081a22d)

Bug Fixes

  • Django: extra API fixes round 2 (#401) (1bb28d8)
  • Django: fix update price_counts on Price create/delete (#404) (9134f3c)
  • Django: run Django tests instead of FastAPI (#402) (0628f62)
  • Django: update CI test config. ref #402 (5edf691)

Technical

1.33.0 (2024-08-22)

Features

  • locations: add extra filter by osm_address_city (eb27b72)

1.32.1 (2024-08-20)

Bug Fixes

1.32.0 (2024-08-20)

Features

Technical

1.31.1 (2024-07-15)

Technical

  • move images and data dump to docker volumes (#356) (dee6550)

1.31.0 (2024-07-05)

Features

  • prices: new date filter by year & month (#350) (65e3b2d)

1.30.0 (2024-06-28)

Features

  • locations: add POST endpoint to create a location (#347) (b05925a)

Technical

  • proofs: Use ProofCreate schema when possible. Move owner field to ProofFull (9f09534)

1.29.1 (2024-06-27)

Bug Fixes

  • ci: add some missing conventional commit types in release-please config. ref #344 (9117657)
  • ci: fixed branch name for release-please. ref #344 (056f61e)

Technical

  • prices: reorganise schema inheritance to validate price updates (#342) (64aac06)
  • proofs: reorganise schema inheritance (#343) (7e17a68)
  • revert release-please config to v3 (#344) (739e128)
  • update README with links (e985ab2)

1.29.0 (2024-06-24)

Features

Bug Fixes

  • import dumps at 3PM instead of 10AM (#332) (543c54c)
  • proofs: also return proof relationships when fetching detail. ref #338 (d323180)
  • proofs: improve new proof date & currency optional mgmt. ref #327 & #337 (5a309b4)

1.28.0 (2024-06-04)

Features

  • prices: new source field to store the app name (#301) (9efd923)
  • proofs: new source field to store the app name (#310) (30ab149)

1.27.0 (2024-05-21)

Features

  • location: store OSM address country_code (#296) (43485ed)
  • location: store OSM tag key & value (#294) (3eeccbd)

Bug Fixes

1.26.0 (2024-05-02)

Features

  • add daily dumps of DB main tables as JSONL files (#282) (9d3f1a7)

Bug Fixes

1.25.1 (2024-04-17)

Bug Fixes

1.25.0 (2024-04-03)

Features

Bug Fixes

  • start a new db session before each flavor import. ref #264 (814078b)

1.24.1 (2024-03-27)

Bug Fixes

1.24.0 (2024-03-18)

Features

Bug Fixes

  • products: fix filter by labels_tags (#252) (ac68218)
  • products: update products added first in Open Prices (#250) (bef2932)
  • sync: tentative fix of Product sync with OFF (#257) (68f0b6c)
  • tests: use ProductFull for fixtures (#253) (2d7b83c)

Technical

  • improve examples of Price schema (#248) (2527942)
  • Improve typing, pre-commit, updates openfoodfacts package (#198) (ff03b0c)

1.23.0 (2024-03-05)

Features

Bug Fixes

  • prices: improve private proof filtering depending on user (#241) (a3503b0)
  • remove trailing slash in API endpoints (#233) (31a840d)
  • tests: use LocationFull for fixtures (#240) (f04a53f)

Technical

  • fix restart policy for nginx (#232) (e924d00)
  • Simplify api.py (move endpoints to their own routers) (#226) (683600b)

1.22.0 (2024-02-24)

Features

Bug Fixes

1.21.0 (2024-02-21)

Features

Bug Fixes

  • add --batch-size param to CLI command (dca9098)
  • add /api/v1 prefix to all relevant routes (#74) (353e59f)
  • add image serving (5808b7a)
  • add index on products.price_count field (9fdfdcd)
  • add missing filter on Product.product_id field. ref #134 (0ab9f9d)
  • add prod env config (8ced9d1)
  • add status endpoint (b3ddad9)
  • always return proof.file_path for proof uploaded by the user (#132) (fe14346)
  • better fetch location city from OSM. ref #38 (c37e7a6)
  • bump release please version (a37e7da)
  • CORS: revert configuration. add openfoodfacts-explorer to whitelist (e3e9098)
  • CORS: temporarily allow all origins in deployed envs. ref #65 (06f2560)
  • fix AttributeError in fetch_product_openfoodfacts_details (#161) (ffd9d65)
  • fix container deploy config (36c4f1b)
  • fix db error (#125) (57e4adb)
  • fix duplicate key error due to duplicate products (bd6ff9c)
  • fix email sign-in (#170) (69d65c0)
  • fix github config (7edfa8d)
  • fix labels_tags field validator (#69) (5f23977)
  • fix landing page (cf9bb9d)
  • fix locations GET filters. ref #138 (3d75e16)
  • fix migration parent id. ref #183 (c62c52a)
  • fix parsing bug in import_product_db (#164) (40f2c2a)
  • fix product_quantity DB error (8196bc2)
  • fix product.unique_scans_n server_default (54202d0)
  • fix ProofCreate schema (ed34567)
  • fix release please (#78) (86bb591)
  • fix some typos in the landing page (#51) (e5fee84)
  • fix tests following addition of Price.id field in schema. ref #179 (2818540)
  • fix unique_scans_n null values (b967d5a)
  • improve landing page (#71) (ec79ccc)
  • improve price fetch performance (#118) (1b65ea2)
  • lint last alembic version (1b0667d)
  • lowercase the user_id (#215) (21444ff)
  • normalize all tags values (9402bbb)
  • Product.brands should be a string. ref #93 (7bbf1fc)
  • return 201 instead of 200 on price (& proof) create (#66) (af543cf)
  • stop using global db, use get_db instead (#30) (9739734)
  • strip user_id (66a9c04)
  • transform async func into func (22a5f0d)
  • update docker-compose.yml to add postgres service (0b5c8af)
  • update pre-commit config (5cc63f4)
  • use black + isort on all files (877f3c6)
  • use opsession instead of session as cookie name (#177) (dfd3e6a)
  • use time.sleep instead of asyncio.sleep in non-corountine function (1ccffd6)

Technical

1.20.0 (2024-02-21)

Features

Bug Fixes

  • normalize all tags values (9402bbb)

1.19.0 (2024-02-08)

Features

Bug Fixes

  • fix tests following addition of Price.id field in schema. ref #179 (2818540)

1.18.0 (2024-02-06)

Features

Bug Fixes

1.17.0 (2024-02-04)

Features

  • add filter on Proof.price_count field (#187) (0068cd5)
  • add proof.price_count to keep track of number of prices (#185) (1637f36)

1.16.0 (2024-01-31)

Features

Bug Fixes

  • use opsession instead of session as cookie name (#177) (dfd3e6a)

Technical

1.15.0 (2024-01-26)

Features

  • price: add filter on created field (689d4ab)

Bug Fixes

Technical

1.14.0 (2024-01-25)

Features

Bug Fixes

  • fix AttributeError in fetch_product_openfoodfacts_details (#161) (ffd9d65)
  • fix parsing bug in import_product_db (#164) (40f2c2a)

1.13.1 (2024-01-24)

Technical

1.13.0 (2024-01-19)

Features

Technical

1.12.0 (2024-01-14)

Features

  • add user.price_count to keep track of number of prices (#143) (0f13566)
  • auth: avoid recreating existing user on login (#144) (502539c)
  • users GET endpoint (#147) (6fdb640)

Bug Fixes

Technical

1.11.0 (2024-01-14)

Features

  • add location filter on price_count (#142) (1237687)
  • add location.price_count to keep track of number of prices (#140) (817663f)

1.10.0 (2024-01-13)

Features

1.9.1 (2024-01-12)

Bug Fixes

  • add missing filter on Product.product_id field. ref #134 (0ab9f9d)

1.9.0 (2024-01-11)

Features

Bug Fixes

  • always return proof.file_path for proof uploaded by the user (#132) (fe14346)

1.8.0 (2024-01-11)

Features

  • add price.price_per field (#127) (5740271)
  • add price.price_without_discount field (#130) (5e3be73)
  • add product.price_count field to keep track of number of prices (#129) (73b32e6)
  • add proof object in price response (#131) (450b82e)

Bug Fixes

  • add index on products.price_count field (9fdfdcd)

Technical

1.7.0 (2024-01-10)

Features

Bug Fixes

  • add --batch-size param to CLI command (dca9098)
  • fix db error (#125) (57e4adb)
  • fix duplicate key error due to duplicate products (bd6ff9c)
  • fix product_quantity DB error (8196bc2)
  • fix product.unique_scans_n server_default (54202d0)
  • fix unique_scans_n null values (b967d5a)

1.6.1 (2024-01-03)

Bug Fixes

Technical

  • add tutorial + improve main doc page (#116) (a01a5a0)

1.6.0 (2023-12-31)

Features

  • add price filters on category_tag, labels_tags & origins_tags (#113) (2a1e350)

Technical

1.5.0 (2023-12-29)

Features

  • add endpoint to retrieve location by osm data (#108) (b317014)
  • add endpoint to retrieve product by code (#106) (70f4567)
  • add price.origins_tags field (#110) (46e0c7f)
  • return Price.owner info (6e922f3)

Technical

1.4.2 (2023-12-23)

Bug Fixes

  • better fetch location city from OSM. ref #38 (c37e7a6)

1.4.1 (2023-12-23)

Bug Fixes

  • Product.brands should be a string. ref #93 (7bbf1fc)

1.4.0 (2023-12-23)

Features

1.3.0 (2023-12-18)

Features

  • add openapi tags on endpoints (#88) (e7b0c14)
  • add Price.product_name field (#83) (36d551f)
  • add relationship objects in response of GET /prices (#92) (2156690)
  • add sorting on GET /prices (#90) (7139ec9)
  • add vue.js frontend on /app (ca38cbf)

Bug Fixes

Technical

  • make migration files available in dev (494bb96)

1.2.1 (2023-12-04)

Bug Fixes

1.2.0 (2023-11-27)

Features

Bug Fixes

  • add image serving (5808b7a)
  • CORS: revert configuration. add openfoodfacts-explorer to whitelist (e3e9098)
  • CORS: temporarily allow all origins in deployed envs. ref #65 (06f2560)
  • fix labels_tags field validator (#69) (5f23977)
  • improve landing page (#71) (ec79ccc)
  • lint last alembic version (1b0667d)
  • return 201 instead of 200 on price (& proof) create (#66) (af543cf)
  • use time.sleep instead of asyncio.sleep in non-corountine function (1ccffd6)

1.1.0 (2023-11-22)

Features

  • fetch location data from OpenStreetMap Nominatim (#38) (2044e6b)
  • fetch product data from OpenFoodFacts (#49) (cc5a778)
  • GET /locations/id endpoint to get location details (#37) (4a4eca1)
  • GET /products/id endpoint to get product details (#46) (74f011c)
  • on Price create, create (or get) Location, and link them (#36) (003de11)
  • on Price create, create (or get) Product, and link them (#45) (71cf40a)
  • simple Location model (#35) (32562ad)
  • simple Product model (#44) (2bfa8f6)

Bug Fixes

1.0.3 (2023-11-20)

Bug Fixes

  • fix container deploy config (36c4f1b)

1.0.2 (2023-11-16)

Bug Fixes

1.0.1 (2023-11-16)

Bug Fixes

  • transform async func into func (22a5f0d)

1.0.0 (2023-11-16)

Features

Bug Fixes

  • add status endpoint (b3ddad9)
  • stop using global db, use get_db instead (#30) (9739734)
  • update docker-compose.yml to add postgres service (0b5c8af)
  • update pre-commit config (5cc63f4)
  • use black + isort on all files (877f3c6)