Skip to content

Latest commit

 

History

History
78 lines (62 loc) · 4.49 KB

CHANGELOG.textile

File metadata and controls

78 lines (62 loc) · 4.49 KB

AS3 Signals Changelog:

v0.8 – Maximilian – 2010-11-14

API Changes

  • Signals are now MXML-friendly! Example:
    <signals:Signal id="nameChanged">{[String, uint]}</signals:Signal>
    • Constructors are now nullable.
    • valueClasses and eventClass are now writable.
    • Exceptions: NativeMappedSignal and NativeRelaySignal are not yet MXML-friendly.
  • Renamed IDeluxeSignal to IPrioritySignal, a more functional name.
  • New interfaces to grant access to methods that affect all listeners:
    • ISignalOwner: extends ISignal, IDispatcher, adds removeAll().
    • INativeSignalOwner: extends IPrioritySignal, INativeDispatcher, adds removeAll().
    • These 2 interfaces cannot be merged because dispatch(event:Event) conflicts with dispatch(…valueObjects).
    • Thanks to Brian Heylin for getting the ball rolling.

Fixes

Build

  • Added continuous integration and unit test execution Ant targets: “ci” and “test”.
  • Updated AsUnit 4 SWC: test failure call stack is more concise and readable.
  • Removed build-asunit.xml as its functionality has been merged into build.xml.

v0.7 – Bubblap – 2010-05-27

API Changes

  • Added NativeMappedSignal class from Brian Heylin, with great test coverage.
  • DeluxeSignal has a simpler way to continue bubbling without re-dispatching the event.
    • IBubbleEventHandler.onEventBubbled() now returns true/false to continue/cancel bubbling.
    • Thanks to secoif for the original code and dehash for helping with the merge.
  • ISignal and IDeluxeSignal: add(), addOnce() and remove() now return the listener.
    • Thanks to sammyt for the contribution with unit tests.

Fixes

  • Improved error message for Signal.dispatch() with too few arguments.

Test Changes

  • The test suite is migrated to a newer version of AsUnit 4.
  • Added more tests for argument dispatching and consolidated in SignalDispatchArgsTest.

v0.6 – GreenDay – 2010-03-17

API Changes

Fixes

Implementation Changes

  • Optimized listeners array cloning to use slice(), which is faster than concat().
  • Optimized dispatch() by moving the cloning of listeners to add(), addOnce(), and remove().
  • Signal.removeAll() now uses remove() on every listener, instead of fast array clearing. This is intended to avoid possible issues with subclass overrides (as happened before with NativeRelaySignal.remove()).
  • Renamed createListenerRelationship() to registerListener().
  • Consolidated add() and addOnce() logic in registerListener().
  • Removed onceListeners Dictionary from DeluxeSignal and NativeSignal.
  • DeluxeSignal and NativeSignal are now more unified in their “once listeners” internal implementations.
  • Removed an extra semicolon which made FDT cry (thanks vitch).

Test Changes

  • Removed async [Test] metadata because AsUnit 4 no longer uses it.
  • Updated the AsUnit 4 SWC to newer version which avoids slowdown of Timers in Flash Player 10.1.
  • Added tests for ambiguous relationships in Signal.
  • Added tests for adding a listener during a dispatch().

v0.5 – GlassHalfFull – 2010-02-08

  • Added versioning to the Ant build, starting at 0.5.