- ➕ Added:
llms.txtfor AI agent discoverability - 🔧 Fixed: Async function detection fails in transpiled environments (Thanks 👍 @folknor) #442
- 🎛️ Updated: Development dependencies
- 🔧 Fixed:
"type": "module"issue (Thanks 👍 @bbysaeth and @jules-w2) #437
- ➕ Added:
Clearevent (Thanks 👍 @alan-rudzinski) #435 - 🔧 Fixed:
LiveReloadscript issue (Thanks 👍 @Jammmmm) #434 - 🎛️ Updated: Development dependencies
- 🎛️ Updated: Development dependencies
- ➕ Added: New
How-to Guidesexample forDynamic list positionbased on its position inside viewport [#158] - 🎛️ Updated: Library code with minor cleanup and optimizations resulted in minor size reduction for faster loading time
- 🎛️ Updated:
Configurationdocumentation section - 🎛️ Updated: Development dependencies
- 🧹 Removed:
autoComplete.search()API method to be only available perautoComplete.jsinstance instead of global
- 🔧 Fixed:
responseeventEmitter not firing indata.cachemode
- 🎛️ Updated: Library code with minor optimizations (Thanks 👍 @folknor) #256
- 🔧 Fixed:
queryAPI issue (Thanks 👍 @folknor) #254
- ➕ Added: Security awareness note under the
Usagesection in the Docs (Thanks 👍 @needlag) #254 - 🔧 Fixed:
searchAPI method was not returning the result value - 🎛️ Updated: Library code with deep cleanup and minor optimizations resulted in around
2.4%size reduction of the minified version and3.2%of the original version and additional performance improvements
- 🧹 Removed:
preventDefaultonTabkey press event - 🎛️ Updated:
No Results Foundexample underHow-to Guidesin documentation
- ➕ Added:
submitAPI property controlsEnterbutton default behavior (Thanks 👍 @CodeWithOz) #249 #224 #189 - ➕ Added:
queryStringargument to thestart("query")API method for programmatic operations - 🔧 Fixed: Generated errors when
resultsListis disabled due to the attachment of thekeydownevent - 🎛️ Updated: Library code with minor optimizations
- 🧹 Removed: Engines field in package.json
- 🧹 Removed:
preInitstage (Thanks 👍 @folknor) #229 - 🔧 Fixed:
unInitto remove thewrapperelement (Thanks 👍 @deniseismo) #245
- 🔧 Fixed: Unresolved dependencies when building a Svelte app (Thanks 👍 @sunshineplan) #243
- 🔧 Fixed:
marktag's invalid "classes" to "class" attribute (Thanks 👍 @50kudos) #242
- 🔧 Fixed: Data fetching error handling (Thanks 👍 @folknor) #234
- 🔧 Fixed: APIs works with the wrong instance (Thanks 👍 @FoHoOV) #230
- ➕ Added:
wrapperAPI property controls wrapper rendering (Thanks 👍 @folknor) #227 - 🔧 Fixed: TypeError: "query" is read-only (Thanks 👍 @n1k0) #231
- 🔧 Fixed: Mouse
clickitem selection error (Thanks 👍 @victor-paumier) #232
- 🔝 Updated:
data.srcquery parameter to be aligned with thequerymethod value when set
- 🔧 Fixed: Scrolling issue moving the entire page
- 🔧 Fixed: Searching
Numbersissue (Thanks 👍 @folknor) #226
- 🔧 Fixed: Missing Package Files
- 🔧 Fixed: Missing Package Files
- ➕ Added: Automatic field wrapping inside
DIV - ➕ Added: Document
readyStatelistener that initializes the library afterDOMcontent is loaded - ➕ Added:
queryvalue todata.srcfor easier data fetching - ➕ Added:
resultsListnavigation auto scrolling for long lists - ➕ Added:
resultsList.tabSelectAPI property to controltabbutton behavior - ➕ Added:
eventslist API property that holds and assigns events toinputandlist(Thanks 👍 @stell) #223 - ➕ Added:
closeAPI method controlsresultsListstate - ➕ Added:
openAPI method controlsresultsListstate - ➕ Added:
goToAPI method controlsresultsListnavigation by index - ➕ Added:
nextAPI method controlsresultsListnavigation - ➕ Added:
previousAPI method controlsresultsListnavigation - ➕ Added:
selectAPI method controlsresultsListselection by index - ➕ Added:
searchAPI method to avail autoComplete.js powerful engine for external use - ➕ Added:
isOpenAPIbooleanproperty that holdsresultsListstatetrueopenedfalseclosed - ➕ Added:
listAPI property holds the entire list html element - ➕ Added:
wrapperAPI property holds the entire wrapper html element - ➕ Added:
cursorAPI property holds the index of the current selection or-1orundefinedfor idle - ➕ Added:
idAPI property holds the current instance number - ➕ Added:
nameAPI property that changes all theclassNameproperties accordingly - ➕ Added:
optionsAPI property that holds all the custom setconfigoptions for separation - ➕ Added:
data.srcfetching error message/instance toresponseevent detail (Thanks 👍 @folknor) #207 - 🔝 Updated: Data caching with a better mechanism
- 🔝 Updated:
WAI-ARIAconfigurations for significantly better support - 🔝 Updated:
dataFeedbackevent information - 🔧 Fixed:
diacriticshighlighting issue instrictmode - 🔧 Fixed:
resultsListeventEmitters unexpected behavior which was firing multiple times - 🔧 Fixed: Empty
classNamevalues do not assign any classes instead ofundefined - 🌀 Changed: The core library architecture for an improved performance and code separation
- 🌀 Changed: API to only include the used options instead of including unused ones with
undefinedvalue - 🌀 Changed:
fetcheventEmitter name toresponse - 🌀 Changed:
inputFieldAPI property name toinput - 🌀 Changed:
dataFeedbackAPI property name tofeedback - 🌀 Changed:
triggerAPI property type fromObjecttoFunctionformerly calledtrigger.condition - 🌀 Changed:
data.resultsAPI property name todata.filter - 🌀 Changed:
noResultsAPI to acceptbooleaninstead ofFunctionto be replaced withresultsList.container - 🌀 Changed:
resultItem.highlightAPI property type fromObjectto acceptBooleanorStringformerly calledresultItem.highlight.class - 🌀 Changed:
resultItem.selectedAPI property type fromObjecttoStringformerly calledresultItem.selected.class - 🌀 Changed:
resultItem.contentAPI parameters order from(data, element)to(element, data)for consistency - 🌀 Changed:
resultItem.idNameAPI property name toresultItem.id - 🌀 Changed:
resultItem.classNameAPI property name toresultItem.class - 🌀 Changed:
resultItem.contentAPI property name toresultItem.element - 🌀 Changed:
resultsList.idNameAPI property nameresultsList.id - 🌀 Changed:
resultsList.classNameAPI property nameresultsList.class - 🌀 Changed:
resultsList.containerAPI property name toresultsList.element - 🌀 Changed: Highlighted characters wrapper element to be
markinstead ofspan(Thanks 👍 @aarongerig) #195 - 🌀 Changed:
queryAPI property type fromObjecttoFunctionformerly calledquery.manipulate - 🌀 Changed:
observerAPI property nameobserve - 🌀 Changed:
data.keyAPI property namedata.keys - ❗ Removed:
onSelectionAPI method to be replaced withselectioneventEmitter - ❗ Removed:
resultsList.renderAPI property to be replaced withresultsListto acceptBooleaninstead ofObjectin case of disabling list rendering - ❗ Removed:
trigger.eventAPI property to be replaced withevents - ❗ Removed:
feedbackAPI method to be replaced withnavigateevent - ❗ Removed:
resultsList.navigationAPI method to be replaced withevents - ❗ Removed:
navAPI property to be replaced withevents - ❗ Removed:
hookAPI method to be replaced withstartAPI - ❗ Removed:
inputproperty fromdataFeedbackdue to the existence ofqueryalready - ❗ Removed:
unIniteventEmitter
- 🔧 Fixed: Data feedback
inputFieldvalue was in lowerCase instead of raw - 🔧 Fixed:
resultItem.classNamedid not accept except one class instead of multiple - 🔝 Updated: Code with deep refactoring and cleanup (Thanks 👍 @Pirulax) #210
- ➕ Added: New
dataparameter toresultsList.containermethod that contains (input, query, matches, results) values - 🔝 Updated:
resultsList.container.classNamedefault value to beundefined - 🔝 Updated: Code with some refactoring and cleanup
- 🔝 Updated: Development dependencies
- 🔧 Fixed:
resultsListerror onEnterkey press with no selection - 🔧 Fixed: Input field
aria-activedescendantwas not removed on eachresultsListregeneration - 🔧 Fixed:
noResultserror onEnterkey press - 🔧 Fixed: Input field
aria-expandedset totrueeven whennoResultswas not active - 🔧 Fixed:
resultsListoncloseevent did not fire whennoResultswas active - 🔧 Fixed:
unInitmethod did not remove allinputFieldset event listeners except forinputevent - 🔧 Fixed:
openeventEmitter unexpected behavior that used to fire on each trigger event
- 🔧 Fixed:
resultsList.containerhierarchy comes after list rendering instead of before
- 🔧 Fixed:
resultsList.containeris removed on second input (Thanks 👍 @folknor) #206
- 🔧 Fixed:
TABbutton behavior - 🔧 Fixed:
resultsListclose behavior oninputFielddouble click
- 🔧 Fixed: Unexpected behavior
onClick(Thanks 👍 @iNalgiev) #205
- 🔧 Fixed:
resultItem.idNameissue - 🔝 Updated:
TABbutton behavior (Thanks 👍 @ronmichael @codyjames) #175 #202
- 🔧 Fixed:
escbutton not working withnoResultsin some cases (Thanks 👍 @sunshineplan) #157 - ➕ Added:
selectionandhighlightcustomclassNameAPI methods (Thanks 👍 @jerrykan) #184 - ➕ Added:
eventEmitterforresultsListfires on listcloseevent (Thanks 👍 @yliharma) #188 - ➕ Added:
eventparameter totrigger.eventAPI method (Thanks 👍 @nornes) #189 - 🌀 Changed:
maxResultsAPI moved underresultsList - 🌀 Changed:
noResultsAPI moved underresultsList - 🌀 Changed:
highlightAPI moved underresultItem - 🌀 Changed:
selectionAPI moved underresultItemwith the name ofselected - 🌀 Changed:
renderedeventEmittername toopen - 🌀 Changed:
navigationeventEmittername tonavigate - 🌀 Changed:
closeAllListsrefactored and renamed tocloseList - 🌀 Changed:
generateListstage with some refactoring - 🌀 Changed:
startstage with some refactoring - 🌀 Changed:
noResultsAPI method with some refactoring - 🌀 Changed:
highlightAPI fromStringtoObject - ❗ Removed:
sortAPI due to its redundancy,data.resultscould be used instead - ❗ Removed:
connecteventEmitterfrom thepreInitstage - 🔝 Updated: Replaced
UglifywithTerser - 🔝 Updated: Development dependencies
- 🔝 Updated: Code comments
- 🔝 Updated: Documentation
- 🔧 Fixed:
selectoras a function breaks whenobserveris true (Thanks 👍 @brunobg) #179
- 🔧 Fixed: Keyboard navigation selection reset (Thanks 👍 @marsimeau) #177
- ➕ Added:
eventobject to theonSelectiondatafeedback(Thanks 👍 @Liano) #176
- 🔧 Fixed:
resultItemIDsetAttributeto beidNameinstead ofclassName(Thanks 👍 @marsimeau) #173
- 🔧 Fixed:
diacriticscomposite characters do not match (Thanks 👍 @ikemo3 @Michin0suke @bravik) #169 #171
- 🔝 Updated:
package.jsonnode engine version from12to>=12(Thanks 👍 @mynameisbogdan) #164 - 🔝 Updated:
package.jsonnpm engine version from6to>=6
- ➕ Added:
data.resultsAPI to access and manipulate data feedback matching results - 🔧 Fixed:
resultItem.contentAPIdataparams to pass the entire item data (Thanks 👍 @jwendel) #163
- 🔧 Fixed:
selectorAPI to accept function (Thanks 👍 @goaround) #160 #161 - 🔧 Fixed:
resultsListdestination API to accept function (Thanks 👍 @goaround) #160 #162
- ➕ Added:
observerController API (turned off by default) #149 - ➕ Added: New Light Style (autoComplete.02.css)
- 🔧 Fixed: Main build
live reloadissue (Thanks 👍 @lougroshek) #155
- 🔧 Fixed: Remove prior event listeners before adding new one in
init(Thanks 👍 @RobinLawinsky) #153
- 🔧 Fixed: Custom results list rendering destination (Thanks 👍 @RobinLawinsky) #150
- 🎛️ Updated: Input Field Assignment Order
- 🔧 Fixed: Trigger Event API
- 🎛️ Updated: Build
- ➕ Added: High Quality Accessibility (WAI-ARIA 1.2) Support
- ➕ Added: Life Cycle Events (Thanks 👍 @zippy84) #89
- ➕ Added:
init/unInitmethods (Thanks 👍 @Keagel) #115 - ➕ Added: Input Field Observing Functionality
- ➕ Added:
Diacritics2 way Support (Thanks 👍 @batcaverna, @svkmedia) #77 #93 - ➕ Added: API for Controlling
ClassesandIDs(Thanks 👍 @xtellurian, @Lirux) #73 - ➕ Added: New neutral/non-opinionated Style (Thanks 👍 @luizbills) #92
- 🌀 Changed:
autoComplete.jsInternal Flow - 🌀 Changed:
dataFetching - 🌀 Changed:
dataStoring - 🌀 Changed:
resultsListNavigation - 🌀 Changed:
resultsListRendering (Thanks 👍 @eballeste) #105 #139 #126 - 🔧 Fixed:
resultsListelement visibility in idle state (Thanks 👍 @digiiitalmb) #100 - 🔧 Fixed:
querythreshold length accuracy #142 - 🔧 Fixed: Calling
dataSrcon each trigger (Thanks 👍 @thomasphilibert) #106 - 🔧 Fixed: Right-click behavior on
resultsList(Thanks 👍 @drankje) #94 - 🔧 Fixed: Cursor relocation on keyboard
keyUporkeyDown(Thanks 👍 @cadday) #117 - 🔧 Fixed:
dataas aNumberparsing issue (Thanks 👍 @andresfdel17) #132 - 🔧 Fixed:
autoComplete.jsinterference with native keyboard events (Thanks 👍 @eballeste) #104 - 🔧 Fixed: Keyboard events stops working when
onSelectionnot defined (Thanks 👍 @AustinGrey) #130 - 🌀 Changed: Whole New More Modern Architecture Design
- ➕ Added: Support to
textareainput field (Thanks 👍 @EmilStenstrom)
- 🔧 Fixed: Enhanced mouse selection (Thanks 👍 @adan-ferguson)
- 🔧 Fixed: Error behavior occurs when searching (Empty, False, Null) record
- 🎛️ Updated:
resListnow is fully created inDocumentFragmentbefore rendering for better performance (Thanks 👍 @asafwat) - 🎛️ Updated:
configparameters restructure (Thanks 👍 @asafwat) - 🎛️ Updated: Reduced
autoComplete.jsweight
- ➕ Added: New improved Navigation logic (Thanks 👍 @mtomov)
- 🧹 Removed:
shadowRootAPI support - 🎛️ Updated: Enhanced
resList.navigationAPI data feedback - 🌀 Changed: Styling
- 🎛️ Updated: Major code Refactor and Optimizations for faster performance and lighter weight
- 🔧 Fixed: Duplicate values selection bug (Thanks 👍 @plungerman)
- 🔧 Fixed: Data Promise bug (Thanks 👍 @braco)
- 🔧 Fixed: Remote API duplicate calls (Thanks 👍 @srinivas025, @argebynogame)
- 🎛️ Updated:
trigger.conditionenhancement (Thanks 👍 @sakuraineed) - 🎛️ Updated: Code Refactor for faster performance and lighter weight
- 🔧 Fixed:
api multiple callsissue (Thanks 👍 @srinivas025)
- ➕ Added: New API for results list navigation
resultsList.navigation(Thanks 👍 @fredluetkemeier) - ➕ Added: New API for autoComplete.js engine
trigger.event(Thanks 👍 @fredluetkemeier) - ➕ Added: New API for autoComplete.js engine
trigger.condition - ➕ Added: Support to
Shadow DOMexpanding customizability (Thanks 👍 @MSDevs) - ➕ Added: Node Element Support for Input Selector (Thanks 👍 @jkhaui)
- 🔧 Fixed: Empty record issue (Thanks 👍 @Platon)
- ❗ Removed:
customEngineAPI, merged withsearchEngineAPI key for more convenience - 🎛️ Updated: Code Optimizations
- ➕ Added: Use Custom Search Algorithm via
customEnginemethod (Thanks @hwangm)
- 🔧 Fixed:
CustomEventandClosestmethod IE compatibility (Thanks @g-viet) - ➕ Added: Query interception (Thanks @barns101)
- 🌀 Changed: Simplified
resultsListandresultItem - ➕ Added:
EventEmitterfires on clearing input field - ➕ Added:
EventEmitternow hasinputmethod for raw user's input - ➕ Added:
EventEmitternow hasquerymethod for intercepted user's input
- ➕ Added: Get results from
eventEmitterwithout rendering list throughresultsList.renderAPI - 🌀 Changed: EventEmitter name
typechanged toautoComplete
- ➕ Added: Event Emitter on
noResultsevent
- 🔧 Fixed:
noResultsAPI unset error bug
- 🔧 Fixed:
UpperCasequery bug
- ➕ Added:
noResultsopen API for No Results (Thanks @chabri) - ➕ Added: HTML elements
ContentEditableInput Support (Thanks @philippejadin)
- ➕ Added: Large datasets handling (Thanks @Johann-S)
- ➕ Added: API Data fetching and Dynamic Data reloading (Thanks @Brostafa)
- ➕ Added: Debouncing API Calls
- ➕ Added: Custom
resultsListandresultItemElements (Thanks @Johann-S) - 🔧 Fixed: Bug fixes
- 🎛️ Updated: Code Clean Up
- ➕ Added: Multiple searchable
keysfor datasrc(Thanks @Johann-S) - 🔧 Fixed: Rendered
resultsin original case (Thanks @nickbp12) - 🎛️ Updated: Improved Development Environment (Thanks @ziishaned)
- 🔧 Fixed: IE 11 fix (Thanks @maciekgrzybek)
- ➕ Added: Improved returned data object
onSelection - ➕ Added: Sort rendered
resultsAPI - ➕ Added: Enhanced
resultsnavigation addingArrowRightkey for selection - ➕ Added:
eventemitter on input field - 🎛️ Updated: Code Clean Up
- 🔧 Fixed: Bug with
highlightAPI default value duringstrictengine mode - 🔧 Fixed: Bug with
resultsListAPI default value when not configured
- 🔧 Fixed: Isolated
resultsListvalue for multiple instances (Thanks @albu77)
- 🎛️ Updated: API Enhancements over rendered results list container
resultsList > containerfunction (Thanks @albu77)
- ➕ Added: API for rendered results list container
resultsList > containerfunction (Thanks @albu77) - 🎛️ Updated: API Enhancements
- ➕ Added: API for rendered result item
resultItemfunction - 🌀 Changed:
renderResultsAPI name changed toresultsList
- ➕ Added: Support for Keyboard
(Arrow)and(Tab)Navigation - ➕ Added: Selection event object returns in data feedback (Thanks @alvaaz)
- ➕ Added:
Functionsupport toselectorfor detached DOM rendering (Thanks @mikob) - ➕ Added:
Functionsupport torenderResultsfor detached DOM rendering - 🔧 Fixed: Placeholder if not set doesn't overwrite external assigned values (Thanks @mikob)
- 🌀 Changed: Replaced
idwithdata-attribute(Thanks @mikob) - 🌀 Changed: Input doesn't clear automatically
onSelectionevent (Thanks @mikob) - 🌀 Changed: Place Holder doesn't assign selected value
onSelectionevent automatically - ❗ Removed: Error message rendered on Engine failure in the body for End-User (Thanks @mikob)
- ❗ Removed: API
data-attributesetting - 🎛️ Updated: Optimizations
- 🎛️ Updated: Style Enhancements
- 🔧 Fixed: Multiple space input issue (Thanks @DevOsamaMohamed)
- 🔧 Fixed: Remote data source excessive requests (Thanks @DevOsamaMohamed)
- 🎛️ Updated: Optimizations for performance enhancements
- 🎛️ Updated: Reduced Weight
- ➕ Added: Support for array of
ObjectsandJSONas data source withKeyselection - ➕ Added: Support for external data source via
PromisesandAsync/Awaitfunction - ➕ Added: More comprehensive and usable data feedback on user selection
- 🌀 Changed:
dataSrcmethod to object methoddatawith two new methodssrcandkey - 🌀 Changed: Highlighted Results class name from
.autoComplete_highlighted_resulttoautoComplete_highlighted - 🎛️ Updated: Many Optimizations for better performance
- 🎛️ Updated: Gzipped options for both builds are ready
(2KB) non-minifiedand(1KB) minified - 🔧 Fixed: Styling issue with selections last selection child on mobile devices
- ➕ Added:
thresholdfor minimum characters length before Engine starts rendering suggestions - 🎛️ Updated: Optimizations for better performance
- 🎛️ Updated: Reduced Weight to
(3KB)minified
- 🔧 Fixed:
onSelectionnull action issue - ❗ Removed: Placeholder keeps value of last selection
- 🎛️ Updated: Fully isolated UI from Logic
- 🎛️ Updated: Some code cleanup and optimizations
- 🎛️ Updated: Reduced Weight
- 🔧 Fixed: Bug fixes
- ➕ Added: Ability to change results destination and position
renderResults - 🎛️ Updated: Optimizations for faster performance and lighter weight
- 🎛️ Updated: Enhanced error handling capabilities
- 🔧 Fixed: Styles fixes for better cross browser compatibility
- ➕ Added: Detailed documentation
- 🔧 Fixed: Bug Fixes
- ➕ Added: New type/mode of Search Engine
strict - 🌀 Changed: Detached the results list style behavior from code
- ❗ Removed:
Placeholder max. lengthoption - 🎛️ Updated: Optimizations for higher performance and lighter weight
- 🎛️ Updated: Refactored for higher speed and smaller footprint
- 🔧 Fixed: Bug fixes and Optimizations
- ➕ Added: New
datasrca function that returnsArray
- ➕ Added: Placeholder text maximum length option
[Experimental] - ➕ Added: New style sheet variation
- 🎛️ Updated: Redesigned the entire search engine for better results and experience
- ➕ Added: Support for Multi-keyword search
- 🔧 Fixed: Issue with Capital letters reflects in results
- 🎛️ Updated: Reduced the library size 97%
(101KB -> 4KB) - ➕ Added: Introducing 2 different versions of the library
(pure, minified) - 🌀 Changed: Replaced webpack with Rollup for better bundling
- 🔧 Fixed: Some bugs caused problems with node apps
- 🎛️ Updated: Refactored and Optimized to reduce size and enhance performance
- 🔧 Fixed: The library name in the webpack.config.js file
- 🎛️ Updated: Optimizations Reduced the library weight by 1KB
- ➕ Added: Customized data attribute tag for generated results
- ➕ Added: Highlight matching results from the results list
- ➕ Added: Set maximum number for shown results
- ➕ Added: Placeholder text to the input field
- ➕ Added: Placeholder keeps the last selection value saved