Skip to content

Releases: Choco31415/JavaMediawikiBot

Hotfix and General Polish

18 Nov 21:22
860dca8

Choose a tag to compare

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(), and getAllPages() no longer have infinite loops.

Minor bug fixes:

  • PageLocation and PageTitle ignore capitalization of the first letter.

Tweaks:

  • PageLocation and PageTitle both have custom hash functions so as to work better with hashMap, etc
  • doesPageExist() now checks for invalid page locations too.

Hotfix

30 Jun 22:08

Choose a tag to compare

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

20 Jun 22:28

Choose a tag to compare

Hello! A semi major update has arrived with some goodies and some interface changes.

New stuff:

  • ProtectPage allows for the protection of any page, assuming you know the protection levels on your wiki!
  • GenericBot now 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 AppendText is fixed.

Tweaks:

  • Wiki family files now use proper JSON.
  • User, PageLocation, SimplePage, and Page have 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.
  • Page has a new method, getHeaderText().
  • GenericBot has 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 logIn method has been refactored to use the APIcommand() method.
  • APIcommand's escapeText field has been removed. It was a hack to help with the lack of proper JSON parsing.

Update

09 Nov 03:44

Choose a tag to compare

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

14 Oct 01:02

Choose a tag to compare

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 PageObjectAdvanced via header will now compare trimmed headers.
  • Refactored some method signatures.
  • Refactored User so 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 GenericBot method for escaping text.

Update

09 Oct 03:51

Choose a tag to compare

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 APIcommands are more organized.
  • Made QueryPrefix properly escape server output. ( #22 )
  • Added a interruptedConnectionWait setting to GenericBot. This is how much time GenericBot should 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

09 Oct 19:38

Choose a tag to compare

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

17 Jul 22:37

Choose a tag to compare

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 APIcommand is: QueryUserInfo
  • All APIcommands are 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, and ContentRep/User.

Update

09 Jul 23:41

Choose a tag to compare

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 APIcommands are: MovePage and Rollback
  • 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 APIcommand DeletePage now works properly.

Tweaks:

  • Moved the editSummary parameter from the GUI methods proposeEdit&proposeCommand to 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 MediawikiDataManager a singleton. Begone pesky static!
  • Moved some methods from GenericBot to NetworkingBase.