This repository has been archived by the owner on Jan 4, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 26
Release Notes
Justin Stayton edited this page Mar 30, 2014
·
38 revisions
Starting with v1.4.0, Marco Polo adheres to Semantic Versioning.
March 29, 2014
- Restored native behavior to the
Home
andEnd
keys when used within the input. They now jump the cursor to the beginning and end of the input, respectively.
August 28, 2013
- The
data
option can now be a function that returns an object, allowing for dynamic values that are computed for every request. (Thanks to Lukas Westermann for the pull request!) - Fixed an issue where the cursor would be moved to the end of the input after every
keyup
, making it difficult to edit existing input, particularly in Google Chrome. (Thanks to David North for the pull request!) - Fixed certain browsers (like older versions of IE) trying to display the results list when there were no results. (Thanks to Nick Ostrovsky for the pull request!)
January 23, 2013
- Marco Polo is now listed on the jQuery Plugin Registry! That required a bump in version number; otherwise, no code changes in this release.
November 13, 2012
- Various small code tweaks to comply with stricter JSHint options.
- The packaged, production-ready scripts are now within the
build
directory. The README includes more details, but there are now minified and unminified versions of the combined and individual scripts. - Added installation details for Bower to the README.
- Marco Polo now uses Grunt as its command-line build tool.
November 3, 2012
- Marco Polo can now be installed with Bower, a package manager for the web! More details coming soon to the README, but use
bower install jquery-marcopolo
to get started.
October 15, 2012
- The
select
event (onSelect
callback) is now passed a third parameter (initial
) that tells whether the selection is an initial value or not. See Setting an Initial Value. - Fixed a bug where a selected value that evaluated
false
failed to trigger thechange
event, even if it was different than the previous selection.
September 9, 2012
- Fixed a bug where
selected
would causeonSelect
to fire a second time if a new input value was set. - Fixed a bug that caused an error to be thrown in some cases when a
label
wasn't specified.
September 4, 2012
- Added
highlight
option for whether to automatically highlight an item when the results list is displayed. Usually it's the first item, but it could be the previously selected item ifcompare
is specified. Default istrue
, so it works the same as before being configurable. - Added
submitOnEnter
option for whether to allow the browser's default behavior of submitting the form on ENTER. Default isfalse
, so it works the same as before being configurable. - The TAB key now selected the currently highlighted item. Much the same as the ENTER key, except for the default browser behavior of moving to the next focusable element.
June 20, 2012
- Added full WAI-ARIA support. (Thanks to Ian Storm Taylor for the pull request!)
- Added
selected
method for retrieving the currently selected data. - Updated jQuery UI Widget dependency to version 1.8.21.
- Bumped the required jQuery version from 1.4.2 to 1.4.3 due to the use of
$.now()
internally.
January 30, 2012
- Fixed an IE 7/8 bug that caused an
Object expected
error whenever the_trigger
method was called, which is used internally to trigger events. (Thanks to Vlad Magdalin for the fix!)
December 14, 2011
- Added
onBlur
event when the user is finished interacting with the autocomplete interface, not just the text input, which loses and gains focus on a results list mouse click. - Added compatibility with script loaders like RequireJS by registering as an AMD module.
December 8, 2011
- The input's standard
value
attribute is now used as the selected value when Marco Polo is initialized. This is in addition to support for thedata-selected
attribute that was added in v1.4.0. See Setting an Initial Value for further details.
December 7, 2011
- Added
select
method for programmatically changing the selected value, just as if the user clicked or keyboard selected an item from the results list. - The initially selected value can now be easily specified in the input's
data-selected
attribute, which is parsed when Marco Polo is initialized. See Setting an Initial Value for further details. - Fixed a bug where changing the
selected
option after Marco Polo was initialized did not properly toggle the label (if one was in use). - Fixed a bug where changing the
selected
option after Marco Polo was initialized did nothing withnull
. Now,null
effectively clears the selected value (and input's value). - Fixed a bug where results were being cached even if the
cache
option wasfalse
.
September 1, 2011
- Removed
$input
and$list
parameters from all callback options.$input
can be accessed throughthis
, and$list
can be accessed by callingthis.marcoPolo('list')
.
August 30, 2011
- Uncommented some code related to the
onChange
callback option that was accidentally committed. The callback should again work as expected. - Changed how callback options are triggered internally.
August 15, 2011
- Completely overhauled the code to use the jQuery UI Widget factory, which provides a robust framework for developing stateful, object-oriented plugins. As a result, the code is now much cleaner, but more importantly, development will be better moving forward. jQuery UI Widget (about 3 KB of code) is now included in the minified version.
- Added
list
method for getting the results list element without having to manually traverse the DOM.
July 7, 2011
- The
focus
event now prevents additionalfocus
events from initiating the same request while the input has focus.
July 6, 2011
- Fixed a bug when the
required
setting was set totrue
that caused infinite recursion.
June 28, 2011
- Fixed a bug where pushing enter when the results list was hidden still selected the currently highlighted item.
- Fixed a bug where pushing down after selecting an item and changing the input value showed the old, stale results.
- Code cleanup and reorganization to pass JSHint. Strict mode is now used.
June 25, 2011
- Fixed a bug where the
change
method would not hide/show the label (if set) depending on the new input value.
June 16, 2011
- Fixed regression in previous release where using up/down keyboard navigation failed to highlight the previous/next item after the list had been dismissed via ESC.
June 16, 2011
- Added
label
option for overlabel-type functionality that automatically shows and hides the label when the input is focused/blurred. - Added
hideOnSelect
option for hiding the results list (or not) when an item is selected. Default istrue
, which is how it has worked prior to this option. - Selecting a result via mouse now returns focus back to the input. This allows easy tabbing on to the next input field.
- Only visible items are now highlighted, which allows items to be hidden without breaking highlighting during keyboard navigation.
- The
change
method now dismisses and empties the results list to prevent future stale results in case the method is called while the input has focus.
June 10, 2011
- The results list is now emptied when the input is blurred. This prevents up/down keyboard navigation from showing stale results the next time the input receives focus and the input value has been cleared since the last blur. (A very edge case, but incorrect behavior nonetheless.)
June 8, 2011
- Added
param
option for specifying the name of the query string parameter that is set with the input value. By default, this isq
, which is what it was hard-coded to before. - The
compare
option now works with non-object data (such as strings) when set totrue
. An attribute name string can still be specified when comparing objects.
June 4, 2011
- Added
formatData
callback for formatting the raw data returned by the ajax request.
June 1, 2011
- Added the
change
method for programmatically changing the input value without triggering a search request. - The
search
method now gives focus to the input to allow for keyboard navigation. - Fixed a bug where the
onChange
callback would erroneously fire on input focus when the value hadn't changed.
May 31, 2011
- Added a number of new event callbacks:
onError
,onMinChars
,onNoResults
, andonResults
. -
mp_busy
class is now added to the input's parent element so that a busy indicator can be displayed with CSS. This is now built-in since it's a common use-case. - The
option
method now accepts multiple elements when setting a new value (or values). Getting a value still only accepts a single element.
May 19, 2011
- First public release!