- Fixed a post caching bug where post contents could be replaced by contents of another post on the same page. #839 #854
- Fixed race condition in
User(Private)TopicReadState
update. #845 #846 - Fixed compatibility with NewRelic in Rails 4. #842 #848
- Fixed deprecation warnings from
inline_svg
. cae5ae88 - Fixed deprecation warnings from
onebox
. c4ae525b
- Experimental Webpack support. #838
- Sprockets 4.0.0 support.
- Messageboard group page. Can be disabled by setting
Thredded.show_messageboard_group_page = false
. #829
- Rails 6.0.0 support (6.0.0.rc2 no longer supported).
- Destroy Messageboard button in the UI for admins. Disabled by default. #826
- Fixed
post_moderation_records
user reference type when using UUID. #819
- Rails 6 beta support. #802 #800
- Thredded now adds the CSP nonce to inline script tags if CSP is enabled on Rails v5.2+. #797
-
Moderation > Pending now works again in Rails 4. #794
-
@
-mentions are now parsed and highlighted usingThredded.user_name_column
instead ofuser.thredded_display_name
. #790
- Fix post order for moderation pending & activity (a regression introduced in v0.16.6). cec880d8
-
N+1 queries moderation pending & activity.
This also fixes ActiveRecord pool exhaustion caused by trying to obtain multiple database connections from the render threads. #788
- Kramdown v2.0 support. #786
-
Previously, Thredded issued a separate database query for @-mentions within each post when rendering a topic (at most 1 query per topic). Since posts are rendered in multiple threads by default, this wasn't as slow as you might expect. However, it still required a larger connection pool and could still be slow for topics with lots of @-mentions. Now, Thredded caches the @-mentioned users and the database query is under a mutex. This means Thredded no longer needs a large database connection pool (#770) and queries for repeated @-mentions across posts are avoided.
Fixes private topic form preview (regression in v0.16.2).
-
mark_as_read
andmark_as_unread
endpoints can now also respond to JSON. This is intended for plugins and user extensions. #763 -
A view hook for customizing topic title on
topics#show
. #775
-
mark_as_read
andmark_as_unread
are now the/action/
route path scope (and so will all the future actions). #763Due to the new
/action
scope, if you have a Messageboard called "Action" you may need to change its slug:Thredded::Messageboard.where(slug: 'action').each{|m| m.update(slug: 'action-messageboard')}
-
Thredded now depends on
sassc-rails
instead ofsass-rails
.sassc-rails
usessassc
, which is a wrapper forlibsass
, a C++ implementation of Sass. This change was made because the Ruby implementation of Sass is now deprecated. #736 -
Improved pt-BR translation. Thanks @wenderjean! #766
-
Preview controller 500 error if the user was not signed in. #780 #779
-
Broken post content caching with Rails 5.2 framework defaults. #769 #712
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.16.1...v0.16.2.
- The unread icon now has the notifications bell. #750
- You can now specify which page the user is redirected to after posting a topic. #619
- Sass variables to customize messageboard title font size and topic header font size. #740
- Topics and posts count now account for topic/post visibility. Please report performance issues. #758
- Various issues with the recipients dropdown in Private Messages. #722 #745
- User autocompletion now sorts correctly (case-insensitive lexicographic). #744
- Fixed last post by displaying as "deleted user" when user primary key is a UUID. #692
- The JavaScript code that eagerly marks topics as read for better Turbolinks back button experience now respects
Thredded.posts_per_page
. The unread+followed counter now also gets updated. #755 #759 - No longer breaks if
main_app
ovveridesKaminari.config.page_method_name
. #741 - Messageboard grid now correctly sizes cells in incomplete rows up to 6 cells. #754
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.16.0...v0.16.1.
-
Unread and unread followed topics are now indicated on the messageboards page like this:
-
Thredded no longer provides emoji functionality such as
:smile:
by default, and also no longer depends on thegemoji
gem. It is easy to addgemoji
back in if you want to:-
Follow the installation instructions at https://github.com/github/gemoji.
-
Add the following line to
config/initializers/thredded.rb
:Thredded::ContentFormatter.after_markup_filters.insert(1, HTML::Pipeline::EmojiFilter)
-
NB: If updating to this version from 0.15.x, you must copy and run the upgrade migration after updating the gem:
cp "$(bundle show thredded)"/db/upgrade_migrations/20180930063614_upgrade_thredded_v0_15_to_v0_16.rb db/migrate
bin/rails db:migrate
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.15.5...v0.16.0.
- Performance improvement: Avoid redundant permission queries. #725
- Navigate to the correct page for read topics. f5237960
- Fix an error when approving / blocking a post that was already approved / blocked. #723
- When creating a messageboard, show an error message if the name is too long. Also makes the valid name length range configurable. #720
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.15.4...v0.15.5.
- A new helper method to start a private thread between two users,
Thredded::UrlsHelper.send_private_message_path
. If a thread already exists between the two users, returns the URL to that thread. Otherwise, returns a URL to the new message form with the recipient and subject pre-filled. #716 - Posts and topics can now be submitted with the Ctrl+Return shortcut. #717
- The number of posts / topics per page is now configurable via
Thredded.posts_per_page
andThredded.topics_per_page
. #711 - For each topic on the Unread page, we now show the topic's messageboard. ed862031
Thredded::Errors::(Private)PostNotFound
is raised and handled instead ofActiveRecord::NotFound
. #513
- The default number of posts per page has been reduced to 25. #713
- Updated bundled JavaScript dependencies:
autosize
from v4.0.0 to v4.0.2 (9c4db86d),textcomplete
from v0.14.5 to v0.17.1 (211ce25a).
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.15.3...v0.15.4.
- Minor style issues and regressions introduced in v0.15.2.
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.15.2...v0.15.3.
- Adds a global / messageboard-level unread page. Topics are ordered followed-first. The navigation link has a badge indicating the numbers of followed unread topics. If there are no unread topics at all (including non-followed ones), the link is not displayed. #709
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.15.1...v0.15.2.
- Regression in v0.15.0: broken
Thredded.posts_page_view
.
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.15.0...v0.15.1.
- Spoiler tags via
<spoiler></spoiler>
(or[spoiler][/spoiler]
with the BBCode plugin). Supported out of the box for any markup processor. Spoilers are focusable and are activated on mousedown, spacebar, or enter. They can also be nested. Markup is configurable viaThredded::SpoilerTagFilter.spoiler_tags
. #701 - Jump to the first unread post when navigating to a topic. #695
- Fixes a race condition when setting
last_seen_at
for the user. #674 - Moves validation of topic title lengths from the database into Rails and shows the error messages on title.
The valid length range is configurable via the new
Thredded.topic_title_length_range
configuration option. #703
- Post IP tracking removed from core because it requires explicit consent under GDPR. #705
NB: If updating to this version from 0.14.x, you must copy and run the upgrade migration after updating the gem:
cp "$(bundle show thredded)"/db/upgrade_migrations/20180110200009_upgrade_thredded_v0_14_to_v0_15.rb db/migrate
rake db:migrate
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.14.5...v0.15.0.
-
Improved performance of rendering threads with multiple onebox by rendering the posts concurrently. #696
-
Private topic parameters can now be pre-filled from URL. #b107e65c
A "Send private message" link can now be generated like this:
new_private_topic_path(private_topic: { user_names: 'glebm' })
- Now handles pages beyond the last one by issuing a redirect to the last page. #4a43b1e3
- Usernames in the "Currently Online" list are now links leading to the users' profiles.
- Fixes an error when saving global notification preferences. #9bc0e815
-
Accidental N+1 query in
AutofollowUsers
job. #690 -
Some French translations. #681
-
Onebox errors resulting in 500 response. #683
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.14.2...v0.14.3.
- Rails 5.2 support.
- User's display name (via
Thredded.user_display_name_method
) is now displayed in autocomplete results if it is different from the user name (Thredded.user_name_column
). #680
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.14.1...v0.14.2.
- Italian localization. 🇮🇹 #669
- Allow disabling user links. #673
- Allow customizing first messageboard post. #670
- A minor JavaScript error on the topic edit form. #be45f262
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.14.0...v0.14.1.
-
Messageboard locking. By default, only moderators can create new topics in locked messageboards. Posting to the existing topics is not affected. #635
-
German localization. 🇩🇪 #666
thredded_user_details
andthredded_user_preferences
now use uniqueuser_id
indices. #609- Mention completion now works in IE11. yuku-t/textcomplete#125
NB: If updating to this version from 0.13.x, you must copy and run the upgrade migration after updating the gem:
cp "$(bundle show thredded)"/db/upgrade_migrations/20170811090735_upgrade_thredded_v0_13_to_v_014.rb db/migrate
rake db:migrate
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.13.8...v0.14.0.
- Made @-mention dropdown work properly with usernames with no spaces. #645
- Other @-mention dropdown improvements (update to latest textcomplete)
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.13.7...v0.13.8.
- Simplified Chinese localization. 🇨🇳 #632
- Private posts can be edited again.
- Locked topics have a different badge color in the topics list. Locked topics also display a message saying that they are locked. #629
- timeago.js with locales that contain a hyphen (e.g.
zh-CN
). #626
- Post notification email subject no longer contains the post's author name. Notification emails for the same topic now stay in the same thread in the email client. #90c6f5ff
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.13.4...v0.13.5.
- CSS classes for targeting specific preference list items. #614
- Sticky topics in search results no longer break search results. #611
- If a user was subscribed to a topic via more than one notifier, they would only be notified via one of them. #540
- French localization 🇫🇷. #605
- Email templates now use i18n throughout. The copy has been improved. #607
- Avatars are now larger on large screens. #565
This release updates the bundled JavaScript dependencies, [autosize] and textcomplete, to their latest versions.
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.13.1...v0.13.2.
This is a minor bugfix release.
- Maps onebox display for onebox v1.8.4+ and bumps the minimum required onebox version to v1.8.13. #198dbeeb
- Autoloading conflicts when the parent app defines constants with the same name as Thredded constants. #e2ebb1e4
This release removes jQuery dependency from Thredded JavaScripts, reducing the size of the Thredded JavaScript bundle from 67 KiB to 22 KiB gzipped.
- rails-ujs is used instead of jquery_ujs by default. #592 See the README for more information.
- select2 -> textcomplete, split by commas. #597
- jquery.textcomplete -> textcomplete #596
- jquery.timeago -> timeago.js #591
This release adds the ability to tell Thredded with version of Rails UJS to use.
Since Rails v5.1, the default is rails-ujs
but Thredded for now still uses jquery_ujs
by default.
This will change in Thredded v0.13.
If you'd like to tell Thredded to use rails-ujs
now, update to this release and run the following command
from your app directory:
mkdir -p app/assets/javascripts/thredded/dependencies/
echo '//= require rails-ujs' > app/assets/javascripts/thredded/dependencies/ujs.js
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.12.3...v0.12.4.
This release adds a minor fix for Rails 5.1 compatibility. #b5669c61
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.12.2...v0.12.3.
This release brings Rails 5.1 support to Thredded.
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.12.1...v0.12.2.
The quote action now only appears on the topic page (and not in moderation, user's posts, etc). #fc960483
This is the only the change in this release.
- Topic slugs are now unique across messageboards. This allows us to correctly redirect to the new topic URL when the topic's messageboard has changed. #573 #576
- Basic "Quote" reply action. #585
- Navigation to individual messageboard settings from the global settings page. #581
- Private topics page for blocked users. #3a4d7032
- Support for Turbolinks v5.0.1 and the upcoming v5.1.0. #25269979
- The unmaintained
autosize-rails
gem replaced with a vendored version of jackmoore/autosize. #1023c215
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.11.1...v0.12.0.
NB: If updating to this version from 0.11.x, you must copy and run the upgrade migration after updating the gem:
cp "$(bundle show thredded)"/db/upgrade_migrations/20170420163138_upgrade_thredded_v0_11_to_v0_12.rb db/migrate
rake db:migrate
- User navigation is now shown on the right, and search is on the left. #563
- On desktop screen sizes, messageboard breadcrumbs are no longer bold. #574
- Sanitization defaults now allow
<abbr>
and a few ARIA attributes. #2d29ef21 #df38d9e4 - Kramdown options can now be passed to the ContentFormatter. #c25d8765
- Topic URLs that use old slugs are now redirected to the current version. #564
- PostPolicy no longer allows anonymous users to edit posts of deleted users. #092d40b5
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.11.0...v0.11.1.
NB: If updating to this version from 0.10.x, you must copy and run the upgrade migration after updating the gem:
cp "$(bundle show thredded)"/db/upgrade_migrations/20170312131417_upgrade_thredded_v0_10_to_v0_11.rb db/migrate
rake db:migrate
-
Oneboxes: URLs to supported resources placed on their own line are replaced with a "onebox". Oneboxes replace the previous YouTube and Vimeo implementations and add support for dozens more sites, including Tweets, Google Maps, and so on. The implementation is powered by the onebox gem. #545
-
Email styles: the emails now come in style. See the wiki article on how to enable the email styles. In the emails, interactive content (such as Google Maps, YouTube Videos) is shown as a static image. #550
-
Russian translation. #556
Minor UI fixes throughout.
- Removed the now-redundant
thredded_post_notifications
table. #547
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.10.1...v0.11.0.
- Post actions moved to a dropdown menu. #533
-
Posts can be marked as unread. #533
-
More Sass variables for style customization:
$thredded-messageboards-grid-item-border-(width|color)
$thredded-messageboards-grid-item-(padding|gutter)-(x|y)
$thredded-overlay-(background-color|box-shadow)
-
Support PostgreSQL UUID primary keys. #538
-
A divider line between sticky and non-sticky topic. #537
- Thredded now caches only the posts' contents (and not the UI around them). #536
- The
Thredded::ApplicationController#signed_in?
method has been renamed tothredded_signed_in?
, to avoid conflicts with the parent (application) controller. #543
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.10.0...v0.10.1.
- Improved messageboards index layout. #525
- Text contrast increased in the default theme to improve legibility. #fd6cd6
- A user with permissions to edit a topic can now move the topic to another messageboard. #530
- More view hooks for the messageboards index page. #520
- Foreign key constraints that were preventing messageboard deletion on Postgres. #526
- Issues with notifications: lack of policy checking and sending a notification more than once per a post and a user. #529
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.9.4...v0.10.0.
- Preview posts as yout type. #237
- Polish localization. #519
- Pagination on top of the topic page as well as the bottom by default. #501
- KaTeX server-side TeX math rendering plugin. #476
- Private message notification mailer now correctly shows the relevant message (previously it always showed the first message of the private topic). Also, improved the email copy. #512
- @-mentions now allow and autocomplete
.
when quoted, e.g.@"Mr. Smith"
. #296773 - Fixed a breadcrumb URL on the topic page. #9b5525
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.9.3...v0.9.4.
This release brings Rails 5.0.1 compatibility to Thredded.
- The Gemoji gem now locked to
~> 2.1.0
due to v3 removing most of the emoji, until we find a better solution. https://github.com/github/gemoji/releases/tag/v3.0.0.rc1
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.9.2...v0.9.3.
This release adds Spanish localization #498, and fixes the installation on MySQL < v5.7. #925816
This release contains new functionality and backwards-incompatible changes.
NB: If updating to this version from 0.8.x, you will need to copy and run this migration after upgrading the gem.
- Notification plugins system. You can configure which notifiers are enabled: remove the email notifier totally,
or add other notifiers (e.g. Pushover, possibly Slack) by adjusting the
Thredded.notifiers
configuration in your initializer. See the default initializer for examples. #441 - Private topic participants are now displayed on both the "Private Messages" pages and the private topic page. #477
- Buttons in forms are disabled on submit to prevent double-submits. #485
- It is now possible to turn off automatic topic subscription on topic creation and when posting into an existing topic. #372
- Minor front-end performance improvements. #489 #6a2355 #ccc49f
- Topic posts pagination is now displayed before the post form, making it obvious to the user if there are more posts. #491
- Removed
Topic.find_by_slug
andPrivateTopic.find_by_slug
methods. Addedfriendly_find!
toMessageboard
,Topic
, andPrivateTopic
instead to avoid confusion with the Rails dynamic finders. #482
- Video embeds and other iframes in the posts contents are now responsive (16-by-9 ratio by default). #493
- The "Mark all as read" button in private messages is no longer shown when there are unread messages. #38c7a7
- Fixed an SQLite3 compatibility issue that resulted in the
database is locked
error. #37ad93
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.8.4...v0.9.1.
This is a minor bugfix release.
- Compatibility with rails_admin. #280
- Missing localization form the "Create New Topic" button and "Locked" and "Sticky" options. #395
- Missing
require 'thredded/version'
. #480
This is a hot-fix release, as v0.8.0 was broken.
vendor/assets/javascripts/jquery.textcomplete
was not packaged with the gem. 57ed37
This release contains new functionality and backwards-incompatible changes.
See in particular "main app delegator" in Changed below.
NB: If updating to this version from 0.7.x, you will need to copy and run this migration after upgrading the gem.
-
The email notifications on mention setting has been split into two:
- Follow topics on mention.
- Send email notifications on updates to followed topics.
-
Autocompletion for @-mentions within post textarea. #325
-
Turbolinks 5 support. Turbolinks Classic with or without jQuery.Turbolinks are also supported. #440
-
Support for loading Thredded JavaScript via a script tag with
[async]
and/or[defer]
attributes. on_page_load.es6 @96090d -
View hooks have been added to enable your app and plugins to easily extend Thredded views (experimental). #455
- Thredded now loads jQuery v3 by default. If you load jQuery v1 or v2 in your app, you will need to tell Thredded to load the same version. #469
- BBCode support is no longer enabled by default and is now available via the thredded-bbcode gem. #460
- The "main app delegator" has been removed. If you are using an application layout for thredded, you need to either prefix your links with main_app or add some code to your thredded initializer Readme on application layouts. #420
- Content formatting filters have been split into groups based on what they process to make customizing them simpler. #462
- The default markdown parser has been changed from the unmaintained and unsupported github-markdown gem to Kramdown. #458
- Removed the
messageboards.closed
that was used for soft (aka logical) deletion. If you use soft deletion, consider using the paranoia gem instead. #471
- Multiple UX issues, including:
- The "Mark all as read" button in private messages is no longer shown when there are no messages at all. 4b6c2f
- The (un)follow endpoint now supports GET requests to enable redirect_back to it after sign in. #435
- Messageboards
name
limit on MySQL was too long for a unique index with theutf8mb4
encoding. #432 - Minimum username autocomplete length is now configurable, resolving #328 - support for 1-character usernames.
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.7.0...v0.8.0.
This release contains new functionality and backwards-incompatible changes.
NB: If updating to this version from 0.6.x, you will need to copy and run this migration after upgrading the gem.
- Messageboard ordering is now configurable. Three options are provided:
position
: (default) set the position manually via theposition
column which defaults to the creation order, newly created messageboards got to the bottom.last_post_at_desc
: messageboards with most recent posts first.topics_count_desc
: messageboards with most topics first (previous default). Messageboard groups are now ordered by the newposition
column which also defaults to the creation order. #404
- The users that follow a topic can now be displayed on the topic page. This is controlled by a configuration option and is off by default. #392
- Messageboard group name uniqueness is now enforced. If you had non-unique names before, the upgrade migration will deduplicate them. If you need to maintain previous behaviour, you can use this workaround. #318
- Messageboards ordering now defaults to the order they were created in (previously: topics count). #404
- The read topics in the topics list are now also distinguished from the unread ones by their font weight. #394
- Following / not following indicators are now displayed on the topics list. The "following" icon is displayed on the topic page if the topic is being followed by the user. #394
- Last topic tracking in messageboards now correctly reflects the topic when one is deleted. #403
- Last post tracking in topics now always correctly reflects the last post and its timestamp. New
last_post_at
columns have been added totopics
andprivate_topics
to enable this. #405 - Thredded now uses the new
User#thredded_display_name
method for displaying the user's name in links. Previously, Thredded usedUser#to_s
. This new method usesThredded.user_name_column
by default, simplifying the setup. #398
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.6.3...v0.7.0.
This release contains minor bugfixes and adds a Mark All as Read feature to the private messages.
- A way to mark all unread private messages as read. #260
- Last topic post and last messageboard topic is kept in sync correctly with regards to moderation state changes. #384 #387
- Posts and private posts are now ordered by created at and not by ID, to avoid ordering issues in cases such as imported content. #360
- The global preferences URL now works when the Thredde URL helpers are included into another engine. #355
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.6.2...v0.6.3.
This is a minor bugfix release.
- Moderating posts, topics, and users no longer changes their
updated_at
attribute. - Posts and topics that are not yet visible to all users no longer appear as last posts / topics in the respective topic / messageboard.
- Cleaned up dependencies.
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.6.1...v0.6.2.
This is a minor bugfix release.
- Adds an Activity tab to moderation, with a list of all the forum topics and posts, most recent first.
- Moderation history rendering of deleted content.
- Various bugs in @-mentions and highlighting.
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.6.0...v0.6.1.
NB: If updating to this version from 0.5.x, you will need to copy and run this migration.
- Adds a Users tab to moderation, where individual users can be moderated.
- Improves the display of posts in the moderation, showing the topic and whether the post started the topic.
- Thredded now provides a way to render a user's recent posts in the main_app.
- Moderators are now shown all content, including blocked content. A notice is shown on blocked content.
- Fixed a bug that prevented user deletion in main_app if they had posted on the forums.
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.5.1...v0.6.0.
This is a minor bugfix release.
- Security: only allow http, https, and relative iframe src protocols.
- Security: sanitization filter is applied last (no actual issues were discovered, but this is how it should be).
- Fixes multiple issues with @-mentions parsing and highlighting. e6357ff
- Minor CSS fixes.
- Messageboards index page title is now i18n'd.
- The "Delete Topic" now shows a confirmation dialog.
- Editing posts by deleted users no longer throws an exception.
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.5.0...v0.5.1.
NB: If updating to this version from 0.4.x, you will need to copy and run this migration.
This release includes two major features:
- Topic subscriptions and an improved notifications system. #310
- A basic moderation system. #45
Additionally, content formatting is now easier to configure. #321
<figure>
and<figcaption>
are now allowed in formatted post content.
- YouTube embeds. #314
- Creating a topic now marks it as read. #322
- Dates older than a year now display the year. #309
<a>
tags withouthref
in posts no longer cause an exception. #313
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.4.0...v0.5.0.
NB: If updating to this version from 0.3.x, you will need to copy and run this migration.
- Results from messageboards that cannot be read by the user no longer appear in the search results. 77293c
- Word-wrap is no longer a hard one (wraps in the middle of a word), and now wraps in a more acceptable spot - after words, at hyphens, etc.
- Mailers now use permalinks to posts that always redirect to the correct page number. #301
- Messageboard groups (#261) and editing (#303).
- Spoiler(s) tag for post contents 5c8102a
[spoiler]vader is luke's father[spoiler]
- Styled blockquote tags.
- Empty partials before and after post textareas (for customization and extensibility) #293
- New topic form page now allows pre-filling the fields from URL parameters. #297
- Date format fix for dates older than 1 week. 9d71ba
See the full list of changes here: https://github.com/thredded/thredded/compare/v0.3.2...v0.4.0.
- Main app routes are delegated correctly when using the standalone layout. 8a2ff56
- Posts now have
word-break: break-all
applied to prevent overly long string form breaking the layout. #267 - I18n for rails-timeago. #270
- Mobile Safari navigation UI bug. #265
- iframe security vulnerability. 04fa108a7
- Markdown blockquotes. #259
- Read state tracking timestamp issue. 2c85076ba
- Search input styles in various OS/Browser combinations.
- (Private)Topic read permission denied error. #269
- Brazilian Portuguese translation. #264.
Thredded now supports Rails 4.2+ only.
Thredded now also fully supports the latest Rails 5 beta, but currently this requires using master versions of certain gems. See rails_5_0.gemfile for more information.
- (Private)Topic slugs re-generate at appropriate time 28c09f4
- Editing topics and private message subjects. #235
- Require login for
PrivateTopicsController
. 5739f5 - Current user method now configurable via initializer. #234
- Pagination and possible route conflicts throughout. #202
- Redirects to the correct page after posting a reply. #205
- Search with special
by:user
andin:category
qualifiers. #206 - Private topics now validate presence of at least one user other than the creator. #207
- "Not found" and "Permission denied" errors now render with the correct response codes. #208
- Thredded user associations are now correctly nullified / destroyed when a user is destroyed in the parent app.
- Dummy App renamed to "Thredded Demo" and demo deployed to Heroku
- Added vimeo and youtube auto-embed support. #216
- Ability to delete posts. #214
- Global search across all messageboards. #215
- Global notification settings, message notification settings. #210
- Private topic user select now looks prettier and loads the user via AJAX, instead of generating a huge select with all the users. #199.
- The theme is now more customizable thanks to a number of fixes and new variables. #197
- The topic read state is now visually updated on click. #198
- Email preview classes are now provided. #196.
- I18n'd a bunch of static copy. (Thanks @glebm!)
- Navigation layout/design updated ec699fd
- Changed from using Bbcode OR Markdown to both, simultaneously. #221
- Removed Timecop in favor of built-in rails
travel_to
helper. #226 - Moved from CanCanCan to Pundit. #228
- Renamed "Private Topics" to "Private Messages"
- Renamed
$thredded-base-font-color
to$thredded-text-color
. - Renamed
$thredded-base-background-color
to$thredded-background-color
.
- Gemspec had been missing the file-listing for a while therefore previous gem versions would have had installation issues. To use previous, broken, versions refer to the changelog notes for each below.
- Images are now no larger than the post container div. CSS now makes sure the images are appropriately sized.
- Fix an incorrectly closed div in
thredded/topics#show
- Small fix for topics count circle - making sure 3 digit numbers fit in container circle.
- Rake task added to copy emojis to correct location in parent application.
- Properly styled categories in
thredded/topics#index
To install, in your Gemfile:
gem 'thredded', git: 'https://github.com/thredded/thredded.git', tag: 'v0.2.1'
- All migrations have been squashed into one single db-agnostic migration.
- README has been updated with better instructions/support
To install, in your Gemfile:
gem 'thredded', git: 'https://github.com/thredded/thredded.git', tag: 'v0.2.0'
A lot was updated. Apologies for not keeping this updated since 0.1.0
!
- Entirely new default theme. Courtesy @kylefiedler
- Full-text search abstracted out to gem (db_text_search) thanks to @glebm
- Rack-mini-profiler added to dummy app
- Rails depedency bumped up to raisl 4.1+
- User permissions have been simplified considerably. (@glebm)
- Changed from using Q gem to ActiveJob
- Move SeedDatabase class out of an autoloaded path since it's for dev only (@cgunther)
- User path corrected (@saturnflyer)
- Move requiring turbolinks from thredded to dummy app (@cgunther)
- Fix location of layout in install generator (@mlaco)
- Rake task to spin up a web server using the dummy application
- Rake task to assign user to a superadmin role
- A relatively large effort was put in effect for 0.1.0 to provide more thorough support for themes, new css and design, a small bit of javascript.
- Views have had a nice overhaul.
- Provide a generator that installs the default theme and integrates the associated css framework (if necessary). In the first theme we're using bourbon and neat. In the future - probably including foundation and bootstrap.
- Add a Dockerfile and docker-compose.yml to aid in getting a fully working instance of the thredded dummy app up and running.
- Instead of having a messageboard "setup" controller that is only available on the first run of the gem, move it over to
messageboards#new
.
- Instead of creating a messageboard only once, allow superadmins to create new messageboards whenever through the messageboards resource.
- Use Puma instead of Webrick for the dev server
- Oft-used form elements (topics, posts) use the required html attribute.
- Remove Gemfile.lock from the repo
- Active users now shows the current user in addition to everyone else on the first (without having to refresh).
- Until this release PrivateTopic inherited from Topic and used STI to reuse that table. Over time this led to some intermingling of concerns and more than the occasional shotgun surgery. As of now the Topic class has been split into Topic AND PrivateTopic, each with their own table.
- Provide means to display, or inspect, the unread private topics count. This now allows us to see if there are any private topics that one has not read.
- Add queue support for multiple background job libraries using the Q gem. Previous to now the only instances where we really cared about shoving something in the background was when we sent out mail - this is a bit myopic. There are several cases where some processes could/should be put into the background - hence needing a queue. The explicit requirement of a specific queue library is something we should avoid so the Q gem was pulled in to provide the abstraction layer that allows one of several libraries to be used - resque, sidekiq, delayed_job, or, the default, an in-memory threaded queue.
- Update rails dependency from
'~> 4.0.0'
to'>= 4.0.0'
- Replace nested forms with form objects
- Remove unused columns in tables -
state
fromthredded_topics
. - Link to user from post on topic page (thanks @taylorkearns!)
- Fix issue where post did not inherit the test filter set per messagebard
- Building a new post for reply form must use the parent messageboard filter
- Users' messageboard preferences are created if one does not exist for a given messageboard. This had caused people who had not updated their own preferences to NOT receive @ notifications by default. As of this release they will, by default, receive @'s and private thread notifications until they change their preferences.
- A topic's categories can now be rendered in the view.
categories/category
partial addded. - Adding attachments to a post has been removed. (Attachment model and association will be removed in 0.0.15)
- Requiring the sql search builder explicitly fixes the issue where anonymous visitors would not be able to search
- Users, when they edit a topic they started, should not be able to pin/lock it. This has been changed to only allow admins to do so.
- bbcode now renders line-breaks
- html is now better sanitized
- Replace the previously used inheritance-based filter chain with html-pipeline. Much better.
- Replace bb-ruby with bbcoder gem.
- Replace
redcarpet
withgithub-markdown
- Provide a more explicit contract between the gem and the parent application with regards to the layout the thredded views will render within
:thredded_page_title
and:thredded_page_id
provided as content blocks that may be yielded to the layout- Allow gravatar image to be overridden in the config
- Thredded::PostDecorator#user_link now available for use in post-related views
- Up until now the manner by which file uploads (via Carrierwave) had its storage
location determined was in the uploaded classes themselves. This commit allows the
location to be set from the Thredded module itself -
Thredded.file_storage
- to either :file or :fog.
- Fixed: private topics not being created correctly
- Test coverage for above
- Make sure messageboard slug is populated upon creation
- Refactor controllers for a little more cleanliness
- Exceptions raised and caught instead of asking for existence of objects
- Update pagination path format
- Get search back to working
- Update rails dependency in gemspec to use a
~>
instead of>=
- Fix
convert_textile_to_markdown
migration to use proper sql syntax
- A CHANGELOG!
- Fix
PostsController#topic
to ensure theuser_topic_reads
association is eager loaded - Make that
topic
method pass along to an obviously named and intention revealing method - Delete the filter select from
posts/_form
partial - require
thredded/at_notifier
inthredded.rb
(thanks @srussking)
- Introduce a more robust
MessageboardDecorator
- Allow
messagebord
obj or collection to be decorated with#decorate
method - Introduce
NullTopic
to stand in for instances where a topic is not found - remove
rspec/autorun
fromspec_helper