[B][SIZE=3]Ace 2.0.4885 - RC2[/SIZE][/B]
[B][SIZE=2]07-14-2007[/SIZE][/B]

Changes between 2.0.3940 and 2.0.4883:
[list]

[*]AceConsole
[list]
[*]Fixed bug when dealing with ranges that would allow invalid values to go through after a successful one.
[*]Added enhancements when you are dealing with percentages in a rage type.
[*]Now keeps a registry and updates handlers.
[*]More memory efficient handler.
[*]Properly handles item links
[*]Now errors on 0-length name and desc.
[*]Added cmdName and guiName.
[*]Changed standby's cmdName to "State" and guiName to "Active"
[*]Added a step value to ranges.
[*]Argument tab-completion functionality added.
[/list]

[*]AceAddon
[list]
[*]Now calls/registers OnEnable _after_ OnInitialize
[*]:OnInitialize() no longer uses .super.OnInitialize(self)
[*]Warning no longer fires if OnInitialize isn't declared
[*]Now checks right before OnEnable for :IsActive()
[*]Now checks addons to see if they are modules to check their active state and whether to call :OnEnable()
[/list]

[*]AceDB
[list]
[*]Added :SetModuleMixins(...)
[*]Added :IterateModules()
[*]added namespacing.
[*]Added :AcquireDBNamespace("name")
[*]Changed RegisterDefaults("kind", defaults) to :RegisterDefaults("kind", defaults) or ("namespace", "kind", defaults)
[*]Changed :SetProfile("name") to :SetProfile("name", "copyFrom")
[*]:GetProfile() now returns 2 arguments.
[*]Changed :IsEnabled() to :IsActive()
[*]Changed :ToggleStandby() to :ToggleActive([state])
[*]Added :GetAceOptionsDataTable() so mixins can add options to AceConsole and such automatically.
[*]Cannot call AcquireDBNamespace before RegisterDB
[*]Added the constants CHAR_ID, REALM_ID, and CLASS_ID.
[*]Added :ResetDB(["kind"])
[*]Added .REALM, .NAME, .FACTION
[/list]

[*]AceEvent
[list]
[*]Added :ScheduleDelayedEvent("event" or func, delay, ...)
[*]Delayed events are stopped on embed disable.
[*]Made ScheduleDelayedEvent mix in properly
[*]Added :CancelDelayedEvent(t)
[*]:ScheduleDelayedEvent(...) now returns a unique identifier which can be fed into :CancelDelayedEvent(t)
[*]Changed :ScheduleDelayedEvent("event" or func, delay, ...) to :ScheduleDelayedEvent("event" or func, delay, ...) or ("id", "event" or func, delay, ...)
[*]Said "id" can now be used to cancel the delayed event.
[*]Changed :CancelDelayedEvent(id) to :CancelDelayedEvent("id" or id)
[*]If you schedule a delayed event by name, it makes sure to remove the old schedule if it exists.
[*]:ScheduleDelayedEvent -> :ScheduleEvent
[*]:CancelDelayedEvent -> :CancelScheduledEvent
[*]added :IsEventScheduled(id or "id")
[*]Added :ScheduleRepeatingEvent("id" or id, "event" or func, delay, ...) or ("event" or func, delay, ...)
[*]Addons/modules now no longer disable if they haven't been enabled.
[*]Added :IsPostPlayerLogin()
[*]Now fires AceEvent_PostInitialize after all channels have loaded.
[*]Added AceEvent:IsFullyInitialized() and event AceEvent_FullyInitialized
[/list]

[*]AceModuleCore
[list]
[*]:RegisterDB now works in :OnEnable
[*]:SetModuleClass(class)
[*]:new() -> :new(name), so :init is now fed the name of the module
[*]Added :ToggleModuleActive("name" or module [, state])
[*]Added :IsModuleActive("name" or module)
[/list]

[*]AceLocale
[list]
[*]Caching is prevented if the cached instance is registered with AceLibrary. e.g. BabbleLib.
[*]Uses new API
[*]Fixed error messages
[/list]

[*]AceOO
[list]
[*]Uid assigned to each object now.
[*]Now with optional Compost support
[/list]

[*]Ace Hook
[list]
[*]Removed reference to UnhookScript
[/list]

[*]Global
[list]
[*]All internal Ace2 libraries now use self:error instead of error.
[*]Way too many bugfixes to mention.
[/list]

[/list]



[B][SIZE=3]Ace 2.0.3870 - RC1[/SIZE][/B]
[B][SIZE=2]07-03-2007[/SIZE][/B]

Inital Public Release Candidate