Skip to content

Latest commit

 

History

History
351 lines (270 loc) · 18.2 KB

CHANGELOG.md

File metadata and controls

351 lines (270 loc) · 18.2 KB

Change Log

[1.0.0] -

  • Fixes issue #194, about setting COMMENTS_HIDE_REMOVED and the new setting COMMENTS_INK_PUBLISH_OR_WITHHOLD_NESTED. Up until v3.0.0 removed comments were listed but their content were not displayed. They showed a "comment has been removed" message instead. That behaviour didn't comply with parent's app setting COMMENTS_HIDE_REMOVED. COMMENTS_HIDE_REMOVED is True by default, what has the effect of hiding removed comments. As of v3.0.0 this is also the behaviour of django-comments-ink. Additionally a new setting COMMENTS_INK_PUBLISH_OR_WITHHOLD_NESTED has been created to control whether nested comments of a comment being removed or approved will be withhold or published.
  • Fixes issue #210, about listing top comments. Since v3.0.0 there is a new way to receive user feedback on comments. The model CommentFlag is no longer used to store such feedback. There is a new model CommentReaction that stores user reactions to comments. For each pair reaction/comment there is a counter and a list of reaction authors, this way it is possible to retrieve most liked comments or any other query related with user reactions. In addition there is new frontend code to handle user reactions. To get aligned with issue #161, the new frontend code doesn't depend on React or Twitter-Bootstrap. It is vanilla JavaScript and vanilla CSS.

Change Log inherited from django-comments-xtd

[2.9.5] - 2021-12-13

  • Adds compatibility with Django v4.
  • Fixes issue-358: Missing closing tag in the dislike.html template.

[2.9.4] - 2021-11-11

  • Fixes issue-333 produced when using django-comments-xtd with Django 3.2 with MySQL/MariaDB. The issue raises when calling 'update()' on queries with 'sorted_by', as it is the case of the default 'objects' manager of XtdComment.
  • App translation to Simplified Chinesse thanks to @galeo.
  • Fixes issue #334 related to defaults for DRF views. See the PR-338. Thanks to @PetrDlouhy.
  • Improve command 'populate_xtdcomments' to output using the stdout attribute of the BaseCommand.
  • Fixes issue-337. Provides updated pyproject.toml file that matches package version.

[2.9.3] - 2021-09-22

* Fixes issue in 'models.publish_or_unpublish_nested_comments', when calling the update method on an empty QuerySet. See [issue-318](https://github.com/danirus/django-comments-xtd/issues/318). Thanks to @abiatarfestus, @ironworld and @Khoding.
* Enhance the queryset in notify_comment_followers using distinct when possible. And fallback to the previous queryset when distinct is not supported, as is the case for sqlite. See [issue-326](https://github.com/danirus/django-comments-xtd/issues/326). Thanks to @enzedonline.

[2.9.2] - 2021-06-19

* Fixes issue with nested_count XtdComment's attribute being wrongly computed when comment threads are more than 2 level deep and have more than 1 thread. See [PR-312](https://github.com/danirus/django-comments-xtd/pull/312).
* Resolves limitation in API views. Avoid using explicit XtdComment model and rather use the `get_model` function to allow using customized comment models with API. See [PR-313](https://github.com/danirus/django-comments-xtd/pull/313). Thanks to @r4fek.
* Enhance comment form initialization, so that original fields are not override but rather only some of its attributes. See [PR-315](https://github.com/danirus/django-comments-xtd/pull/315). Thanks to @dest81.

[2.9.1] - 2021-04-14

* Fixes issue when the 'sent' view does not receive a 'c' query string parameter. See [PR-305](https://github.com/danirus/django-comments-xtd/pull/305). Thanks to @dest81.

[2.9.0] - 2021-03-20

* Drops support for Django 2.0 and 2.1.
* Requires django-contrib-comments >= 2.1, and djangorestframework >= 3.12.
* Fixes warning when generating the OpenAPI schema. Thanks to @ivanychev. Seee[PR-296](https://github.com/danirus/django-comments-xtd/pull/296).
* Fixes issue with `render_xtdcomment_tree` templatetag, thanks to @dest81. See [PR-295](https://github.com/danirus/django-comments-xtd/pull/295).
* Fixes issue #291, about the frontend plugin not being aware of the setting COMMENTS_INK_DEFAULT_FOLLOWUP. It also fixes the content of the `login_url` props attribute. Its value is now the content of `settings.LOGIN_URL`.
* Fixes issue #284, about sending a comment twice by clicking the comment send button twice. It happened when not using the JavaScript plugin.

[2.8.5] - 2021-03-02

* Fixes issue #292 with the workflow upload-pypi.yml, that caused the package bundle to be built without JavaScript files.

[2.8.4] - 2021-02-28

* Adds Italian translation (thanks to @dlrsp-dev).
* Fixes issue #279, about a syntax mistake in the get_flags function, in the models.py module. Thanks to @manisar2.
* Fixes issue #271, about an issue with django-comments-xtd data migration 0008. The fix consists of making the migration non-effective. It also requires that the django project developer runs the management command `initialize_nested_count` manually, so that the field `nested_count` of `XtdComment` gets populated with the correct value. The command is idempotent. Thanks to @jxcl.

[2.8.3] - 2021-02-07

* Adds new setting COMMENTS_INK_DEFAULT_FOLLOWUP, which is used to
  initialize the follow-up form field. By default its value is False. Thanks to @drholera. Closes ticket #206.
* Fixes issue #274, about wrong validation of fields name and email in the
  WriteCommentSerializer. Thanks to @dest81.

[2.8.2] - 2021-01-24

* Fixes issue #248, about the API returning comments' submit_date in UTC
  when the setting USE_TZ is enabled and a different TIME_ZONE is given.
  Thanks to @Loneattic.
* Fixes issue #250, which reports that using the web API to post a comment
  with a reply_to field that would break the max_thread_level should not
  produce an exception but rather a controlled response with an appropriate
  HTTP code. Thanks to @impythonista.
* Fixes issue #255, about the web API not returning the comment ID when
  creating a new comment. Thanks to @mhoonjeon.
* Fixes issue #256, about an issue in the JavaScript plugin that displays
  the "reply" link even when the max_thread_level has been reached.
  Thanks to @odescopi.

[2.8.1] - 2020-10-16

* Fixes issue #80, that requests to change the response when clicking
  more than once on a comment confirmation link. Up until now clicking
  more than once on a comment confirmation link produced a HTTP 404
  response. Since version 2.8.1 the response is the same as for the first
  click: the user is redirected to the comment's view in the page.
  Thanks to @ppershing.
* Fixes issue #152, about loading the `staticfiles` templatetag instead of
  `static`. Since Django v3.0 the staticfiles app requires using the
  latter. Thanks to @JonLevy and @mennucc.
* Fixes issue #221, about the get_version function. Now it returns the full
  version number <major>.<minor>.<patch>. Thanks to @mckinly.
* Fixes issue #229, about failing to process empty honeypot field when
  posting comments using the REST API. Thanks to @TommasoAmici.

[2.8.0] - 2020-09-26

* Fixes issue #106, which is about computing the number of nested comments
  for every comment at every level down the tree. The fix consists of
  adding a new field called 'nested_count' to the XtdComment model. Its
  value represents the number of threaded comments under itself. A new
  management command, 'initialize_nested_count', can be used to update the
  value of the field, the command is idempotent. Two new migrations have
  been added: migration 0007 adds the new field, and migration 0008 calls
  the 'initialize_nested_count' command to populate the nested_count new
  field with correct values.
* Fixes issue #215 about running the tests with Django 3.1 and Python 3.8.

[2.7.2] - 2020-09-08

* Fixes issue #208, about the JavaScript plugin not displaying the like and
  dislike buttons and the reply link when django-comments-xtd is setup to
  allow posting comments only to registered users (who_can_post: "users").
* Fixes issue #212, about missing i18n JavaScript catalog files for Dutch,
  German and Russian.

[2.7.1] - 2020-08-12

* Fixes issue #188, about loading a templatetags module not required for
  the application.
* Fixes issue #196. When extending django-comments-xtd's comment model, the
  receiver function that reviews whether nested comments have to be publish
  or unpublish is not called.

[2.7.0] - 2020-08-09

* Enhancement, closing issue #155 (and #170), on how to post comments via
  the web API. Up until version 2.6.2 posting comments required the fields
  timestamp, security_hash and honeypot. As of 2.7.0 there is support to
  allow Django REST Framework authentication classes: WriteCommentSerializer
  send the signal should_request_be_authorize that enables posting comments.
  Read the documentation about the web API.
* Enhancement, closing issue #175 on how to customize django-comments-xts
  so that user images displayed in comments come from other sources. A new
  setting COMMENTS_XTD_API_GET_USER_AVATAR has been added. The docs have
  been extended with a page that explains the use case in depth.
* Fixes issue #171, on wrong permission used to decide whether a user is a
  moderator. The right permission is django_comments.can_moderate.
  (thanks to Ashwani Gupta, @ashwani99).
* Fixes issue #136 on missing <link> element in the templates/base.html
  file distributed with the tutorial.tar.gz bundle.

[2.6.2] - 2020-07-05

* Adds Dutch translation (thanks to Jean-Paul Ladage, @jladage).
* Adds Russian translation (thanks to Михаил Рыбкин, @MikerStudio).
* Fixesissue #140, which adds the capacity to allow only registered users
  to post comments.
* Fixesissue #149, on wrong SQL boolean literal value used when running
  special command populate_xtdcomments to load Postgres database with
  xtdcomments.
* Fixesissue #154, on using string formatting compatible with Python
  versions prior to 3.6.
* Fixesissue #156, on wrong props name "poll_interval". JavaScript plugin
  expects uses "polling_interval" while the api/frontend.py module referred
  to itas "poll_interval". (thanks to @ashwani99).
* Fixesissue #159, about using the same id for all the checkboxes in the
  comment list. When ticking one checkbox in a nested form the checkbox of
  the main form was ticked. Now each checkbox has a different id, suffixed
  with the content of the `reply_to` field.

[2.6.1] - 2020-05-13

* Fixes issue #150, about wrong protocol in the URL when fetching avatar
  images from gravatar.

[2.6.0] - 2020-05-12

* Fixes issue #145, on inadequate number of SQL queries used by API
  entry point "comments-xtd-api-list", available in the URL
  "/comments/api/<content-type>/<object-pk>/".
  The issue also happened when rendering the comments using tags
  get_xtdcomment_tree and render_xtdcomment_tree. It has been fixed
  in both cases too.
* Updates the JSON schema of the output retrieved by the API entry
  point "comments-xtd-api-list". Thus the version number change.
  The flags attribute of each retrieved is now a list of flags instead
  of a summary for each the flags: "I like it", "I dislike it",
  "suggest removal".

[2.5.1] - 2020-04-27

* Fixes issue #138, on unpublishing a single comment with public nested
  comments. The fix consists of a new pre_save receiver that will
  either publish or unpublish nested comments when a comment changes
  its is_public attribute. (thanks to @hematinik).

[2.5.0] - 2020-04-22

* Fixes issue #144 regarding the size of the JavaScript bundle. The
  new JavaScript plugin does not include React and ReactDOM. The two
  libraries have to be loaded with an external script.
* Update the dependencies of the JavaScript plugin.

[2.4.3] - 2020-01-26

* Fixes issue on the ContentType that happens when sending post
  request with empty data. (PR: #137) (thanks to @dvorberg).
* Adds German translations, (thanks to @dvorberg).

[2.4.2] - 2019-12-25

* Adds Django 3.0 compatibility thanks to Sergey Ivanychev (@ivanychev).
* Adds Norwegian translations thanks to Yngve Høiseth (@yhoiseth).

[2.4.1] - 2019-09-30

* Allow changing the "d" parameter when requesting a gravatar,
  thanks to @pylixm (PR: 100).
* Avoid requiring the SITE_ID, thanks to @gassan (PR: 125).

[2.4.0] - 2019-02-19

New minor release thanks to Mandeep Gill with the following changes:

* Adds support for non-int based object_pk, for instead when using UUIDs or
  HashIds as the primary key on a model (closes #112).
* Refactors the commentbox props generation into a separate function so can
  be used from the webapi for use with rest_framework/API-only backends that
  don't make use of server-side templates.
* Adds a pyproject.yaml for use with `poetry` (https://poetry.eustace.io)
  and new pip environments (PEP 518).

[2.3.1] - 2019-01-08

* Fixes issue #116.
* Updates package.json JavaScript dependencies:
   * babel-cli from 6.24.1 to 6.26.0.
   * jquery from 3.2.1 to 3.3.1.

[2.3.0] - 2018-11-29

* Upgrades Twitter-Bootstrap from v3 to v4.
* Fixes issue with tutorial fixtures (bug #114).
* Upgrade all JavaScript dependencies. Check packages.json for details.
  The major changes are:
   * ReactJS updates from 15.5 to 16.5.
   * Babel updates from 6 to 7.
   * Webpack from 2.4.1 to 4.21.0.
   * Bootstrap from 3.3.7 to 4.1.3.
* Updates webpack.config.js.
* Demo sites and tutorial have been adapted to Twitter Bootstrap v4.
* Fixes issues #94, #108, #111.

[2.2.1] - 2018-10-06

* Resolves deprecation warnings and adopt recommendations in unit tests.
* Fixes demo sites so that they work with Django 1.11, Django 2.0 and
  Django 2.1.

[2.2.0] - 2018-08-12

* Adds support for Django 2.1.
* Drops support for Django < 1.11 as it depends on django-contrib-comments
  which dropped support too.
* Fixes issue 104 (on lack of Django 2.1 support).

[2.1.0] - 2018-02-13

* Fixes issues #76, #86 and #87.
* Request user name and/or email address in case the user is logged
  in but the user's email attribute is empty and/or the user's
  get_full_name() method returns an empty string.

[2.0.10] - 2018-01-19

* Adds Django 2.0 compatibility.
* Fixes issues #81 and #83.
* Replaces the use of django.test.client by RequestFactory in unittests.

[2.0.9] - 2017-11-09

* Fix issue 77. Template filter xtd_comment_gravatar_url must not
  hard-code http schema in URL (reported by @pamost).

[2.0.8] - 2017-09-24

* App translation to Finnish, thanks to Tero Tikkanen (@terotic).

[2.0.7] - 2017-09-20

* Adds missing migration for a field's label (issue 71).
* Makes the form label for field 'name' translatable (issue 73).

[2.0.6] - 2017-08-08

* Code fixes to enable proper support for the Django Sites Framework.
* Code fixes for the `comp` demo site.
* Makes demo site dates in initial data files timezone aware.
* Improves documentation on setting up demo sites.
* Style changes in CSS wells.

[2.0.5] - 2017-07-20

* Surpass version number to fix problem with package upload in PyPI.
* No changes applied to this version.

[2.0.4] - 2017-07-19

* Use `django.core.signing` with temporary comment passed in URL
  redirection.
* Fix mistakes in documentation.

[2.0.3] - 2017-07-10

* App translation to French thanks to Brice Gelineau.
* Fixed MANIFEST.in file, so that files with translations are
  distributed.

[2.0.0] - 2017-06-04

* Javascript plugin (based on ReactJS).
* Web API to:
  * Create a comment for a given content type and object ID.
  * List comments for a given content type and object ID.
  * Send feedback flags (like/dislike) on comments.
  * Send report flag (removal suggestion) for a comment.
  * Template filter `has_permission` applicable to a user object and
    accepting a string specifying the `app_label.permission` being
    checked. It returns `True` if the user has the given permission,
    otherwise returns False.
* Setting `COMMENTS_INK_API_USER_REPR` defines a lambda function to
  return the user string representation used by the web API in response
  objects.
* Setting `COMMENTS_XTD_APP_MODEL_PERMISSIONS` to explicitly define what
  commenting features are enabled on per app.model basis.
* Templates `comments/delete.html` and `comments/deleted.html` matching
  django-comments-xtd default twitter-bootstrap styling.
* Dependencies on Python packages: djangorestframework.
* Supports i18n for English and Spanish.
* All settings namespaced inside the COMMENTS_XTD setting.
* Management command to migrate comments from django-contrib-comments to
  django-comments-xtd.
* Enable removal link in `django_comments_xtd/comment_tree.html` when the
  user has the permission `django_comments.can_moderate`.
* Changed, when the user logged has `django_comments.can_moderate` permission,
  template `django_comments_xtd/comment_tree.html` will show the number of
  removal suggestions a comment has received.
* Changed, when a comment is marked as removed by a moderator
  (using django-comments' `comments-delete` url) every nested comment below
  the one removed is unpublished (`is_public` attribute is turned to
  `False`).
* Changed view helper functions, `perform_like` and `perform_dislike` now
  returns a boolean indicating whether a flag was created. If `True` the flag
  has been created. If `False` the flag has been deleted. These two functions
  behave as toggle functions.
* Changed templates `comments/preview.html`, `comments/flag.html` and
  `comments/flagged.hml`.
* Removed dependency on django-markup.
* Removed template filter `render_markup_comment`.
* Removed setting `MARKUP_FALLBACK_FILTER`.