Skip to content

Releases: iskitz/ajile

Stability++

27 Feb 14:24
Compare
Choose a tag to compare

ajile 2.1.7

  • Improved: cloak: Only cloaks com.ajile.* DOM script elements when debug is disabled.
  • Improved: cloak: Only cloaks JS objects when cloak is off or debug is disabled.
  • Improved: debug: More detailed import and notification logging.
  • Improved: debug: More legible log output via reformatted single-line entries.
  • Improved: override: Correctly applies override launch option during initialization.
  • Improved: Support: MSIE 4.01: Using synchronous calls since setTimeout() doesn't support function references.
  • Improved: Internal: AddImportListener(): Generic listener protected against spoofing.
  • Improved: Internal: AddImportListener(): Generic listener no longer creates an unnecessary ImportThread.
  • Improved: Internal: handleImported(): No longer sends notifications for internal and undefined aliases.
  • Improved: Internal: ImportThread: Avoids redundant listening by stopping existing threads before starting new ones.
  • Improved: Internal: ImportThread: Requests CPU time less frequently.
  • Improved: Internal: Fixed unintended exposure of cloakObjectToggler() to the global scope.
  • Improved: Internal: log() no longer requires the caller parameter.
  • Improved: Internal: Renamed completeImports() to handleImports() and moved closer to other handleImport*() functions.
  • Improved: Internal: Renamed notifyImportListeners() to notifyAll().
  • Improved: Internal: Renamed notifyImportListener() to notifyOne().
  • Improved: Internal: Renamed notifyImporter() to notifyOne().
  • Improved: Internal: Updated whitespace & other formatting in AddImportListener(), handleImport*(), and log*().

Reliability++

27 Feb 14:36
Compare
Choose a tag to compare

ajile 1.9.9

  • Improved: Ajile.AddImportListener(): Fixed bug that caused notifications for modules, namespaces and global properties that were removed without using Ajile.Unload().
  • Improved: Tests: Ajile.RemoveImportListener(): Fixed bug where modules not removed after their tests completed, were polluting subsequent tests and causing intermittent failures.

ajile loves IE too ;-)

27 Feb 14:42
Compare
Choose a tag to compare

ajile 1.9.8

  • Improved: Compatibility: MSIE: Fixed bug caused by IE's disallowing deletion of global members.
  • Improved: Compatibility: MSIE 5.01: Replaced all non-for-in in statements.
  • Improved: Ajile.RemoveImportListener(): Fixed bug that caused listeners to not be removed.
  • Improved: Ajile.RemoveImportListener(): Fixed bug that caused listeners to be notified despite being removed.
  • Improved: Cloaked objects' toString() returns "cloaked".
  • Improved: Play: API Examples: Fixed bug in "Using a Wildcard Import" example.
  • Improved: Tests: Compatibility: MSIE: Ajile.RemoveImportListener() correctly handles single-level namespaces.
  • Improved: Tests: Compatibility: MSIE: Ajile.Unload() correctly handles single-level namespaces.
  • Improved: Tests: Compatibility: MSIE: Ajile.Unload() correctly handles Ajile namespace.
  • Improved: Tests: Compatibility: MSIE: Import() correctly handles single-level namespaces.
  • Improved: Tests: Compatibility: MSIE: Namespace() correctly handles single-level namespaces.

Rock-solid, super-tested listeners!

27 Feb 14:58
Compare
Choose a tag to compare

ajile 1.9.3

  • New: Ajile.AddImportListener(): Notifications provide an object that contains references to the imported module's name, value and [internal] callback plus an error field [not yet supported] for any errors that occurred. For backwards compatibility, the notification object evaluates to the imported item's name when treated as a string.
  • New: Tests: Upgraded to jasmine 1.3.1.
  • New: Tests: Ajile.RemoveImportListener(): Added tests for all listener types (global property, Import, ImportAs, Include, and multi-item).
  • New: Tests: Ajile.RemoveImportListener(): Moved to its own test suite module and added tests for all listener types (global property, Import, ImportAs, Include, and multi-item).
  • New: Tests: Ajile.Unload(): Added single-level namespaced module test.
  • Improved: Ajile.AddImportListener(): Fixed bug that added generic listeners as internal listeners when used as (alias = Ajile.AddImportListener)(...).
  • Improved: Ajile.AddImportListener(): Stops listening for an imported item immediately after it's successfully imported instead of waiting for the listener to timeout.
  • Improved: Compatibility: WebKit 125.4: Ajile.AddImportListener(): Refactored to support callback function names by not using function expressions.
  • Improved: Ajile.Unload(): Fixed bug with unloading single-level namespaces.
  • Improved: ImportAs(): Fixed bug with not detecting a module/namespace assigned to a falsey value.
  • Improved: ImportAs(): Fixed bug with not sending notifications when importing something that was previously imported.
  • Improved: Ajile.RemoveImportListener(): Fixed bug with not being able to remove multi-item listeners due to a mismatch between the external callback supplied and internal callback actually used.
  • Improved: Ajile.RemoveImportListener(): Handles new notification object sent to listeners during notification.
  • Improved: Ajile.RemoveImportListener(): Ensures cancellation of pending notifications by using notification thread ids stored via Ajile.AddImportListener().
  • Improved: Fixed bug with detecting DOM Level 1 & 2 support.
  • Improved: Minor code cleanup: API compatibility comments, cloaking, generic listeners, version setting logic, importing, and notifications.
  • Improved: Docs: Ajile-Help.htm: Added GitHub Issues link and set Yahoo! Group as "(archive)".
  • Improved: Docs: Ajile-Overview.htm: Added link to license.
  • Improved: Docs: Ajile-Overview.htm: Rewrote Description and updated Features and Supported Versions section.
  • Improved: Docs: Ajile-License.htm: Added links to MPL and ajile.net.
  • Improved: Tests: Refactored test suite to use multi-item listener and new listener notification object.
  • Improved: Tests: Fixed bug that caused an error when trying to auto-switch from error to full results.
  • Improved: Tests: Ajile, Import, ImportAs, Include, Namespace: Updated messages to be simple and user-friendly; BDD-style.
  • Improved: Tests: Ajile, Import, ImportAs, Include, Namespace: Updated "is a method" tests to test for Function type.
  • Improved: Tests: Ajile.AddImportListener(): Rewrote tests to be more robust and jasmine-compliant.
  • Improved: Tests: Minor code cleanup.

Faster startup & incompatibility detection!

27 Feb 14:55
Compare
Choose a tag to compare

ajile 1.7.3

  • Improved: Initialization: Faster and simplified incompatibility detection.
  • Improved: Initialization: Simplified re-initialization detection.
  • Improved: Initialization: Removed unnecessary attempt to cloak ajile's instance object.
  • Improved: Minor code cleanup.

Multi-property listeners & Asynchronous notifications

27 Feb 14:19
Compare
Choose a tag to compare

ajile 1.6.8

  • Improved: Compatibility: WebKit 125.4: Commented-out un-parsable callback function names.
  • Improved: Minor refactoring and cleanup of import listener removal and notification logic.

Listeners, listeners, listeners!

28 Feb 02:14
Compare
Choose a tag to compare

ajile 1.6.1

  • New: Supports Ajile.AddImportListener (["Module","globalProperty","namespaced.Module"], function(){});.
  • New: Tests: Ajile.AddImportListener (["Module","globalProperty","namespaced.Module"], function(){});.
  • Improved: Ajile.AddImportListener(): All listeners now added before dispatching instant notifications.
  • Improved: Ajile.AddImportListener(): All notifications now sent asynchronously and tracked for canceling.
  • Improved: Ajile.RemoveImportListener(): Cancels all pending dispatched notifications.
  • Improved: Tests: Ajile.AddImportListener(): All tests moved out of net...Ajile suite into new net...Ajile.AddImportListener test suite module.
  • Improved: Tests: Fixed Ajile.AddImportListener ("something.existing", function...); Import ("something.existing"); test.
  • Improved: Build: build/stage: Created to store staging resources.
  • Improved: Build: build.sh: Updated to use resources in /build/stage plus minor cleanup.
  • Improved: Build: Removed unused build tools (crunchinator, packer, and custom_rhino.jar).
  • Improved: Default module path set to /use/ for environments unable to auto-detect ajile's path.
  • Improved: Added internal isArray() to help with Array detection, falls back to Array.isArray() where available.

Tests: 10, Regressions: 0!

28 Feb 03:09
Compare
Choose a tag to compare

ajile 1.5.5

  • New: Tests: Added Ajile.Unload() test case to verify fix for ajile 1.4.5's regression.
  • Improved: Fixed Ajile.Unload() regression caused by ajile 1.4.5's new global reference.
  • Improved: Tests: Major code cleanup; clarified messages and reordered Ajile.AddImportListener() tests.
  • Improved: Minor cloaking code cleanup.

Cloaks up!

28 Feb 03:14
Compare
Choose a tag to compare

ajile 1.5.3

  • Improved: Refactored cloaking to correctly decide when modules can and should be cloaked.
  • Improved: Enables automatic cloaking during ajile's creation.
  • Improved: Disables automatic cloaking when ajile is unloaded.

Cloaks "R" Us

28 Feb 03:17
Compare
Choose a tag to compare

ajile 1.5.0

  • Improved: Fixed bug where aggressive cloaking stopped modules from being evaluated.
  • Improved: Fixed bug that caused cloaking of JavaScript's core Object and Function types.
  • Improved: Fixed bug in detecting a namespace's load-time options.