Thursday, October 8, 2020

API Release: 1.16.116

API release 1.16.116 is an API-only release that does not alter any parts of the Manager.

Instead, it upgrades the API and the API's Administration panel with tools that will allow me to document and publish information about releases of the Manager, the API and any future platforms that end up being a part of this project.

Among other things, this new feature of the API will allow me to share information about fixes, enhancements and new features before I release them in order to provide users with more insight into what's coming next.

This is one of the first major changes that I alluded to in the 3.105.188 release and should provide a sense of the direction in which this project is moving.

And, since this new feature of the API will basically work like a blog, API release 1.16.116 also makes this blog redundant.

I might do one or two more posts here on this blog to make sure that anyone who finds their way here is able to figure out where to go for release info, but that's about it.

The next release of the actual Manager will include release notes and a change log that are displayed within the Manager itself. 

So, as usual, hit the jump for details on the release.

And thanks for using the Manager!

Fixes and corrections

  1. Removed an errant comma from the collection_action() method in routes.py that caused invalid OID errors to throw an exception (thus obscuring the actual exception, i.e. the invalid OID).
  2. Fixed an issue where changing a survivor's owner/manager generated a confusing/inaccurate message in the settlement log.

API development

  1. Created the StructuredObject class definition in models.py for use with all future objects that have a data model (this is deep forbidden future stuff).
  2. Refactored the template organization of the admin panel and broke it up into a couple of files for easier/targeted maintenance
  3. Removed jquery from the admin panel:
    1. admin panel uses angular 1.5.4 now; we also use the animate package from that release for fade effects, etc. as well
    2. re-implemented the main spinner
    3. created an ngVisible dict in the main $scope to track visible/invisible UI elements on the panel (sort of like what we do in the legacy webapp)
    4. deprecated the recent settlements panel
  4. added the "Releases" panel to the API admin console:
    1. created the releases.py
    2. built support for the /admin/get/platforms end point, which uses API keys to return supported platforms
    3. built support for a new set of endpoints that follow the /admin/releases/<action> convention and allow arbitrary execution of actions for working with releases
    4. added the ability to create a release for a platform
    5. created basic methods (load(), new(), save(), etc.) for working with releases
    6. built a user interface for adding release info
    7. Adding lines automatically increases the patch version; adding features increments the minor version
    8. Created a few endpoints for dumping the releases as a change log e.g. /changelog, /change_log.json, etc.
    9. added the panel_releases_visible setting to the API's settings.cfg, which controls how many releases we show on the panel
  5. The API's /stat method now returns additional sections, including one called 'admin_panel' and one called 'kdm-manager': the former is for use in the new panel updates and the latter is forbidden future stuff.
  6. the 'subscriptions' dict of the API /stat dictionary/JSON has been duplicated into the 'kdm-manager' dict; it will be removed from the root/main bit when version four of the webapp is implemented.
  7. Upgraded a number of legacy API panel elements to use the settings from /stat JSON, instead of the stuff from /world (which, once up on a time, was the only thing we had access to on the panel).
  8. Refactored Admin CSS a bit to be more in line with the version four app standards

No comments:

Post a Comment