[DGD] Kotaka v0.50

Raymond Jennings shentino at gmail.com
Thu Jun 28 13:16:28 CEST 2018


Found another bug in the new multilevel map arr interface.

Please check tag v0.50.2
On Thu, Jun 28, 2018 at 12:59 AM Raymond Jennings <shentino at gmail.com> wrote:
>
> Oops...
>
> * Forgot to tag the new version
> * Made a typo in INITD
>
> Please check v0.50.1, sorry.
> On Thu, Jun 28, 2018 at 12:31 AM Raymond Jennings <shentino at gmail.com> wrote:
> >
> > Finally got to a new release of kotaka.
> >
> > This is mostly internal cleanups.
> >
> > New policy on constructors, destructors, and patchers:
> >
> > They are useful as courtesies, but the ability for an object to
> > rewrite its inheritance tree at will eliminates a few guarantees, so
> > as a middle of the road approach I thought it wiser to make those
> > caveats part of the policy and officially put inheritables on notice.
> > Full notes are in the top level documentation.
> >
> > A new patcher interface has been written.
> >
> > See git commit log for full information.
> >
> > Raymond Jennings (98):
> >       Lock down the full rebuilder to appropriately privileged code
> >       Detail the deprecation process for constructors and destructors
> >       Add our (well, my) internal docs for how to handle upgrading Kotaka
> >       Add a bit to the readme, also do a minor bit of reformatting
> >       Add header for INSTALL file (workaround for git freaking out
> > about conflict marker)
> >       Small simplification in ObjectD
> >       Add final version of safe_upgrade_versions
> >       Update InitD for compartmented upgrades
> >       Final incarnation of upgraded
> >       fixup initd
> >       Add upgrade policy on the dev side
> >       Force System SubD to recompile on a System module upgrade
> >       We will eventually stop autoregistering modules.  In the future,
> > modules can only be booted and shut down via ModuleD
> >       Formal roadmap style documentation regarding pending API changes
> >       ObjectD needs recompiled on next upgrade
> >       Issue a diagnostic if a module is shut down due to a missing
> > initd file during upgrade
> >       Have ModuleD recompiled on upgrade
> >       Inform admin when System module is upgraded
> >       Have system upgrade initiate module upgrades
> >       Give Test module enough ticks to complete its tests
> >       Do tests in parallel via callouts
> >       Add new API for single archetype as documented in UPGRADES for
> > version 0.50
> >       Finish deprecation of multiple archetype setting per version
> > 0.50 preparation
> >       Flag initds who attempt to return constructor or destructor
> > information, now that it is deprecated
> >       Fix typos in multiple archetype deprecation
> >       Stop using constructors and destructors with things
> >       Convert mandatory destructor in thing library to a cooperative
> > one that inheriting objects should call manually as needed
> >       Pass destruct call from Game thing library to thing library
> >       When a Game thing destructs, pass the call up the chain to the libraries
> >       Remove obsolete call to destruct the saveload object, upgrade
> > was in version 0.49
> >       Rename creator function for thing library
> >       Update a copyright date
> >       Move upgrade recompilations to the upgrade_module lfun
> >       Increase Intermud's tick limit to 5M
> >       When shutting down the Ecru module, don't try to destruct kernel objects!
> >       When resetting a module's resource limits after shutting it down
> > just loop through every resource
> >       For now, be gentle with a module shutdown.  Only stop it from
> > creating more objects.
> >       Fix typo in module resource thaw fix
> >       Add help command to objconf
> >       Update developer document for managing user-side upgrades
> >       Reorder misleading messages in saveworld and loadworld verbs.
> > We shouldn't say "done" for an asynchronous process, there could be
> > errors or reboots
> >       When doing a System upgrade, have the System module upgrade
> > itself before upgrading the other modules.  It's special, treat it as
> > such
> >       Add master TODO file
> >       Make a note that (maybe in the future) a module can be nuked
> > even when it's shut down
> >       Have System module's StatusD provide a diagnostic if it gets
> > queried for a banner for a sitebanned IP
> >       Mass is in kilograms, not cubic meters...
> >       We're going to have to rearrange the api change schedule
> >       We shouldn't stop an initd from being destroyed, there may be a
> > good reason, and a module should always be allowed to mess with itself
> > if it wants to
> >       Don't bury old logs when they get too big, just delete them
> >       State directory for snapshots is now explicit and not a symlink
> >       Ecru doesn't depend on Game
> >       Boot Game after system is loaded
> >       String depends on Ecru
> >       We will make these changes when we get to them
> >       Fix a small typo
> >       Make sure a siteban check doesn't fail to disable a banned
> > connection if the responsible connection manager burns all its ticks
> >       Add hook function and documentation to UserD library
> >       Archetype api change no longer version tied
> >       Take note of the DoS opportunity of getting a backlog of log
> > spam that jams the logd when dgd decides to garbage collect
> >       Make note that destructors are being deprecated, and that the
> > bottom program should call up the chain as needed.  Also, inherits are
> > at the mercy of inheritors for preservation of data.
> >       Turns out, patchers are also at the mercy of inheritors
> >       Stronger deprecation of constructors, destructors, and patchers
> >       PatchD needs to be removed soon
> >       Fix sloppy typing in UPGRADE
> >       Make note of new patching api we will use
> >       More information and cleanup on the pending api changes
> >       Objects can ask to be patched if they want to
> >       Move API change list to separate file
> >       Amendment of patching interface
> >       Document how a system upgrade should happen.  System is special.
> >       Undeprecation of constructors and destructors but caveats have been added
> >       As before, we'll do a transition
> >       Update commentary on upgrades and patching
> >       Organize system libraries
> >       Add multilevel sparse array structure
> >       Fix bad stubbing of moved list library
> >       Various fixes in maparr
> >       New patching api
> >       Fix a small typo in UPGRADE-API
> >       Add test for multilevelmaparr
> >       Make notes of old code in ObjectD and PatchD that needs cleaned out
> >       We need more callouts for now to handle the load of upgrade calls
> >       Set stack limit for System module to 50
> >       Streamline INITD's upgrade process a bit.
> >       As a temporary test, return a patcher for the touch autolib
> >       touch autolib updates
> >       Mark previous patching process as obsolete
> >       Use new patching process in ObjectD, also handle upgrade calls differently
> >       Allow return value for touched objects to be passed back to dgd
> > via ObjectD
> >       Add a safety test for ObjectD for when we later remove the old
> > upgrade queue
> >       Add a creator for PatchD
> >       Nix some dead code
> >       Don't nuke the old patch bigstruct if we never added anything to it
> >       Add new patching process to PatchD
> >       Remove System UpgradeD
> >       Have rebase script abort if there's a conflict
> >       INITD:
> >       Version 0.50



More information about the DGD mailing list