* Fix bug by maintaining a separate list of resource types including the custom resources that will be used to validate the Bundle resources.
* Add custom resource types to resource types list and add conditional logic in ValidationDataInitializerSvcImpl to ensure there is no Exception when parsing a custom resource type.
* Add changelog.
* Remove unnecessary change.
* Address code review feedback.
* Address code review feedback.
* Add one more unit test.
* Bump to 6.7.14-SNAPSHOT.
* relegate surefire config to parent pom pluginManagement
* back out build fix to see if stack trace now shows up in logs
* back out the backed out fix.
---------
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* extracted ResponseBundleBuilder and started writing unit tests. Currently at 71% coverage.
* asert bundle entries
* assert first entry id
* unknown size
* coverage up to 78%
* test filter nulls
* test null id check
* up to 91% test coverage
* 96% test coverage
* 98% test coverage. this is final state
* fix cyclic dep
* switch to record
* split up large method
* split up large method
* consolidate params
* consolidate params
* IntelliJ Warnings
* cleanup
* cleanup
* extract methods
* extract methods
* param names
* variable name
* formatting
* extract method
* cleanup
* javadoc
* upstream consolidation
* parameter names
* TODO
* TODO
* review feedback
---------
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* Allow PageMethodBinding to bind also for POST
* Add changelog
* Adjust test
---------
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
* GenericClient POST paging support - implementation and test
* GenericClient POST paging support - fixes
* GenericClient POST paging support - fixes
* GenericClient POST paging support - failed tests fix
* GenericClient POST paging support - HAPI version bump
* First commit: Patch bad implementation of RuleBulkExportImpl to fix this use case.
* Fix changelog. Fix comments on unit tests.
* Fix TODO with correct issue number.
* WIP
* add canonicalizer for R4 topic subscriptions
* test R4 topic subscription registration
* Add support for R4 Subscription Topic Backport
* FIXME
* add filter matching support
* add simpler signature
* add resource type matching to filter
* review feedback
* fixed
* changelog
* test both ways
* add bundle test
* change how toplevel is detected since in some contexts the parent state can be a non-null pre-resource state
* added logs
* changelog
* fix v2 issues
* Clean up WIP comments
* Switch to in-memory event numbers (instead of always 1)
* Final WIP cleanup
* Msg.code
* review feedback
* review feedback
* review feedback
* review feedback
* back out import changes
* back out import changes
---------
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* Delete expunge with cascade
* Work
* Workgin
* Version bump hibernate
* Start working on delete cascade
* Work on delete expunge
* Test fixes
* Test fixes
* Add changelog
* Work on cascade
* Fixes
* Test work
* Test fixes
* Force Verify tests
* fix ITs (#4809)
* fix RestHookTestR5IT
* fix intermittent
---------
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* Fix migrator error on Oracle (#4814)
* Fix Oracle SQL error
* Add changelog
* Update clinical reasoning version (#4816)
* Update clinical reasoning version
* Update version
* Update version
* Clean-up and more wireup of evaluationSettings
* Add changelog
---------
Co-authored-by: Jonathan Percival <jonathan.i.percival@gmail.com>
* Opening the care-gaps endpoint for GET. (#4823)
Co-authored-by: Chalma Maadaadi <chalma@alphora.com>
* added version to mdm golden resource tag (#4820)
Co-authored-by: Long Ma <long@smilecdr.com>
* Update the changelog for 4697 to be more descriptive (#4827)
* Update the changelog for 4697 to be more descriptive
* Futher tweaks of the changelog
* Fixes a bug with tags. (#4813)
* Test, fix
* Drop constraint, add migration
* Add changelog
* Fix userSelected null vs false
* Fix merge
* Fix up checkstyle whining
* One more failure
* Fix test
* wip
* changelog clarity
Co-authored-by: James Agnew <jamesagnew@gmail.com>
* change index
---------
Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>
Co-authored-by: James Agnew <jamesagnew@gmail.com>
* fix migration issue (#4830)
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* Create correct version enum
* Remove superfluous migration
* fixing test (#4835)
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
* email subscription, throw NullPointerException (#4790)
* fix bug
* Favoring constructor initialization to autowiring.
* enhancing test.
* Making class LoggingEmailSender available outside of the hapi-fhir-japserver-uhnfhirtest module.
* Passing all tests.
* adding changelog.
* Bumping version to 6.5.20-SNAPSHOT
* addressing code review comment.
---------
Co-authored-by: peartree <etienne.poirier@smilecdr.com>
* Add docs for CR operations (#4855)
* Add docs for CR operations
* Correct changelog and javadoc for $package
* Add documentation for $apply parameters
* Add additional documentation for $package
* Cleanup
* Cleanup
* Cleanup
* Address review comments
* Add documentation for $care-gaps operation. (#4862)
* Add documentation for -gaps.
* addressing the comments.
---------
Co-authored-by: Chalma Maadaadi <chalma@alphora.com>
* 4853 validation does not error when display is not the same as the display defined in the codesystem 2 (#4854)
* added failing test
* implemented the solution
* changed test name
* added change log
* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/changelog/6_6_0/4853-validation-does-not-error-when-display-is-not-the-same-as-the-display-defined-in-the-codesystem-2.yaml
Co-authored-by: James Agnew <jamesagnew@gmail.com>
---------
Co-authored-by: Steven Li <steven@smilecdr.com>
Co-authored-by: James Agnew <jamesagnew@gmail.com>
* fixing patient everything operator (#4845)
* fixing patient everything operator
* review fix
---------
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
* fix link
* Move image file
* Bundle resources containing over 100 references to the same Organization will fail with HAPI-2207 (#4871)
* Add failing unit test.
* Fix JpaId Long equality comparison to use ! equals() instead of !=, which fails for different instances of the same Long value.
* Add changelog.
* added warn message and test (#4848)
* added warn message and test
* code review fixes
---------
Co-authored-by: Long Ma <long@smilecdr.com>
* Issue 4804 full table scan on mpi link during mdm clear (#4805)
* version bump for next release (#4793)
* version bump
* Bump to correctnumber
* Version Enum and folder
* Remove interim from list
* wip
* Fix operation on nested type-choices in FhirPatch implementation (#4783)
* Fix operation on nested type-choices in FhirPatch implementation
* Add credit for #4783
---------
Co-authored-by: James Agnew <jamesagnew@gmail.com>
* #4468 fix previous link offset no cache pagination (#4489)
* #4468 Add test reproducing the issue
* #4468 Fix previous link for no cache offset pagination
* #4468 Use unchecked URI parsing
* Credit for #4489
---------
Co-authored-by: James Agnew <jamesagnew@gmail.com>
* Changelog and data generating test
* Add MdmLink index
* Avoid double link deletion
* Use ThreadLocal safely
---------
Co-authored-by: Tadgh <garygrantgraham@gmail.com>
Co-authored-by: Zach Smith <85943952+zachdoctolib@users.noreply.github.com>
Co-authored-by: James Agnew <jamesagnew@gmail.com>
Co-authored-by: Aleksej Parovysnik <100864000+alparodev@users.noreply.github.com>
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
* Fix erroneous batch 2 $export 75% complete count when the job is COMPLETE (#4859)
* Add failing unit test.
* Add conditional logic to the InstanceProgress progress percentage to disregard the incomplete count if this is called from the reduction step. This is to get around a race condition in which a work chunk is QUEUED and not yet complete when the reduction step calculates the progress.
* Add final.
* Add changelog.
* disable wars (#4877)
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* 4868 fix paging hapi (#4870)
* fixing some offset and adding a test
* fixing the offset paging
* Removing duplicate
---------
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
Co-authored-by: Aleksej Parovysnik <100864000+alparodev@users.noreply.github.com>
* 4875-binary-access-write-doest-trigger-STORAGE-BINARY-ASSIGN-BLOB-ID-PREFIX-pointcut (#4876)
* Add failing test
* Add failing test
* Fix and changelog
* Pass content type parameter
* Back to auto wiring the context
* Invoke interceptor only when getting blobId, not also when storing it
* Avoid breaking implementers
* Address review comment
* Add new exception Msg code
* Fix broken test
---------
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
* Fix batch job (bulk export) processed record count (#4879)
* Remove racy stats recalc.
* Throw 404 when requesting $export of non-existent Group or Patient (#4890)
* Remove default implementation intended only for interim backwards compatibility (#4894)
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
* Rule apply patient export (#4893)
* Test, fix, and changelog
* Better partition resolution
* Add checks based on rule applier
* Fix ordering failure due to hash set
* Allow empty auth interceptor
* Fix up operation type on invocation
* Add more tests, make hack implementation for patient instance level operation
* Tighten test name
* Changelog
* Default method
* remove dead method
* Remove dead autowire
---------
Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>
* cve pom changes (#4898)
Co-authored-by: Long Ma <long@smilecdr.com>
* backport subscription topic bean cleanup (#4904)
* 4891 bulk export do not recurse unasked for resources (#4895)
* updating tests
* fixing bulk export to not fetch resources not requested
* cleanup
* cleanup
* more warning suppressing
* adding error code
* blah
* fix test
* review fixes
---------
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
* lowers log level to remove bootup noise (#4908)
* CVE rel 6 6 (#4907)
* cve pom changes
* bump javax.el to jakarta.el
---------
Co-authored-by: Long Ma <long@smilecdr.com>
* Issue 4905 post binary failure invoking interceptor for pointcuts storage preshow resources (#4906)
* Initial failing test
* Avoid applying binary blob id prefix multiple times
* Remove recently introduced method not needed anymore
---------
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
* Enhance LogbackCaptureTestExtension (#4869)
* repro bug with test, fix bug
* ken informed me he resolved this bug on master, so i'm switching to use his solution
* disable wars
* review feedback
* review feedback
* review feedback again
---------
Co-authored-by: josie <josie.vandewetering@smilecdr.com>
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* Resolve 4863 from release branch searchparametercanonicalizer does not account for search parameters for custom resources types when converting dstu23 into runtimesearchparam (#4887)
* Modified canonicalizeSearchParameterDstu2 and 3, now correctly detect search parameters for custom resources
* Canonicalizers now correctly handle search parameters for custom resources
* created changelog
* Modification based on comments:
- remove Resource from target field when there are custom resource types
- fixed changelog typo
- removed unnecessary variable providesMembershipInCompartments
* Added tests for the SearchParameterCanonicalizer to test if base and target of RuntimeSearchParam is set as expected for DSTU2, DSTU3, R4, R4B, and R5 resources
* Fixed typo and removed commented code
* re-ordered init methods
* Update changelog
Co-authored-by: Tadgh <garygrantgraham@gmail.com>
* modifications following first code review.
---------
Co-authored-by: Tadgh <garygrantgraham@gmail.com>
Co-authored-by: peartree <etienne.poirier@smilecdr.com>
* License
* Remove _lastUpdated filtering of _revincludes. (#4899)
Remove _lastUpdated filtering of _revincludes.
* 4910-dm-migration-error-for-oracle-19c (#4916)
* Remove all_constraints references which break in oracle 19c
* Add changelog
---------
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
* 4873 empty fhirid causes missing resource (#4874)
* add check for empty fhirid string and add test
* add test for populateid
* changelog
* version bump
* version bump
* reverse version bump
* Back to 6.5.21-SNAPSHOT.
---------
Co-authored-by: justindar <justin.dar@smilecdr.com>
Co-authored-by: Luke deGruchy <luke.degruchy@smilecdr.com>
* Fix include canonical url performance (#4919)
Use hash_identity for canonical join
* License
* Version bump
* Fix failure in test
* Licenses
* Review comments for pipeline
* Dead entry
* other typo
---------
Co-authored-by: Ken Stevens <khstevens@gmail.com>
Co-authored-by: Ken Stevens <ken@smilecdr.com>
Co-authored-by: James Agnew <jamesagnew@gmail.com>
Co-authored-by: Brenin Rhodes <brenin@alphora.com>
Co-authored-by: Jonathan Percival <jonathan.i.percival@gmail.com>
Co-authored-by: chalmarm <44471040+chalmarm@users.noreply.github.com>
Co-authored-by: Chalma Maadaadi <chalma@alphora.com>
Co-authored-by: longma1 <32119004+longma1@users.noreply.github.com>
Co-authored-by: Long Ma <long@smilecdr.com>
Co-authored-by: Michael Buckley <michaelabuckley@gmail.com>
Co-authored-by: TipzCM <leif.stawnyczy@gmail.com>
Co-authored-by: leif stawnyczy <leifstawnyczy@leifs-MacBook-Pro.local>
Co-authored-by: Sam Gunter <123124187+samguntersmilecdr@users.noreply.github.com>
Co-authored-by: peartree <etienne.poirier@smilecdr.com>
Co-authored-by: StevenXLi <stevenli_8118@hotmail.com>
Co-authored-by: Steven Li <steven@smilecdr.com>
Co-authored-by: Luke deGruchy <luke.degruchy@smilecdr.com>
Co-authored-by: jmarchionatto <60409882+jmarchionatto@users.noreply.github.com>
Co-authored-by: Zach Smith <85943952+zachdoctolib@users.noreply.github.com>
Co-authored-by: Aleksej Parovysnik <100864000+alparodev@users.noreply.github.com>
Co-authored-by: juan.marchionatto <juan.marchionatto@smilecdr.com>
Co-authored-by: Josie <80289977+pepsiofficial@users.noreply.github.com>
Co-authored-by: josie <josie.vandewetering@smilecdr.com>
Co-authored-by: TynerGjs <132295567+TynerGjs@users.noreply.github.com>
Co-authored-by: jdar8 <69840459+jdar8@users.noreply.github.com>
Co-authored-by: justindar <justin.dar@smilecdr.com>
* Extract SubscriptionTopicBundleDispatcher into a separate service for use by custom interceptors that need to dispatch their own notifications
* rename
* changelog
* rename
* review feedback
* Msg.code
* review feedback
---------
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* Add method to get all jobs of a certain status
* add queries
* add tests
* Refactor so extra parameter is not added
* Version bump
* Fix broken test
* Revert accidental change to pom unrelated to version
---------
Co-authored-by: David Chen <david.chen@smilecdr.com>
* Begin work on BALP interceptor
* Work on BALP
* Basic profile
* Work on BALP
* Add BALP
* Work on balp
* Add update and delete
* Work on BALP
* Add logging
* Tests
* Modify test server
* Work on docs
* Add documentation
* Add changelog
* Fix#4728 - Typos in docs
* Test fixes
* Move changelog
* Update hapi-fhir-storage/src/main/java/ca/uhn/fhir/jpa/interceptor/balp/BalpAuditCaptureInterceptor.java
Co-authored-by: michaelabuckley <michaelabuckley@gmail.com>
* Resolve PR comments
* Test fixes
---------
Co-authored-by: michaelabuckley <michaelabuckley@gmail.com>
* #4468 Add test reproducing the issue
* #4468 Fix previous link for no cache offset pagination
* #4468 Use unchecked URI parsing
* Credit for #4489
---------
Co-authored-by: James Agnew <jamesagnew@gmail.com>
* added mdm search all partition for golden resource functionality
* added mdm partition setting
* build header fix
* test fixes and added missing side effect of allowing cross partition links on opeartions
* added changelog, also test fixes
* fixed changelog to an actual yaml file
* review fixes, also simplified tests
* reverted one test because the original test schenario was correct
* added setting clearing in afterEach method so test dont fail while run in maven
* bump to pre-15
---------
Co-authored-by: Long Ma <long@smilecdr.com>
* Failing test
* Add method to expunge collection of deleted resources
* Failing test passes
* Add changelog
* Version bump
* Forgot to commit change
* Update test
* Check type validity
* Fix broken tests
---------
Co-authored-by: David Chen <david.chen@smilecdr.com>
* comments from conversation with Gino
* rewrite R5 subscription canonicalization. Expect the r5 subscription tests to fail now
* SubscriptionTopicR5Test passes now
* R4B tests pass now
* first two tests in RestHookTestR5Test now pass. just need to convert the rest
* third test passes
* fourth test passes
* tests pass up to line 294
* wow what a marathon. Turns out when we stripped the version we didn't remove it from the meta version.
* passes up to 427
* RestHookTestR5Test tests pass up to line 582
* RestHookTestR5Test tests pass up to line 591
Added SubscriptionTopicRegisteringSubscriber
* RestHookTestR5Test tests pass up to line 591
Added SubscriptionTopicRegisteringSubscriber
* RestHookTestR5Test tests pass up to line 636
Added SubscriptionTopicValidatingInterceptor
* RestHookTestR5Test tests pass up to line 689
* RestHookTestR5Test tests pass up to line 758
* 4 failures left
* woohoo all tests pass
* all tests pass and no PointCutLatch errors
* Msg.code
* changelog
* checkstyle
* fix some tests
* compile issue
* fix test
* fix regression
* fix test
* R5 currently runs tests in multiple threads, so change the sensitive one to an IT
* licenses
* review feedback
---------
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* Basic test for reading from provider
* Basic test for reading from provider
* Failing test
* Add changelog
* Update hapi-fhir-jpaserver-test-r4/src/test/java/ca/uhn/fhir/jpa/provider/r4/BinaryStorageInterceptorR4Test.java
Co-authored-by: Ken Stevens <khstevens@gmail.com>
---------
Co-authored-by: Ken Stevens <khstevens@gmail.com>
* add tests for r4b subscriptions
* begin with failing test
* prepare for SubscriptionTopicLoader
* backwards compatibility
* subscription topic registry done
* topic matching is working
* all but delivery is working now
* yay test passes with FIXMEs
* FIXME -> WIP
* switch notification to bundle
* message codes
* fixme
* disable services for fhir versions below R4B
* fix regression
* fix intermittent
* this change will likely break some other tests
* try a safer option
* fix tests
* fix intermittent (I hope)
* unit test
* improve logic around topic subscription categorization
* moar test
* moar test
* changed to support both r4b and r5
* moar test
* cleanup for test
* moar test
* moar test
* moar test
* changelog
* comment
* Msg.code
* fix mock
* add update test
* fix test cleanup
* tracking link for version converter issue
* review
* fix test
* fix test
---------
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* Initial stub out of the CR repo API
* Pagination first pass
* cleanup
* add transaction tests
* add search param conversion working logic
* add result parameter conversion
* add test for keymap
* add type checking logic and tests
* remove and / or logic from test and cleanup
* Initial stub out of the CR repo API
* Pagination first pass
* cleanup
* add transaction tests
* add search param conversion working logic
* add result parameter conversion
* add test for keymap
* add type checking logic and tests
* Fix repository tests to use parameters
* Cleanup after latest merge
* Cleanup
* Cleanup
* Fix Msg codes
* Fix Msg codes
* Rename variable for clinical reasoning module
* Update clinical-reasoning version
* Fix version
* review comments
---------
Co-authored-by: Brenin Rhodes <brenin@alphora.com>
Co-authored-by: Rosie Elphick <rosalie.elphick@smilecdr.com>
* enabled test
* added explanations to disabled tests
* added explanations to disabled tests
* yay enabled another one
* yay enabled another one
* testEverythingWithLargeSet2 failing intermittently
* fix intermittent regression introduced by splitting test class
* test passes
* need to document
* updated documentation
* prereview cleanup
* change log
* cleanup
* cleanup
* added breaking changes
* update changelog and breaking changes upgrade document to reverse the change to always return 200 per the spec.
* back out documentation change
* update documentation
* fix tests
* dstu2
* dstu3
* fix r4 validation warning test
* changelog
* hapi-fhir version bump to 6.5.10-SNAPSHOT
* fix cdr test
* fix tests
* remove accidental commit
---------
Co-authored-by: Ken Stevens <ken@smilecdr.com>
* Start work optimizing transaction
* Tons of test cleanup
* Cleanup
* More optimization
* Optimize
* Many tests fixed
* Work on test fixes
* Optimization done, now doing cleanup
* Cleanup
* Add docs
* Test fixes
* Test fix
* License headers
* Test fix
* Test cleanup
* Test fix
* First commit: prototyping code.
* Push down hard-coding of MdmLink revision results into MdmLinkQuerySvcImplSvc.
* More fixes and push hard-coded MdmLink revisions to DAO. Add unit test for converter. Add largely disabled new Spring config to load the AuditReader. Add new interface method to Dao interface.
* Add config key for enabling envers. Add generated javadoc to EnversAuditConfig. Add properties for both the new config and the new mdm history REST API.
* First commit post-merge with new logic to retrieve audited MdmLinks and convert them to JSON.
* Change revision timestamp long to a Date.
* Add a separate inheritance hierarchy for BasePartitionable classes that use Hibernate Envers. Ensure MdmLink is part of this new hierarchy. Fix HapiFhirJpaMigrationTasks to properly migrate the modification of HFJ_REVINFO from long to timestamp and to add partition_id and partition_date to the MdmLink audit table.
* Deprecate IMdmLinkDao.findHistory() and mark for removal as well as related methods.
* Add changelog. Handle empty query results. Remove hard-coded disabling of envers. Clean up JPA code. Clean up unit tests and make them pass.
* Add new hapi-fhir system property to disable envers but leave it enabled by default. Fix nasty validation bug in IdHelperService. Tweak MDM dao to throw another Exception and code if envers is disabled.
* Fix error code messages. More cleanup.
* Another error code fix.
* Add documentation for new feature.
* Fix unit test. Fix migration tasks to drop and add column instead of modifying it because of a postgres error.
* Cleanup TODOs, delete dead code, tweak unit tests, move/rename classes.
* Default implementation of new history DAO method to avoid need for bump.
* Non-dupe Msg code.
* Since 6.5.7.
* Remove misleading comment.
* Set disabled to TRUE, not FALSE.
* First round of code review fixes.
* Apply documentation suggestions from code review
Co-authored-by: michaelabuckley <michaelabuckley@gmail.com>
* Code review fix: Split out $mdm-link-history into a separate provider that's enabled by configuration.
* Change configuration strategy from system properties to JpaStorageSettings and JpaStorageSettingsConfigurer. Hook into these new settings from HibernatePropertiesProvider. Update more documentation.
* Fix unit test failure in SearchQueryBuilder.
* Apply suggested Javadoc and documentation changes from code review
Co-authored-by: michaelabuckley <michaelabuckley@gmail.com>
* Change semantics for this feature from disabled to enabled.
* Fix failing unit test.
* Fix conditional logic for reversal of envers disabled/enabled.
---------
Co-authored-by: michaelabuckley <michaelabuckley@gmail.com>
* changes for GL-4023
* changes for GL-4023
* changes for GL-4023
* changes for GL-4023
* changes for GL-4023
* changes for GL-4023
---------
Co-authored-by: isaacwen <isaac.wen@smilecdr.com>
* Start work on refchains
* Semi working
* Add tests for transactions
* Add docs and lots of tests
* Add changelog
* Add tests
* Work on cleanup
* Add document operations
* Test fix
* Test fix
* Fixes
* Fix typo
* Test fix
* Test update
* Test updates
* Test fix
* Test fixes
* Test additions
* Test fix
* Add some javadocs
* Test fixes
* Intermittent test fix
* Doc tweak
* Test fixes
* Merge master in
* Update hapi-fhir-docs/src/main/resources/ca/uhn/hapi/fhir/docs/server_jpa/search.md
Co-authored-by: michaelabuckley <michaelabuckley@gmail.com>
* Review comments
* Version bump
* Add license
---------
Co-authored-by: michaelabuckley <michaelabuckley@gmail.com>