The following is an abbreviated version of the Subversion commit message logs. Please keep in mind that these messages are intended for other developers and they take the files which were modified into context in order to limit the amount of verbage. In general, they are not intended for general audiences and should not be treated as "official" documentation -- they are informal and abbreviated, at best.

If you do not understand what something says, try looking at the full version of the revision by following the accompanying link for the revision. The only difference is that the files which were modified will be listed, and sometimes, you can guess what happened from file names (though not always). If you still have no idea what happened, that's okay -- it probably doesn't relate to what you're doing with KoLmafia. ^_~

Furthermore, not everything marked as "fixed" is guaranteed to be fixed, not all changes are guaranteed to have a change. This is due the fact that both time and turns are finite and only a limited number of things can be tested. Some changes go in untested, assuming they would work, when they actually don't due to erroneous assumptions; alpha testers occasionally will be able to give feedback, but it's not always possible.

For example, if you read the revision logs for what changed between 10.2 and 10.3, the plus sign choice adventure was meant to get a use link. Something as seemingly insignificant as KoL using two spaces instead of one space in the sentence "It's actually a book. Read it." would mean the change didn't actually work -- anyone can verify that, in fact, the change didn't work for this very reason. If you ever encounter something like that, a non-accusatory mention of it (non-accusatory meaning anything that neither implies "ZOMG FALSE ADVERTISING" nor "You guys said this was fixed, but...") somewhere will usually result in the problem getting addressed.

Finally, if you've got a bug to report, make sure you read up on how to post a detailed bug report. While the rules outlined apply specifically to bugs related to scripting, many of them are applicable to KoLmafia bug reports in general. Most importantly, I hate the words "annoying" and "frustrating". Never use them when describing a bug/feature. Ever. Thanks. The abridged revision logs follow.

Revision: 19341
Allow zone() in modifier expression to match parent(s) of current zone, to handle nested zones correctly. Thanks to Saklad5

Revision: 19342
Remove unnecessary (incorrect) spaces accidentally dded to three monsters

Revision: 19343
Add a few new items, including enchantments for the hewn moon-rune spoon

Revision: 19344
Sailing the PirateRealm Seas has no combats, per Saklad5

Revision: 19345
When sell cursed compass, remove from inventory/equipment/checkpoints

Revision: 19346
Fix zone() function in modifier expressions. Use recursive zones for doll-eyed amulet, stinky fannypack, and Expert Vacationer

Revision: 19347
We use "^" rather than "**" for exponentiation in expressions

Revision: 19348
When resetting TCRS data, there are a few more ConsumablesDatabase methods that need to be called/
Call those methods.

Revision: 19349
Upgrade htmlcleaner to version 2.22.
It doesn't seem to crash on fight handling, so there is that at least.

Revision: 19350
Fix expression error for Expert Vacationer.

Revision: 19351
Add missing jdom2 jar.
Forgot to add -f this file in the last commit, whoops.

Revision: 19352
Set default text encoding for javac.
htmlcleaner's SpecialEntities.java contains weird characters that
break in windows-1252.

Revision: 19353
Use TagNode.getAllChildren(), not getChildren().
getChildren() doesn't preserve CommentNodes, and is deprecated to
boot.

Revision: 19354
Use getAllChildren when logging fight HTML tree, as required by new HTMLCleaner

Revision: 19355
Fix parsing of "p" tags in fights since behavior of TagNode.getText() has changed in the new version of HTMLCleaner

Revision: 19356
Add AshTest.
This runs an actual ASH script, then compares the output against a
"golden" file.

Revision: 19357
Rename AshTest -> CustomScriptTest, auto-detect scripts.
For now, this only looks for scripts in the top-level scripts/
directory.

Revision: 19358
Update 3 items in two TCRS seeds

Revision: 19359
Add ability for KoLmafia itself to ship internal relay files in the relay directory.
A user-supplied relay file will override such an internal relay file.
Add internal relay file for afterlife.php which decorates the pet store and deli so that you can see what astral consumables and equipment will do in your choice of TCRS class/sign

Revision: 19360
Do not let a user relay script to override an internal relay script.
Perhaps we can figure out how to allow internal and user-supplied scripts to be composed, somehow, later

Revision: 19361
Beach Comb support

Revision: 19362
Restore relay script lookup for optional shops ids, etc.

Revision: 19363
Fix handling of VYKEA furniture with new HTMLCleaner

Revision: 19364
Fix Beach Comb Box

Revision: 19365
Beach Comb items and effects

Revision: 19366
Allow "tcrs derive #" which will derive a single itmem in TCRS and store it in local TCRS data. Use "tcrs save" to write it to storage.
Added some Beach Comb items

Revision: 19367
Items of the Month cannot be pulverized

Revision: 19368
hewn moon-rune spoon skills

Revision: 19369
Fix typo

Revision: 19370
tcrs help command

Revision: 19371
More Beach Comb stuff from mall

Revision: 19372
Expert Cornercutting is not available unless you have at least one turn left (to not be used) for crafting

Revision: 19373
Fix item_type() for shotgun, murderbot plasma rifle and Bananubis's Staff

Revision: 19374
KoL describes many items as "potions". Define a "potion" primary usage type. "usable" and "multible" can be
specified as the secondary usage type. If the potion is n avatar potion, use "avatar" as the primary usage
type; anything which is a "potion" or an "avatar" is a KoL "potion".

Revision: 19375
More Beach Comb stuff

Revision: 19376
Add Beach Combo skill. Log horse and meteor actions during fights. Two sticks make fire.

Revision: 19377
Add BeachManager, which can parse a beach layout and store the results in _beachMinutes and _beachLayout

Revision: 19378
When we visit a beach are to comb, parse the map and store in settings

Revision: 19379
MOve a bunch of variables into a loop so they get initialized each time through.
This was causing the maimizer to labele effects with multiple sources strangely:
potions would get an mp cost or adventures used or what have you

Revision: 19380
he beach can have "a sand castle", which we will designate with 'S' in the beach layout

Revision: 19381
Eliminate extra space in effect defaults when setting actions in TCRS.
Change to beach layout: rough sand = 'r', combed sand = 'c', sand castle = 'C'

Revision: 19382
Meteor combat messages can have "falling star" rather than "meteor". Allow either.

Revision: 19383
Move svnrepo.json from GitHub to SourceForge

Revision: 19384
svnrepo.json correctly read from SourceForge now.

Revision: 19385
Update svnrepo to point to new location for UR

Revision: 19386
Fix use links for potions

Revision: 19387
Pastamancer = 3 and Sauceror = 4.

Revision: 19388
When parsing an "Effect" modifier on an item, look up ambiguities and include effect ID if necessary to disambiguate.
Fix the modifiers for TCRS Accordion Thief/Blender, which were affected by this.
When handling kisses in Dreadsylvania, do not abort fight processing

Revision: 19389
add magical sausages to restores.txt as per saklad5 Untested

Revision: 19390
Track inflation of brainwave-controlled unicorn horn as per saklad5 Untested

Revision: 19391
Track cubeling drops as per gausie UNTESTED

Revision: 19392
Forcibly parse modifiers for Mummery, local vote.
This is a short-term hack that I'll figure out how to unwind when I
have more time. In the meanwhile, this does seem to work (at least
nominally tested for Mummery).

Revision: 19393
Remove forceEval, since it's unnecessary.

Revision: 19394
Don't clear modifierIndicesByName.
This map shouldn't change once it's been built up, since it's a helper
object to make it easier to find the index for a modifier. It
definitely shouldn't be cleared every time we reset our modifiers.

Revision: 19395
Detect mime army shotglass when you use the Gnomish MicroMicroBrewery in the relay browser.

Revision: 19396
When reloading modifiers, have to start fresh with bitmap masks

Revision: 19397
Don't get confused by non-standard 1000 Meat cap for free fights.

Revision: 19398
When equipping and unequipping Beach Comb or hewn moon-rune spoon, add or remove appropriate skills.

Revision: 19399
Untested - Fourth of May Cosplay Saber is always considered effective.

Revision: 19400
Update Vote Monster stats on fight start, not fight win.

Revision: 19401
Add some goals

Revision: 19402
Fix receiving a crimbo present in a fight

Revision: 19403
cyan seashell is multiusable

Revision: 19404
When reset modifiers after a TCRS run, reset all per-character item enchantments to correct per-character values.

Revision: 19405
Add the rest of my published script to the Script Manager repo

Revision: 19406
Fix short description. Why doesn't this show up in the ScriptManager?

Revision: 19407
Sigh. Fix JSON errors

Revision: 19408
Another fix to JSON. Also, vastly improve reading of JASON file into String.

Revision: 19409
Add Drag-n-Drop Inventories, Airport Colors, Dinsey Landfill, and Noobsorb to svn script repository

Revision: 19410
etched hourglass is reusable

Revision: 19411
Really make +effective work with Saber.

Revision: 19412
Pet Coral is 273

Revision: 19413
Remove extra tab for Like a Fish to Walter skill

Revision: 19414
Fix crimbo present logging

Revision: 19415
Zap wand to Scripts Menu

Revision: 19416
Add a bunch-o-scripts to the Script Manager

Revision: 19417
Variable consumables no longer have hard-coded size. Recalculate them when applying TCRS modifiers.

Revision: 19418
SVN Repository updates.

Revision: 19419
revert 19148 which did not do what it was supposed to do.

Revision: 19420
Try again on svnrepo

Revision: 19421
More repository tweaking. http replaced with https, couple more scripts, raw file sorted by category then name.

Revision: 19422
Arrrrboretum rewards are multi-usable.
Maximizer label for pullable/liable radio button now says (xxx pulls left)

Revision: 19423
f you are out of Ronin, pulls are (unlimited)

Revision: 19424
Add Ezandora's PirateRealm. Update metadata for missingManuel

Revision: 19425
Don't try and read JSON from a zero length file. Some lint. UNTESTED

Revision: 19426
Use etched hourglass during breakfast

Revision: 19427
Track Free Beach Walks used in _freeBeachWalksUsed and Beach Heads Used in _beachHeadsUsed

Revision: 19428
glowing New Age healing crystal is really glowing New Age crystal.
The Floor Is Yours choice adventure has a bunch of choices which require specific materials.
Some of them staty in the choice if you don't have the materials and some exit.
For those that stay in the choice, if you are automating, choose the option to exit the choice if you don't have the materials

Revision: 19429
Two properties for tracking beach Heads: beachHeadsUnlocked and _beachHeadsUsed

Revision: 19430
Add driftwood beach comb

Revision: 19431
Make a driftwood beach comb by using a piece of driftwood

Revision: 19432
USE -> SUSE

Revision: 19433
Clowniness and Surgeonisty have "Unique" sets of equipment - only the first of such items counts.
When maximizing for one of those modifiers, the maximizers will treat them as if they were single equip.

Revision: 19434
Clownosity has the identical unique item requirement as Clowniness

Revision: 19435
pile of sand and small pile of sand are multiusable.
Treat surgeonisty like any other -osity in the maximizer.

Revision: 19436
Fix parsing of "[bogus item number]" as an item name

Revision: 19437
If ASH script specifically does an "exit", do not let capturing a value override that.

Revision: 19438
Save beach head coords as well as minutes

Revision: 19439
You can create a bottle of sea wine by using a bunch of sea grapes.
Add some ASH functions to save/retrieve buffers of text to/from the data directory.
buffer file_to_buffer( string filepath )
boolean buffer_to_file( buffer data, string filepath )

Revision: 19440
When equipping an outfit which has multiple of the same weapon or accessory, and you are already
wearing some, but not all of the required item, do not unequip those that are already being worn
before issuing the change outfit request.

Revision: 19441
In The Floor Is Yours, if automating and do not have required ingredient, rather than
ignoring, go to manual control, since the user might want to use a different option

Revision: 19442
Add a few property checks we forgot for a couple of former swagger seasons

Revision: 19443
When tuning the moon with the hewn moon rune spoon, change your sign upon succes.
Set moonTuned property to true when the moon is tuned. Set it to false on ascension.

Revision: 19444
Add "beach" command. Add "_beachCombing" property which is true if we are actually looking at a beach.

Revision: 19445
Add "beach head" command as source for 11 status effects.
teach the Maximizer about the "beach head" command

Revision: 19446
Ensure that either a Beach Comb or a driftwood beach comb is available before attempting to comb the beach

Revision: 19447
Decorate raver dance moves even if they are copied, rather than Outside the Club

Revision: 19448
Pomp and Circumsands is actually Pomp & Circumsands. Use && rather than & in conditional.

Revision: 19449
All sources of bonus fullness are ignored in Dark Gyffte

Revision: 19450
Refactor code that fetches remote files to check "Not Modified" before deleting local copies.

Revision: 19451
The Hot-Headed effect has no spaces in the name. Don't confuse it with a "desc" when the "beach" command is
parsing the beach head subcommand

Revision: 19452
Give se wine base 4-5 adventures, per Jeparo

Revision: 19453
Fix errors revealed by checkitems and checkeffects

Revision: 19454
Update mallprices.txt

Revision: 19455
Bump version to 19.7