dangerpin
Member
I didn't see a release log for version 12.2 so I thought I would save someone who can do some real work some time and put it together, here goes with Hola's usual intro;
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 5778
Re-fix plural
Revision 5777
Update version number
Revision 5776
Lucky Sewer now offers seal-skull helmet, not seal tooth. Clear and recreate
form fields each time through Lucky Sewer to allow changing items.
Revision 5775
Only check that enough gum is in inventory to cover remaining visits to sewer
Revision 5774
If the hermit sends you packing after a trade, you can't tell if he has
clovers left in stock.
Revision 5773
fix recipes derived from bling-bling to use new item name
Revision 5772
Add all derived skills to the "availableSkills" list
Revision 5771
Inventory -> Consumables on mini-browser function menu
Revision 5770
Checked KoLmafia's data files against KoL item descriptions and Wiki plurals and
made corrections as appropriate.
Added El Vibrato status effects.
Fix item names for jar of "Creole Lady" marrrmalade, tiny platic The Man, and
tiny plastic The Big Wisniewski.
Revision 5769
Don't exceed number of directives in default list.
Preliminary data for purple glowstick.
Revision 5768
Fix potential null pointer when updating quest log info
Revision 5767
Move static familiar items into item pool
Revision 5766
Add a few more shield powers
Revision 5765
Updated auto-sell value of laser-broiled pairs. Previous commit edited wrong column.
Revision 5764
If the user has set their own auto-attack, never reset it
Revision 5763
Additional null pointer checks
Only reset auto-attack if KoLmafia believes it's the one that set it
Revision 5762
Fix handling of shadow fight without funkslinging
Revision 5761
update autosell value of pears
Revision 5760
Show an informative message if we choose not to rest/relax
Revision 5759
No need to check for success/failure for resting and relaxing at campground
Revision 5758
Make clover protection more aggressive
Move clover and gum constants to ItemPool
Revision 5757
Allow blanking out of hotkey from UI
Revision 5756
Fix handling of undefined hotkeys mixed with defined hotkeys
Revision 5755
Fix handling of hotkeys being pressed on choice adventure page
Revision 5754
Various frames were renamed. Fix menus and buttons that still had old names.
Revision 5753
ExamineItemsFrame was renamed to DatabaseFrame
Revision 5752
Fairy Gravy has been renamed. Fix "check" button on Coinmasters frame
Revision 5751
tore Manager can handle items with parenthesis in their name
Revision 5750
Allow "default" as a Custom Combat action to switch to using default node
Revision 5749
Fix chat messages being double-broadcasted
Revision 5748
Support "use" of power spheres and overcharged power spheres
Revision 5747
Use / in executable path instead of \
Revision 5746
Discontinue all listen channels when closing main channel
Put GUI chat commands into queue, execute relay chat commands directly
Revision 5745
If you CLEESH a monster, register that the monster has changed.
Revision 5744
Obtain Ultrahydrated when you DON'T already have it - not when you do have it
Revision 5743
Only cast Trancendent Olfaction in a CCS if you are not already On the Trail
Revision 5742
compatibility with older versions of Ant
Revision 5741
Simpler wrapper methods
Revision 5740
Introduce notion of an effect and item pool
Revision 5739
Allocate exception and throw it, rather than calling method to do that.
Revision 5738
Don't add familiar item to tally when you steal it from another familiar
Revision 5737
Do not convert from character entities to unicode since buffer expects html
Revision 5736
Exclude unneeded files from JAR
Revision 5735
Make jsmooth target platform independent
Revision 5734
On Coin Masters Frame, rename "visit" button to "check".
Default # of items to buy from BHH is 1.
Revision 5733
Check for relay browser on startup
Revision 5732
Setting to use is not hardcoded into NamespaceInterpreter
Revision 5731
Don't let toy mercenary fool battlefield counter.
NamespaceInterpreter is a specialized Interpreter.
Catch errors when re-validate namespace
Revision 5730
Move all Frame classes to swingui package
Revision 5729
Pull equipment management functions into EquipmentManager
Pull item retrieval logic into InventoryManager
Revision 5728
Break ParseTree class into individual classes in parsetree package
Revision 5727
Arena parameters for El Vibrato Megadrone.
Fix a few minor bugs in learnFamiliarParameters.
Revision 5726
When you acquire a molybdenum magnet, tell IslandDecorator that junkyard
quest has started.
Revision 5725
Only bulk purchase consumables
Revision 5724
Every interpreter needs a parser. Fix namespaces.
Revision 5723
Show which constructs drop which punchcards in location details
Revision 5722
Outfit ID for El Vibrato Relics
Revision 5721
More El Vibrato support
Revision 5720
rusty metal key and components
Revision 5719
Do the right thing if inventory images are turned off.
Preliminary El Vibrato Island location details
Revision 5718
Give El Vibrato punchcards useful names
Revision 5717
No ABE error on consult script with no arguments in main() function
Revision 5716
Preliminary support for El Vibrato island
Revision 5715
Rename some classes for code clarity
Revision 5714
Intentional exceptions generated at runtime are AdvancedScriptExceptions
Revision 5713
Print more useful stack trace for exceptions in internal methods.
Revision 5712
Move remaining parsing out of ParseTree and into Parser.
Revision 5711
Clear inventory before update it.
Revision 5710
Add "ghost" command to feed GGG with food.
The "hobo" and "ghost" commands no longer check your own inebriety or fullness
Improved messages when giving items to hobo or ghost
Revision 5709
New items
Revision 5708
Make internal stat values agree with KoLConstants
Revision 5707
Don't throw an exception if no conditional expression given for if/while/etc.
Revision 5706
Remove unneeded tests for password hash length
Revision 5705
Remove arches from breakfast
Revision 5704
simplify boolean value returning
Revision 5703
No more using "combine" dropdown to figure out available items.
Revision 5702
Remove unused imports
Revision 5701
Simplify exception handling when parsing imports
Revision 5700
Move a lot of syntax checking out of ParseTree into Parser
Revision 5699
Eliminate use of AdvancedScriptException in DataTypes package.
Remove Interpreter.isExecuting
Revision 5698
Fix comments
Revision 5697
Move data type classes to DataTypes
Revision 5696
A ScriptExpression is a ScriptValue, not vice versa
Revision 5695
Rename "variables" to "values" and give it appropriate type
Revision 5694
Simply built-in ASH functions: dreference all variables to values before calling
Revision 5693
Interpreter state and trace variables are no longer static
Revision 5692
Interpreter passed as argument throughout execution of script.
Evaluate each argument just once within internal functions.
Revision 5691
Recognize all limericks as noncombat encounters
Revision 5690
Fix encounter recognition in Limerick Dungeon
Revision 5689
tweaks
Revision 5688
Daily target uses a clean compile
Echo current Java version during build
Revision 5687
Move support for ashref command from Interpreter to KoLmafiaASH
Revision 5686
Move ASH classes to textui package
Revision 5685
Notify when using Jikes
Revision 5684
Split Parser out of Interpreter
Revision 5683
Reorganize Parser/Interpreter a bit
Revision 5682
Split out DataTypes
Revision 5681
Simplify handling of execution state a bit.
Revision 5680
replace_string() always returns a buffer
Revision 5679
Simplify ASH flow control classes
Revision 5678
Move built-in ASH functions to RuntimeLibrary package. bling-bling renamed.
Revision 5677
Parse tree can print itself
Revision 5676
Split off parse tree classes
Revision 5675
First step of ASH refactor: split interpreter from interface to rest of KoLmafia
Revision 5674
If file does not exist when retrieving reader, auto-create
Revision 5673
Update selected adventure for relay browser or bounty hunts
Revision 5672
Extract adventure select panel
Revision 5671
Calculate and display odds of winning Insult Beer Pong Match.
Automatically select correct retort.
Revision 5670
Collect pirate insults as they are learned. Provide "insults" CLI command.
Revision 5669
Check for ascension before showing out-of-date telescope or semirare status
Revision 5668
Refactor subpoint/point/level calculations
Revision 5667
Change location of "Chieftain of the Flies" adventure to correspond.
Revision 5666
Rename Post War Hippy Camp and Frat House to (Stone Age), to avoid confusion.
Add monsters to the location details for both Stone Age locations.
Revision 5665
Equipment panels have an "equip" button rather than a "use" button.
Equipment/storage panel offers to "pull and equip" rather than "pull and use"
Revision 5664
No stack trace if attempt to create a non-existent frame by name.
Revision 5663
Use correctly escape names for familiar equipment.
Revision 5662
No NPE if try to consume with nothing selected.
Ice, Flame, and Sleaze items are equipment but are also sable
Revision 5661
No need to recalculate level if at beginning of current level
Revision 5660
No stack overflow when resetting.
Revision 5659
Reduce overhead for health/mana restoration
Revision 5658
Fix appending to output files
Revision 5657
origami "gentlemen's" magiazine is equipabble by all familiars
Revision 5656
Remove unneeded file.createNewFile() calls
Revision 5655
February Item of the Month
Revision 5654
Rest of meat locker naming changes
Revision 5653
Remove 'locked' from the name of the orcish meat locker
Revision 5652
...but you only need to acquire ITEMS. Sigh.
Revision 5651
Attempt to disable any spleen or inebriety item whose use would push you over
your limit. Tag all unavailable items with "acquire and".
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 5778
Re-fix plural
Revision 5777
Update version number
Revision 5776
Lucky Sewer now offers seal-skull helmet, not seal tooth. Clear and recreate
form fields each time through Lucky Sewer to allow changing items.
Revision 5775
Only check that enough gum is in inventory to cover remaining visits to sewer
Revision 5774
If the hermit sends you packing after a trade, you can't tell if he has
clovers left in stock.
Revision 5773
fix recipes derived from bling-bling to use new item name
Revision 5772
Add all derived skills to the "availableSkills" list
Revision 5771
Inventory -> Consumables on mini-browser function menu
Revision 5770
Checked KoLmafia's data files against KoL item descriptions and Wiki plurals and
made corrections as appropriate.
Added El Vibrato status effects.
Fix item names for jar of "Creole Lady" marrrmalade, tiny platic The Man, and
tiny plastic The Big Wisniewski.
Revision 5769
Don't exceed number of directives in default list.
Preliminary data for purple glowstick.
Revision 5768
Fix potential null pointer when updating quest log info
Revision 5767
Move static familiar items into item pool
Revision 5766
Add a few more shield powers
Revision 5765
Updated auto-sell value of laser-broiled pairs. Previous commit edited wrong column.
Revision 5764
If the user has set their own auto-attack, never reset it
Revision 5763
Additional null pointer checks
Only reset auto-attack if KoLmafia believes it's the one that set it
Revision 5762
Fix handling of shadow fight without funkslinging
Revision 5761
update autosell value of pears
Revision 5760
Show an informative message if we choose not to rest/relax
Revision 5759
No need to check for success/failure for resting and relaxing at campground
Revision 5758
Make clover protection more aggressive
Move clover and gum constants to ItemPool
Revision 5757
Allow blanking out of hotkey from UI
Revision 5756
Fix handling of undefined hotkeys mixed with defined hotkeys
Revision 5755
Fix handling of hotkeys being pressed on choice adventure page
Revision 5754
Various frames were renamed. Fix menus and buttons that still had old names.
Revision 5753
ExamineItemsFrame was renamed to DatabaseFrame
Revision 5752
Fairy Gravy has been renamed. Fix "check" button on Coinmasters frame
Revision 5751
tore Manager can handle items with parenthesis in their name
Revision 5750
Allow "default" as a Custom Combat action to switch to using default node
Revision 5749
Fix chat messages being double-broadcasted
Revision 5748
Support "use" of power spheres and overcharged power spheres
Revision 5747
Use / in executable path instead of \
Revision 5746
Discontinue all listen channels when closing main channel
Put GUI chat commands into queue, execute relay chat commands directly
Revision 5745
If you CLEESH a monster, register that the monster has changed.
Revision 5744
Obtain Ultrahydrated when you DON'T already have it - not when you do have it
Revision 5743
Only cast Trancendent Olfaction in a CCS if you are not already On the Trail
Revision 5742
compatibility with older versions of Ant
Revision 5741
Simpler wrapper methods
Revision 5740
Introduce notion of an effect and item pool
Revision 5739
Allocate exception and throw it, rather than calling method to do that.
Revision 5738
Don't add familiar item to tally when you steal it from another familiar
Revision 5737
Do not convert from character entities to unicode since buffer expects html
Revision 5736
Exclude unneeded files from JAR
Revision 5735
Make jsmooth target platform independent
Revision 5734
On Coin Masters Frame, rename "visit" button to "check".
Default # of items to buy from BHH is 1.
Revision 5733
Check for relay browser on startup
Revision 5732
Setting to use is not hardcoded into NamespaceInterpreter
Revision 5731
Don't let toy mercenary fool battlefield counter.
NamespaceInterpreter is a specialized Interpreter.
Catch errors when re-validate namespace
Revision 5730
Move all Frame classes to swingui package
Revision 5729
Pull equipment management functions into EquipmentManager
Pull item retrieval logic into InventoryManager
Revision 5728
Break ParseTree class into individual classes in parsetree package
Revision 5727
Arena parameters for El Vibrato Megadrone.
Fix a few minor bugs in learnFamiliarParameters.
Revision 5726
When you acquire a molybdenum magnet, tell IslandDecorator that junkyard
quest has started.
Revision 5725
Only bulk purchase consumables
Revision 5724
Every interpreter needs a parser. Fix namespaces.
Revision 5723
Show which constructs drop which punchcards in location details
Revision 5722
Outfit ID for El Vibrato Relics
Revision 5721
More El Vibrato support
Revision 5720
rusty metal key and components
Revision 5719
Do the right thing if inventory images are turned off.
Preliminary El Vibrato Island location details
Revision 5718
Give El Vibrato punchcards useful names
Revision 5717
No ABE error on consult script with no arguments in main() function
Revision 5716
Preliminary support for El Vibrato island
Revision 5715
Rename some classes for code clarity
Revision 5714
Intentional exceptions generated at runtime are AdvancedScriptExceptions
Revision 5713
Print more useful stack trace for exceptions in internal methods.
Revision 5712
Move remaining parsing out of ParseTree and into Parser.
Revision 5711
Clear inventory before update it.
Revision 5710
Add "ghost" command to feed GGG with food.
The "hobo" and "ghost" commands no longer check your own inebriety or fullness
Improved messages when giving items to hobo or ghost
Revision 5709
New items
Revision 5708
Make internal stat values agree with KoLConstants
Revision 5707
Don't throw an exception if no conditional expression given for if/while/etc.
Revision 5706
Remove unneeded tests for password hash length
Revision 5705
Remove arches from breakfast
Revision 5704
simplify boolean value returning
Revision 5703
No more using "combine" dropdown to figure out available items.
Revision 5702
Remove unused imports
Revision 5701
Simplify exception handling when parsing imports
Revision 5700
Move a lot of syntax checking out of ParseTree into Parser
Revision 5699
Eliminate use of AdvancedScriptException in DataTypes package.
Remove Interpreter.isExecuting
Revision 5698
Fix comments
Revision 5697
Move data type classes to DataTypes
Revision 5696
A ScriptExpression is a ScriptValue, not vice versa
Revision 5695
Rename "variables" to "values" and give it appropriate type
Revision 5694
Simply built-in ASH functions: dreference all variables to values before calling
Revision 5693
Interpreter state and trace variables are no longer static
Revision 5692
Interpreter passed as argument throughout execution of script.
Evaluate each argument just once within internal functions.
Revision 5691
Recognize all limericks as noncombat encounters
Revision 5690
Fix encounter recognition in Limerick Dungeon
Revision 5689
tweaks
Revision 5688
Daily target uses a clean compile
Echo current Java version during build
Revision 5687
Move support for ashref command from Interpreter to KoLmafiaASH
Revision 5686
Move ASH classes to textui package
Revision 5685
Notify when using Jikes
Revision 5684
Split Parser out of Interpreter
Revision 5683
Reorganize Parser/Interpreter a bit
Revision 5682
Split out DataTypes
Revision 5681
Simplify handling of execution state a bit.
Revision 5680
replace_string() always returns a buffer
Revision 5679
Simplify ASH flow control classes
Revision 5678
Move built-in ASH functions to RuntimeLibrary package. bling-bling renamed.
Revision 5677
Parse tree can print itself
Revision 5676
Split off parse tree classes
Revision 5675
First step of ASH refactor: split interpreter from interface to rest of KoLmafia
Revision 5674
If file does not exist when retrieving reader, auto-create
Revision 5673
Update selected adventure for relay browser or bounty hunts
Revision 5672
Extract adventure select panel
Revision 5671
Calculate and display odds of winning Insult Beer Pong Match.
Automatically select correct retort.
Revision 5670
Collect pirate insults as they are learned. Provide "insults" CLI command.
Revision 5669
Check for ascension before showing out-of-date telescope or semirare status
Revision 5668
Refactor subpoint/point/level calculations
Revision 5667
Change location of "Chieftain of the Flies" adventure to correspond.
Revision 5666
Rename Post War Hippy Camp and Frat House to (Stone Age), to avoid confusion.
Add monsters to the location details for both Stone Age locations.
Revision 5665
Equipment panels have an "equip" button rather than a "use" button.
Equipment/storage panel offers to "pull and equip" rather than "pull and use"
Revision 5664
No stack trace if attempt to create a non-existent frame by name.
Revision 5663
Use correctly escape names for familiar equipment.
Revision 5662
No NPE if try to consume with nothing selected.
Ice, Flame, and Sleaze items are equipment but are also sable
Revision 5661
No need to recalculate level if at beginning of current level
Revision 5660
No stack overflow when resetting.
Revision 5659
Reduce overhead for health/mana restoration
Revision 5658
Fix appending to output files
Revision 5657
origami "gentlemen's" magiazine is equipabble by all familiars
Revision 5656
Remove unneeded file.createNewFile() calls
Revision 5655
February Item of the Month
Revision 5654
Rest of meat locker naming changes
Revision 5653
Remove 'locked' from the name of the orcish meat locker
Revision 5652
...but you only need to acquire ITEMS. Sigh.
Revision 5651
Attempt to disable any spleen or inebriety item whose use would push you over
your limit. Tag all unavailable items with "acquire and".