Hello community,

here is the log from the commit of package python-django-crispy-forms for 
openSUSE:Factory checked in at 2020-01-07 23:54:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-django-crispy-forms (Old)
 and      /work/SRC/openSUSE:Factory/.python-django-crispy-forms.new.6675 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-django-crispy-forms"

Tue Jan  7 23:54:27 2020 rev:6 rq:761489 version:1.8.1

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-django-crispy-forms/python-django-crispy-forms.changes
    2019-10-30 14:49:05.630263633 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-django-crispy-forms.new.6675/python-django-crispy-forms.changes
  2020-01-07 23:54:47.620076166 +0100
@@ -1,0 +2,8 @@
+Tue Jan  7 09:29:18 UTC 2020 - Tomáš Chvátal <tchva...@suse.com>
+
+- Update to 1.8.1:
+  * Fixing FileField UI bug introduced with 1.8.0
+  * Remove is-valid css class for radio (bug introduced with 1.8.0)
+  * Various alignment and margin fixes for Bootstrap 4 template pack
+
+-------------------------------------------------------------------

Old:
----
  django-crispy-forms-1.8.0.tar.gz

New:
----
  django-crispy-forms-1.8.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-django-crispy-forms.spec ++++++
--- /var/tmp/diff_new_pack.zanC2S/_old  2020-01-07 23:54:48.120076426 +0100
+++ /var/tmp/diff_new_pack.zanC2S/_new  2020-01-07 23:54:48.120076426 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-django-crispy-forms
 #
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 %define mod_name django-crispy-forms
 Name:           python-%{mod_name}
-Version:        1.8.0
+Version:        1.8.1
 Release:        0
 Summary:        Django DRY Forms
 License:        MIT

++++++ django-crispy-forms-1.8.0.tar.gz -> django-crispy-forms-1.8.1.tar.gz 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-crispy-forms-1.8.0/CONTRIBUTORS.txt 
new/django-crispy-forms-1.8.1/CONTRIBUTORS.txt
--- old/django-crispy-forms-1.8.0/CONTRIBUTORS.txt      2017-02-22 
11:58:37.000000000 +0100
+++ new/django-crispy-forms-1.8.1/CONTRIBUTORS.txt      2019-11-22 
14:50:36.000000000 +0100
@@ -107,3 +107,4 @@
 * Yoong Kang Lim <yoongkang>
 * Dmitry Dygalo <Stranger6667>
 * Lee Skillen <lskillen>
+* Bryan Brancotte <bryan-brancotte>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-crispy-forms-1.8.0/PKG-INFO 
new/django-crispy-forms-1.8.1/PKG-INFO
--- old/django-crispy-forms-1.8.0/PKG-INFO      2019-10-17 17:25:16.000000000 
+0200
+++ new/django-crispy-forms-1.8.1/PKG-INFO      2019-11-22 14:51:01.000000000 
+0100
@@ -1,8 +1,8 @@
 Metadata-Version: 1.1
 Name: django-crispy-forms
-Version: 1.8.0
+Version: 1.8.1
 Summary: Best way to have Django DRY forms
-Home-page: http://github.com/djang-crispy-forms/django-crispy-forms
+Home-page: https://github.com/django-crispy-forms/django-crispy-forms
 Author: Miguel Araujo
 Author-email: miguel.araujo.pe...@gmail.com
 License: MIT
@@ -10,7 +10,7 @@
         django-crispy-forms
         ===================
         
-        .. image:: 
https://travis-ci.org/django-crispy-forms/django-crispy-forms.png?branch=dev
+        .. image:: 
https://travis-ci.org/django-crispy-forms/django-crispy-forms.png?branch=master
            :alt: Build Status
            :target: 
https://travis-ci.org/django-crispy-forms/django-crispy-forms
         
@@ -83,6 +83,7 @@
 Classifier: Framework :: Django :: 1.11
 Classifier: Framework :: Django :: 2.1
 Classifier: Framework :: Django :: 2.2
+Classifier: Framework :: Django :: 3.0
 Classifier: License :: OSI Approved :: MIT License
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: JavaScript
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-crispy-forms-1.8.0/README.rst 
new/django-crispy-forms-1.8.1/README.rst
--- old/django-crispy-forms-1.8.0/README.rst    2019-10-17 17:14:45.000000000 
+0200
+++ new/django-crispy-forms-1.8.1/README.rst    2019-10-23 14:28:10.000000000 
+0200
@@ -2,7 +2,7 @@
 django-crispy-forms
 ===================
 
-.. image:: 
https://travis-ci.org/django-crispy-forms/django-crispy-forms.png?branch=dev
+.. image:: 
https://travis-ci.org/django-crispy-forms/django-crispy-forms.png?branch=master
    :alt: Build Status
    :target: https://travis-ci.org/django-crispy-forms/django-crispy-forms
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-crispy-forms-1.8.0/crispy_forms/__init__.py 
new/django-crispy-forms-1.8.1/crispy_forms/__init__.py
--- old/django-crispy-forms-1.8.0/crispy_forms/__init__.py      2019-10-17 
17:14:45.000000000 +0200
+++ new/django-crispy-forms-1.8.1/crispy_forms/__init__.py      2019-11-22 
14:50:36.000000000 +0100
@@ -1,3 +1,3 @@
 # -*- coding: utf-8 -*-
 
-__version__ = '1.8.0'
+__version__ = '1.8.1'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-crispy-forms-1.8.0/crispy_forms/bootstrap.py 
new/django-crispy-forms-1.8.1/crispy_forms/bootstrap.py
--- old/django-crispy-forms-1.8.0/crispy_forms/bootstrap.py     2017-10-17 
16:10:19.000000000 +0200
+++ new/django-crispy-forms-1.8.1/crispy_forms/bootstrap.py     2019-11-22 
14:44:09.000000000 +0100
@@ -130,7 +130,7 @@
 
 class FieldWithButtons(Div):
     template = '%s/layout/field_with_buttons.html'
-    field_template = '%s/layout/field.html'
+    field_template = '%s/field.html'
 
     def render(self, form, form_style, context, template_pack=TEMPLATE_PACK, 
extra_context=None, **kwargs):
         # We first render the buttons
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-crispy-forms-1.8.0/crispy_forms/helper.py 
new/django-crispy-forms-1.8.1/crispy_forms/helper.py
--- old/django-crispy-forms-1.8.0/crispy_forms/helper.py        2019-10-17 
17:14:45.000000000 +0200
+++ new/django-crispy-forms-1.8.1/crispy_forms/helper.py        2019-11-22 
14:44:09.000000000 +0100
@@ -356,36 +356,33 @@
         Used by crispy_forms_tags to get helper attributes
         """
         items = {
+            'disable_csrf': self.disable_csrf,
+            'error_text_inline': self.error_text_inline,
+            'field_class': self.field_class,
+            'field_template':
+                self.field_template or '%s/field.html' % template_pack,
             'form_method': self.form_method.strip(),
-            'form_tag': self.form_tag,
-            'form_style': self.form_style.strip(),
             'form_show_errors': self.form_show_errors,
+            'form_show_labels': self.form_show_labels,
+            'form_style': self.form_style.strip(),
+            'form_tag': self.form_tag,
             'help_text_inline': self.help_text_inline,
-            'error_text_inline': self.error_text_inline,
             'html5_required': self.html5_required,
-            'form_show_labels': self.form_show_labels,
-            'disable_csrf': self.disable_csrf,
-            'use_custom_control': self.use_custom_control,
+            'include_media': self.include_media,
             'label_class': self.label_class,
-            'field_class': self.field_class,
-            'include_media': self.include_media
+            'use_custom_control': self.use_custom_control,
         }
-        
+
         if template_pack == 'bootstrap4':
-            bootstrap_size_match = re.findall(r'col-(xl|lg|md|sm)-(\d+)', 
self.label_class)
-            if bootstrap_size_match:
-                if template_pack == 'bootstrap4':
+            if 'form-horizontal' in self.form_class.split():
+                bootstrap_size_match = re.findall(r'col-(xl|lg|md|sm)-(\d+)', 
self.label_class)
+                if bootstrap_size_match:
                     offset_pattern = 'offset-%s-%s'
-                else:
-                    offset_pattern = 'col-%s-offset-%s'
-                items['bootstrap_checkbox_offsets'] = [offset_pattern % m for 
m in bootstrap_size_match]
+                    items['bootstrap_checkbox_offsets'] = [offset_pattern % m 
for m in bootstrap_size_match]
         else:
             bootstrap_size_match = re.findall(r'col-(lg|md|sm|xs)-(\d+)', 
self.label_class)
             if bootstrap_size_match:
-                if template_pack == 'bootstrap4':
-                    offset_pattern = 'offset-%s-%s'
-                else:
-                    offset_pattern = 'col-%s-offset-%s'
+                offset_pattern = 'col-%s-offset-%s'
                 items['bootstrap_checkbox_offsets'] = [offset_pattern % m for 
m in bootstrap_size_match]
 
         items['attrs'] = {}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-crispy-forms-1.8.0/crispy_forms/layout.py 
new/django-crispy-forms-1.8.1/crispy_forms/layout.py
--- old/django-crispy-forms-1.8.0/crispy_forms/layout.py        2019-10-17 
17:14:45.000000000 +0200
+++ new/django-crispy-forms-1.8.1/crispy_forms/layout.py        2019-11-22 
14:44:09.000000000 +0100
@@ -370,28 +370,21 @@
 
         Row('form_field_1', 'form_field_2', 'form_field_3')
     """
-
-    def __init__(self, *args, **kwargs):
-        # Map template packs to the css class they need here.
-        # TODO: This is a _Smell_. There should be a factory which creates a
-        #       template pack specific subclass. (Or such...)
-        row_class_map = {
-            'uni_form': 'formRow',
-            'bootstrap4': 'form-row',
-            'bootstrap3': 'row',
-        }
-        # Fetch the class, with a suitable default.
-        self.css_class = row_class_map.get(get_template_pack(), 'row')
-        super(Row, self).__init__(*args, **kwargs)
+    template = "%s/layout/row.html"
 
 
 class Column(Div):
     """
-    Layout object. It wraps fields in a div whose default class is 
"formColumn". Example::
+    Layout object. It wraps fields in a div so the wrapper can be used as a 
column. Example::
 
         Column('form_field_1', 'form_field_2')
+
+    Depending on the template, css class associated to the div is formColumn, 
row, or nothing. For this last case, you
+     must provide css classes. Example::
+
+        Column('form_field_1', 'form_field_2', css_class='col-xs-6',)
     """
-    css_class = 'formColumn'
+    template = "%s/layout/column.html"
 
 
 class HTML(object):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/django-crispy-forms-1.8.0/crispy_forms/templates/bootstrap/layout/column.html
 
new/django-crispy-forms-1.8.1/crispy_forms/templates/bootstrap/layout/column.html
--- 
old/django-crispy-forms-1.8.0/crispy_forms/templates/bootstrap/layout/column.html
   1970-01-01 01:00:00.000000000 +0100
+++ 
new/django-crispy-forms-1.8.1/crispy_forms/templates/bootstrap/layout/column.html
   2019-11-22 14:44:09.000000000 +0100
@@ -0,0 +1,3 @@
+<div {% if div.css_id %}id="{{ div.css_id }}"{% endif %} class="{{ 
div.css_class|default:'' }}" {{ div.flat_attrs|safe }}>
+        {{ fields|safe }}
+</div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/django-crispy-forms-1.8.0/crispy_forms/templates/bootstrap/layout/row.html 
new/django-crispy-forms-1.8.1/crispy_forms/templates/bootstrap/layout/row.html
--- 
old/django-crispy-forms-1.8.0/crispy_forms/templates/bootstrap/layout/row.html  
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/django-crispy-forms-1.8.1/crispy_forms/templates/bootstrap/layout/row.html  
    2019-11-22 14:44:09.000000000 +0100
@@ -0,0 +1,3 @@
+<div {% if div.css_id %}id="{{ div.css_id }}"{% endif %} class="row {{ 
div.css_class|default:'' }}" {{ div.flat_attrs|safe }}>
+        {{ fields|safe }}
+</div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/django-crispy-forms-1.8.0/crispy_forms/templates/bootstrap/uni_form.html 
new/django-crispy-forms-1.8.1/crispy_forms/templates/bootstrap/uni_form.html
--- 
old/django-crispy-forms-1.8.0/crispy_forms/templates/bootstrap/uni_form.html    
    2019-09-19 16:26:12.000000000 +0200
+++ 
new/django-crispy-forms-1.8.1/crispy_forms/templates/bootstrap/uni_form.html    
    2019-11-22 14:44:09.000000000 +0100
@@ -6,6 +6,6 @@
         {% include "bootstrap/errors.html" %}
     {% endif %}
     {% for field in form %}
-        {% include field_template|default:"bootstrap/field.html" %}
+        {% include field_template %}
     {% endfor %}
 {% endspecialspaceless %}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/django-crispy-forms-1.8.0/crispy_forms/templates/bootstrap3/layout/column.html
 
new/django-crispy-forms-1.8.1/crispy_forms/templates/bootstrap3/layout/column.html
--- 
old/django-crispy-forms-1.8.0/crispy_forms/templates/bootstrap3/layout/column.html
  1970-01-01 01:00:00.000000000 +0100
+++ 
new/django-crispy-forms-1.8.1/crispy_forms/templates/bootstrap3/layout/column.html
  2019-11-22 14:44:09.000000000 +0100
@@ -0,0 +1,3 @@
+<div {% if div.css_id %}id="{{ div.css_id }}"{% endif %} class="formColumn {{ 
div.css_class|default:'' }}" {{ div.flat_attrs|safe }}>
+        {{ fields|safe }}
+</div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/django-crispy-forms-1.8.0/crispy_forms/templates/bootstrap3/layout/row.html 
new/django-crispy-forms-1.8.1/crispy_forms/templates/bootstrap3/layout/row.html
--- 
old/django-crispy-forms-1.8.0/crispy_forms/templates/bootstrap3/layout/row.html 
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/django-crispy-forms-1.8.1/crispy_forms/templates/bootstrap3/layout/row.html 
    2019-11-22 14:44:09.000000000 +0100
@@ -0,0 +1,3 @@
+<div {% if div.css_id %}id="{{ div.css_id }}"{% endif %} class="row {{ 
div.css_class|default:'' }}" {{ div.flat_attrs|safe }}>
+        {{ fields|safe }}
+</div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/django-crispy-forms-1.8.0/crispy_forms/templates/bootstrap3/uni_form.html 
new/django-crispy-forms-1.8.1/crispy_forms/templates/bootstrap3/uni_form.html
--- 
old/django-crispy-forms-1.8.0/crispy_forms/templates/bootstrap3/uni_form.html   
    2019-09-19 16:26:12.000000000 +0200
+++ 
new/django-crispy-forms-1.8.1/crispy_forms/templates/bootstrap3/uni_form.html   
    2019-11-22 14:44:09.000000000 +0100
@@ -6,6 +6,6 @@
         {% include "bootstrap3/errors.html" %}
     {% endif %}
     {% for field in form %}
-        {% include field_template|default:"bootstrap3/field.html" %}
+        {% include field_template %}
     {% endfor %}
 {% endspecialspaceless %}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/django-crispy-forms-1.8.0/crispy_forms/templates/bootstrap4/errors.html 
new/django-crispy-forms-1.8.1/crispy_forms/templates/bootstrap4/errors.html
--- old/django-crispy-forms-1.8.0/crispy_forms/templates/bootstrap4/errors.html 
2016-01-07 21:15:59.000000000 +0100
+++ new/django-crispy-forms-1.8.1/crispy_forms/templates/bootstrap4/errors.html 
2019-10-23 14:28:10.000000000 +0200
@@ -1,7 +1,7 @@
 {% if form.non_field_errors %}
     <div class="alert alert-block alert-danger">
         {% if form_error_title %}<h4 class="alert-heading">{{ form_error_title 
}}</h4>{% endif %}
-        <ul>
+        <ul class="m-0">
             {{ form.non_field_errors|unordered_list }}
         </ul>
     </div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/django-crispy-forms-1.8.0/crispy_forms/templates/bootstrap4/errors_formset.html
 
new/django-crispy-forms-1.8.1/crispy_forms/templates/bootstrap4/errors_formset.html
--- 
old/django-crispy-forms-1.8.0/crispy_forms/templates/bootstrap4/errors_formset.html
 2016-01-07 21:15:59.000000000 +0100
+++ 
new/django-crispy-forms-1.8.1/crispy_forms/templates/bootstrap4/errors_formset.html
 2019-10-23 14:28:10.000000000 +0200
@@ -1,7 +1,7 @@
 {% if formset.non_form_errors %}
     <div class="alert alert-block alert-danger">
         {% if formset_error_title %}<h4 class="alert-heading">{{ 
formset_error_title }}</h4>{% endif %}
-        <ul>
+        <ul class="m-0">
             {{ formset.non_form_errors|unordered_list }}
         </ul>
     </div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/django-crispy-forms-1.8.0/crispy_forms/templates/bootstrap4/field.html 
new/django-crispy-forms-1.8.1/crispy_forms/templates/bootstrap4/field.html
--- old/django-crispy-forms-1.8.0/crispy_forms/templates/bootstrap4/field.html  
2019-10-16 21:06:03.000000000 +0200
+++ new/django-crispy-forms-1.8.1/crispy_forms/templates/bootstrap4/field.html  
2019-11-22 14:44:09.000000000 +0100
@@ -35,7 +35,7 @@
                     {{ field.label|safe }}{% if field.field.required %}<span 
class="asteriskField">*</span>{% endif %}
                 </label>
                 {% include 'bootstrap4/layout/help_text_and_errors.html' %}
-            {% elif field|is_file %}
+            {% elif field|is_file and not field|is_clearable_file and 
use_custom_control  %}
                 {% include 'bootstrap4/layout/field_file.html' %}
             {% else %}
                 <div class="{{ field_class }}">
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/django-crispy-forms-1.8.0/crispy_forms/templates/bootstrap4/layout/checkboxselectmultiple.html
 
new/django-crispy-forms-1.8.1/crispy_forms/templates/bootstrap4/layout/checkboxselectmultiple.html
--- 
old/django-crispy-forms-1.8.0/crispy_forms/templates/bootstrap4/layout/checkboxselectmultiple.html
  2019-10-16 21:06:03.000000000 +0200
+++ 
new/django-crispy-forms-1.8.1/crispy_forms/templates/bootstrap4/layout/checkboxselectmultiple.html
  2019-11-22 14:44:09.000000000 +0100
@@ -5,7 +5,7 @@
 
     {% for choice in field.field.choices %}
     <div class="{%if use_custom_control%}custom-control custom-checkbox{% if 
inline_class %} custom-control-inline{% endif %}{% else %}form-check{% if 
inline_class %} form-check-inline{% endif %}{% endif %}">
-        <input type="checkbox" class="{%if 
use_custom_control%}custom-control-input{% else %}form-check-input{% endif 
%}{%if is_bound %} is-{% if field.errors %}in{%endif%}valid{% endif %}"{% if 
choice.0 in field.value or choice.0|stringformat:"s" in field.value or 
choice.0|stringformat:"s" == field.value|default_if_none:""|stringformat:"s" %} 
checked="checked"{% endif %} name="{{ field.html_name }}" id="id_{{ 
field.html_name }}_{{ forloop.counter }}" value="{{ choice.0|unlocalize }}" {{ 
field.field.widget.attrs|flatatt }}>
+        <input type="checkbox" class="{%if 
use_custom_control%}custom-control-input{% else %}form-check-input{% endif %}{% 
if field.errors %} is-invalid{% endif %}"{% if choice.0 in field.value or 
choice.0|stringformat:"s" in field.value or choice.0|stringformat:"s" == 
field.value|default_if_none:""|stringformat:"s" %} checked="checked"{% endif %} 
name="{{ field.html_name }}" id="id_{{ field.html_name }}_{{ forloop.counter 
}}" value="{{ choice.0|unlocalize }}" {{ field.field.widget.attrs|flatatt }}>
         <label class="{%if use_custom_control%}custom-control-label{% else 
%}form-check-label{% endif %}" for="id_{{ field.html_name }}_{{ forloop.counter 
}}">
             {{ choice.1|unlocalize }}
         </label>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/django-crispy-forms-1.8.0/crispy_forms/templates/bootstrap4/layout/column.html
 
new/django-crispy-forms-1.8.1/crispy_forms/templates/bootstrap4/layout/column.html
--- 
old/django-crispy-forms-1.8.0/crispy_forms/templates/bootstrap4/layout/column.html
  1970-01-01 01:00:00.000000000 +0100
+++ 
new/django-crispy-forms-1.8.1/crispy_forms/templates/bootstrap4/layout/column.html
  2019-11-22 14:44:09.000000000 +0100
@@ -0,0 +1,3 @@
+<div {% if div.css_id %}id="{{ div.css_id }}"{% endif %} class="col {{ 
div.css_class|default:'' }}" {{ div.flat_attrs|safe }}>
+        {{ fields|safe }}
+</div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/django-crispy-forms-1.8.0/crispy_forms/templates/bootstrap4/layout/field_file.html
 
new/django-crispy-forms-1.8.1/crispy_forms/templates/bootstrap4/layout/field_file.html
--- 
old/django-crispy-forms-1.8.0/crispy_forms/templates/bootstrap4/layout/field_file.html
      2019-10-16 21:06:03.000000000 +0200
+++ 
new/django-crispy-forms-1.8.1/crispy_forms/templates/bootstrap4/layout/field_file.html
      2019-11-22 14:44:09.000000000 +0100
@@ -4,4 +4,13 @@
     {% crispy_field field 'class' 'custom-file-input' %}
     <label class="custom-file-label" for="{{ field.id_for_label }}">Choose 
file</label>
     {% include 'bootstrap4/layout/help_text_and_errors.html' %}
+    <script type="text/javascript" id="script-{{ field.id_for_label }}">       
 
+        document.getElementById("script-{{ field.id_for_label 
}}").parentNode.querySelector('.custom-file-input').onchange =  function (e){
+            var filenames = "";
+            for (let i=0;i<e.target.files.length;i++){
+                filenames+=(i>0?", ":"")+e.target.files[0].name;
+            }
+            
e.target.parentNode.querySelector('.custom-file-label').innerHTML=filenames;    
+        }        
+    </script>
 </div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/django-crispy-forms-1.8.0/crispy_forms/templates/bootstrap4/layout/formactions.html
 
new/django-crispy-forms-1.8.1/crispy_forms/templates/bootstrap4/layout/formactions.html
--- 
old/django-crispy-forms-1.8.0/crispy_forms/templates/bootstrap4/layout/formactions.html
     2018-03-15 16:14:26.000000000 +0100
+++ 
new/django-crispy-forms-1.8.1/crispy_forms/templates/bootstrap4/layout/formactions.html
     2019-11-22 14:44:09.000000000 +0100
@@ -1,4 +1,4 @@
-<div{% if formactions.attrs %} {{ formactions.flat_attrs|safe }}{% endif %} 
class="form-group row">
+<div{% if formactions.attrs %} {{ formactions.flat_attrs|safe }}{% endif %} 
class="form-group">
     {% if label_class %}
         <div class="aab {{ label_class }}"></div>
     {% endif %}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/django-crispy-forms-1.8.0/crispy_forms/templates/bootstrap4/layout/radioselect.html
 
new/django-crispy-forms-1.8.1/crispy_forms/templates/bootstrap4/layout/radioselect.html
--- 
old/django-crispy-forms-1.8.0/crispy_forms/templates/bootstrap4/layout/radioselect.html
     2019-10-16 21:06:03.000000000 +0200
+++ 
new/django-crispy-forms-1.8.1/crispy_forms/templates/bootstrap4/layout/radioselect.html
     2019-11-22 14:44:09.000000000 +0100
@@ -5,7 +5,7 @@
 
     {% for choice in field.field.choices %}
       <div class="{%if use_custom_control%}custom-control custom-radio{% if 
inline_class %} custom-control-inline{% endif %}{% else %}form-check{% if 
inline_class %} form-check-inline{% endif %}{% endif %}">
-        <input type="radio" class="{%if 
use_custom_control%}custom-control-input{% else %}form-check-input{% endif 
%}{%if is_bound %} is-{% if field.errors %}in{%endif%}valid{% endif %}"{% if 
choice.0|stringformat:"s" == field.value|default_if_none:""|stringformat:"s" %} 
checked="checked"{% endif %} name="{{ field.html_name }}" id="id_{{ 
field.html_name }}_{{ forloop.counter }}" value="{{ choice.0|unlocalize }}" {{ 
field.field.widget.attrs|flatatt }}>
+        <input type="radio" class="{%if 
use_custom_control%}custom-control-input{% else %}form-check-input{% endif %}{% 
if field.errors %} is-invalid{% endif %}"{% if choice.0|stringformat:"s" == 
field.value|default_if_none:""|stringformat:"s" %} checked="checked"{% endif %} 
name="{{ field.html_name }}" id="id_{{ field.html_name }}_{{ forloop.counter 
}}" value="{{ choice.0|unlocalize }}" {{ field.field.widget.attrs|flatatt }}>
         <label for="id_{{ field.html_name }}_{{ forloop.counter }}" 
class="{%if use_custom_control%}custom-control-label{% else 
%}form-check-label{% endif %}">
             {{ choice.1|unlocalize }}
         </label>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/django-crispy-forms-1.8.0/crispy_forms/templates/bootstrap4/layout/row.html 
new/django-crispy-forms-1.8.1/crispy_forms/templates/bootstrap4/layout/row.html
--- 
old/django-crispy-forms-1.8.0/crispy_forms/templates/bootstrap4/layout/row.html 
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/django-crispy-forms-1.8.1/crispy_forms/templates/bootstrap4/layout/row.html 
    2019-11-22 14:44:09.000000000 +0100
@@ -0,0 +1,3 @@
+<div {% if div.css_id %}id="{{ div.css_id }}"{% endif %} class="form-row {{ 
div.css_class|default:'' }}" {{ div.flat_attrs|safe }}>
+        {{ fields|safe }}
+</div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/django-crispy-forms-1.8.0/crispy_forms/templates/bootstrap4/uni_form.html 
new/django-crispy-forms-1.8.1/crispy_forms/templates/bootstrap4/uni_form.html
--- 
old/django-crispy-forms-1.8.0/crispy_forms/templates/bootstrap4/uni_form.html   
    2019-09-19 16:26:12.000000000 +0200
+++ 
new/django-crispy-forms-1.8.1/crispy_forms/templates/bootstrap4/uni_form.html   
    2019-11-22 14:44:09.000000000 +0100
@@ -6,6 +6,6 @@
         {% include "bootstrap4/errors.html" %}
     {% endif %}
     {% for field in form %}
-        {% include field_template|default:"bootstrap4/field.html" %}
+        {% include field_template %}
     {% endfor %}
 {% endspecialspaceless %}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/django-crispy-forms-1.8.0/crispy_forms/templates/uni_form/layout/column.html
 
new/django-crispy-forms-1.8.1/crispy_forms/templates/uni_form/layout/column.html
--- 
old/django-crispy-forms-1.8.0/crispy_forms/templates/uni_form/layout/column.html
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/django-crispy-forms-1.8.1/crispy_forms/templates/uni_form/layout/column.html
    2019-11-22 14:44:09.000000000 +0100
@@ -0,0 +1,3 @@
+<div {% if div.css_id %}id="{{ div.css_id }}"{% endif %} class="formColumn {{ 
div.css_class|default:'' }}" {{ div.flat_attrs|safe }}>
+        {{ fields|safe }}
+</div>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/django-crispy-forms-1.8.0/crispy_forms/templates/uni_form/layout/row.html 
new/django-crispy-forms-1.8.1/crispy_forms/templates/uni_form/layout/row.html
--- 
old/django-crispy-forms-1.8.0/crispy_forms/templates/uni_form/layout/row.html   
    1970-01-01 01:00:00.000000000 +0100
+++ 
new/django-crispy-forms-1.8.1/crispy_forms/templates/uni_form/layout/row.html   
    2019-11-22 14:44:09.000000000 +0100
@@ -0,0 +1,4 @@
+<div {% if div.css_id %}id="{{ div.css_id }}"{% endif %} class="formRow {{ 
div.css_class|default:'' }}" {{ div.flat_attrs|safe }}>
+        {{ fields|safe }}
+</div>
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/django-crispy-forms-1.8.0/crispy_forms/templates/uni_form/uni_form.html 
new/django-crispy-forms-1.8.1/crispy_forms/templates/uni_form/uni_form.html
--- old/django-crispy-forms-1.8.0/crispy_forms/templates/uni_form/uni_form.html 
2019-09-19 16:26:12.000000000 +0200
+++ new/django-crispy-forms-1.8.1/crispy_forms/templates/uni_form/uni_form.html 
2019-11-22 14:44:09.000000000 +0100
@@ -9,7 +9,7 @@
 {% endif %}
 
 {% for field in form %}
-    {% include field_template|default:"uni_form/field.html" %}
+    {% include field_template %}
 {% endfor %}
 
 {% if form_style == "" or form_style %}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/django-crispy-forms-1.8.0/crispy_forms/templatetags/crispy_forms_field.py 
new/django-crispy-forms-1.8.1/crispy_forms/templatetags/crispy_forms_field.py
--- 
old/django-crispy-forms-1.8.0/crispy_forms/templatetags/crispy_forms_field.py   
    2019-10-16 21:06:03.000000000 +0200
+++ 
new/django-crispy-forms-1.8.1/crispy_forms/templatetags/crispy_forms_field.py   
    2019-11-22 14:44:09.000000000 +0100
@@ -43,6 +43,11 @@
 
 
 @register.filter
+def is_clearable_file(field):
+    return isinstance(field.field.widget, forms.ClearableFileInput)
+
+
+@register.filter
 def is_multivalue(field):
     return isinstance(field.field.widget, forms.MultiWidget)
 
@@ -142,7 +147,7 @@
 
             # HTML5 required attribute
             if html5_required and field.field.required and 'required' not in 
widget.attrs:
-                if field.field.widget.__class__.__name__ is not 'RadioSelect':
+                if field.field.widget.__class__.__name__ != 'RadioSelect':
                     widget.attrs['required'] = 'required'
 
             for attribute_name, attribute in attr.items():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/django-crispy-forms-1.8.0/crispy_forms/templatetags/crispy_forms_filters.py 
new/django-crispy-forms-1.8.1/crispy_forms/templatetags/crispy_forms_filters.py
--- 
old/django-crispy-forms-1.8.0/crispy_forms/templatetags/crispy_forms_filters.py 
    2019-10-10 06:46:48.000000000 +0200
+++ 
new/django-crispy-forms-1.8.1/crispy_forms/templatetags/crispy_forms_filters.py 
    2019-11-22 14:44:09.000000000 +0100
@@ -44,24 +44,19 @@
 
         {{ myform|label_class:"col-lg-2",field_class:"col-lg-8" }}
     """
+    c = Context({
+        'field_class': field_class,
+        'field_template': '%s/field.html' % template_pack,
+        'form_show_errors': True,
+        'form_show_labels': True,
+        'label_class': label_class,
+    }).flatten()
     if isinstance(form, BaseFormSet):
         template = uni_formset_template(template_pack)
-        c = Context({
-            'formset': form,
-            'form_show_errors': True,
-            'form_show_labels': True,
-            'label_class': label_class,
-            'field_class': field_class,
-        }).flatten()
+        c['formset'] = form
     else:
         template = uni_form_template(template_pack)
-        c = Context({
-            'form': form,
-            'form_show_errors': True,
-            'form_show_labels': True,
-            'label_class': label_class,
-            'field_class': field_class,
-        }).flatten()
+        c['form'] = form
 
     return template.render(c)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/django-crispy-forms-1.8.0/crispy_forms/templatetags/crispy_forms_tags.py 
new/django-crispy-forms-1.8.1/crispy_forms/templatetags/crispy_forms_tags.py
--- 
old/django-crispy-forms-1.8.0/crispy_forms/templatetags/crispy_forms_tags.py    
    2019-10-10 06:46:48.000000000 +0200
+++ 
new/django-crispy-forms-1.8.1/crispy_forms/templatetags/crispy_forms_tags.py    
    2019-11-22 14:44:09.000000000 +0100
@@ -149,28 +149,29 @@
 
         # We take form/formset parameters from attrs if they are set, 
otherwise we use defaults
         response_dict = {
-            'template_pack': self.template_pack,
-            '%s_action' % form_type: attrs['attrs'].get("action", ''),
-            '%s_method' % form_type: attrs.get("form_method", 'post'),
-            '%s_tag' % form_type: attrs.get("form_tag", True),
-            '%s_class' % form_type: attrs['attrs'].get("class", ''),
-            '%s_id' % form_type: attrs['attrs'].get("id", ""),
-            '%s_style' % form_type: attrs.get("form_style", None),
-            'form_error_title': attrs.get("form_error_title", None),
-            'formset_error_title': attrs.get("formset_error_title", None),
-            'form_show_errors': attrs.get("form_show_errors", True),
-            'help_text_inline': attrs.get("help_text_inline", False),
-            'html5_required': attrs.get("html5_required", False),
-            'form_show_labels': attrs.get("form_show_labels", True),
-            'disable_csrf': attrs.get("disable_csrf", False),
-            'inputs': attrs.get('inputs', []),
-            'is_formset': is_formset,
+            '%s_action' % form_type: attrs['attrs'].get('action', ''),
             '%s_attrs' % form_type: attrs.get('attrs', ''),
-            'flat_attrs': attrs.get('flat_attrs', ''),
+            '%s_class' % form_type: attrs['attrs'].get('class', ''),
+            '%s_id' % form_type: attrs['attrs'].get('id', ''),
+            '%s_method' % form_type: attrs.get('form_method', 'post'),
+            '%s_style' % form_type: attrs.get('form_style', None),
+            '%s_tag' % form_type: attrs.get('form_tag', True),
+            'disable_csrf': attrs.get('disable_csrf', False),
             'error_text_inline': attrs.get('error_text_inline', True),
-            'label_class': attrs.get('label_class', ''),
             'field_class': attrs.get('field_class', ''),
+            'field_template': attrs.get('field_template', ''),
+            'flat_attrs': attrs.get('flat_attrs', ''),
+            'form_error_title': attrs.get('form_error_title', None),
+            'form_show_errors': attrs.get('form_show_errors', True),
+            'form_show_labels': attrs.get('form_show_labels', True),
+            'formset_error_title': attrs.get('formset_error_title', None),
+            'help_text_inline': attrs.get('help_text_inline', False),
+            'html5_required': attrs.get('html5_required', False),
             'include_media': attrs.get('include_media', True),
+            'inputs': attrs.get('inputs', []),
+            'is_formset': is_formset,
+            'label_class': attrs.get('label_class', ''),
+            'template_pack': self.template_pack,
         }
 
         # Handles custom attributes added to helpers
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/django-crispy-forms-1.8.0/crispy_forms/tests/test_form_helper.py 
new/django-crispy-forms-1.8.1/crispy_forms/tests/test_form_helper.py
--- old/django-crispy-forms-1.8.0/crispy_forms/tests/test_form_helper.py        
2019-10-16 21:06:03.000000000 +0200
+++ new/django-crispy-forms-1.8.1/crispy_forms/tests/test_form_helper.py        
2019-11-22 14:44:09.000000000 +0100
@@ -810,14 +810,38 @@
     html = render_crispy_form(form)
 
     assert '<div class="form-group">' in html
-    assert '<div class="offset-lg-2 col-lg-8">' in html
+    assert '<div class="col-lg-8">' in html
     assert html.count('col-lg-8') == 7
+    assert 'offset' not in html
 
     form.helper.label_class = 'col-sm-3 col-md-4'
     form.helper.field_class = 'col-sm-8 col-md-6'
     html = render_crispy_form(form)
 
     assert '<div class="form-group">' in html
+    assert '<div class="col-sm-8 col-md-6">' in html
+    assert html.count('col-sm-8') == 7
+    assert 'offset' not in html
+
+
+@only_bootstrap4
+def test_label_class_and_field_class_bs4_offset_when_horizontal():
+    form = SampleForm()
+    form.helper = FormHelper()
+    form.helper.label_class = 'col-lg-2'
+    form.helper.field_class = 'col-lg-8'
+    form.helper.form_class = 'form-horizontal'
+    html = render_crispy_form(form)
+
+    assert '<div class="form-group row">' in html
+    assert '<div class="offset-lg-2 col-lg-8">' in html
+    assert html.count('col-lg-8') == 7
+
+    form.helper.label_class = 'col-sm-3 col-md-4'
+    form.helper.field_class = 'col-sm-8 col-md-6'
+    html = render_crispy_form(form)
+
+    assert '<div class="form-group row">' in html
     assert '<div class="offset-sm-3 offset-md-4 col-sm-8 col-md-6">' in html
     assert html.count('col-sm-8') == 7
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/django-crispy-forms-1.8.0/crispy_forms/tests/test_layout.py 
new/django-crispy-forms-1.8.1/crispy_forms/tests/test_layout.py
--- old/django-crispy-forms-1.8.0/crispy_forms/tests/test_layout.py     
2019-10-17 17:14:45.000000000 +0200
+++ new/django-crispy-forms-1.8.1/crispy_forms/tests/test_layout.py     
2019-11-22 14:44:09.000000000 +0100
@@ -251,6 +251,43 @@
     assert 'email' not in html
 
 
+def test_column_has_css_classes(settings):
+    template = Template("""
+        {% load crispy_forms_tags %}
+        {% crispy form form_helper %}
+    """)
+
+    form = SampleForm()
+    form_helper = FormHelper()
+    form_helper.add_layout(
+        Layout(
+            Fieldset(
+                'Company Data',
+                'is_company',
+                'email',
+                'password1',
+                'password2',
+                css_id="multifield_info",
+            ),
+            Column(
+                'first_name',
+                'last_name',
+            )
+        )
+    )
+
+    c = Context({'form': form, 'form_helper': form_helper})
+    html = template.render(c)
+    print(html)
+
+    if settings.CRISPY_TEMPLATE_PACK == 'uni_form':
+        assert html.count('formColumn') == 1
+        assert html.count('col') == 0
+    elif settings.CRISPY_TEMPLATE_PACK == 'bootstrap4':
+        assert html.count('formColumn') == 0
+        assert html.count('col') == 1
+
+
 def test_formset_layout(settings):
     SampleFormSet = formset_factory(SampleForm, extra=3)
     formset = SampleFormSet()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/django-crispy-forms-1.8.0/django_crispy_forms.egg-info/PKG-INFO 
new/django-crispy-forms-1.8.1/django_crispy_forms.egg-info/PKG-INFO
--- old/django-crispy-forms-1.8.0/django_crispy_forms.egg-info/PKG-INFO 
2019-10-17 17:25:15.000000000 +0200
+++ new/django-crispy-forms-1.8.1/django_crispy_forms.egg-info/PKG-INFO 
2019-11-22 14:51:01.000000000 +0100
@@ -1,8 +1,8 @@
 Metadata-Version: 1.1
 Name: django-crispy-forms
-Version: 1.8.0
+Version: 1.8.1
 Summary: Best way to have Django DRY forms
-Home-page: http://github.com/djang-crispy-forms/django-crispy-forms
+Home-page: https://github.com/django-crispy-forms/django-crispy-forms
 Author: Miguel Araujo
 Author-email: miguel.araujo.pe...@gmail.com
 License: MIT
@@ -10,7 +10,7 @@
         django-crispy-forms
         ===================
         
-        .. image:: 
https://travis-ci.org/django-crispy-forms/django-crispy-forms.png?branch=dev
+        .. image:: 
https://travis-ci.org/django-crispy-forms/django-crispy-forms.png?branch=master
            :alt: Build Status
            :target: 
https://travis-ci.org/django-crispy-forms/django-crispy-forms
         
@@ -83,6 +83,7 @@
 Classifier: Framework :: Django :: 1.11
 Classifier: Framework :: Django :: 2.1
 Classifier: Framework :: Django :: 2.2
+Classifier: Framework :: Django :: 3.0
 Classifier: License :: OSI Approved :: MIT License
 Classifier: Operating System :: OS Independent
 Classifier: Programming Language :: JavaScript
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/django-crispy-forms-1.8.0/django_crispy_forms.egg-info/SOURCES.txt 
new/django-crispy-forms-1.8.1/django_crispy_forms.egg-info/SOURCES.txt
--- old/django-crispy-forms-1.8.0/django_crispy_forms.egg-info/SOURCES.txt      
2019-10-17 17:25:15.000000000 +0200
+++ new/django-crispy-forms-1.8.1/django_crispy_forms.egg-info/SOURCES.txt      
2019-11-22 14:51:01.000000000 +0100
@@ -31,6 +31,7 @@
 crispy_forms/templates/bootstrap/layout/buttonholder.html
 crispy_forms/templates/bootstrap/layout/checkboxselectmultiple.html
 crispy_forms/templates/bootstrap/layout/checkboxselectmultiple_inline.html
+crispy_forms/templates/bootstrap/layout/column.html
 crispy_forms/templates/bootstrap/layout/div.html
 crispy_forms/templates/bootstrap/layout/field_errors.html
 crispy_forms/templates/bootstrap/layout/field_errors_block.html
@@ -43,6 +44,7 @@
 crispy_forms/templates/bootstrap/layout/prepended_appended_text.html
 crispy_forms/templates/bootstrap/layout/radioselect.html
 crispy_forms/templates/bootstrap/layout/radioselect_inline.html
+crispy_forms/templates/bootstrap/layout/row.html
 crispy_forms/templates/bootstrap/layout/tab-link.html
 crispy_forms/templates/bootstrap/layout/tab.html
 crispy_forms/templates/bootstrap/layout/uneditable_input.html
@@ -66,6 +68,7 @@
 crispy_forms/templates/bootstrap3/layout/buttonholder.html
 crispy_forms/templates/bootstrap3/layout/checkboxselectmultiple.html
 crispy_forms/templates/bootstrap3/layout/checkboxselectmultiple_inline.html
+crispy_forms/templates/bootstrap3/layout/column.html
 crispy_forms/templates/bootstrap3/layout/div.html
 crispy_forms/templates/bootstrap3/layout/field_errors.html
 crispy_forms/templates/bootstrap3/layout/field_errors_block.html
@@ -79,6 +82,7 @@
 crispy_forms/templates/bootstrap3/layout/prepended_appended_text.html
 crispy_forms/templates/bootstrap3/layout/radioselect.html
 crispy_forms/templates/bootstrap3/layout/radioselect_inline.html
+crispy_forms/templates/bootstrap3/layout/row.html
 crispy_forms/templates/bootstrap3/layout/tab-link.html
 crispy_forms/templates/bootstrap3/layout/tab.html
 crispy_forms/templates/bootstrap3/layout/uneditable_input.html
@@ -101,6 +105,7 @@
 crispy_forms/templates/bootstrap4/layout/buttonholder.html
 crispy_forms/templates/bootstrap4/layout/checkboxselectmultiple.html
 crispy_forms/templates/bootstrap4/layout/checkboxselectmultiple_inline.html
+crispy_forms/templates/bootstrap4/layout/column.html
 crispy_forms/templates/bootstrap4/layout/div.html
 crispy_forms/templates/bootstrap4/layout/field_errors.html
 crispy_forms/templates/bootstrap4/layout/field_errors_block.html
@@ -115,6 +120,7 @@
 crispy_forms/templates/bootstrap4/layout/prepended_appended_text.html
 crispy_forms/templates/bootstrap4/layout/radioselect.html
 crispy_forms/templates/bootstrap4/layout/radioselect_inline.html
+crispy_forms/templates/bootstrap4/layout/row.html
 crispy_forms/templates/bootstrap4/layout/tab-link.html
 crispy_forms/templates/bootstrap4/layout/tab.html
 crispy_forms/templates/bootstrap4/layout/uneditable_input.html
@@ -131,9 +137,11 @@
 crispy_forms/templates/uni_form/whole_uni_formset.html
 crispy_forms/templates/uni_form/layout/baseinput.html
 crispy_forms/templates/uni_form/layout/buttonholder.html
+crispy_forms/templates/uni_form/layout/column.html
 crispy_forms/templates/uni_form/layout/div.html
 crispy_forms/templates/uni_form/layout/fieldset.html
 crispy_forms/templates/uni_form/layout/multifield.html
+crispy_forms/templates/uni_form/layout/row.html
 crispy_forms/templatetags/__init__.py
 crispy_forms/templatetags/crispy_forms_field.py
 crispy_forms/templatetags/crispy_forms_filters.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/django-crispy-forms-1.8.0/setup.py 
new/django-crispy-forms-1.8.1/setup.py
--- old/django-crispy-forms-1.8.0/setup.py      2019-10-17 17:24:14.000000000 
+0200
+++ new/django-crispy-forms-1.8.1/setup.py      2019-10-23 14:28:10.000000000 
+0200
@@ -31,7 +31,7 @@
         "Framework :: Django :: 1.11",
         "Framework :: Django :: 2.1",
         "Framework :: Django :: 2.2",
-#        "Framework :: Django :: 3.0",
+        "Framework :: Django :: 3.0",
         "License :: OSI Approved :: MIT License",
         "Operating System :: OS Independent",
         "Programming Language :: JavaScript",
@@ -49,7 +49,7 @@
     keywords=['forms', 'django', 'crispy', 'DRY'],
     author='Miguel Araujo',
     author_email='miguel.araujo.pe...@gmail.com',
-    url='http://github.com/djang-crispy-forms/django-crispy-forms',
+    url='https://github.com/django-crispy-forms/django-crispy-forms',
     license='MIT',
     packages=find_packages(exclude=['docs']),
     include_package_data=True,


Reply via email to