Releases: tidepool-org/platform
Releases · tidepool-org/platform
v1.31.0: Image service
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
- Relax Dexcom API validations to match Tidepool data model validations
- Rename insulin dose constants to properly include units
v1.30.0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- Add LifeScan Verio and Verio Flex to supported devices
- Fix start script source of environment file