forked from yourlabs/django-autocomplete-light
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
1195 lines (836 loc) · 42.6 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
3.9.0rc4
NEW FEATURE FOR EVERYONE! Read here and njoy :)
https://github.com/yourlabs/django-autocomplete-light/blob/master/docs/tutorial.rst#with-djhacker
#1270 Fix issue when dal js is loaded twice by @FiooCode
#1266 New data-token-separator attribute by @fraimondo
#1190 #1187 Fixed django-querysetsequence support
Django 3.2 support in test code
3.9.0rc3 failed release
3.9.0-rc2
#1262 Django 4.0 support by @fraimondo
#1255 Django 4.0 warning removal by @Mogost
#1253 Case sensitive creates in Select2QuerySetView by @shenek
#1246 Add event to notify of the initialization completed by @andreccorrea
Select2 Upgraded to 4.1.0-rc.0
3.9.0-rc1
#1222 Select2GroupQuerySetView fix by @arseniy-panfilov
#1233 Safari regexp fix by @vtbassmatt
#1239 Django 3.2+ fix by @michael-sayapin
#1251 Doc fix get_result_label by @arlopezg
#1231 Fix ViewMixin comment by @moonorange
3.8.2 Upgrade to select2 4.0.13
3.8.1 BUGFIX RELEASE
Fix #1175: Rebuild js
3.8.0
A LOT of fixes, but they come at a price ...
BACKWARD COMPATIBILITY BREAK:
You now MUST register your custom init functions as per
https://django-autocomplete-light.readthedocs.io/en/master/tutorial.html#overriding-javascript-code
Changes:
#1171 data-html and object creation bugfix by @syserr0r
#1182 fix production with select2 upgrade by @MarkRunWu
#1169 implement search_fields and split_words by @MuckRock
#1145 fix post method parameters by @erdnax123
#1162 JS load order issues by @danielmorell
#1157 jQuery loading by @danielmorell
#1162 fix by @danielmorell this one introduces the breaking changes
#1129 fix rtfd autobuild by @jpic
#1158 remove calculated width by @nad2000
#1159 Fix UUID for GFK models by @sayeghr
#1138 Replace DOMNodeInserted with MutationObserver by @CristopherH95
#1144 doc typo fix by @timgates42
Flake8, Tox, Travis CI, tests ... fix by @jpic
3.7.0 & 3.6.0
Well, Pypi won't let me upload there, it says:
HTTPError: 400 Client Error: This filename has already been used, use a different version. See https://pypi.org/help/#file-name-reuse for more information. for url: https://upload.pypi.org/legacy/
But I only see 3.6.0.dev0 and 3.6.0.dev1 and 3.7.0.dev0, I suppose I should
have done pre-releases on 3.6.dev0 and 3.7.dev0.
Anyway, it lets me upload on 3.8.0, one of the last 3.x releases !
But don't worry, 4.0 will not break anything, it will merely add a new
autocomplete script for people who want out of select2 or want something
more like what we had in DAL 1 & 2, it's here:
Demo: https://oss.yourlabs.me/autocomplete-light/
Source: https://yourlabs.io/oss/autocomplete-light
For those who remember, this solves *exactly* the same problems that
jquery-autocomplete-light did, except it's a lightweight StencilJS
WebComponent now.
3.6.0
This release actually never hit Pypi.
3.5.1
jquery.js was still loaded by the widget, fixed by @timthelion
3.5.0
BACKWARD COMPATIBILITY BREAKS:
- jquery.js has been **removed** from widget.media, this means that you are
now responsible for ensuring that jquery is loaded in your page prior to
displaying the form (form.media).
- trailing dash was replaced by underscore in forward conf, ie.
dal-forward-conf-for-id_test becomes dal-forward-conf-for_id_test
#1115: Compatibility with Django 3.0 by Alexandr Artemyev @mogost
#1079: Fixed access to $.fn.select2 by David @dwasyl
#1118: Highlight select field with error to match Django style by @tchatow
#1099: django-nested-admin forwarded field fix by @akshenc
Also, tests now run fine on Travis thanks to @jorrit-wehelp
3.4.1 Fix #1108: i18n path (thanks @philgyford for report)
3.4.0 Python 2 and Django < 2.0 support
3.3.4 re-release without dirty source
3.3.3 django < 2.0 support with dal_static contributed by @andybak
3.3.2 django.contrib.admin fix static files by @coredumperror
3.3.1
- Fixed a bug in the way jquery.init.js was being used by @coredumperror
- Set select2 container CSS class to :all: @hbielenia
- Added missing renderer parameter to render method for django 2.1 @monim67
- Fix ImportError with SELECT2_TRANSLATIONS in Django 1.x @hugorodgerbrown
- Forward argument should always be a tuple @jihoon796
- Fixed exception thrown from Select2QuerySEtView when paginate_by is set
@coredumperror
3.3.0
- use admin statics
- #981: create option behaviour
- #995: automatically generated views for generic foreign key fields
- Getting placeholder and minimumInputLength from dal select
- #1017: Initial migrations and database
- Turkish translation
- Added support for forwarded fields to Select2GenericForeignKeyModelField
3.3.0-rc6
#959
3.3.0-rc5
#895: Self() and JavaScript() forward features
3.3.0-rc4
#843: Forward logic refactored. Specifications for types of forwarded values.
3.3.0-rc3
#957 remove reference to deleted script (rebase issue introduced in
3.3.0-rc1)
3.3.0-rc2
Revert 5b37f8661, fixes tests.
3.3.0-rc1
This version supports Django 2.0 and Python 3.6, perhaps more but I have not
tested, please submit compatibility patches for older versions if needed.
Please test them with tox -e base-py36-django20-sqlite before pushing.
To install 3.3.0-rc1, use `pip install django-autocomplete-light==3.3.0-rc1`.
New features:
#953: Select2 update to 3.4.0.6-rc.1 by @jpic
#917: django-nested-admin support by @loicteixeira
#815: Simplify customization of autocomplete views by @EvaSDK
#746: Select2 Language and dynamic Media by @luzfcb
#883: Allow overwriting the results by @eayin2
Bug fixes:
#874: Fix Django 1.11.3 error by @ikcam
#933: Python 3.6 and Django 2.0 support by @jpic
#930: QuerySetSequence querysets order is not preserved by @melvyn-sopacua
#909: Prevent initilization of other selects by @loicteixeira
#904: Fix KeyError when id is not in attrs by @dwheaton
#885: Prevent rendering of empty option on multi select by @johandc
#892: Enable different item label for selected item by @maximpetrov
#926: Atomic create_object by @jpic
#718: Remove temp hack for select2 by @FuzzAU
#860: dal: widgets: use the name if we don't have the id by @xrmx
#849: Don't create a new option if an iexact-matching one already exists by @liwenyip
Also thanks to the many documentation contributors.
#874: Fix Django 1.11.3 error by @ikcam
#937: Update tutorial.rst to fix XSS in the example by @hangtwenty
#919: Better create new object example by @davideghz
#928: Add note about slim jqueries by @melvyn-sopacua
Test notes:
I have not tested this release with other Python and Django versions,
and also tests don't pass on travis despite the effort. It's working
on all browsers here and i've chased many seleniumish race conditions
but it's not enough for travis.
So, there's no docker image available with python and selenium that
looks good i'm probably going to make one at some point but it's not
today's priority as far as I'm concerned.
So, tests are run locally which means manual action, but i've left the QA
checks on travis as mandatory because i've fixed so many PEP8 mistakes
during this release ...
Congratulations for this release my friends, because a lot of great work has
been contributed by the community since last release 4 months ago.
3.2.10
#877: Return proper content type for json by @mpasternak
#819: Fixed JS autocomplete initializer by @apinsard
#871: Add many translations by @dima-kov
#879: Add classifiers in setup.py by @ad-m
#868: Fix selector used to allow clearing non-required fields.
#861: prefer pristine jQuery to the django one by @xrmx
3.2.9
HEAD is now at a44a2ed Fixed JS autocomplete initializer (#819) (#820) by
@apinsard
3.2.8
#823: Optgroup list support with Select2GroupListView by @jsurloppe
#841: Allow boolean "data-html" attribute for widget on python side by @gagarski
#839: Support for forwarding radio buttons properly by @gagarski
#839: Add checkbox handling in forwards by @marekjedrzejewski
#833: Add functional tests for rename_forward app by @gagarski
3.2.7
Remove forward.js from Select2WidgetMixin.Media by @gagarski
#838: Use namespaced jQuery in `get_forwards` by @ryan-copperleaf
#836: Queryset sequence view to display actual model name by @jsoa
3.2.5 and 3.2.6 were removed from PyPi but are the same.
3.2.4
#813: Return 400 on invalid input by @EvaSDK
3.2.3 Two seriously good community contributed bugfixes
#799: Support serializing UUIDs and add tests for models with UUIDs as PKs
by @blag
#826: Prevent rendering of empty option on multi select
by @beruic
3.2.2 Test fixes, Django 1.10 and 1.11
3.2.1
#737: TaggitSelect2: insure there's a comma when there's only one tag, or
tag "Multi word" would end up as "Multi" and "word" by
@Ixxy-Open-Source
#743: Fix placeholder not working when URL is not given to autocomplete
widget (#743) by @thauk-copperleaf
#756: Forward Capabilities Outside Admin by @gagarski
3.2.0
#745: Add list autocomplete by @dmosberger, @jpic and @thecardcheat
#754: dal_queryset_sequence documentation update by @chubz
#734: Move create_option functionality into it's own method @andybak
#741: Fix initial value not set when selected choices aren't strings
@thauk-copperleaf
#733: Advanced forward features @gagarski
#752: Add doc test to CI by @jpic
#730: Resolve SystemCheckError fields.E304 @thecardcheat
#721: Note about placement of DAL before grappelli by @chubz
#748: Update docs example about loading jquery outside the admin @jpic
Mid version number bumped as a tribute to the new major features that were
added, however, there is no know backward compatibility break from 3.1 to
3.2.
3.1.8 #727 Add missing static files
3.1.7
#714: Update select2 by @meesterguyman
#705: Improve compat with dj1.9 by @9nix00
#706: Fix extra require by @blueyed
#710: Added note for static files not checked by @geekashu
#708: Provide path with dal_select2.E001 by @blueyed
#700: Enable HTML markup in select2 item labels by @njoyard
3.1.6
#671: Create_field support with querysetsequence
#679: Allow create message translation by @maisim
#682: Extend 'forward' attribute to creating objects as well by @toudi
#666: Improved missing 'created_field' error by @guettli
#670: Javascript loading documentation
#678: Added example to update autocompletes in JS
3.1.5
#661: Field forwarding: support form prefix, and formsets at the same time.
#628: Improve option rename hook used until the patch is merged upstream in
select2.
#656: Use http.JsonResponse() to return json by @guettli
#638: System check for dal_select2 to raise an error if select2 is not
available.
#662: Examples for setting placeholder and minimum input length options in
select2.
#619: From django-sbo-selenium to pytest+splinter.
3.1.4 #646: Released way too much node_modules in select2, sorry !
3.1.3 #640: Bugfix: Taggit select2 widget in invalid forms
3.1.2
- #634: Select2 Upgrade
- #628: Do not rely on ids to fix container text
- #631: Initializing GFKs with values from forms
- #623: Fix setup.py extras by @ticosax
- #610: Cancel out Django's style on lists
3.1.1 Forgot vendor files in 3.1.0
3.1.0
- ! BC BREAK ! CreateModelField is gone, it didn't work when another field
of the form didn't validate. There isn't a really sane way to create the
option in the form field field. Instead, this is done in the view, like
in DAL v2.
- ! BC BREAK ! dal_tagulous was removed in favor of django-tagging, because
tagulous already provides its implementation of a select2 widget.
- #610 Fixed a rendering issue with multiple selects. Upstream patch
proposed but not merged yet: select2/select2#4226
For details about the current status and plan, please consult the
announcement:
http://blog.yourlabs.org/post/140477620808/django-autocomplete-light-v3-whats-going-on
3.0.4 #586 Prune select2 docs by @eraldo
3.0.3 #586 Include all in MANIFEST by @eraldo
3.0.2 #575 Prevent Django admin from setting up jQuery with noConflict
3.0.1 #573 Updated MANIFEST to include static files.
3.0.0 Rewrite: easier to use, test, maintain and support.
2.3.3
- #563 Don't disable multiplechoicewidgets if select is [multiple]
- Don't import anything in __init__ anymore if on django 1.9
- test_project fixes, for the above.
2.3.2 JAL#20 Don't disable multiplechoicewidgets by @JaHicks
2.3.1 Forgot the static files in 2.3.0.
2.3.0
- #555 Django 1.4, 1.5 and 1.6 deprecation
- #497 Enable registration by model-name by @luzfcb
- #536 #551 Support proxy models by @onrik
- #553 improved jQuery integration by @blueyed
- #516 Corrected french transation by @apinsard
- #541 Use error_messages on FieldBase to allow overrides by @dsanders11
- #505 Ordering alias clash fix by @sandroden
- #515 Polish translation update by @mpasternak
- #543 ModelChoiceField requires the queryset argument
- #494 ModelChoiceField Watch changes to 'queryset' by @jonashaag
- #514 Fixed deprecation warning on Django 1.8 by @spookylukey
- #498 #548 improved i18n support
- #547 prevents loading genericm2m if not in INSTALLED_APPS
- JAL#18 Fix: Get value.length while value is null by @hongquan
- JAL#19 Clarify license by @stevellis, all MIT
- JAL#17 Disable the widget input when it is not in use @dsanders11
- JAL#15 Support openning results in new tab @thebao
- JAL#14 Don't autohilight first choice by default @pandabuilder
- JAL#13 Add option for box aligning with right edge of input @dsanders11
IMPORTANT
#536 At this point, proxy model support is untested, this is because I intend
to refactor the test suite and documentation during the 2.3.x serie.
#494 Updating the queryset from outside the autocomplete class may lead to a
security problem, ie. if you don't replicate filters you apply manually on the
autocomplete object choices into choices_for_request() then a malicious user
could see choices which they shouldn't by querying the autocomplete directly.
3.0.0 will have automatic widget and / or field (in cases like gfk/gm2m)
registration to the view like in django-select2 using queryset.query caching
which would resolve that use-case.
It's a pretty big release and I waited a while because I wanted all
contributors to benefit from it and work on the same codebase instead of
privileging one to another, not sure if it was the best way, let me know !
2.2.9, 2.2.10
[JAL] #12: Use exisiting input value for initial autocomplete query
#503: Fix Django 1.9 import error.
2.2.9 release has not the updated AUTHORS and lacks note about #503 in
CHANGELOG, re-uploading as 2.2.10.
2.2.8
#478, #472: "change related button" isn't clickable when it shouldn't.
2.2.7
yourlabs/jquery-autocomplete-light#11: jqXHR.abort considered harmful,
@dsanders11 fixes BrokenPipe.
yourlabs/jquery-autocomplete-light#10: consistency fix: use $ instead
of jQuery for new functions by @dsanders11
yourlabs/jquery-autocomplete-light#9: New parameter to disable
auto-hilighting on first choice #9 by @superzazu, should fix #495 too.
#477: Widget's render should use attrs even when created wthing __init__ by
@sandroden.
2.2.6
jquery-autocomplete-light/#8: Positionning bug fix by @marianobianchi,
jquery-autocomplete-light/#6: Bugfix: Firefox won't hide input after
reload
when option was selected by @marianobianchi,
#483: German translation by Mounir Messelmeni
#476, #474, #482, documentation improvements by Mounir, Visgean Skeloru and
Florentin Hennecker.
2.2.5
#452 Fix the case where there is a cap in the pg table or column name
#454: AutocompleteModel.order_by being a list would crash.
2.2.4
#463 Update jquery-autocomplete-light which contains IE8 fixes.
yourlabs/jquery-autocomplete-light#4 by @RaphaelKimmig.
2.2.3
#447: Ambiguous column names strikes again. This time we're using the
.column field attribute and covered a couple of cases including model
inheritance.
yourlabs/jquery-autocomplete-light#4 fixed clearInputOnSelectChoice
behaviour by @RaphaelKimmig:
- by clearing autocomplete.value as well as input.val we make sure that
subsequent clicks will not open the autocomplete filtered by a value that
is no longer visible to the user
- by clearing the input before triggering the focus we make sure the
minimumCharacters settings is honored
2.2.2
#422: Ambiguous column names in AutocompleteModelBase.
Also removed a generic exception expect/pass.
2.2.1
Django 1.8 admin support hacks broke create_choices_on_the_fly example and
probably some other wicked JS things in user projects.
Note that we have also extracted django admin specific hooks from widget.js
into django_admin.js. So if you have custom JS loading in the admin instead
of `{% include 'autocomplete_light/static.html' %}` then you should update
it to include django_admin.js in django admin.
2.2.0
- #318: Remove extra spaces rendered in choices.
- #438: Hide autocomplete on scroll in Firefox because it bugs (temp fix).
- #432: New bootstrap_modal test_app by @lucky-user.
- #118: Extracted JS into a standalone jquery-plugin:
https://github.com/yourlabs/jquery-autocomplete-light
2.2.0rc8
- #408: Django admin's new edit link was implemented in such a way that
it's unable to generate itself properly server-side on initial rendering.
2.2.0rc7
- call fixPosition() on window resize if the autocomplete box is shown.
2.2.0rc6
- #431 strikes again, default to body when it can't find a relevant
container.
2.2.0rc5
- Reduce default latency because hardware is better.
- #431: Dynamic evaluation of the autocomp box container.
2.2.0rc4
@lucky-user contributed Opera/Chromium improved support.
2.2.0rc3
- #429: handle required=True in form fields again, regression introduced
in rc1's python BC break.
- #426: handle z-index since we're absolutely-positioning in 2.2.x
Thanks a lot to the rc tester community
2.2.0rc2
- #425: fixed blunt JS errors.
- Do not add pip debug log (~/.cache/pip/log/debug.log) to Travis cache.
- Just install 'pip>7', potentially using an updated version on Travis.
- Use travis_retry with "pip install", and also for `npm install`.
2.2.0rc1
PENDING BREAK WARNING, Django >= 1.9.
The good old ``import autocomplete_light`` API support will be dropped with
Django 1.9. All imports have moved to ``autocomplete_light.shortcuts`` and
importing ``autocomplete_light`` will work until the project is used with
Django 1.9.
To be forward compatible with Django master (>=1.9) support, replace::
import autocomplete_light
By:
from autocomplete_light import shortcuts as al
This will also make your scripts a lot shorter.
CSS BREAK
We've moved back to pre-1.1.10 CSS positioning. This means appending the
autocomplete box to an arbitrary DOM element (body by default) and using
calculating the ``top`` and ``bottom`` attribute in javascript with
``yourlabs.Autocomplete.fixPosition()`` pretty much like Django admin's
calendar widget does. While blunt, this change should help the widget being
more compatible across Django admin themes.
While this positioning system has been used since around 2005 in Django
when Adrian Holovaty open sourced admin media in commit dd5320d, it has
never been documented that's it's a good system that works well and there's
no reason to break backward compatibility in Django admin for that
- note to Django admin template customizers.
JS BREAK
Javascript ``yourlabs.Autocomplete`` object does not bind to the same
events as it used too. Event handling has been backported from twitter
typeahead and tested on firefox and android (#411).
PYTHON BREAK
The form field doesn't call ``super().validate()`` anymore and now
completely relies on ``AutocompleteInterface.validate_values()``. This was
how ``django-autocomplete-light`` was initially designed for, kudos to
@zhiyajun11 for pointing it out ! This optimises code which was doing
validation twice and gives the flexibility it was initially designed for
from within the Autocomplete class (#410).
SQL BREAK
Model Autocompletes now generate custom SQL be able to save the order in
which users have filled an autocomplete field. This actually comes from the
last 2.x version.
CHANGES
Most users won't notice the break except maybe the CSS ones and of course
also for Django 1.9 users.
- #419: ANSI SQL compliance (@sbaum)
- #413: Exception when using models having primary key names different from
id.
- #412: Support models with a pk different than "id" and non-numeric.
(@mhuailin)
- #411: Android compatibility (js bind changes).
- #410: Removed double validation by not calling suport of ``Field.validate()``.
- #408: Support Django 1.8 change-link.
- #409: Compatibility with non-autocomplete inputs present in the widget
(@SebCorbin)
CONTRIBUTING CHANGES
Pip wheel has been temporarely disabled because django-autoslug broke it,
any help here is welcome, I did my best in the various fix/*wheel*
branches but Travis won xD
There's a mission to extract the JS part and package it as a standalone
jQuery library to get more pull requests on the JS / CSS part. It sounds
like a pretty good start in the JS / UI testing and packaging world. Any
help there is welcome.
CI now has tests against MySQL and PostgreSQL since we're generating custom
SQL.
Again welcome to new contributors @mhuailin and @SebCorbin and thanks all
for reporting issues on GitHub with all needed details and forks which make
it easy to reproduce.
And thanks to @blueyed who helped sinking this year's backlog like crazy.
2.1.1 Not sure how the 2.1.0 release got on PyPi, marked "hidden", bumping and
uploading a new version rather than removing it as it might have already
been deployed somewhere.
2.1.0 Final release.
2.1.0rc4
- #331: Fixed reverse order of items in deck, by @smcoll.
2.1.0rc3
- PEP396: autocomplete_light.__version__.
- #401: Easy to subclass FieldBase for custom ModelChoiceField (@smcoll),
- #397: Support defining Meta in a ModelForm's parent.
- #394: Add comment about keyCode issue with Webkit; check for charCode==0
2.1.0rc2: Maintain BC again in autocomplete_light ns until dj19
2.1.0rc1: Friendship release
BACKWARD COMPATIBILITY BREAK
There was a bug which caused registering an autocomplete with a model
attribute to be renamed by the registry to prefix the autocomplete name
with the model name. This should not be the case anymore, but some
autocomplete names might have changed in your project if you've been
working around that bug by using the buggy name rather than forcing name=
uppon registration. Example:
class Foo(YourBaseAutocomplete):
model = Bar
autocomplete_light.register(Foo)
The above example Would cause 'FooBar' to be registered, but now it's just
'Foo' as expected. So if you're using 'FooBar' instead of 'Foo' anywhere it
should break. See #323 / 255263e61 for gory details.
DEPRECATION WARNING
Because Django 1.9 is so sharp on import, ``import autocomplete_light``
should become ``import autocomplete_light.shortcuts as autocomplete_light``
in your projects. Backward compatibility will be maintained, but you don't
get all the shortcuts from ``import autocomplete_light`` anymore starting
Django 1.9.
- Django 1.8, 1.9 support: fixed warnings, use pytest-django
- #383: Support ModelForms without Meta.model
- #313: Model not acquired from AutocompleteModelBase
- #323: Only derivate the autocomplete name if both model and autocomplete
are passed
- #378: Be friendly with special html chars in values (David Aurelio)
- #381: The "open parentheses" (shift+9) cannot be typed on autocomplete
field.
- #380: PyPy support: PyPy2 tests passes without genericm2m and without
taggit. PyPy3 tests won't run because lxml won't install. (Piet Delport)
- #374: Update clear-fix with latest version,
- Also Daniel Hahler made an outstanding job in the test area, builds are a
lot faster, using tox, pytest-django.
- Daniel Hahler is the second owner of YourLabs org, way to go !
So we got 7 bugs fixed, PyPy support, Django 1.8 and Django 1.9 support (we
support 1.4 to 1.9 now).
Thanks a lot to Daniel Hahler for having couch-hosted me the last 7 days in
Berlin, we've been hacking like crazy, it was really awesome, I went there
for some hacking and now I know I have a friend for life.
See you for the next django-autocomplete-light sprint ;) Who's hosting BTW
?
2.0.9:
- #257: Got rid of RemovedInDjango18Warning deprecation warnings.
- #371: Skip unuseable virtualfields, like VoteManager for django-vote.
- #372: New PEP8 E731 support.
2.0.7:
- Removed unused module (autocomplete_light.generic),
- choices_for_request: assert that search_fields is not a string
- #354: Choices=[] should not crash.
- also: cleaned 2.x, code coverage increase
- also: stable/2.x.x deprecated in favor of master
- also: tests against django (1.8) master enabled but allowed to fail
- also: promoted @blueyed to core-dev, rock'on B)
2.0.6: #282: add-another in admin too (see message for 02a555cef3d)
2.0.5: Code removal
2.0.4: #347: Django 1.7 AppConfig support
2.0.3: #337: Fixed error in text_widget.js
2.0.2
- #334: Fixed display of autocomplete with clearfix (by @madEng84)
- #336: Added compiled po files
- #335: Removed debug statement
2.0.1: Initial stable release
2.0.0a18: #292: Enable clear-ing nullable GFKs with the form.
2.0.0a17: #280: Do not depend on django on install.
2.0.0a16:
- #252: Not all INSTALLED_APPS are modules (Django 1.7),
- #270: SelectMultipleHelpTextRemovalMixin multiple language support,
- #267: Delegate add-another url generation to Autocomplete class,
- #269: make build_widget_attrs thread-safe,
- #250: Fix ChoiceField.get_choices(),
- #192: Auto-load local jquery if not loaded already,
- Django 1.7b2 support.
2.0.0a15:
- Honor Meta.widgets,
- Added .modern-style class for autocomplete widget,
2.0.0a14: Added missing extensions to MANIFEST
2.0.0a13: Fix #244: Added ajax loading in input.autocomplete.
2.0.0a12: !! BC BREAK !! Renamed input_attrs to attrs to be consistent
with django.
2.0.0a11:
- #241 IE11 compatibility fix on text autocomplete contributed by Jonathan
Wiklund (@MaZZly)
2.0.0a10:
- Implemented autocomplete_names support to override the default
Autocomplete class used for a given model form field,
- Make the first Autocomplete class the default autocomplete (for generic
and model).
- Implemented lazy autocompletes: you can refer to an autocomplete class
before it is discovered.
- Import TaggitField and TaggitWidget in autocomplete_light.
2.0.0a9:
- Fix #219: autocompletes now convert None value to an empty list, as
Autocomplete promises that values is a list. (Fixed gfk in inlines)
- Fix #226: improved css/js positioning.
- Fix #231: widget.js was re-initializing widgets.
- Fixed taggit support
- Fix: label was not set for gmtm and gfk in inlines.
2.0.0a8:
- Updated pt_BR translation contributed by Fábio C. Barrionuevo da Luz (@luzfcb).
2.0.0a7:
- Removed a layer of complexity by trading autocomplete_js_attributes and
widget_js_attributes for attrs (for input/autocomplete object) and widget_attrs
(for widget container/widget js object).
- Fixed naming conventions issues:
- #124: css class .choiceDetail should be .choice-detail, same for
.choiceUpdate
- #97: rename .div css class to .block,
- Fixed #84: data-autocomplete-placeholder is gone in favor of the
placeholder attribute.
- Fixed #82: data-* is not parsed anymore by yourlabs.Widget, data-widget-*
is parsed for options instead.
- Fixed #81: js Autocomplete object now parses data-autocomplete-* for
options,
- Fixed #80: js maxValues is now maximumValues.
- Fixed #27: refactored selenium tests to be able to test any example app.
- Bugfix: get_autocomplete_from_arg returned wrong autocomplete in two cases
2.0.0a6:
- Simplified widget template selection.
2.0.0a5:
- Support for Django 1.6's ModelForm.Meta.fields = '__all__', generic fk
and generic m2m autocomplete fields were not created.
2.0.0a4:
- Fix #204: Restore AutocompleteModelBase as default,
- Fix #205: Support Python3 in views,
- Fixed 404 response in AutocompleteView.
2.0.0a3:
- Do not interfere with non-autocomplete-enabled form fields,
- Ported taggit support to Python3,
- Renamed TaggitTagField to TaggitField and integrated TaggitField into
autocomplete_light.ModelForm,
2.0.0a2:
- Make AutocompleteModelTemplate the default autocomplete base for models.
- Added ChoiceField and MultipleChoiceField.
- Renamed .div class to .block, backward compatibility is preserved.
- BC Break: Restyled autocomplete widget to look more modern. If you want
the old style back, include autocomplete_light/old_style.css.
2.0.0a1:
- Fix #168: ensure that autocompletion inputs behaves like django
when it comes to values that were removed from the queryset.
2.0.0pre:
There are minor backward compatibility breaks due to the
reorganization of form classes. The best way to upgrade is to
inherit from autocomplete_light.ModelForm.
- autocomplete_light.FixedModelForm was renamed to
autocomplete_light.SelectMultipleHelpTextRemovalMixin and is now
a mixin for ModelForm. Inherit from both that and
django.forms.ModelForm to get the same.
- GenericModelForm was renamed to
GenericM2MRelatedObjectDescriptorHandlingMixin and is now a mixin
for ModelForm. Inherit from both that and django.forms.ModelForm
to get the same.
- get_widgets_dict is gone, because we now favor using form fields
which do validation where it's due: on POST.
- using widgets should still work, but using the new form fields is
better because it enables DRY validation: you don't have to
hardcode the queryset on the form field definition anymore.
To fix those, just inherit from autocomplete_light.ModelForm if
possible, else check the form API details in the source or
generated API documentation:
- https://django-autocomplete-light.readthedocs.io/en/v2/form.html#module-autocomplete_light.forms
New features:
- Added form fields, which are now in charge of validation,
- Added ModelForm which includes all features previously provided as
separated tools (generic m2m support, django issue #9321, etc, etc ...)
and overrides django's form field generator to automatically use
autocomplete fields when possible, even for generic relations.
- Python3 support.
- Tests rely on apps provided in the autocomplete_light.tests.apps
submodule instead of those provided by test_project. This make tests
potentially runnable on a user project (except that the user project
still needs to add those apps in INSTALLED_APPS).
1.4.9: Fix #193: IE8 support hacks.
1.4.8: Fix #195: RegistryView got broken on recent Django versions.
1.4.7:
- Fix #190: Remove Django 1.6 Depreciation Warning,
- Fix #189: Fixed support for USE_THOUSAND_SEPARATOR.
1.4.6:
- Fix #188: Added debouncing in autocomplete.js,
- Fix #173: load static from staticfiles.
1.4.5:
- Fix #180: Support HTTPS in remote.js,
- Fix #184: Mouse support upgrade in focus management,
- Fix #182: Removed hard-coded class="" attribute.
1.4.4: Improved IE7 and IE8 support, thanks @rhunwicks
1.4.3:
- Fix Added option clearInputOnSelectChoice, patch by @vosi
- Fix uninitialized js key, patch by @vosi
- Escape choices before putting them in html, patch by @voidus
- Added Simon Kohlmeyer to AUTHORS (Volodymyr was there already).
1.4.2 Fix #164: Support iterables in AutocompleteModel.order_by.
1.4.1
- Fix #163: Use ._default_manager instead of .objects. Thanks @kakulukia
1.4.0
- BC Break: Default split_words to False again, to **not** match behaviour
from django.contrib.admin which is definitively too naive. (Thanks
kezabelle for helping in this decision). This means that the default
behaviour is like pre-1.3.0 again.
- Enable split_words='or' to use "OR" conditions on splitted words.
- Set order_by=None by default in AutocompleteModel.
- Added missing docstrings.
- Made it easier to spot failing tests.
- Covered all combinations with tests.
1.3.1
- Support django 1.5 RelatedFieldWidgetWrapper in
FixedModelForm,
- Support django-responsive-admin theme (and probably many
other customisations) by adding a div with clear:both after
the widget.
1.3.0
- BC Break: Default split_words to True, to match behaviour from
django.contrib.admin.
- Added split_words and improved search_fields support for
AutocompleteGeneric.
- Fix #161: Avoid focusing on next field on widget initialization.
1.2.6 Fixed wrong docstring.
1.2.5 Raise AutocompleteNotRegistered instead of KeyError in
Registry.__getitem__.
1.2.4 @g1itch: Support hyphens in generic autocomplete object pks.
1.2.3 @mislavcimpersak: Croatian i18n
1.2.2 @g1itch: Rusisan i18n
1.2.1 @jojax: Fix innefective test on is popup, in autocomplete CreateView
1.2.0
- Fix #132: removed dead line of code, and restored compatibility with
autocomplete-light <1.1.29,
- Implement #136: AutocompleteModel.split_words
- Auto-hilight the first choice.
- Fix #135: AutocompleteModel is not compatible with Django 1.3
1.1.31 Fix #129: Firefox support in JS positioning code.
1.1.30 Polish translation contributed by Michał Pasternak.
1.1.29 Fix #126: support .clone(true) with values.
WARNING: This version broke cloning widgets in some cases. This was reported in
#132 and fixed in 1.2.0.
1.1.28 Regression fix: hide choiceDetail and choiceUpdate from the autocomplete
box.
This fixes the default model template, see in test_project:
http://localhost:8000/admin/default_template_autocomplete/testmodel/add/
The test_project now includes demos created by Michał Pasternak. Thankssss !
1.1.27 Fix #117: django-grappelli support.
Contributed by Michał Pasternak.
1.1.26
- Fixed #114: Use widget_template attr only when set.
- Fixed #111: Support jQuery's clone(true).
1.1.25 Fixed #108: generic inline support.
1.1.24
- Allow to override the default AutocompleteModelBase class used by register()
- Implemented django-hvad support
1.1.23: Removed django from install_requires, fixes pip install -U
1.1.22: Fixed DeprecationWarning for Django 1.5.
1.1.21 Bugfix: box was not re-shown after inputing twice the same string
of minimumCharacters length.
1.1.20 Click on modal overlay closes the popup windo
1.1.19 Make add-another popup a modality
1.1.18 Center add-another popup on screen
1.1.17 Update fr locale
1.1.16 Django 1.5 compatibility. Credit: Patrick Taylor
1.1.15 Fix #99: choices kwarg was ignored
1.1.14 Bugfix: fetchComplete now ready for textStatus == 'abort'
1.1.13
- Enhancement #78: search_fields more like admin,
- Bugfix: closed brackets in style.css (thanks papalagichen)
1.1.12 Enabled CSRF.