Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 14.2.0 #6836

Merged
merged 64 commits into from
Feb 16, 2021
Merged

Release 14.2.0 #6836

merged 64 commits into from
Feb 16, 2021

Conversation

sulkaharo
Copy link
Member

@sulkaharo sulkaharo commented Feb 2, 2021

Welcome to Release 14.2 Sweet Liquorice!

This release focuses on improving the overall security of Nightscout. 14.2 adds a new method for Nightscout to notify you of various security issues in your setup. After upgrading to the this release, if Nightscout wants to tell you something about the system security, you'll see a red megaphone appear in the Nightscout web client. To see the messages, you'll have to sign in using your API-SECRET or a token that's got administration privileges. Full details of the messages can be found in the Nightscout documentation: https://nightscout.github.io/nightscout/security/

Advance warning regarding future releases: we are likely to make compatibility breaking changes in upcoming releases that will change how the authentication flows with the Nightscout API works, along with changes to validation of data sent to Nightscout. If you're an app developer and are using the Nightscout APIs in your application, please join our Discord channel to learn about the changes are they're implemented. You can join the channel here: https://discord.gg/zg7CvCQ

Nightscout translations are now made in Crowdin. This is very easy even for non-technical folks, so please join and contribute! https://crowdin.com/project/nightscout

Note if you're running your instance with a very old MongoDB version, your installation might break. We've tested the release using MongoDB 4.2 and 4.4.

New Features and Improvements

  • Administration messages support
  • Bolus bubble rendering in Nightscout UI is now more configurable, see the new Settings in the client settings panel
  • You can now configure Nightscout to disable battery alarms during night
  • Security improvement: treatments and CGM entries sent over the REST API V1 are now filtered for XSS injection code
  • A lot of work has been put into localization, huge thanks to all the contributors
  • Reports now remember the settings you've chosen across sessions
  • Alexa integration now supports Spanish
  • Fixed a bug with AAPS updating CGM values after Dexcom rounds the value
  • Added support for Portuguese and Slovenian
  • Support for Traditional Chinese has been removed until we find a contributor to help with translating more of the software. The next release will remove support for Japanese unless a larger portion of the text has been translated by time of release.

For developers

  • APIV3 results are now wrapped differently from before
  • Webpack was upgraded to V5
  • Client JS bundling was simplified to just one bundle, cutting down bundling time to ~50% of current
  • Removed cache invalidation token from bundling process and generating it on server boot
  • Security improvement: generate strong persistent random string on deploy to use for JWT signing instead of api_secret
  • Security improvement: moved api-secret and JWT signing to a separate centralized security component and deletes api_secret from environment, so it's not accessible elsewhere
  • Security improvement: Clients can now send the api_secret using SHA512
  • Moved some server components away from project root to make it easier to see what code runs in server vs client
  • Fixes some issues reported by linter

sulkaharo and others added 30 commits January 7, 2021 14:43
* Allow reducing timer length in delays for security tests
* Adds a new method for the server to push notifies to the client, which require administration privileges from the user. If there are messages in queue but user is not privileged, she is notified of pending messages

* Fix unit tests

* Increase timeouts on tests

* Add translations

* * Aggregate admin messages
* Send admin message on auth fail
* Sending messages over bus
* XSS filtering of objects sent over the REST API

* Warn users if their instance is world readable

* Fix adminnotifies init()

* Fix couple issues from Codacy
* APIv3: isolating documents from tests (not allowing clashes of calculated identifiers)

* removing unused async keyword

* fixing api v3 swagger and moving it to /api3-docs

* APIv3: adding cachedCollection stub of cachedCollection storage implementation

* APIv3: mongo cachedCollection storage implementation

* APIv3: testing and debugging cache updates

* APIv3: more testing on cache updates

* APIv3: fixing bad async functions

* APIv3: finishing cache invalidation tests

* APIv3: wrapping VERSION result

* APIv3: wrapping STATUS result

* APIv3: wrapping DELETE result

* APIv3: wrapping READ result + partially SEARCH and HISTORY

* APIv3: wrapping CREATE result

* APIv3: wrapping UPDATE + PATCH result

* APIv3: wrapping LAST MODIFIED result

* APIv3: updating swagger doc

* APIv3: updating tutorial.md

* APIv3: tuning tests

* APIv3: merge dev

Co-authored-by: Petr Ondrusek <petr.ondrusek@seznam.cz>
Co-authored-by: Petr Ondrůšek <petr.ondrusek@okin.eu>
Co-authored-by: Sulka Haro <sulka@sulka.net>
* Fix a hard to translate key that was split to two separate values
Skip the docker push steps if the repo owner is not 'nightscout'.
* * Remove unused old version of MFB
* Bundle food, profile editor
* Clean up the static folders

* Fix tests
* feat: add feature to disable pump battery alarms at night

* add timezone handling for server side

* Update pump.test.js

* Update pump.test.js

* Update pump.test.js

Co-authored-by: Jeremy Cunningham <jpcunningh@gmail.com>
Co-authored-by: Sulka Haro <sulka@sulka.net>
Co-authored-by: Jakob Sandberg <jakobs@zillowgroup.com>
Co-authored-by: Sulka Haro <sulka@sulka.net>
* Allow api3 behind reverse proxy

* fix test

Co-authored-by: Sulka Haro <sulka@sulka.net>
* New translations en.json (Russian)

* New translations en.json (Swedish)

* New translations en.json (Hebrew)

* New translations en.json (Hungarian)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Chinese Traditional)

* New translations en.json (Chinese Simplified)

* New translations en.json (Turkish)

* New translations en.json (Slovenian)

* New translations en.json (Polish)

* New translations en.json (Dutch)

* New translations en.json (Korean)

* New translations en.json (Japanese)

* New translations en.json (Italian)

* New translations en.json (Finnish)

* New translations en.json (Norwegian Bokmal)

* New translations en.json (German)

* New translations en.json (Danish)

* New translations en.json (Czech)

* New translations en.json (Bulgarian)

* New translations en.json (Spanish)

* New translations en.json (French)

* New translations en.json (Romanian)

* New translations en.json (Russian)

* New translations en.json (Swedish)

* New translations en.json (Greek)

* New translations en.json (Croatian)

* Update source file en.json

* New translations en.json (Norwegian Bokmal)

* New translations en.json (Greek)

* New translations en.json (French)

* New translations en.json (Dutch)

* New translations en.json (Greek)

* New translations en.json (Swedish)

* New translations en.json (Czech)

* New translations en.json (Russian)

* New translations en.json (Romanian)

* Update source file en.json

* New translations en.json (Hebrew)

* New translations en.json (Hungarian)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Chinese Traditional)

* New translations en.json (Chinese Simplified)

* New translations en.json (Turkish)

* New translations en.json (Slovenian)

* New translations en.json (Polish)

* New translations en.json (Dutch)

* New translations en.json (Korean)

* New translations en.json (Japanese)

* New translations en.json (Italian)

* New translations en.json (Finnish)

* New translations en.json (Norwegian Bokmal)

* New translations en.json (German)

* New translations en.json (Danish)

* New translations en.json (Czech)

* New translations en.json (Bulgarian)

* New translations en.json (Spanish)

* New translations en.json (French)

* New translations en.json (Romanian)

* New translations en.json (Russian)

* New translations en.json (Swedish)

* New translations en.json (Greek)

* New translations en.json (Croatian)

* New translations en.json (Romanian)

* New translations en.json (Hebrew)

* New translations en.json (Norwegian Bokmal)

* New translations en.json (Hungarian)

* New translations en.json (Hebrew)

* New translations en.json (Hungarian)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Chinese Traditional)

* New translations en.json (Chinese Simplified)

* New translations en.json (Turkish)

* New translations en.json (Slovenian)

* New translations en.json (Polish)

* New translations en.json (Dutch)

* New translations en.json (Korean)

* New translations en.json (Japanese)

* New translations en.json (Italian)

* New translations en.json (Finnish)

* New translations en.json (Norwegian Bokmal)

* New translations en.json (German)

* New translations en.json (Danish)

* New translations en.json (Czech)

* New translations en.json (Bulgarian)

* New translations en.json (Spanish)

* New translations en.json (French)

* New translations en.json (Romanian)

* New translations en.json (Russian)

* New translations en.json (Swedish)

* New translations en.json (Greek)

* New translations en.json (Croatian)

* Update source file en.json

* New translations en.json (Norwegian Bokmal)

* New translations en.json (Greek)

* New translations en.json (Swedish)

* New translations en.json (German)

* New translations en.json (Russian)

* New translations en.json (Czech)

* New translations en.json (German)

* New translations en.json (Hungarian)

* New translations en.json (Hungarian)

* New translations en.json (Dutch)

* New translations en.json (Hebrew)

* New translations en.json (Russian)

* New translations en.json (French)

* New translations en.json (Spanish)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Russian)

* New translations en.json (French)

* New translations en.json (Spanish)

* New translations en.json (Danish)

* New translations en.json (Portuguese, Brazilian)
* Copied #5442 - Duplicated @c-robertson's work

* Added tx id and sensor code to tooltip

* Added swagger docs for the new fields

* Added missing language keys

* Added new fields to sage plugin display

Co-authored-by: Sulka Haro <sulka@sulka.net>
Proof of concept to demonstrate saving report preferences

Co-authored-by: Sulka Haro <sulka@sulka.net>
* New translations en.json (Russian)

* New translations en.json (Romanian)

* New translations en.json (Bulgarian)

* New translations en.json (Finnish)

* New translations en.json (Hindi)

* New translations en.json (French)

* New translations en.json (Swedish)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Italian)

* New translations en.json (Slovenian)

* New translations en.json (Slovenian)

* New translations en.json (Arabic)

* New translations en.json (Greek)

* New translations en.json (French)

* New translations en.json (Bulgarian)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Bulgarian)

* New translations en.json (Norwegian Bokmal)

* New translations en.json (French)

* New translations en.json (Croatian)

* New translations en.json (Italian)

* New translations en.json (French)

* New translations en.json (Italian)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (German)

* New translations en.json (Hebrew)

* New translations en.json (Italian)

* New translations en.json (Hindi)

* New translations en.json (Croatian)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Chinese Traditional)

* New translations en.json (Chinese Simplified)

* New translations en.json (Turkish)

* New translations en.json (Slovenian)

* New translations en.json (Polish)

* New translations en.json (Dutch)

* New translations en.json (Korean)

* New translations en.json (Japanese)

* New translations en.json (Hungarian)

* New translations en.json (Norwegian Bokmal)

* New translations en.json (Finnish)

* New translations en.json (German)

* New translations en.json (Danish)

* New translations en.json (Czech)

* New translations en.json (Bulgarian)

* New translations en.json (Spanish)

* New translations en.json (French)

* New translations en.json (Romanian)

* New translations en.json (Russian)

* New translations en.json (Swedish)

* New translations en.json (Greek)

* New translations en.json (Arabic)
* Catch error from websocket device status dedupe

* Patch two more locations that don't catch errors correctly
* Changes the bundling so the site works on old Safari versions

* Fix quotes

* Cache babel output for faster development
* rename toFixedMin to toRoundedStr

* round the insulin value
* #6701 Report storage tests

Functional and unit tests

* #6701 Test cleanup

* #6701 js-storage teardown

The first time js-storage is required it evaluates if it's running in the browser or not: https://github.com/julien-maurel/js-storage/blob/master/js.storage.js#L423 and will define the localstorage getters and setters accordingly. This becomes an issue if testing localstorage between UI and non-UI tests. reportstorage.test.js was requiring it before hashauth.test.js causing a conflict.

* #6701 false positive test

The page isn't refreshing

Co-authored-by: Sulka Haro <sulka@sulka.net>
- use default time outs
- remove MongoDB_URI (including user name and password) from public error message
- fix typos

Co-authored-by: Sulka Haro <sulka@sulka.net>
* Clear module require()s between tests
Clear profile cache between tests

* Fix authentication for careportal test

* Add logging to see where the careportal test gets to

* Even more logging for headless setup

* Change to use before and after in careportal test

* Add time logging

* Bump headless setup time to a full minute

* More timers to figure out what's slow in GA

* Bump up timeout on failing test
* New translations en.json (Hebrew)

* New translations en.json (Norwegian Bokmal)

* New translations en.json (Greek)

* New translations en.json (German)

* New translations en.json (Dutch)

* New translations en.json (Swedish)

* New translations en.json (Czech)

* New translations en.json (Hungarian)

* New translations en.json (Croatian)

* New translations en.json (Norwegian Bokmal)

* New translations en.json (Norwegian Bokmal)

* New translations en.json (Russian)

* New translations en.json (Chinese Simplified)

* New translations en.json (Bulgarian)

* New translations en.json (Greek)

* New translations en.json (Greek)

* New translations en.json (Portuguese)

* New translations en.json (Portuguese)

* New translations en.json (Portuguese)

* New translations en.json (Portuguese)
Co-authored-by: Sulka Haro <sulka@sulka.net>
* Add bolus plugin and restructure rendering settings

* Add setting to prevent automated micro boluses from triggering notifications and snoozing alarms

* clean up

* Small change to the bolus-settings branch so it supports flexible configuration that enables the old behavior

* Translations

* Fix settings default

Co-authored-by: Jason Calabrese <jason@cbrese.com>
…rt. (#6530)

Added an option to hide BG Check and other events on the Day to Day report.

Co-authored-by: Sulka Haro <sulka@sulka.net>
sulkaharo and others added 29 commits February 4, 2021 13:21
* Don't do sync file access on requests to swagger files or service worker
* Adds an API test
* Add unit test for socket.io connect

* Fix white space
* Fix websocket in unauthenticated cases
* Localisable API_SECRET warning
* Fix admin message time display when message is recent
* Hide Traditional Chinese due to low coverage
* Add Portuguese to the menu
* Fix view include syntax
* Change Slovenian name to correct language
* upgrade webpack info

* cleanup eslint findings

* fix eslint formatter stylish error

* lazy is invalid option for webpack dev middleware

* upgrade webpack to 5.x

* remove unsupported terser option

* fix missing process polyfill dependency

* try alternate proces fix

* fix css image reference

* add statements to import missing css files to index.html

* TerserPlugin no longer required

* add missing css links

* remove terser

Co-authored-by: Jeremy Cunningham <jpcunningh@gmail.com>
Co-authored-by: Sulka Haro <sulka@sulka.net>
* New translations en.json (Hebrew)

* New translations en.json (Norwegian Bokmal)

* New translations en.json (Spanish)

* New translations en.json (German)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Dutch)

* New translations en.json (Norwegian Bokmal)

* New translations en.json (Swedish)

* New translations en.json (Bulgarian)

* New translations en.json (Danish)

* New translations en.json (French)

* New translations en.json (Danish)

* New translations en.json (Greek)

* New translations en.json (Danish)

* New translations en.json (Greek)

* New translations en.json (Greek)

* New translations en.json (Portuguese)

* New translations en.json (Greek)

* New translations en.json (Greek)

* New translations en.json (Russian)

* Update source file en.json

* New translations en.json (Hebrew)

* New translations en.json (Japanese)

* New translations en.json (Arabic)

* New translations en.json (Hindi)

* New translations en.json (Croatian)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Chinese Traditional)

* New translations en.json (Chinese Simplified)

* New translations en.json (Turkish)

* New translations en.json (Slovenian)

* New translations en.json (Polish)

* New translations en.json (Dutch)

* New translations en.json (Korean)

* New translations en.json (Italian)

* New translations en.json (Norwegian Bokmal)

* New translations en.json (Hungarian)

* New translations en.json (Finnish)

* New translations en.json (German)

* New translations en.json (Danish)

* New translations en.json (Czech)

* New translations en.json (Bulgarian)

* New translations en.json (Spanish)

* New translations en.json (French)

* New translations en.json (Romanian)

* New translations en.json (Russian)

* New translations en.json (Swedish)

* New translations en.json (Greek)

* New translations en.json (Portuguese)

* New translations en.json (Spanish)

* New translations en.json (Greek)

* New translations en.json (Russian)

* New translations en.json (Portuguese)

* New translations en.json (Portuguese)

* New translations en.json (Norwegian Bokmal)

* Update source file en.json

* New translations en.json (Hebrew)

* New translations en.json (Japanese)

* New translations en.json (Arabic)

* New translations en.json (Hindi)

* New translations en.json (Croatian)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Chinese Traditional)

* New translations en.json (Chinese Simplified)

* New translations en.json (Turkish)

* New translations en.json (Slovenian)

* New translations en.json (Polish)

* New translations en.json (Dutch)

* New translations en.json (Korean)

* New translations en.json (Italian)

* New translations en.json (Norwegian Bokmal)

* New translations en.json (Hungarian)

* New translations en.json (Finnish)

* New translations en.json (German)

* New translations en.json (Danish)

* New translations en.json (Czech)

* New translations en.json (Bulgarian)

* New translations en.json (Spanish)

* New translations en.json (French)

* New translations en.json (Romanian)

* New translations en.json (Russian)

* New translations en.json (Swedish)

* New translations en.json (Greek)

* New translations en.json (Portuguese)

* Update source file en.json

* New translations en.json (Japanese)

* New translations en.json (Norwegian Bokmal)

* New translations en.json (Finnish)

* New translations en.json (German)

* New translations en.json (Danish)

* New translations en.json (Czech)

* New translations en.json (Spanish)

* New translations en.json (Swedish)

* New translations en.json (Greek)

* New translations en.json (Portuguese)

* New translations en.json (French)

* New translations en.json (Greek)

* New translations en.json (Hebrew)

* New translations en.json (Japanese)

* New translations en.json (Arabic)

* New translations en.json (Hindi)

* New translations en.json (Croatian)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Chinese Traditional)

* New translations en.json (Chinese Simplified)

* New translations en.json (Turkish)

* New translations en.json (Slovenian)

* New translations en.json (Polish)

* New translations en.json (Dutch)

* New translations en.json (Korean)

* New translations en.json (Italian)

* New translations en.json (Norwegian Bokmal)

* New translations en.json (Hungarian)

* New translations en.json (Finnish)

* New translations en.json (German)

* New translations en.json (Danish)

* New translations en.json (Czech)

* New translations en.json (Bulgarian)

* New translations en.json (Spanish)

* New translations en.json (French)

* New translations en.json (Romanian)

* New translations en.json (Russian)

* New translations en.json (Swedish)

* New translations en.json (Greek)

* New translations en.json (Portuguese)

* Update source file en.json

* Update source file en.json

* New translations en.json (Slovenian)

* Update source file en.json

* New translations en.json (Hebrew)

* New translations en.json (Japanese)

* New translations en.json (Portuguese)

* New translations en.json (Arabic)

* New translations en.json (Hindi)

* New translations en.json (Croatian)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Chinese Traditional)

* New translations en.json (Chinese Simplified)

* New translations en.json (Turkish)

* New translations en.json (Slovenian)

* New translations en.json (Polish)

* New translations en.json (Dutch)

* New translations en.json (Korean)

* New translations en.json (Italian)

* New translations en.json (Norwegian Bokmal)

* New translations en.json (Hungarian)

* New translations en.json (Finnish)

* New translations en.json (German)

* New translations en.json (Danish)

* New translations en.json (Czech)

* New translations en.json (Bulgarian)

* New translations en.json (Spanish)

* New translations en.json (French)

* New translations en.json (Romanian)

* New translations en.json (Russian)

* New translations en.json (Swedish)

* New translations en.json (Greek)

* New translations en.json (Slovak)

* Update source file en.json

* New translations en.json (Portuguese)

* New translations en.json (Norwegian Bokmal)

* New translations en.json (Finnish)

* New translations en.json (German)

* New translations en.json (Danish)

* New translations en.json (Czech)

* New translations en.json (Greek)

* New translations en.json (French)

* New translations en.json (Portuguese)
* If CGM value has changed, push it to server

* Fix VScode overeager code add

* Merge updated CGM data into client dataset
* APIv3: isolating documents from tests (not allowing clashes of calculated identifiers)

* removing unused async keyword

* fixing api v3 swagger and moving it to /api3-docs

* APIv3: finishing cache invalidation tests

Co-authored-by: Petr Ondrusek <petr.ondrusek@seznam.cz>
Co-authored-by: Petr Ondrůšek <petr.ondrusek@okin.eu>
Co-authored-by: Sulka Haro <sulka@sulka.net>
* New translations en.json (Greek)

* New translations en.json (Dutch)

* New translations en.json (Swedish)

* New translations en.json (Russian)

* New translations en.json (Russian)

* New translations en.json (Greek)

* New translations en.json (Portuguese)
* New translations en.json (Greek)

* New translations en.json (Norwegian Bokmal)

* New translations en.json (Greek)

* New translations en.json (Hebrew)

* New translations en.json (Japanese)

* New translations en.json (Portuguese)

* New translations en.json (Arabic)

* New translations en.json (Hindi)

* New translations en.json (Croatian)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Chinese Traditional)

* New translations en.json (Chinese Simplified)

* New translations en.json (Turkish)

* New translations en.json (Slovenian)

* New translations en.json (Polish)

* New translations en.json (Dutch)

* New translations en.json (Korean)

* New translations en.json (Italian)

* New translations en.json (Norwegian Bokmal)

* New translations en.json (Hungarian)

* New translations en.json (Finnish)

* New translations en.json (German)

* New translations en.json (Danish)

* New translations en.json (Czech)

* New translations en.json (Bulgarian)

* New translations en.json (Spanish)

* New translations en.json (French)

* New translations en.json (Romanian)

* New translations en.json (Russian)

* New translations en.json (Swedish)

* New translations en.json (Greek)

* New translations en.json (Slovak)

* Update source file en.json

* New translations en.json (Norwegian Bokmal)

* New translations en.json (Greek)

* New translations en.json (Swedish)

* New translations en.json (Russian)

* New translations en.json (Romanian)

* New translations en.json (French)

* New translations en.json (Czech)

* New translations en.json (Danish)

* New translations en.json (Portuguese)

* New translations en.json (German)

* New translations en.json (Dutch)

* New translations en.json (Polish)

* New translations en.json (Norwegian Bokmal)

* New translations en.json (Polish)

* New translations en.json (Romanian)

* New translations en.json (Romanian)

* New translations en.json (Greek)

* New translations en.json (Finnish)

* New translations en.json (Russian)
* Fix server.js location for Azure
* New translations en.json (Czech)

* New translations en.json (Czech)

* New translations en.json (Spanish)

* New translations en.json (Hungarian)

* New translations en.json (Hungarian)

* New translations en.json (Hungarian)
@sulkaharo sulkaharo merged commit 5936954 into master Feb 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.