Releases: Choco31415/JavaMediawikiBot
Hotfix and General Polish
This release is a stepping stone to the longer goal of v.1.1.1. See the changelog for specifics:
New stuff:
- Https is properly supported.
Major bug fixes:
getRecentChanges(),getPagesThatLinkTo(), andgetAllPages()no longer have infinite loops.
Minor bug fixes:
PageLocationandPageTitleignore capitalization of the first letter.
Tweaks:
PageLocationandPageTitleboth have custom hash functions so as to work better with hashMap, etcdoesPageExist()now checks for invalid page locations too.
Hotfix
Hello, it came to my attention that there were a few bugs in JMB. Specifically:
Major bug fixes:
doesPageExist()now works properly.
Minor bug fixes:
- NetworkingBase now ignores BOM characters in streams.
Update
Hello! A semi major update has arrived with some goodies and some interface changes.
New stuff:
ProtectPageallows for the protection of any page, assuming you know the protection levels on your wiki!GenericBotnow supports uploading local files to a wiki.- JMB is now jar friendly! When creating a bot, just make sure to give it a File pointing to a family file.
- Login now works on Mediawiki 1.27+.
Major Bug Fixes:
- APIcommand
AppendTextis fixed.
Tweaks:
- Wiki family files now use proper JSON.
User,PageLocation,SimplePage, andPagehave had their constructor signatures changed.- Creating a GUI bot is now handled differently. See the README.
- All APIcommands now have a comment specifying if they are okay used raw.
Pagehas a new method,getHeaderText().GenericBothas a new method,setLogPropagation(), which controls logging propagation to the command line.
Internal:
- The default GenericBot instance uses family "Wikipedia".
- All hacked XML parsing is now modernized to use JSON + Jackson.
- APIcommands now have control at the HttpEntity level.
- GenericBot's
logInmethod has been refactored to use theAPIcommand()method. - APIcommand's
escapeTextfield has been removed. It was a hack to help with the lack of proper JSON parsing.
Update
I feel like pushing a release now, even if it doesn't have too much.
New stuff:
- You can now query site statistics! Just use
getSiteStatistics() - UserInfo has been expanded to be more user friendly.
Update
Another release has arrived! It comes with some goodies, some of which I just realized are really nice.
New stuff:
- You can now query user contributions! To do so, use
getUserContribs(). - Page parsing has become more accurate.
- Improved comments in general.
- Added two new simple methods for querying user info.
Tweaks:
- All bot methods now respect
APIlimit. - Searching for
PageObjectAdvancedvia header will now compare trimmed headers. - Refactored some method signatures.
- Refactored
Userso that it is now initialized this way:new User(userName, language)
Internal:
- Made it so that getting a nonexistent Wiki page gives a more descriptive error message.
- Added a
GenericBotmethod for escaping text.
Update
Hello again! I have decided to release a minor project polish. It does not contain anything drastic, but should still be nice to have.
New stuff:
- You can now query certain namespaces for pages with a prefix.
Major bug fixes:
- Fixed a null error with mw version checking.
- Fixed the infinite network error loop. ( #23 )
Tweaks:
- Comments for
APIcommandsare more organized. - Made
QueryPrefixproperly escape server output. ( #22 ) - Added a
interruptedConnectionWaitsetting toGenericBot. This is how much timeGenericBotshould wait before retrying a query. - Changed password handling. Previously in the GUI, incorrect passwords were stored for future usage. Now, the GUI asks for the password whenever the password is used.
Hotfix
This release is a hotfix for bugs that I never knew existed.
Major bug fixes: (#30)
- Logging messages sometimes lead to
IllegalArgumentExceptions. - Messages are being spammed in the console.
- Log-in is failing.
Internal
- The only thing not bug related. Log-in status updates in real-time while the bot is logging in.
Update
A new update has arrived with lots of polish, and some new features. This version should be compatible with previous releases, huzzah!
New stuff:
- You can now query user information. The
APIcommandis:QueryUserInfo - All
APIcommandsare updated to accurately reflect MW requirements. They also have class comments for documentation purposes.
Major bug fixes:
- You can now properly query image metadata. Just remember, all metadata info is stored as JSON.
Tweaks:
- Removed four ways to instantiate
APIcommand.
Internal:
- A lot of general utility methods (and one class) were moved to
WikiBot/Util. - Querying image info now uses the Jackson JSON library. (So does querying user info.)
- Besides what's in
WikiBot/Util, the new classes are:ContentRep/InfoContainer,ContentRep/UserInfo, andContentRep/User.
Update
There is not much symbolic with this release. I am simply starting to tag commits for documentation purposes.
Here is the changelog for the recent commits:
New stuff:
- You can now move a page or rollback a page. The
APIcommandsare:MovePageandRollback - Wiki families now include MW versions. This allows JMB to act differently depending on the MW version. This also makes JMB compatible with MW v1.8+, instead of the previous MW v1.20+.
- A CUI was added for easy wiki family creation.
- Added the Wikipedia wiki family. Let me tell you, it is huge.
Major bug fixes:
- The
APIcommandDeletePagenow works properly.
Tweaks:
- Moved the
editSummaryparameter from the GUI methodsproposeEdit&proposeCommandto the various APIcommand classes. - Made it easier to run JMB from the command line.
- Updated
README.md.
Internal:
- Renamed many variables and methods for accuracy.
- Made
MediawikiDataManagera singleton. Begone pesky static! - Moved some methods from
GenericBottoNetworkingBase.