v0.4.0
Worker Updates
- Substantial upgrades to database interaction:
- Move read/write operations of write arrays,
curVal
, andcurStatus
from Mongo to Redis, reducing latencies associated with model advance. - Add Mongo engine ORM and associated database schema per the object specification.
- Revised Mongo indexes.
- Consolidate explicit MongoDB interactions throughout codebase.
- Creates a database schema per the Mongo engine object specification.
- Creates a new site object which is extracted during the
recs
writing. - Creates relationships between objects.
- Enables cascading deletes (if called from the Python side of the code). e.g.,
site.delete()
now removes all models, runs, recs, writearrays, etc. - Adds unit test with basic mock data for mongoengine/mongo
- Move read/write operations of write arrays,
- Python updates
- Worker Python and E+ Python upgraded to 3.8
- Required packaged for Python plugins can be specified in a requirements.txt file, documented in wiki.
- Improved error handling and logging:
- Jobs that experience errors now upload the contents of the run to S3
- E+ error logs are now exposed to the user when simulation fails.
- Bug fixes:
- Fixes intermittent E+ bug where models would sometimes skip a time step.
- Timescale runs now stop at the specified stop time.
- Improved handing of
writearray
andwriteVal
.
Web Updates
- Fixed React routing to redirect to home on unknown routes
- Restricted uploads to .zip and .fmu file extensions
- Added favicon
- Resolved all high-security vulnerabilities
What's Changed
- InfluxDB auth breaks in Grafana 9. This fixes the historian stack fo… by @anyaelena in #328
- hotfix - pin grafana in 0.3.0 release by @anyaelena in #329
- Centralized License by @axelstudios in #331
- Check in run when error in job is experienced by @TShapinsky in #325
- pull in latest FMU-related libraries from boptest by @nllong in #333
- Python dependency management by @TShapinsky in #335
- Add Basic Model I/O Test by @TShapinsky in #337
- Fix job_history recording by @TShapinsky in #341
- Pass realtime, external_clock, and timescale as string by @nllong in #342
- Watch JS files in development docker compose by @nllong in #351
- Fix model advance bug by @TShapinsky in #338
- Alfalfa with custom e+9.6 w/ py3.8 build by @TShapinsky in #344
- Add test for automatic virtual environment creation by @TShapinsky in #343
- Timescale fixes by @TShapinsky in #340
- Add automatic handling of eplus error logs and test case by @TShapinsky in #353
- Write to Redis by @axelstudios in #356
- Add Mongo ORM/ODM by @nllong in #352
- 0.4.0 Release by @anyaelena in #362
Full Changelog: v0.3.0...v0.4.0