All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Remove most production resources #2378
72 2022-10-14
- Add CloudFront function for redirecting to OS Hub excluding embeds #2171
- Delete matched facilities from created contributer #2155
- Prepare code for read-only database #2184
- Fix parse errors #2206
- Updated Batch AMI ID to latest #2201
71 2022-09-13
- Fix getLangFromTranslateElement function #2096
- Update the Python and Rollber versions used for lamba functions #2121 ]
70 2022-08-23
- Added a script to automate restoring an anonymized production snapshot #1948
- Use name prefix and create before destroy for batch compute #1950
69 2022-06-23
- Display claim information #1901
- Added option to exclude specified users from anonymization script #1906
- Dependency updates
68 2022-06-09
- Fix processing_type_facility_type_unmatched #1874
67 2022-05-26
- Add new Average Match Count, Confirm Reject Counts, and Error Items reports #1855
- Use autocomplete ordered by name for admin contributors dropdown #1848
- Document parallel OGR workflow in the README #1851
- Update tile load test script and add scripts for hompage load, facility download, and facility POST #1777
- API documentation updates #1844
- Fix geocode error messages to include the status code #1853
66 - 2022-05-12
- Mark failing reports with Do Not Open #1836
- Handle blank rows and columns in .xlsx #1837
65 - 2022-04-28
- Update DB anonymization script #1769
- Update tileer load test script #1770
- Only show contributed extended fields in embed sidebar search #1794 #1800
- Use exact match in parent company when creating extended field #1804
- Read percentage as string in Excel #1811 #1822
- Skip rendering embed fields with empty values #1809
- Show the correct submission date for name and address fields #1810
64 - 2022-03-22
- Reduce pageSize when downloading to 10 #1763
63 - 2022-03-21
- Delay loading search field dropdown data #1731
- Exclude details from facility list API by defaut #1739
- Minor UX changes #1745
- Increase database work_mem to 20MB #1744
- Swap copy between My Lists and Individual List page #1756
- Hide raw facility_type values #1758
- Remove contribute type counts from dropdown #1732
- Remove product type dropdown from search and claim #1734
- Remove parent company dropdown from search #1736
- Hide contributor details in embed downloads #1742
- Wrap long filenames in My Lists page #1756
- Fix handling of numeric custom fields #1757
- Filter out invalid facility_types #1759
62 - 2022-03-18
- Filter by extended fields #1696
- Add extended profile search APIs #1697
- Add an API to return suggested product type choices #1708
- Add extended fields to sidebar #1710
- Allow submitting non-taxonomy facility type and processing type #1705
- Update email copy for list completion #1709
- Remove the redundant workers suffix when showing value #1715
- Update copy on list pages #1719
- Remove native language name from filter sidebar #1722
- Hide inactive contributor associations #1712
- Fix CSV download when extended profile switch is off #1720
61 2022-03-17
- Move exact_match sorting to server #1716
60 - 2022-03-03
- Include extended fields in CSV/Excel downloads #1683
- Add embed_level to development contributors #1681
- Change production type to Processing type in Django admin #1679
- Combine facility type and production type claim fields #1678
- Migrate claim extended fields #1677
- Fix claim showing incorrect parent facility #1687
59 - 2022-02-25
- Add selecting silver map style to embed config #1637
- Integrate facility/processing type taxonomy into facility claims #1639
- Index extended fields #1651
- Allow searching contributors by name and admin email #1668
- Add support for facility_type_processing_type meta extended field #1671
- Update final facility_type/processing_type taxonomy #1644
- Modified custom_text handling #1665
- Add two additional types to taxonomy #1662
- Use DEBUGPY env var to conditionally enable debugging #1675
- Fix handling of numeric cells in Excel workbooks #1663
- Fix custom text handling when not in embed mode #1673
- Bump follow-redirects from 1.14.3 to 1.14.8 in /src/app #1645
- Bump url-parse from 1.5.1 to 1.5.7 in /src/app #1666
58 2022-02-17
57 2022-02-15
- Add closure status to extended profile #1635
- Ignore partial OAR IDs #1641
56 2022-02-10
- Add facility/processing type taxonomy and look-up function #1601
- Create product type extended field #1605
- Index custom text #1607
- Create extended field values for processing/facility type #1616
- Add batch_process tool #1625
- Display processing and facility type #1624
- Search custom_text in embedded map #1629
- Update embed facility detail rendering to support extended fields #1627
- Update field handling #1630
- Add an item to the release checklist to avoid deploys during demos #1633
55 2022-01-27
- Add extended field handling to facility details #1593
- Add searchability to embed config #1598
- Create parent company extended fields #1602
- Edit search label in embed config #1604
- Split clean field migration in two and handle real world data #1571
- Fix the Percent Data by Source Type report #1575
- Handle create=false when exact matching #1594
- Fix ExtendedField admin #1596
- Prevent 'clean' field error when parsing #1600
54 2022-01-05
- Update extended fields when matches are adjusted #1544
- Allow prefer contributor name in embed #1557
- Add new facility details sidebar #1552
- Use newer version of terraform container to avoid CI error #1566
- Add contributor fields to facility downloads #1565
- Fix contributor id bug #1567
53 2021-12-09
- Create ExtendedFields #1527
- Include ExtendedFields in Facility Details #1530
- Add extended profile feature flag #1542
52 2021-11-10
- Redirect to new info site #1523
- Correct info site routes #1520
51 2021-11-04
- Add ExtendedFields model #1503
50 2021-10-28
- Fix 'More' Links #1505
49 2021-10-27
- Update header, footer, and font #1495
- Provide access to info endpoints #1499
- Update and fix links #1502
48 2021-10-08
- Add Geocoding Dashboard #1469
- Redirect to alias for deleted facilities #1473
- Add linkings IDs for relocated facilities #1474
- Add script to merge identified duplicates #1477
- Fix delete facility endpoint #1472
- Allow blank new_oar_ids #1485
- Fix invalid country/address combinations #1482
- Bump axios from 0.21.1 to 0.21.2 in /src/app #1466
47 2021-09-14
- Allow users to transfer matches between facilities #1464
46 2021-08-17
- Fix mobile header #1454
45 2021-07-21
- Conditionally hide remove button #1417
- Align logout button #1420
- Use contractual limit tracking #1418
- Handle error when splitting match w/o location #1424
- Make period_start_date editable #1430
- Anonymize other_locations contributors #1415
- Fix facility detail header #1419
- Fix facility history bug #1421
- Block users without contributors #1426
- Extend geocoding report results #1428
44 2021-06-22
- Add new admin reports #1391
- Reorder contributor fields #1398
- Add additional new admin reports #1399
- Add cumulative versions of reports #1405
- Consolidate contributor type options #1395
- Bump ws from 6.2.1 to 6.2.2 in /src/app #1383
43 - 2021-06-11
- Conditionally change split operation to revert #1386
- Update claim a facility #1385
- Remove state flag from useUpdateLeafletMapImperatively to avoid loop #1393
- Pass request as context to FacilitySerializer #1396
42 - 2021-06-02
- Download facilities list as Excel #1293
- Add scripts/console #1295
- Notify contributors when lists complete processing #1290
- Add Settings Page #1290
- Add Back Button to Facility Claims #1307
- Add models to persist embed config #1304
- Add API to get nonstandard fields for contributor #1321
- Add new admin reports #1326
- Connect embed section of settings page to API #1329
- Show custom facility fields when in embed mode #1341
- Add NonstandardFields model #1340
- Enable custom styles #1348
- Add contributor embed level field #1349
- Add full-width embedded map support #1352
- Embedded map settings changes #1353
- Disable PPE search in embed mode #1364
- Enable the default embed map custom fields by default #1365
- Allow IFrames #1367
- Prevent embedded map use without authorization #1370
- Show messages when the embed config is incomplete #1376
- Download and map changes for embed mode #1378
- Use contributor ID rather than user ID when building embed code #1380
- Disable claim a facility in embed mode #1382
- Remove Sample Data and Update Registration Text #1291
- Update Dependencies #1291
- Update facility details API #1333
- Show footer in embed mode #1339
- Remove "show other contributor info" embed option and hide other contributor information in embed mode #1342
- Hide "filter by contributor type" control in embed mode #1358
- Remove debug logging from has_active_block #1296
- Adjust settings so fast refresh works in development #1284
- Fix raw data formatting #1343
- Update embed permission check and return a detail message when returing 403 from an embed update #1350
- Hide translation element on embedded map #1357
- Returned merged facilities in contributor searches #1369
- Bump djangorestframework from 3.10.1 to 3.11.2 in /src/django #1289
- Bump ssri from 6.0.1 to 6.0.2 in /src/app #1324
- Bump dns-packet from 1.3.1 to 1.3.4 in /src/app #1360
- Bump hosted-git-info from 2.8.8 to 2.8.9 in /src/app #1332
- Bump lodash from 4.17.19 to 4.17.21 in /src/app #1331
2.41.1 - 2021-04-19
- Increase default gunicorn worker timeout #1317
2.41.0 - 2021-03-12
- Provide Constant Access to GDPR #1279
- Use Craco and Prettier #1271
- Look up contributor via token when checking API blocks #1280
- Bump react-dev-utils from 11.0.3 to 11.0.4 in /src/app #1281
2.40.0 - 2021-03-10
- Add a management command to make CSVs from a CSV download #1214
- Add API for reporting a facility as closed or reopened #1231
- Confirm or reject status reports #1235
- Report Facility Status from Facility Details #1239
- Add Report Waffle Switch #1246
- Add Closure to CSV Download #1249
- Manage Embed Parameter #1257
- Send Notification of Facility Report Response #1250
- Render Appropriately in Embed Mode #1260
- Filter Facilities by List #1264
- Assign facilities in Holland the NL country code #1278
- Align Facility Matches #1243
- Update Reject Button Text #1244
- Fix vagrant provisioning failure by pinning pip python version #1262
- Fix list filtering #1272
- Bump elliptic from 6.5.3 to 6.5.4 in /src/app #1277
2.39.2 - 2021-02-38
- Add verbose debug logging to API block checking #1274
2.39.1 - 2021-02-02
- Add a management command to make CSVs from a CSV download #1214
- Only show cookie preferences for the logged in user #1229
2.39.0 - 2021-01-28
- Add page to manage cookie preferences #1213
2.38.3 - 2021-01-13
- Change monthly to yearly in API notification emails #1211
2.38.2 - 2021-01-12
- Allow setting NOTIFICATION_EMAIL_TO from a deployment var #1203
- Admin updates to allow filtering the source admin list by type and contributor and search users #1207
- Fix S3 permissions to allow CloudFront logging #1208
2.38.1 - 2021-01-06
- Remove ApiLimit monthly_limit and make yearly_limit non-null #1198
2.38.0 - 2021-01-06
- Scheduled check_api_limits invocation with Step Functions #1193
- Add ApiBlock.yearly_limit to prepare for replacing monthly_limit #1197
2.37.1 - 2020-12-14
- Remove leading and trailing whitespace from country when parsing #1184
- Fix pending matches bug #1189
2.37.0 - 2020-11-24
- Add ApiBlock Dashboard #1170
- Include confirm and reject urls in API response examples #1180
- Update facility claims when merging #1181
2.36.0 - 2020-11-09
- Update the development environment to use PostgreSQL 12.4 1146
- Allow setting the contributor on a new ApiLimit 1159
- Reenable survey popup #1159
- Update contribute page text #1171
2.35.0 - 2020-10-21
- Add ApiLimit and ApiBlock models #1141
- Update
django-ecsmanage
to version 2.0.0 1129 - Update reports to consider sources and source.create #1142
2.34.0 - 2020-10-13
- Make it possible to modify the RDS DB parameter group #1125
- Always return accept/reject links with potential matches #1131
2.33.0 - 2020-10-07
Directly connect health check to GazetteerCache and remove the use of threading in model training #1117 #1123
2.32.0 - 2020-09-24
- Return distinct source names from the facility API #1113
- Exclude contributors if all sources are create=False #1114
2.31.1 - 2020-09-21
- Simulate tile server throughput with k6 load test #1103
- Apply
ST_Transform()
whenhex_grid
table is created #1109
2.31.0 - 2020-09-09
- Add trigram match on facility name fallback when matching via API #1099
- Bump http-proxy from 1.17.0 to 1.18.1 in /src/app #1098
2.30.0 - 2020-08-11
- Rework GazetteerCache #1076
2.29.0 - 2020-08-06
- Update PPE fields when deactivating sources and matches or confirming/rejecting matches #1069
2.28.0 - 2020-07-30
- Added tooltips if table cells exceed certain lengths #1054
- Add alternate country names #1064
- Expand ppe_product_types and ppe_contact_phone #1067
- Prevent crashing the parse job if ppe_product_types value too long #1062
- Bump lodash from 4.17.13 to 4.17.19 in /src/app #1051
- Bump elliptic from 6.4.1 to 6.5.3 in /src/app #1066
2.27.0 - 2020-07-29
- Add PPE-related model fields and API support #1037
- Show PPE fields on facility detail and include in CSV downloads #1041
- Add PPE filter checkbox to the facility search page #1044
- Include PPE product types in free text query #1045
- Update PPE filter checkbox label / allow viewing RequestLog in the Django admin / log matching traceback #1049
- Update PPE fields when matching, splitting, and merging #1055
- Use popovers for help text and match PPE checkbox style to contributor overlap #1059
2.26.1 - 2020-07-28
- Log stack trace of exception raised during single item matching 95e27f2
2.26.0 - 2020-06-25
- Bump websocket-extensions from 0.1.3 to 0.1.4 in /src/app #1026
2.25.0 - 2020-05-14
- If there are multiple high quality matches choose exact string match #1016
2.24.0 - 2020-04-02
- Return contributor details from list API and include in CSV download #1005
2.23.2 - 2020-03-23
- Only count contributors with active public items for type count #1002
2.23.1 - 2020-03-20
- Include contributors if they have any active facilities #999
2.23.0 - 2020-03-18
- Add a report that groups facility counts by country #979
- Add confirmed matches to canonical facility list when matching #964
- Add polygonal search #969
- Add report that lists contributors with active lists #990 #991
- Zoom to search #966
- Display number of contributors per type #981
- Open to search on page load; show results count in tab bar #985
- Ignore case for forgot-password email #970
- Update 'parent company' label to 'parent company / supplier group' #971
- Hide contributors with only errored facilities #974
- Show automated GPS coordinates after update #978
- Allow click through polygon after search
- Fix contributor types when no contributors are found #989
- Prevent reload of facilities list on confirm #993
- Bump acorn from 5.7.3 to 5.7.4 in /src/app #992
2.22.0 - 2020-02-20
- Use a nested query when filtering by contributor type #954
2.21.1 - 2020-02-11
2.21.0 - 2020-01-08
- Allow groups memberships to be changed in the Django admin #934
- Update reports to properly handle multiple years #938
- Bump handlebars from 4.1.2 to 4.5.3 #932
2.20.0 - 2019-12-18
- Add filter option to search for contributor overlap #925
- Fix FacilityList to string and serilization with no Source #931
2.19.0 - 2019-11-20
- Move the facility match confirm/reject API to allow single-item match handling #918
- Add a dissociate history event when list item is replaced #919
2.18.0 - 2019-11-12
- Train persistant Dedupe model on first app request #905
- List inactive or private sources by contributor type #907
- Add can view full contributor detail flag/group #910
- Add downloadable XLSX contributor template #912
- Handle EmptyResultSet error raised by tile requests #911
2.17.0 - 2019-11-04
- Add single facility submission endpoint #896
- Replace facility history feature switch with feature flag #881
- Better accommodate outside contributors #895
- Allow superusers to change the Contributor of a Source #901
- Remove legacy API #888
- Handle cases when Source contributor or facility_list are None #903
2.16.0 - 2019-10-24
- Implement Source model step 3 #858
- Use a decimal value for opacity in App.css rather than percent #891
- Fix AWS Batch submission to use Source ID #893
2.15.0 - 2019-10-14
- Implement Source model step 2 #857
- Add OAR survey dialog #869
- Add People's Republic of China as alternate country name #876
2.14.0 - 2019-10-11
2.13.0 - 2019-10-07
- Add facility history API endpoint #830
- Include match association records in facility history list #851
- Include facility claim data in facility history list #852
- Enable Waffle switches when running resetdb #859
- Check geocoded_point is not None when serializing other locations #861
- Remove duplicate entries from other locations data #860
- Fix facility history entry order #862
2.12.0 - 2019-10-01
- Add update facility location dashboard page #814
- Display other locations on facility details page #827
- Add reports to count API requests and API token creation #833
- Restyle grid layer legend & show conditionally based on zoom level #826
- Update guide tab text along with vector tile feature #834
- Close Disambiguation Popup on Reset #812
- Close Disambiguation Popup on New Search #825
- Change "Accept" to "Confirm" in About/Processing #815
- Regularize vector tile map zoom behavior #799
- Fix a bug which caused the vector tile map to crash on login/logout #837
- Remove Visual Artifacts from the Vector Grid #839
2.11.0 - 2019-09-12
- Adjust marker icon on selecting a new facility on the vector tiles layer #749
- Fetch next page of facilities while scrolling through sidebar list #750
- Enable signed-in users to download all facilities results as CSV #752
- Add disambiguation marker to work with vector tile layer #760
- Make facilities tab primary & load all facilities by default when vector tile feature is switched on #771
- Add facility grid layer #755
- Encode querystring params into tile cache key used by client to request vector tiles #773
- Cache vector tiles for a year #776
- Use PostgreSQL 10.9 in development #751
- Add open graph meta tags for social media sharing #780
- Restrict
/tile
Endpoint to Allowed Hosts Only #791 - Redesign facility grid layer #797
- Set minimum map zoom level to 2 #802
- Drop undocumented endpoint from Swagger docs #803
- Fix a bug which prevented the facility claims dashboard page header from loading #778
- Fix a bug which prevented the vector tile marker layer from rendering #782
- Capture infinite-scroll emitted bug in an ErrorBoundary in order not to crash the map component #777
- Correct Facility Parent Company link #772
- Escape newline and double-quote characters when downloading CSVs #809
- Fix several npm security vulnerabilities via GitHub dependabot #792
2.10.0 - 2019-08-22
- Add vector tile ADR #723
- Add contributor and mailing list admin reports and the ability to download admin reports #726
- Create
/tile
endpoint to return all facilities as vector tiles, along with React components for displaying the vector tiles #730
- Restore django-waffle admin pages #732
- Prevent map crash by not using strict equality when comparing point coordinates #737
- Fix map marker anchor location #745
2.9.0 - 2019-08-07
- Add admin reports #709
- Require authentication for facility CSV downloads and log requests #697
- Wrap facility search results with react-infinite via react-infininte-any-height #711
- Replace Google Map component with a React Leaflet component using a Google basemap #710
- Pan map on selecting a new facility only when the selected facility is off-screen #719
2.8.0 - 2019-07-24
- Enable admins to promote matches to become the canonical facility #695
- Upgrade Django to 2.2, along with upgrading some related libraries #676
- Set Swagger API docs header #694
2.7.0 - 2019-07-17
- Enable administrators to split facility matches into new facilities #633
- Log requests made with token authentication #646
./scripts/resetdb
to expedite refreshing application data during development #672- Enable searching by OAR ID from the facility search tab #675
- Require a token for all API endpoints #644
- Validate claimed facility website field and show as hyperlink #647
- Update app text in claim a facility workflow #642
- Make "Dashboard" text on dashboard screens a clickable link #667
- Display RouteNotFound component for unmatched routes #657
- Add disclaimer text for claimed facility details #670
- Update claim a facility form and profile fields #650
- Add facility field changes to contributor notification emails #649
- Add affiliations and certifications fields to claimed facility profile #671
- Add product and production type to claimed facility profile #680
- Make facility description required on claim a facility form #679
- Adjust how product and production type options are set for claimed details profile form #684
2.6.0 - 2019-06-25
- Enable submitting claim a facility form #540
- Allow contributors to be verified #563
- Add routing to enable users to view claimed facilities #572
- Add claim a facility dashboard #559
- Add profile page and update form for approved facility claims #575
- Show a list of facilities successfully claimed by the current contributor #573
- Add GitHub issue template for "draft" issues #590
- Allow superusers to view all lists #584
- AboutClaimedFacilities component & disclaimer text #608
- Add facility delete API #616
- Add UI to enable administrators to delete and merge facilities through the dashboard #615
- Enable contributors to remove individual facility list items from public display #619
- Adjust /claimed routing container #574
- Ensure at most one claim can be approved per facility #585
- Order facility claim notes from oldest to newest on dashboard #596
- Prevent users from submitting another claim for a facility when they have a first claim still pending #601
- Email contributors when facility claims are approved or claim profiles are updated #611
- Add
parent_company
field to facility claims #626
- Miscellaneous bugfixes #622
2.5.0 - 2019-06-05
- Add django-waffle and configure Django & React apps to enable feature flags #531
- Support uploading Excel files #532
- Fetch client country code based on IP #541
- Free text search filter for facility list items #542
- Add admin-authorized dashboard route: #553
- Enabled hot reloading during development in React app #556
- Create
/dashboard/lists
and/dashboard/claims
routes #557
- Show active facility list names and descriptions on profile page #534
- Conditionally make requests to Google services based on client country detected by IP geolocation #548
- Fixed script name in release issue template #529
- Bumped Django REST framework to version not impacted by WS-2019-0037 #536
- Upgrade axios to 0.19.0 #554
2.4.0 - 2019-05-20
- Add django-simple-history and create audit model for facilities #521
- Facility list items can be filtered by status #507
- Facility lists pages displays a count of item statuses #511
- Retry failed batch jobs up to 3 times and report job failures to Rollbar #512
- Set maximum page size for Facilities list API endpoint to 500 facilities per request. #509
- Upgraded React to 16.8.6 #511
- Changed the name of country code MK to North Macedonia #525
- Made some fields read only in the Django admin to prevent slow page loads resulting in service interruptions. #527
2.3.0 - 2019-05-08
- Change facility list CSV download to request one page at a time #496
- Handle CSV files that include a byte order mark #498
2.2.0 - 2019-04-11
- Password can be changed from the profile page #469
- Update release checklist to keep default commit messages #451
- Add support for encrypted RDS for PostgreSQL storage #461
- Update the text on the home page "Guide" tab #468
- Add a new error boundary to enable the FacilitiesMap component to crash without crashing the rest of the app #446
- Revise geocoding unit test to be more robust #466
- Remove duplicate values from the contributors API #453
2.1.0 - 2019-04-01
- Add
reprocess_geocode_failures
management command #439
- Add protocol to contributor website if mising #445
- Rename "Account Name" and "Account Description" registration form fields to "Contributor Name" and "Account Description" #444
- Filter contributors with no active and public lists from contributors search dropdown #430
- Remove
"(beta)"
from page title #418
- Set ERROR_MATCHING status to non-geocoded list items for which all potential matches have been rejected #437
- Return 400/Bad Request error for /api/facilities request with invalid contributor parameter type. #433
- Avoid unhandled exception when matching a list with no geocoded items #439
2.0.0 - 2019-03-27
- Google Analytics which activates only upon user's explicit consent #409
0.2.0 - 2019-03-27
- Do not show facilities from inactive lists when searching #401
- Redirect to facility list upon successful upload #404
- Better support for wide and narrow browser widths #392
- Handle geocodes with unescaped
#
character #402
0.1.0 - 2019-03-26
- Initial release.