[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