The first Apibot version available to the public was 0.30b1. (It had to be 0.20, but the writing of the documentation led to discovering so many bugs and bad code, that it was almost completely rewritten.)
Version 0.30b2 added a lot of new wiki info functions, and some data manipulation. The greatest changes, however, were in the iterator framework. The actionobject classes were redesigned, and made much more useful. Some new ones were added.
Version 0.30b3 added support for MediaWiki parameter info services, an experimental bot test mode and a lot of bugfixes. There were also minor reworks in the iterator framework. The base bot module is believed to finally approach some stabilization of its API (in other words, your scripts that use it will not need a complete rewrite with the next Apibot version :-) ).
Version 0.30b4 added more bugfixes and dump mode flag. Bot parameters were passed as a PHP array instead of separate values. Query-related functions were redesigned and rewritten. Parameter info services were improved. The Browser module got bytecounters and speed limits.
0.30 was the first stable version. In addition of a huge lot of bugfixes, it got also:
- custom log prefaces
- improved query functions
- partially rewritten parameter info services
- a couple regex-returning functions of the main bot class
- minor improvements in the standard data objects
- redesigned and enhanced actionobjects set
After some usage, the bot was completely rewritten. The 0.3x interface style was preserved and renamed as the Bridge interface. A new interface was added, similar to assembly line or UNIX command line, and named Assembly line interface. 0.40 was the first stable version of this development.
Removing bugs and adding some more functionality created versions 0.40.1, 0.40.2, 0.40.3 and 0.40.4. Unhappily, I forgot to number them in the code.
v0.40.5 was the first version that had a third-number versioning. It had more bugs removed and functionality added.
v0.40.6 resulted from some internal optimization of the Assembly line interface internal working, and also bugfixes and new stuff.
v0.40.7 introduced a lot of internal optimization of the Tasks level of the bot, and better parameters passing at the API Actions level. And of course bugfixes and new stuff.
v0.40.8 introduced a Hooks module that allows inserting external functions into some key data processing bot functions. It also started an internal restructuring to clearly define and separate the different backends. It also renamed some parameters and classes and fixed a batch of bugs.
v0.40.9 restructured the common modules into core and backends, and removed a lot of minor bugs.
v0.40.10 cleaned up to a degree the core / backends structure, moved bridge/ and line/ trees into an interfaces/ path and introduced some automatical determining of parameters in some Assembly line feeders.
v0.40.11 fixed API login critical bug and improved somewhat the Assembly line code.
v0.40.12 had a lot of minor improvements throughout the code.
v0.40.13 improved some functions in the Page class and fixed some bugs.
v0.40.14 improved the Assembly line code and added handling for some page properties.
v0.40.15 improved some Assembly line code and some code in the API backend.
v0.40.16 added support for backends availability and operability and some Assembly line file fetching objects.
v0.40.17 added libs/ subpath, a Wikifiles_Storage extension, support for file datatypes and some bugfixes.
v0.40.18 improved the Wikifiles_Storage extension, added some and improved other Assembly line objects.
v0.40.19 renamed Mains to Core, improved the core/ path, introduced some minor stuff and some bugfixes.
v0.40.20 renamed the Info subclasses in a more systematic way, merged the Assembly line SigMod* classes to the Worker* ones, created some new classes there and made the inavoidable batch of bugfixes (will omit them from now on).
v0.40.21 created some new Assembly line objects, renamed others, reworked the Workers code and tree. Added to all objects there the ability to set params also from groups with the slot name and the object class name.
v0.40.22 cleaned up a bit the API_Query hierarchy code. Separated Assembly line Filters into sieving and non-sieving, and added a
reject_* outbound hook for the sieving filters (for signals that have been rejected). Created some Assembly line batch fetchers and added to the Feeders a
v0.40.23 separated the tokens support into the backends.
v0.40.24 was entirely bugfixes.
v0.40.25 introduced support for persistent connections and improved the data handling in the Browser object (both were long overdue!).