Skip to content

Latest commit

 

History

History
256 lines (168 loc) · 10.4 KB

CHANGE_LOG.md

File metadata and controls

256 lines (168 loc) · 10.4 KB

Observe.js - Change Log:

Version 1.1.0:

  • Improved the HTML testing files.
  • Improved event assigning, and re-organized the code into separate files.
  • The GUIDs generated now used the "crypto.randomUUID()" instead of the custom-built one (this is now RFC4122-compliant).
  • Updated all the NPM packages to the latest versions.
  • Moved all event assignments to use lambdas.
  • Updates to the README files to make the features stand out.
  • Added an ignore path for ".DS_Store" files when packing the NuGet package.
  • Removed replicated conditions to check for DOM elements.
  • Internal renames to reflect the correct return types.

Language Shift:

Version 1.0.1:

  • Updated to the latest NPM packages.
  • Organized all of the .ts files into separate folders.
  • Removed the dead JS code.

Version 1.0.0:

Language Shift:

  • The entire project has been rewritten in TypeScript, allowing all components to be exported, which allows better support for libraries such as React, Angular, etc.
  • Added CDN links for the minimized version of the files.
  • The TypeScript code is compiled to ES2016 instead of ES5 (older browsers, such as IE, are no longer supported).

Building:

  • You can now run separate builds to produce CJS, ESM, and Minimized project versions.
  • All files not required for the NPM packages have now been excluded.

Watch Options:

  • BREAKING: All the event custom triggers are now under a new section called "events".

Configuration Options:

  • BREAKING: All the text options are now under a new section called "text".

Testing:

  • Removed the "src" and "dist" folders under "test". Only the dist versions remain, removing duplication.
  • Added "BUILD_INSTRUCTIONS.md" to help first-time users set up their dev environments.

Version 0.8.2:

  • Added export support for the global "$observe" object, which can now be imported as "observe.js".
  • BREAKING: Renamed the binding attribute "data-observe-watch-options" to "data-observe-js".

Version 0.8.1:

  • The "unload" window event has been replaced with "pagehide" (due to "unload" being deprecated).
  • The public function "setConfiguration()" will now only update the configuration if something in the configuration has been changed.
  • All public functions now only accept the right variable types for data (to prevent issues from occurring).
  • Added "use strict" support internally and updated all public functions to use the new scope.

Version 0.8.0:

Binding Options:

  • Added a new binding option called "removeAttribute", which states if the binding attribute should be removed (defaults to true).

Configuration Options:

  • Added a new configuration option called "objectErrorText", which states the error text that should be shown when an object error is detected (defaults to "Errors in object: {{error_1}}, {{error_2}}").
  • Added a new configuration option called "attributeNotValidErrorText", which states the error text that should be shown when a binding object isn't valid (defaults to "The attribute '{{attribute_name}}' is not a valid object.").
  • Added a new configuration option called "attributeNotSetErrorText", which states the error text that should be shown when a binding attribute isn't set (defaults to "The attribute '{{attribute_name}}' has not been set correctly.").

General Improvements:

  • All console error logging now goes through the correct method.
  • Objects are now checked and defaulted properly when invalid values are passed.
  • Updated the formatting used in the "package.json" file so that it can always be parsed.

Documentation:

  • Minor tweaks to the documentation.

Version 0.7.1:

  • Fixed a fault that caused clearTimeout() to be called instead of clearInterval().

Version 0.7.0:

Rules:

  • Watches will now only start if an object can be found (is not null, or the DOM element exists).

Binding Options / Function Options - Custom Triggers:

  • Added a new binding/option custom trigger called "onStart", which states an event that should be triggered when a watch is started.

General Improvements:

  • Added Math injection directly into the main instance.
  • Added JSON injection directly into the main instance.
  • Improved keywords in the package files.

Documentation:

  • Added install instructions into the main README files.
  • Added documentation that states how issues and new feature requests should be raised.

Fixes:

  • Fixed the "observe.js.nuspec" file including the ".github" folder when NuGet PACK is called.

Version 0.6.1:

  • Updated project homepage URL.
  • Fixed the binding property "allowPausing" defaulting to "null" instead of "true" when not manually set.

Version 0.6.0:

Binding Options / Function Options:

  • Added a new binding/option called "allowCanceling", which states the watch can be cancelled (defaults to true).
  • Added a new binding/option called "allowPausing", which states the watch can be paused (defaults to true).

Public Functions:

  • Added new public function "pauseWatches()", which is used to pause all the watches for a specific number of milliseconds.
  • Added new public function "resumeWatches()", which is used to resume all the watches currently paused.

General Improvements:

  • Minor internal refactoring to make things a little clearer.

Fixes:

  • Fixed some errors in HTML files when calling the public functions.

Version 0.5.1:

  • Project description update.
  • Minor documentation updates.
  • Fixed a small fault that prevented the total changes from being handled correctly when a watch was stopped.
  • Added support to watch array objects for changes.

Version 0.5.0:

New Features:

  • Added specific properties watch support! This will only watch for changes in specific properties on an object, instead of all of them by default.

Binding Options / Function Options:

  • Added a new binding/option called "propertyNames", which states the property names that should be watched for changes (defaults to all).

Binding Options / Function Options - Custom Triggers:

  • Added a new binding/option custom trigger called "onRemove", which states an event that should be triggered when a DOM element is removed.

Public Functions:

  • Added new public function "resumeWatch()", which is used to resume a watch that has been paused.

Fixes:

  • Fixed a fault that allowed comparisons between arrays and objects (was causing some script errors).

Documentation:

  • Fixed some of the documentation mistakes.

Version 0.4.0:

Public Functions:

  • Added new public function "searchDomForNewWatches()", which is used to search the DOM for new elements to watch, then adds them.

BREAKING CHANGES:

  • Renamed the DOM attribute "data-observe-options" to "data-observe-watch-options".
  • Renamed the public function "watchObject()" to "watch()".

General Improvements:

  • Minor internal refactoring to make things a little clearer.

Fixes:

  • Fixed a fault that prevented the binding attribute from being removed from the DOM elements.
  • Fixed a fault that prevented changes from being detected when a DOM element is removed from the DOM.
  • Fixed some properties being assigned to internal watches when not required.

Version 0.3.0:

New Features:

  • Added "Pause Timeout On Change" support, which will force the watch to wait a specific number of milliseconds before detecting changes again when a change is detected.

Binding Options / Function Options:

  • Added a new binding/option called "pauseTimeoutOnChange", which states the milliseconds to wait for new changes to be detected when a change is detected (defaults to 0, which is off).

Public Functions:

  • Added new public function "cancelWatches()", which is used to cancel all the watches currently running, or paused.
  • Added new public function "getWatches()", which is used to return all the watches currently running, or paused.
  • Added new public function "pauseWatch()", which is used to pause a running watch for a specific number of milliseconds.

General Improvements:

  • When the page is unloaded, all active watches are now cancelled.

Documentation:

  • Fixed some of the documentation spelling/grammar mistakes.

Version 0.2.0:

New Features:

  • Added "Reset" support, which will force any object to be reset back to its original value when a change is detected.
  • Added "Cancel On Change" support, which will force a watch to cancel when the first change is detected in an object.
  • Added "Maximum Changes Before Canceling" support, which states how many changes are allowed before a watch is cancelled.
  • Added "Starts" support, which states a date/time a watch should be started.

Binding Options / Function Options:

  • Added a new binding/option called "reset", which states if an object should be reset back to its original value when a change is detected (defaults to false).
  • Added a new binding/option called "cancelOnChange", which states if a watch should be cancelled when the first change is detected (defaults to false).
  • Added a new binding/option called "maximumChangesBeforeCanceling", which states the total number of changes allowed before a watch is cancelled (defaults to 0, which for off).
  • Added a new binding/option called "starts", which states the date/time a watch should start (defaults to null).
  • Renamed the binding/option "observeTimeout" to "timeout".

Binding Options / Function Options - Custom Triggers:

  • Added a new binding/option custom trigger called "onCancel", which states an event that should be triggered when a watch is cancelled.

Public Functions:

  • Added new public function "getWatch()", which is used to return all the watch properties for an object being watched.
  • Removed the public function "cancelDomElementWatch()", as "cancelWatch()" will now do it for you.

Watching:

  • Changes are now detected for HTML DOM element objects when attributes are updated.

General Improvements:

  • Refactored lots of the internal code to align with the naming of the areas.

Documentation:

  • Fixed some of the documentation referencing the wrong properties.

Fixes:

  • Fixed the "expires" binding/option not accurately checking the expired date and time.
  • Fixed a script error that occurred sometimes when a watch is cancelled using the public function "cancelWatch()".

Version 0.1.0:

  • Everything :)