Releases: NASA-AMMOS/aerie
v0.13.0
What's Changed
Activity-Command Expansion
Command expansion now passes the computed attributes of a simulated activity to the activity-command expansion process. See docs
- [AERIE-2001] Pass along Computed Attributes by @goetzrrGit in #291
Users can now compose a stand alone sequence and generate a seqjson document. See docs
- [AERIE-2002] Generate a standalone sequence seqjson by @goetzrrGit in #285
Automated Scheduling
Composite goal types were refactored with the user facing changes being the inPeriod operator of the CardinalityGoal removed from the eDSL, bug fix where the horizon was not set (forAllTimeIn) in the conjunctive goal, and the criterion for satisfaction of composite or/and goal refactored to be similar to the semantics of partialSatisfiability for non-composite goals.
- [AERIE-1849] Test composite goals by @adrienmaillard in #242
Documentation updates in preparation for publishing of an autogenerated eDSL API documentation similar in style to javadocs.
- [AERIE-1977] Update eDSL documentation by @adrienmaillard in #283
Scheduler populates source activity metadata field.
Constraints
Bug fixed where extra quotes would be parsed in a constraint definition.
- [AERIE-2004] extra quotes in constraints codegen by @JoelCourtney in #290
General
Secrets have been removed from the repository and Aerie docker compose file now takes secrets as environment parameters.
- [AERIE-1696] Move secrets to enviornment variables by @Mythicaeda in #279
This change will require any clients to update their graphql query from activity to activity_directive.
Make use of an unconfigured mission model, rather than a configured mission model, wherever possible. This should increase system responsiveness when loading activity plans. This change is the culmination of discussions about which actions need "fully instantiated" mission models, and which actions only need "loaded mission models". The terminology in the code uses the words "Configured Mission Model" to mean one whose constructor had been called, and "Unconfigured Mission Model" for mission models whose factories had been loaded, and directive types extracted, but no constructor had been called.
- [AERIE-2082] Use unconfigured models where possible by @mattdailis in #312
Simulation
A bug limiting the number of activity definitions in the annotations processor has been fixed.
- [AERIE-2005] Use builder pattern when instantiating activity type directives by @pcrosemurgy in #281
- [REFACTOR] Simplify builder chaining code codegen by @pcrosemurgy in #286
The plan start time is now available to the mission model during initialization.
- [AERIE-1935] Expose plan start time to mission model by @pcrosemurgy in #278
Remainder
- [AERIE-1988] Update user code runner to 0.3.1 by @dyst5422 in #293
- [HOTFIX] Fix bad npm registry by @dyst5422 in #294
- [AERIRE 1918] Add schema property to real profiles by @Mythicaeda in #292
- build: update package-lock.json by @camargo in #296
- [AERIE-1954] Add the container scan action to the publish workflow by @patkenneally in #256
- [HOTFIX] Scanning action detecting vulnerabilities shouldn't fail publish pipeline by @skovati in #299
- [AERIE 1815] Replace org.json dependency with javax.json.JsonObject dependency by @Mythicaeda in #300
- [HOTFIX] Update to [email protected] by @dyst5422 in #303
- [AERIE-1958] update example tables to reflect Ag-Grid definitions by @duranb in #307
- [AERIE-1982] feat: add user sequence table by @camargo in #304
- [AERIE-1997] Add custom PR logic action by @skovati in #298
- Javadocs for the parser combinator library by @Twisol in #288
- Remove {POSTGRES_DB} enviornment variable by @Mythicaeda in #289
- Increment version to 0.13.0 by @patkenneally in #313
Breaking Changes
This change will require any clients to update their graphql query from activity to activity_directive.
New Contributors
- @Mythicaeda made their first contribution in #279
- @duranb made their first contribution in #307
Full Changelog: v0.12.3...v0.13.0
v0.12.3
What's Changed
Activity to Command Expansion
-
[AERIE-1824] Rework TimeType API by @goetzrrGit in #241: Time types are now written as R
00:15:00rather than R(Temporal.Duration.from({ minutes: 15 }). The old method is deprecated and will be supported for a few more releases.
https://github.com/NASA-AMMOS/aerie/wiki/Setup-IDE-and-Writting--Expansion-Logic#time -
[AERIE-1875] Return Dictionary fields when uploading by @goetzrrGit in #268: When uploading a command dictionary the API returns the unique id to the new set of commands and associated metadata. https://github.com/NASA-AMMOS/aerie/wiki/Upload-and-Generate-Command-Library-File#upload
Automated Scheduling
- [FIX] Root-finding issue by @adrienmaillard in #234
- [AERIE-1966] Spans by @JoelCourtney in #272
Constraints
- [REFACTOR] Read activity types from database for constraints codegen by @mattdailis in #264
- [AERIE-1974] Remove nested ternary type checks in constraints eDSL by @JoelCourtney in #274: Large mission models would encounter a stack-overflow-like error when typechecking constraints because of the massive nested ternary expressions involved. This refactors that to avoid those types.
Documentation
General
- [FIX] Upgrade n0067 Spice JNIlib for intel+arm architectures by @adrienmaillard in #271
- [AERIE-1908] Jetty-Hasura idle timeout clash by @adrienmaillard in #263
- [HOTFIX] Check that the needed servers are alive before starting tests by @dyst5422 in #240
- [REFACTOR] Delete unused merlin-server database actions by @mattdailis in #261
- [BUILD]: Update dev docker-compose by @camargo in #269
Planning (Activity)
-
[AERIE-1934] Add metadata to activity directives by @dyst5422 in #245
-
[AERIE-1943] Mission specific activity directive metadata by @dyst5422 in #253: These two changes make possible activity metadata via the API. The corresponding Aerie UI change will fully realize this capability for UI users.
-
feat: add Hasura relationship from plan to plan_dataset by @camargo in #266
-
[AERIE-1826] Accumulate activity/configuration instantiation errors by @pcrosemurgy in #258: When an activity contains erroneous arguments to parameters or insufficient arguments Aerie now returns all errors, as opposed to simply returning the first error encountered.
-
[AERIE-1497] Raise negative plan duration PG exception by @pcrosemurgy in #277: Aerie now disallows negative and zero duration plans, raising an error which is reported via the Aerie API.
Full Changelog: v0.12.2...v0.12.3
v0.12.2
v0.12.1
What's Changed
Activity-Command Expansion
- [AERIE-1879] Commands with Dynamic Repeating Arguments are Out of Order by @goetzrrGit in #210
- [AERIE-1874] Add command expansion test into e2e tests by @dyst5422 in #227
Automated Scheduling
- [AERIE-1848] Add expand/clamp transformers to constraints eDSL by @adrienmaillard in #186
- [AERIE-1847] Add duration filter to constraints eDSL by @adrienmaillard in #185
- [AERIE-1910] Scheduling EDSL Parameterless Activity Fix by @pranav-super in #231
- [AERIE-1911] Range check recurrence interval by @pranav-super in #232
- [AERIE-1865] User can trigger an analyze only scheduling analysis by @adrienmaillard in #229
General
- [AERIE-1913] Add simulation dataset id to
simulatequery response by @skovati in #237 - [AERIE-1766] Add healthcheck endpoints by @skovati in #218
- [AERIE-1912] Temporal object types don't transfer to worker by @dyst5422 in #226
- [AERIE-1906] Resolve LGTM errors by @pcrosemurgy in #220
- [AERIE-1922] Add absolute time to activities and resource profiles by @dyst5422 in #236
- [AERIE-1938] Upgrade Hasura to version 2.8.4 by @skovati in #243
- [AERIE-1906] Resolve
SerializedValueLGTM errors by @pcrosemurgy in #238
Breaking Changes
- [AERIE-1893 ] Remove deprecated sim results response code by @skovati in #224
Simulation resource profiles are no longer returned with the simulation query. Rather resource profiles are available directly from the GraphQL API schema. An example query is shown in the wiki
New Contributors
- @pranav-super made their first contribution in #231
Full Changelog: v0.12.0...v0.12.1
v0.12.0
What's Changed
Activity-Command Expansion
- [AERIE-1881] directive id column on simulated activity view by @dyst5422 in #199
- [AERIE-1857] command expansion timestamps by @dyst5422 in #197
- [AERIE 1871] simulated activity id metadata in generated sequences by @dyst5422 in #201
- [AERIE-1856] normalize dsl return types by @dyst5422 in #202
- [AERIE-1877] 'DayOfYear' isn't a valid entry for Temporal.ZonedDateTime by @goetzrrGit in #194
Automated Scheduling
- [AERIE-1844] Use constraints language as subset of scheduling language by @mattdailis in #179
- [AERIE 1885] Add enabled/disabled to goal in sceduling specification by @patkenneally in #213
- [AERIE-1835] Start and End TimingConstraints in CoexistenceGoal by @mattdailis in #214
Constraints
- [AERIE-1842] Type-checking for Constraints eDSL by @JoelCourtney in #183
- [AERIE-1882] Remove old constraints pipeline by @JoelCourtney in #205
- [AERIE-1878] Add Hasura
constraintViolationaction by @skovati in #211
General
- [BUILD] bump aerie-ts-user-code-runner to 0.3.0 by @camargo in #196
- [DEPS] Misc. Gradle dependency updates by @pcrosemurgy in #195
- [HOTFIX] Simulation results persistence bugs by @mattdailis in #207
- [FIX] update start time field for activity table by @camargo in #208
- [AERIE 1871] simulated activity id metadata in generated sequences by @dyst5422 in #201
- [AERIE-1776] adjust compilation targets by @dyst5422 in #221
Simulation
- Factor directive handling out of SimulationEngine by @Twisol in #170
- [AERIE-1861] Hasura
resourceSamplesaction by @pcrosemurgy in #189 - [AERIE-1796] Carve out sim. results: resource samples by @pcrosemurgy in #209
- [AERIE-1909] Explicitly set prepared statement parameter by @patkenneally in #222
Breaking Changes
- Constraints results have been decoupled from the simulation query. Constraints results returned along side simulation results is deprecated and will be removed in the coming 0.12.1 release. A GraphQL query for constraint results can now be constructed with the
constraintViolationsschema addition. An example query is shown in the wiki - Simulation resource profiles are no longer returned with the simulation query. Rather resource profiles are available directly from the GraphQL API schema. An example query is shown in the wiki
New Contributors
Full Changelog: v0.11.3...v0.12.0
v0.11.3
What's Changed
Activity-Command Expansion
- [AERIE-1830] Adjust the seqJSON output when expanding the plan. by @goetzrrGit in #165
- [FIX] Stricter/more correct type checking by @dyst5422 in #158
- [AERIE-1827] eDSL output the correct time format in seqJSON by @goetzrrGit in #160
- [AERIE-1852] Command expansion "authored by" columns by @dyst5422 in #173
- [AERIE-1859] Remove base64 encoding by @dyst5422 in #182
- [AERIE-1823] sequence generation flow by @dyst5422 in #166
- [AERIE-1833] SeqJson should preserve parameter order by @goetzrrGit in #178
Automated Scheduling
- [FIX][AERIE-1829] Satisfying activities missing by @adrienmaillard in #163
- [HOTFIX] Close Simulation Engine in Scheduler by @mattdailis in #168
- [AERIE-1814] Optimize computations of constraints by @adrienmaillard in #152
- [AERIE-1811] Scheduling Language Resource Constraints by @mattdailis in #157
- [AERIE-1813] Replace scheduler state constraints with Merlin resource constraints by @adrienmaillard in #167
- [AERIE-1812] Add cardinality goal (with implied mutex) to the scheduling eDSL by @adrienmaillard in #171
Constraints
- [AERIE-1816] New constraints pipeline by @JoelCourtney in #159
- [AERIE-1819] Build Constraints eDSL to parity with JSON implementation by @JoelCourtney in #174
- [AERIE-1843] Add constraintsDslTypescript hasura action by @JoelCourtney in #176
General
- Upgrade all components to Java 18 by @Twisol in #129
- [AERIE-1862] Change nvm install location to /usr/src by @mattdailis in #184
Simulation
- [AERIE-1685] Validate plan prior to simulating by @pcrosemurgy in #140
- [AERIE-1794] Accumulate & persist unfinished activities by @pcrosemurgy in #164
- Generate
returnfor activities with return values by @Twisol in #169
Full Changelog: v0.11.2...v0.11.3
v0.11.2
What's Changed
Automated Scheduling
- [FIX] update docker-compose-test with new ports by @camargo in #148
- [AERIE-1756] Initial barebones coexistence goal by @mattdailis in #132
- [AERIE-1743] Asynchronous scheduling requests by @adrienmaillard in #138
- [FIX] Fix special case issue in RecurrenceGoal and hasura request. by @adrienmaillard in #145
Aerie UI
- [AERIE-1669] feat: update default ui views by @camargo in #151
- [AERIE-1669] refactor: update default ui views by @camargo in #155
- [AERIE-1669] refactor: update default UI view gridName by @camargo in #161
Activity Command Expansion
- [AERIE-1790] Added Relative, Absolute, and Epoch timing. by @goetzrrGit in #149
Full Changelog: v0.11.1...v0.11.2
v0.11.1
What's Changed
Simulation
Mission Modeling
- [AERIE-1731] Schedule activities with uncontrollable durations by @adrienmaillard in #113
Automated Scheduling
- [AERIE-1744] Scheduler goal priority update SQL triggers by @JoelCourtney in #123
- [AERIE-1709] Avoid regenerating activities after scheduling by @adrienmaillard in #121
- [AERIE-1767] Typechecking Scheduling Goal EDSL by @dyst5422 in #134
- [AERIE-1785] Provide default priorities if not provided by @JoelCourtney in #141
- [AERIE-1798] Fix JSON parse errors in scheduling dsl compiler by @mattdailis in #144
Deployment
- [AERIE-1779] Reduce docker image sizes. by @JoelCourtney in #133
- [AERIE-1783] fix: update Hasura metadata ports by @camargo in #142
- [DOCS] add ui ORIGIN env var by @camargo in #143
Activity Command Expansion
- [AERIE-1783] Add commanding container to the deployment docker compose by @patkenneally in #137
- [AERIE-1775] Type check on expansion set creation by @dyst5422 in #146
Full Changelog: v0.11.0...v0.11.1
v0.11.0
Breaking Changes
-
MissionModelFactorynow takes a concrete config objectMissionModelTestis the same
-
MissionModelBuilderand associated test take directive registry now- was
return builder.build(model, registry.taskSpecTypes()); - now
return builder.build(model, registry);
- was
-
Mission model now needs a
gov.nasa.jpl.aerie.merlin.protocol.model.SchedulerPluginfile in theMETA-INF)/servicesdirectory. This will live alongside the already existinggov.nasa.jpl.aerie.merlin.protocol.model.GeneratedMerlinPlugin. It's contents will be E.g.gov.nasa.jpl.aerie.banananation.generated.GeneratedSchedulerPlugin
What's Changed
Of User Interest
Mission Modeling
Activity Command Expansion
- [AERIE-1717] Upload a command dictionary by @goetzrrGit in #70
- [AERIE-1726] Activity Typescript Types Generation by @dyst5422 in #81
- [AERIE-1725] get command typescript types by @dyst5422 in #80
- [AERIE-1715] Typescript evaluation in
scheduler-serverby @mattdailis in #63 - [AERIE-1727] Add
put-expansionendpoint by @pcrosemurgy in #92
Configurable Logging
- [AERIE-1733] Set merlin log level and output file in docker-compose by @JoelCourtney in #93
- [AERIE-1734] Use configurable logging in scheduler by @JoelCourtney in #97
- Only log
INFO-level Hikari logs in dev stack by @pcrosemurgy in #124
Automated Scheduling
- [AERIE-1656] Activities opt-in to controllable duration by @mattdailis in #54
- [AERIE-1692] Connect Step Simulation to the scheduler by @adrienmaillard in #71
- [AERIE-1676] Look up ActivityTypes from Problem when building Goals by @mattdailis in #112
- [AERIE-1741/29/28/54] TypeScript instantiations of simulated activities by @pcrosemurgy in #106
- [AERIE-1694] Provide Scheduling DSL Typescript via API by @mattdailis in #120
Multiple Concurrent Simulation Execution
- [AERIE-1384] Multiple simulation workers by @patkenneally in #107
Fix
- [AERIE-1582] Fix concurrent composition of register effects by @patkenneally in #40
- [AERIE-1711] Replace DB_TYPE env vars with DB_SERVER env vars by @kroffo in #115
Dev Ops
- docs: update env vars by @camargo in #95
- build: remove env vars from docker-compose by @camargo in #96
- [REFACTOR] Keep
node_modules/directory upongradle cleanby @pcrosemurgy in #88 - [REFACTOR] Open debug ports on java servers in dev docker compose by @mattdailis in #89
- [DEVOPS] Add security-extended codeql queries by @patkenneally in #118
- test: add e2e-test project by @camargo in #122
- [AERIE-1739] Add codeql config for security scanning by @patkenneally in #87
Remainder
- [REFACTOR] Update README.md by @patkenneally in #85
- refactor: scheduling Hasura metadata relationships by @camargo in #90
- [HOTFIX] Command route names include method by @dyst5422 in #91
- [HOTFIX] Boolean enums should be type
booleanby @goetzrrGit in #94 - [Command Expansion] Added a basic banananation command dictionary by @goetzrrGit in #119
- Set default dev log-level to DEBUG by @JoelCourtney in #98
- Configure Hasura log level through env vars by @JoelCourtney in #99
- [HOTFIX] Remove duration parameter from createAllPlanActivities by @mattdailis in #100
- [HOTFIX] Hasura CommandExpansionResponse should return id. by @goetzrrGit in #101
- refactor: add more Hasura metadata for scheduling by @camargo in #103
- [AERIE-1738] Put
expansion_set, auto-updateexpansion_set_to_rulejoin table by @dyst5422 in #83 - [AERIE-1750] Configure gateway logging by @JoelCourtney in #105
- [FEAT] Expansion Hasura Relationships by @dyst5422 in #104
- [HOTFIX] Fix expansion Hasura metadata by @pcrosemurgy in #108
- [AERIE-1749] command expansion logging by @JoelCourtney in #109
- [HOTFIX] Check activity DurationType before setting its duration parameter by @mattdailis in #110
- [AERIE-1557] Separate Harusa action parsers from Merlin Parsers by @JoelCourtney in #111
- [AERIE-1710] Strengthen merlin-server Postgres Boundary by @kroffo in #102
- [HOTFIX] Merlin-Server Refactor Issues Fix by @kroffo in #114
- [HOTFIX] Fix Typo in scheduling_specification Table by @kroffo in #116
Full Changelog: v0.10.1...v0.11.0
v0.10.1
Breaking Changes
- Activity ID and Plan ID are now
intdata types rather thanstring. - merlin-framework:
- Mission model configuration
- Merlin now auto-generates configuration mappers, therefore configuration value mappers are now obsolete and should be removed.
- Configurations are now required to declare their parameters and default arguments with the same style as activities.
- See https://github.com/NASA-AMMOS/aerie/wiki/Configuring-a-Mission-Model for guidance on defining configuration parameters and default arguments.
- The family of annotations which trigger code generation for exporting various mission model capabilities have been moved to the
gov.nasa.jpl.aerie.merlin.framework.annotations.Exportclass
- Mission model configuration
- scheduler:
- All scheduler env variables have had a name change.
Bug Fixes
Known Limitations
- The scheduler is currently limited to serial execution of scheduling runs (1 scheduling run per Aerie instance at a time).
- Scheduling rules are provided to the scheduler agent as a JAR file of Java defined scheduling rules
Key User Facing Pull Requests
- [AERIE-1578] Numeric Activity Instance IDs by @kroffo in #18
- [DOCUMENTATION] Add
psqlprereq. tobuilding.mdby @pcrosemurgy in #22 - [AERIE-1639] Plan ID Record by @kroffo in #24
- [AERIE-1350] Mission model configuration: effective arguments by @pcrosemurgy in #20
- [REFACTOR] Simplify activity & configuration mapper generation by @pcrosemurgy in #33
- [AERIE-1629] Computed Attributes in Simulation Results by @mattdailis in #25
- [AERIE-1638] Mission model configuration validation by @pcrosemurgy in #37
- [AERIE-1647] Refactor scheduler ActivityInstance by @adrienmaillard in #35
- Support Hasura v2.2 action JSON
request_queryfield by @pcrosemurgy in #44 - [AERIE-1691] Return default arguments alongside effective argument failures by @pcrosemurgy in #50
- [AERIE-1666] Distribute SQL with Gradle by @pcrosemurgy in #51
- [AERIE-1673] Compute Scheduling Results by @adrienmaillard in #46
- [DOCUMENTATION] remove internal docs and deployment variables by @camargo in #73
Full Changelog: https://github.com/NASA-AMMOS/aerie/commits/v0.10.1