Friday, July 26, 2019

Change Log: 3.85.1643

CPU utilization before and after the last release.
Release 3.85.1643 brings the big migration to a close: the Manager and the new version of the API are fully migrated to their new provision and all errors associated with the migration have been addressed!

In the last post, I spoke a bit about optimization and utilization. The graphic at the top of this post shows CPU utilization before and after the last release went out to production. As you can see, the difference is stark!

(For those interested, the tl;dr version is this: those CPU utilization spikes happen when the world daemon refreshes old data in the warehouse. Before the last release, which included critical fixes for averaging queries and added indexes to the main MongoDB collections, the world daemon was using 100% of the CPU whenever it ran!)

At any rate, there is, once again, almost nothing user-facing in this release except for one critical bug fix: creating a new survivor with an avatar no longer fails.

3.85.1643 will probably be the last release for a while, but I expect to have a major announcement before the end of the month, so watch this space!

Thursday, July 25, 2019

Change Log: 3.85.1641

Kingdom Death Fighter (work in progress).
One of the main goals of refactoring and migrating the API was to increase efficiency (make it faster) and decrease overhead (make it cost less for me to run it).

Release 3.85.1641 of the Manager is mostly focused on those goals, specifically as they pertain to the (expensive/inefficient) bits of the World module that creates stats about survivors, settlements and users.

The main thing in this one that's user-facing in this one is a handful of fixes for the data on the World section of the Dashboard: some of the averages have been broken since the migration, the number of subscribers was off, etc.

As far as tickets go, there's one more issue regarding World stuff that I've got to take care of, and that should get us moved on from the last of the outstanding migration work.

From there, the plan for the Manager is to continue to stabilize the production application by fixing application issues as they arise (or are brought to my attention) and doing break/fix work on the API. Once I close all open tickets for the webapp and the API, I will reveal the details of (sinister) Phase Two of my 2019 project.

Until then, hit the jump for complete release details.

And thanks for using the Manager!

Tuesday, July 23, 2019

Change Log: 3.85.1635

Fighter (work in progress)
The migration continues!

Release 3.85.1635 is a break/fix type release dedicated to cleaning up issues left over from last week's migration.

And, speaking of that, I would like to give a special thanks to everyone who submitted issues after the big migration on Friday: as I said to some of you, I expected there would be some issues after the migration, but the ones that occurred were really obscure.

At any rate, this should fix up some of the most commonly encountered issues since the migration, including a couple of issues that prevented certain settlements from loading and the annoying pop-up messages that were happening when changing survivor color schemes.

Finally, as I mentioned in the last update, the legacy webapp is no longer under active development, so the following is now true:

  1. updates in this blog will no longer include an "Application Enhancements" section (since I'm not doing any).
  2. the text in the "About" section of the dashboard has been updated. 
  3. the open issues on GitHub that have to do with feature work have been moved to a new project (more on that later).

As usual, hit the jump for details!

Friday, July 19, 2019

Change Log: 3.85.1633

Old survivor (work in progress).
Version three (3.85.1633) of the Manager is live!

Before I get into the release notes/change log, however, I have a few announcements.

First, as I have mentioned on Twitter and elsewhere, version three of the Manager uses the version 1.0.000 release of the KDM API, which has been deployed at a new URL ( and is a more or less total re-implementation of the API in Python 3.

(Also, in case you're wondering, is going away soon: more on that in future posts.)

The 1.0.000 release is designed around performance and the delivery of some major new features, including support for multiple rules sets/versions, gear grids/saved load-outs, etc.

Second, 3.85.1633 is the last "feature" release that I will be doing on what is now the legacy version of Manager: the new features that leave beta and go out for General Availability in this release are the last new features that will be added to the current version of the Manager and the API.

I will continue to support the legacy version of the Manager, but from now on, my efforts are officially going to be focused on a new project that...I can't actually officially announce yet.

All of that having been said, here's a summary of the major changes in release 3.85.1633:
  • I closed about a dozen issues and addressed a bunch of bugs, including long-standing issues with password hashing, cookies and adding expansion content to settlements.
  • API documentation app has been reorganized/cleaned up, uses material design and now has a nifty left-side nav bar. 
  • Support for the Santa Satan expansion has been added.
  • Gear card lookup exits beta (!) and becomes generally available.
  • The Manager now uses the 1.0.0 release of the API
  • I created a "downtime" app that will be used whenever I have to do an extended downtime for re-deployments of critical application components (of which I am planning three in 2019).

As usual, hit the jump for complete release notes!