Skip to content

Releases: tidepool-org/platform

v1.31.0: Image service

12 Apr 01:47
Compare
Choose a tag to compare

Deployment details: https://trello.com/c/aYKgHwIC

  • Add image service
  • Add new dependencies for image service
  • Add blob and image types for association
  • Update dependencies
  • Update to Go 1.11.4
  • Rename Blobs to BlobArray and Sources to SourceArray for consistency
  • Add request.ErrorExtensionNotSupported
  • Minor test updates
  • Rename HasUpdates to IsEmpty to be more descriptive
  • Fix string length validation bug in structure validator package
  • Cleanup test package
  • Remove test.Mock as unnecessary
  • Replace legacy test function usage
  • Remove redundant parsing tests
  • Refactor out common data types
  • Replace deprecated data parsers with structure parsers
  • Rename bytes local variable to avoid conflict with bytes package
  • Remove unnecessary tests to prevent future propogation
  • Rename test functions with prefix ExpectSerialized to ExpectSerializeObject
  • Update test package imports to current best practices
  • Fix data model limit validation constants based off alternate unit constants
  • Straighten out handling of time objects and related in tests
  • Rename blob and data source store Delete to Destroy to reflect actual result
  • Update blob and data source packages to remove context from test assertions
  • Update auth package to remove context from test assertions
  • Refactor and add improved request path and header parsing
  • Update structured store to allow optional update operators and query modifiers
  • Add unstructured store DeleteDirectory to provide batch delete operations
  • Add unstructured store Options during put operation to allow setting content type on S3 object
  • Remove context from unstructured store test mocks as it can change unrelated to target under test
  • Update aws package and interfaces to enable batch object delete
  • Update pagination to not include page or size if defaults are specified
  • Update log package to enable easier addition of contextual data into context and logger
  • Update structure parser to allow reporting errors in contained data by reference
  • Add Makefile targets to execute unit tests until failure
  • Fix import alias for any import path ending in /v1
  • Update dump users tool to be more generic and usable
  • Return HTTP status code 413 Request Entity Too Large when blob size exceeds maximum
  • Replace blob.Create with blob.Content
  • Remove blob Content-Length header usage and blob.Content.Size as it does not work with content encoding
  • Update test config reporter for better debugging
  • Fix randomly failing profile mongo test
  • Fix unused tests
  • Fix import ordering due to Golang tool changes
  • Update dependencies
  • Update to Go 1.11.1
  • Add user id to ArchiveDeviceDataUsingHashesFromDataSet selector to properly use indexes
  • Fix data set id validation to allow Jellyfish id format

v1.30.1: Relax Dexcom API validations to match Tidepool data model validations

11 Dec 03:21
Compare
Choose a tag to compare
  • Relax Dexcom API validations to match Tidepool data model validations
  • Rename insulin dose constants to properly include units

v1.30.0

05 Dec 06:05
Compare
Choose a tag to compare
  • Fix Dexcom API v2 edge cases
  • Handle unexpected data from Dexcom API v2
  • Update to Dexcom API v2
  • Capture cgm settings for changed Dexcom API devices
  • Capture new fields from Dexcom API v2 data
  • Pull data from Dexcom API in 30 day increments rather than 90
  • Add Dexcom time struct for proper formatting during serialization
  • Use constants consistently throughout dexcom package
  • Remove device info from Dexcom API data as not useful
  • Remove unnecessary TODO for Dexcom API mmol/L support
  • Update cgm settings to allow for new settings from Dexcom API
  • Add default alert settings and alternative scheduled alert settings to cgm settings
  • Add test helpers for data parser serialization
  • Add pointer.Equal functions
  • Deprecate current cgm settings alert structures
  • Update oauth/client package tests to latest best practices
  • Update platform package tests to latest best practices
  • Update client package tests to latest best practices
  • Update Dexcom types to latest best practices
  • Add data store benchmark tool
  • Rename local variable name context to ctx for consistency
  • Remove unused code in data store mongo implementation
  • Update tool dependencies
  • Add build tools as additional dependencies
  • Update Makefile to install build tools from vendor directory
  • Update Makefile to remove unused tools

v1.29.0: Update tool dependencies

24 Oct 06:56
Compare
Choose a tag to compare
  • Allow physical activity other field as optional
  • Update mongo queries for data using selectors to more effectively use indexes
  • Add minutes and seconds to pump settings bolus calculator insulin duration units
  • Return updated data set after creation
  • Remove unnecessary condition when opening deduplicator for data set
  • Update delete data set origin deduplicator to delete duplicates found when adding data
  • Update delete data set origin deduplicator to deactivate deleted data
  • Update base deduplicator to activate data set separately from data set data
  • Update data store to not activate data set when data set data activated
  • Add data selectors to data set data operations to target specific data records
  • Update data store to add activate, archive, delete, destroy deleted, and destroy operations on data set data
  • Refactor data store and test for code consistency
  • Refactor for code consistency
  • Rename data.Delete to data.Selector for more general usage
  • Add data deduplicator name migration
  • Refactor entire data deduplicator package
  • Refactor net test package
  • Add meta to Dexcom data to assist with debugging validation errors
  • Update Ginkgo suite usage
  • Add optional provider session id to data source update
  • Add new provider session id to data source after reconnecting Dexcom API
  • Use float64 for food data type values
  • Add direct access to data origin
  • Make device id optional for data
  • Refactor device time change event to include time zone name
  • Add time zone name validator
  • Move pump settings display units to pump settings display blood glucose units
  • Add off value to put settings basal temporary type
  • Move pump settings insulin to pump settings bolus calculator insulin
  • Rename pump settings bolus combination to pump settings bolus extended
  • Add API to batch delete data set data
  • Add origin type "service"
  • Add origin payload
  • Update origin name to validate as string with maximum length
  • Fix data service data source client
  • Add continuous origin deduplicator to use origin id as deduplication key for continuous data sets
  • Allow client to specific data set deduplicator
  • Fix data store tests
  • Add blob size maximum
  • Add blob revision
  • Add data source revision
  • Add request condition revision to enforce specific update and delete operations
  • Refactor data source service client into separate package
  • Refactor blob service client into separate package
  • Move EnsureAuthorized functions from user client to auth client
  • Refactor InitializeRouters to encapsulate common functionality
  • Refactor GetUserPermissions into permissions client package
  • Refactor data source to separate package with complete tests
  • Add helper functions for auth types
  • Replace data.NewID with dataTest.RandomID in tests
  • Rename various to more generic form in blob service
  • Cleanup blob service and tests
  • Replace blob.NewID with blobTest.RandomID in tests
  • Update error test helper functions
  • Replace user.NewID with userTest.RandomID in tests
  • Add EnsureAuthorized to user client
  • Add EachUsing to string array structure validator
  • Add dump users tool
  • Minor refactor to reorder sort.Sort interface functions for consistency

v1.28.0

08 Aug 23:59
Compare
Choose a tag to compare
  • Enable continuous data set type for Tidepool Mobile
  • Device and time related upload record fields are optional for continuous data set type
  • Add client name to data set filter
  • Use pointers for data set fields to match upload fields
  • Log any error with request
  • Remove duplicate Dexcom device alert settings
  • Allow insulin data type without dose
  • Rename ErrorValueBoolean* to ErrorValueBool* for consistency

v1.27.0

09 Aug 03:12
Compare
Choose a tag to compare
  • Add Dockerfile and config for running blob service
  • Remove check for correct content type from legacy service responses
  • Fix incorrect usage of test package in trace middleware
  • Minor updates to blob service configuration
  • Restrict test environment variables to only necessary
  • Add blob service, store, client, and related structures
  • Update structure parameter source to return unchanged if multiple references applied
  • Add EnsureAuthorizedService and EnsureAuthorizedUser to user.UserClient
  • Update user client test helper to use latest mocking technique
  • Remove unnecessary parameter from test RespondWith
  • Add client response inspectors
  • Ensure client data responses uses expected application/json content type header
  • Parse client response body for actual error, default to standard error from status code
  • Forcible drain client response body under all conditions
  • Add ArrayParametersMutator for adding headers with multiple string values
  • Update request values parser to handle generic map
  • Add request ParseDigestMD5Header, ParseMediaTypeHeader, and ParseIntHeader
  • Add request IsStatusCodeRedirection and IsStatusCodeClientError
  • Log any failure or short write during responder response write
  • Update logger to delete an existing field if new field value is nil
  • When deserializing errors an empty error array returns nil
  • Refactor application package to allow dependency injection
  • Simplify application execution to automatically inject default dependencies
  • Move all application/service/tool initialization from New to Initialize
  • Move application version to application package
  • Default all applications to use UTC local time
  • Refactor response writer test helper to use latest mocking technique
  • Add crypto.Base64EncodedMD5Hash
  • Minor updates to unstructured storage
  • Add and update test helpers
  • Add common service API status router
  • Add request.DecodeRequestPathParameter helper
  • Add new request errors
  • Remove unused errors.ErrorInternal
  • Add unstructured storage backed by file system and AWS S3 with factory
  • Add AWS API interface with actual and test implementations
  • Update test config reporter to support scopes
  • Add temporary file and directory test helpers
  • Add test io.Reader
  • Use dep dependency management tool rather than Godep
  • Remove unnecessary Makefile targets related to Godep
  • Move store/mongo package to store/structured/mongo
  • Use correct import names for store packages
  • Use io.Closer interface for store Close functionality
  • Remove unnecessary store interfaces
  • Remove unnecessary anonymous test mongo imports
  • Refactor request responder for more flexible responses; use direct http.ResponseWriter
  • Minor test refactor and cleanup
  • Add shortcuts for request error comparisons
  • Add streamed response from client in addition to existing data response
  • Add ability to specify authorization mechanism at client creation
  • Improve client tests
  • Remove client timeout configuration, as unused
  • Refactor request Mutator into RequestMutator and ResponseMutator
  • Refactor id generation and validation
  • Move validate package contents to more specific packages
  • Replace generic usage of id.New()
  • Rename crypto HashWithMD5 to HexEncodedMD5Hash for greater accuracy
  • Add net.NormalizeMediaType
  • Update maximum length for URL validation
  • Structure parser and validator automatically check for unparsed
  • Remove github.com/satori/go.uuid dependency
  • Refactor common error test expectations
  • Add pointer.To*, pointer.Clone*, and pointer.Default*
  • Rename pointer.* to pointer.From*
  • Update dependencies
  • Update to Go 1.10.2

v1.26.0

14 Jun 05:28
Compare
Choose a tag to compare
  • Use correct form of insulin dose "Units" for Dexcom API ingestion
  • Update Makefile to exclude .git directory from CompileDaemon
  • Rename array depth to array depth limit in test helpers
  • Do not strip original time zone information using time.UTC()
  • Only convert to UTC when required (eg. time.Format that requires UTC time with or without time zone)
  • Refactor responder to log error if failure to write response
  • Update test ResponseWriter to implement http.ResponseWriter interface
  • Write new line after JSON response
  • Check all test ResponseWriter expectations
  • Add ingredients to food data model for greater flexibility
  • Refactor insulin data model to allow more flexibility and understanding
  • Add active insulin to insulin dose data model
  • Add lap data to physical activity data model
  • Add expected duration to status device event data model
  • Add bolus calculator enabled field to pump settings data model
  • Add tzdata to development Docker images
  • Validate data time zone against known time zones
  • Support time zone across all data types
  • Break timezone usage into two words
  • Add missing pump settings fields
  • Refactor structure validator to define new function types
  • Use "Units" rather than "units" for insulin
  • Fix bug in upload data type with check against incorrect type
  • Move mutator to request package; ignore missing mutators in client
  • Rename various New functions in mongo packages to NewStore for consistency
  • Add new fields to cgm settings data type
  • Add new fields to pump settings data type
  • Add insulin type to automated, scheduled, temporary basal and all bolus types
  • Refactor insulin data type to add formulation and mix
  • Add origin to location common data type
  • Add new fields to physical activity data type
  • Add water data type
  • Minor rename of food related constants
  • Add new fields to reported state data type
  • Add new fields to food data type
  • Remove redundant empty string tests for enumeration string fields
  • Add concentration field to insulin data type
  • Update string generation for structure validation error detail
  • Add new fields to insulin data type
  • Add associations, location, notes, origin, and tags to base data type
  • Report error on duplicate upload device manufacturers or tags
  • Additional validations of reverse domain, semantic version, and URL
  • Minor test updates
  • Add EachUnique and generic function validators to string array structure validator
  • Ensure structure source references are used correctly in tests
  • Return unparsed structure object references deterministically
  • Remove unnecessary time field from ErrorValueTimeZero
  • Add time parsing to data parser
  • Refactor data set filter to use new query parser
  • Cleanup data types New and Init functions
  • Remove deprecated data factory
  • Add new cgm settings data model type
  • New and updated test helpers
  • Remove unnecessary (and misleading) test expectations
  • Refactor data factory into specific packages
  • Refactor data type functions to constants

v1.25.0

17 May 19:42
Compare
Choose a tag to compare
  • Use correct 2-Clause BSD License
  • Return only active data sets
  • Return on validation or normalization error after sending response
  • Fix Dexcom API unexpected data; temporarily modify incoming data to expected values
  • Fix Dexcom API unknown device model failure; allow unknown device model
  • Fix Dexcom API authentication failure; always update provider session, even if error
  • Add additional support Medtronic device models

v1.24.0

25 Apr 23:16
Compare
Choose a tag to compare
  • Add support for new Trividia Health devices
  • Fix serialization bug introduced with new basal schedule array map structure
  • Add tests for missing upload id
  • Add automated basal data type
  • Refactor suppressed basal to improve validations
  • Add build-watch and ci-build-watch targets to automatic build after file change
  • Remove old unused data validator code and unused errors
  • Use consistent paradigm for creation of contained data objects
  • Randomize most test input for data validate and normalize
  • Fix meta reporting for embedded data (Status within Alarm, Bolus within Calculator)
  • Distinguish between normalizing data from external origin versus internal or store origin
  • Add Blob and BlobArray to encapsulate object and object array parse, validate, and normalize
  • Update most all data object properties to use pointers
  • Through validation of all data properties
  • Improve all data validation and normalization tests to be complete and thorough
  • Refactor all data validations to be accurate
  • Use constants for all data validations
  • Additional test helpers
  • Add New and Clone functions for all test data objects
  • Refactor global variables to make private or use functions to enforce as constant
  • Log debug mongo connection configuration
  • Add structure origin
  • New structure validator validations
  • Refactor error expectations using new test helpers
  • Additional test helpers
  • Add Object and Array structure validators
  • Remove data.ValidateInterface...; does not work as expected
  • Remove structure.Validating; does not work as expected
  • Refactor data normalizer to use common structure normalizer
  • Remove normalization from physical activity duration as necessary
  • Expose ReportError function in structure parser, normalizer, and validator
  • Update application package and tests
  • Remove unnecessary verbose flag from tools; use environment variable instead
  • Update confirmation package to use latest code and test style
  • Additional test helpers
  • Add OAuth client credentials provider
  • Add golang.org/x/oauth2/clientcredentials dependency
  • Refactor oauth package to allow alternate grant workflows
  • Add Makefile generate target for code generation
  • Update mechanism to find files with main()
  • Add file embedding tool to Makefile
  • Handle additional client response codes
  • Strip trailing slashes from client base address
  • Return error from config.Get rather than bool for compatibility
  • Allow additional scopes on tools

v1.23.0

22 Feb 04:03
Compare
Choose a tag to compare
  • Add LifeScan Verio and Verio Flex to supported devices
  • Fix start script source of environment file