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!

Friday, January 25, 2019

Scheduled Maintenance / Downtime coming soon

How the webapp's main
view will look during the
This is a courtesy post to announce an upcoming outage for which I have not yet decided on an exact date or time.

I just wanted to let everybody know that I am planning on pushing some major updates to the Manager in the next production release, and, given the scope and scale of what's going to change on the back end for the next release, I have decided to err on the side of caution and take the whole site down until the deployment is totally complete.

Hit the jump for specifics!

Sunday, December 2, 2018

Change Log: 2.84.1603

Tablet resolution night mode tease!
Release 2.84.1603 is mostly a break/fix type release that corrects a laundry list of minor usability issues.

The only major new feature in this release is the new (beta) Night Mode feature. If you subscribe to the Manager (and have the beta features enabled), definitely check it out and let me know what you think!

Among the other minor corrections and fixes, this release also starts to clean up some of the messiness in both the Settlement Event Log and the user interface around modifying a Survivor's Survival: superfluous/redundant log messages are eliminated, Survival-related events that do make it to the log are cleaner-looking and situations where the Manager stops a user-attempted Survival update are logged.

There are some minor touch-ups to the (beta) Gear Lookup feature, so if you use that or have it enabled, hit me up and let me know what you think: the feature will, I hope, be ready to exit beta soon, so what you see in there now is probably pretty close to what we're going to go with for General Availability.

Thanks for using the Manager!

Saturday, September 1, 2018

A Very Special Milestone

PS: the 2.83.1563 release of the manager just bumped us up to commit #667, which means that the Manager spent all summer on the commit Number of the Beast:

Change Log: 2.83.1563

Anyone else find one of these little guys
in their Echoes of Death box?
Alright, time to shake the rust off and get back to it: Summer break is officially over and release 2.83.1563 has arrived!

The first new release of the Manager in over two months includes support for the new Echoes of Death expansion as well as a number of minor corrections and one or two minor "quality of life" enhancements.

As of release 2.83.1563, settlements can enable the Echoes of Death expansion, which will add the "Strain Milestones" controller to the Settlement Sheet and make Strain Fighting Arts available on the Survivor Sheet.

On the QoL front, the big news is that the back-end process for adding a weapon mastery to a survivor has been revised, clarified and corrected. As a result, the Settlement Event Log will look cleaner and more logical, and the duplicate mastery A&I bug is finally resolved. Big shout-out to @wayforger on that one, for reporting and troubleshooting the issue.

Finally, on the topic of break/fix, release 2.83.1563 commits some more code to the most prolific/persistent issue I've had to resolve in almost three years of supporting the Manager: the dreaded issue #503.

(I will leave the issue open, since it has come back from the dead so many times before, but I think I finally have it beat. Time will tell.)

Thanks for using the Manager!

Friday, June 8, 2018

Change Log: 2.82.1550

Release 2.82.1550 is about as narrow in its focus as releases of the Manager get.

In fact, this release does literally one thing: it fixes issue #505 by adding routes to the API that allow settlements and survivors to be removed and updates the controls in the webapp to use those new routes (instead of the legacy webapp).

The new controls are also improved visually and have a "safety" feature where you "arm" the delete button which is, I think, a little better than the previous method of popping a Javascript alert and making the user click through it.

At any rate, apologies to everyone who ran into issue #505 during the last week.

Thanks for using the Manager!

Wednesday, May 30, 2018

Change Log: 2.81.1540

Release 2.81.1540 takes the KD Collection feature out of beta: all users of the Manager are now able to maintain a KD Collection and use their collection to include Fighting Arts, Disorders and Settlement Events in their campaigns.

That's about it for "new" features in this release, however. Think of this one as a "quality of life" release that mostly cleans up UI/UX elements, streamlines/normalizes some control elements, etc.

(The inspiration came from a couple of posts on /r/kingdomdeath where people were talking about UI and it kind of jogged my memory about how I said that I wanted to spruce-up the UI for the users to whom that sort of thing is more important.)

Beyond aesthetic/UX QoL concerns, release 2.81.1540 continues the optimization project.

As far as back-end/behind-the-scenes enhancements go, the big push towards a simplified/organized legacy webapp continues. Release 2.81.1540 is actually kind of a milestone in that regard, as it removes all Survivor and Settlement Sheet HTML from the module in the legacy webapp, which is a goal I've been working towards for...probably over a year at this point.

Moving on to a recurring topic on this blog, I'm going to spend a few paragraphs talking about HTML render times (i.e. how long it takes for the the legacy webapp to create the HTML you need for your view) and the project I started back in January to reduce them.

In the aftermath of the May 19th release (2.77.1502) of the Manager, I expected render times on the 'new_settlement' view and the 'view_campaign' view to improve (i.e. decrease), but it looks like average HTML render times have not improved across the board and, in some cases, have actually gotten worse since the January 30 release (2.67.1287):

dashboard     0.05    0.31
login     0.35    0.61
new_settlement     0.03    0.02
view_campaign     0.27    0.3
view_settlement           0.47         0.35
view_survivor     0.04    0.21

Back in January, all of these routes were averaging a half a second or more and, ultimately, the goal here is to have all of these averaging under half a second, so I am making some progress here, but I kind of feel like I'm hitting a wall.

Lately, in light of this and a few other annoyances I'm having with the legacy webapp, I'm feeling like the solution here is to do what the pros do and shoot the hostage, i.e. remove the webapp from the equation and have the whole front-end application be a single, unified JS (e.g. AngularJS 2) app. That way, the user downloads the whole thing at once, we incur an up-front download time penalty, and then performance is down to two factors, i.e. the client machine's ability to run the JS app and the API's ability to respond rapidly to it.

At any rate, that's where we're at in terms of performance optimization as of this release. Moving on.

Finally, I should mention that, in terms of API development, there is only one major item of note in this release. Release 2.81.1540 moves user avatar retrieval from the legacy webapp to the API, which should help performance (i.e. avatar load speeds) out quite a bit. I don't really have that code instrumented (i.e. so I can't quantify the improvement), but it should be noticeable.

(Because everything the API does is pretty much automatically WAY faster than anything the legacy/CGI app does, etc.)

Thanks for using the Manager!