December 28, 2020
It is here: API Simulator version 1.8! New features (who said Admin APIs?) and internal improvements make API Simulator leaner and meaner tool for your toolbox:
- Brand new Admin APIs now make it possible to add, update, or delete a simlet without restarting the API Simulator, to delete all simlets, get a list of simulation’s simlets, and to remotely shut down the API Simulator. Feedback is welcome!
- Exposed declarative configuration for customizing the simulator and global simulation settings. Instead of messing around with environment variables and startup arguments, which are still supported, this gives you a declarative way to configure simulator’s and your simulation’s run-time settings and (preferably) check them into source control along with the rest of the configuration. See the documentation for more details.
- Added support for `simlet.path` – a global variable you can use in simlet configurations. It is the path to the directory where the simlet is defined. This can be very handy when referencing external files a simlet uses and organized by placing them in simlet’s directory. The existing variables `sim.path` and `simlets.path` still exist and reference the simulation and `simlets` directory, respectively.
- Support for using the path-related global variables – `sim.path`, `simlets.path`, and `simlet.path` – when configuring TLS KeyStore and PEM Certificate and Private Key files.
- From now on, there is nothing special required to use Template Functions. In the previous version 1.7 when Template Functions were introduced, there was the requirement to `import` a library in order to use it. Not anymore. Please remove such `import` statements to ensure everything will still work when the support for `import` is removed in a future version.
- Completely new, improved configuration loading and settings overrides. The result of a total overhaul of the configuration loading and internal refactorings, this will enable us to delivery new features faster in the future.
- API Simulator is Spring-free! For good.
“Free” of Spring IoC, Spring JDBC, and any other transitive Spring Framework dependencies. Even more throughput, reduced memory usage, less GC pressure…are all improvements as result of it.
API Simulator used to use the Spring IoC (Inversion of Control) container to manage dependencies and wire up components internally. While it did its job, there was significant overhead affecting both performance and maintainability…even if the maintainability part may seem strange.
Spring JDBC was used for accessing SQL databases as source of dynamic response data. The API Simulator now uses Apache Commons DBUtils, which works equally well with far less bloat in terms of required dependencies…well…none actually 🙂
As usual, the documentation has more details.
Let us know what you think at [contact at APISimulator.io]. Many thanks for your interest and support!
Happy API Simulating!