CHANGES
=======

* fix(ci): Fix missing protoc required to run make lint-sdk
* fix(build): Fix missing cache metadata when required to use pulled images as cache
* fix(build): Fix project makefile's lint-sdk failing  due to mypy missing type annoatations for protobuf bindings
* chore(sdk): Remove uneeded type: ignores and clean up types
* fix(sdk): Fix failing mypy due by removing unneeded typing-protobuf package
* fix(ci): Fix typos causing pull image for cache step to fail, temporary run CD in PR for testing
* refactor(build): Execute mypy standalone instead of via python -m
* feat(cd): Also push bentobox-engine to the latest tag on publish-engine job
* refactor(ci/cd): Replace docker image caching in favor of just pulling the previous docker image
* repo: Add secrets, end of file, trailing whitespac, merge confict and secrets pre commit checks
* refactor(sdk): Fix or ignore errors flagged by mypy
* build(sdk): Update requirements-dev.txt to include mypy
* feat(build): Add mypy to project makefile to lint types when linting SDK
* CD: Automatically Deploy Bentobox Engine to GKE K8s (#60)
* CD Pipeline: Automate Publish Bentobox SDK to Pypi and Bentobox Engine Container to GHCR (#59)
* feat(sdk): Implement Mountain Car as Example Simulation in the SDK (#57)
* chore(e2e): Improve E2E coverage by testing more data types (#58)
* Engine: Allow implicit type conversion for mutateOp, add existence check before retrieving component value (#56)
* chore(e2e): Implement E2E tests for Get/Set Attribute & Stepping Simulations (#44)
* refactor(ci): Allow E2E to run without sim/sdk unit tests passing to speed up CI
* refactor(ci): Remove docker layer caching due to issues with disk space
* Engine: Implicit Type Conversion (#51)
* Engine: Set data\_type for all protobuf values (#47)
* fix(e2e): Fix E2E assuming implicit type conversion even though it has not been implemented yet
* Engine: Execute init graph on apply (#46)
* feat: Creating, Using Simulations using SDK & Fixing the Graph Compiler (#28)
* Engine GRPC with tests (#27)
* Graph Interpreter (#24)
* feat: Setup GRPC networking between SDK and Sim Engine, Add End to End Tests (#26)
* fix(proto): Fix typo 'float\_33' should be 'float\_32'
* feat(sdk): Preprocess AugAssign into separate Assignment and Binary Operation (#14)
* fix(doc): Fix SDK Documentation Rendering in existing SDK Docs (#25)
* fix(build): Fix PDOC variable unset in project makefile causing sdk docs CD to break
* ICS Entity Index (#21)
* feat(sdk): Add ability to compile If statements and ternary expressions to graph (#8)
* fix: incorrect component constructor name
* ci: Add clang-format to Lint and Format bentobox-sim and Protobuf Definitions (#19)
* ci: Fix bentobox-sim build not properly taking advantage of Docker Layer caching (#13)
* feat: add built-in components closes #22
* feat(sdk): Add Graph Compiler to compile basic arithmetic expressions (#7)
* feat(cd): Automate build and deployment of bentobox-sdk docs on Github Pages (#10)
* feat(ci): Add caching of docker layers to speed up CI build of bentobox-sim container. (#11)
* feat(ci): Add automatic spellcheck on codebase to CI (#9)
* Complete Core ICS  🎉 (#6)
* chore: reorganise file structure in sim
* Bootstrap SDK Component (#5)
* Bootstrap gRPC/Protobuf API for Simulation Service (#4)
* refactor: move graphics and window operations to context classes
* feat: update compVec to use ids instead of indexes
* Sim: Support for  building with gRPC/Protobuf & Dependency cleanup (#3)
* feat: add component manager
* chore: remove ICSManager There should not be a class to handle both components and indexes
* fix: remove const qualifier for typeMap::at
* fix: remove const qualifier for compVec::at chore: remove unique\_ptr from compVec
* Incomplete Index Component System (ICS) (#2)
* fix(build): Relax glfw3 lib requirement to any version matching version 3
* fix(infra): Replace alpine in Dockerfile with Ubuntu to fix issue with running in docker
* fix(build): relax cmake version requirement to 3.16 to increase compat with more cmake versions
* Sim: Bootstrap Test framework & CI Pipeline (#1)
* chore: update lib to include glad include folder
* chore: add project template
* chore: remove lib as an ignored folder in gitignore
* docs: add readme
* chore: add gitignore
