What's Changed
- Temporary fix for broken themes by @mouse-reeve in #1990
- Adds custom compile management command by @mouse-reeve in #1994
- Locale updates by @mouse-reeve in #1999
- Refactors content warning field by @mouse-reeve in #2002
- Consistent positioning of success buttons by @mouse-reeve in #2003
- Log info, not exception, for expected errors by @mouse-reeve in #2006
- Add autocompletions for fish shell by @viviicat in #2008
- add SASS_PROCESSOR_ENABLED = True by @viviicat in #2009
- Fixes instructions on admin themes view by @mouse-reeve in #2010
- Updates locales by @mouse-reeve in #2011
- Add barcode scanning support by @viviicat in #1976
- Catch update book error by @mouse-reeve in #2012
- Manually add theme path rather than options by @mouse-reeve in #2013
- Allow book subjects to be edited by @Tak in #2000
- Improves user admin view by @mouse-reeve in #2015
- Moves duplicate field script into its own file by @mouse-reeve in #2016
- Moves forms into separate files by @mouse-reeve in #2017
- Adds scanner translation strings by @mouse-reeve in #2018
- Array input field for forms by @mouse-reeve in #2020
- Schedules automod tasks by @mouse-reeve in #1974
- Run miscellaneous scripts during update by @mouse-reeve in #2025
- Adds missing update script by @mouse-reeve in #2026
- Add 'Stopped Reading' shelf by @tversteeg in #1934
- Adds context and fixes whitespace in translation strings by @mouse-reeve in #2027
- Custom question option and field for spammed bookwyrm instances by @oragegu in #1998
- Resolves merge conflicts on user invite question PR by @mouse-reeve in #2028
- Removes file added by merge by @mouse-reeve in #2029
- Fixes for dark theme by @viviicat in #2031
- Reverts author view changes by @mouse-reeve in #2033
- Create another edition for existing work by @mouse-reeve in #1973
- Simplifies query possibly causing author page performance issues by @mouse-reeve in #2036
- Updates locales by @mouse-reeve in #2034
- Adds auto-create queues option to config by @mouse-reeve in #2037
- Comments out build script step in update command by @mouse-reeve in #2038
- Fixes edit book page by @mouse-reeve in #2040
- Fixes progress updates by @mouse-reeve in #2042
- Dashboard display small fixes by @mouse-reeve in #2045
- Uses custom date select widget for publication dates by @mouse-reeve in #2044
- Resend flow by @mouse-reeve in #2046
- Import help by @mouse-reeve in #2048
- Paginate reports by @mouse-reeve in #2055
- Avoid new pylint complaint by @mouse-reeve in #2063
- Fixes typo in about link by @mouse-reeve in #2061
- Adds Romanian locale by @mouse-reeve in #2062
- Trigger rebroadcast of follow requests by @mouse-reeve in #2056
- Misc theme fixes by @mouse-reeve in #2064
- Export user book data as csv by @mouse-reeve in #1556
- Updates locales by @mouse-reeve in #2065
- Adds Finnish locale by @mouse-reeve in #2069
- Improves instance list admin view by @mouse-reeve in #2068
- Adds zsh-specific completions file by @mouse-reeve in #2072
- Updates locales by @mouse-reeve in #2073
- Uses details for user menu in main navbar by @mouse-reeve in #2077
- Consistent formatting for "BookWyrm" name by @mouse-reeve in #2078
- Include test files in pylint by @mouse-reeve in #2074
- Further dark theme fixes by @viviicat in #2080
- Bump django from 3.2.12 to 3.2.13 by @dependabot in #2085
- Updates locales by @mouse-reeve in #2087
- Show clearer behavior when no email confirmation is needed after all by @mouse-reeve in #2089
- Fixes invite request alert count by @mouse-reeve in #2090
- Replace user|username with request.user.localname by @denmch in #2103
- Updates locales by @mouse-reeve in #2092
- Updates locales by @mouse-reeve in #2110
- Isbn check befor search by @willhoh in #1942
- Add names of books/lists/authors/etc as slugs, redirect to slugified version of the page by @viviicat in #2007
- Fix broken links in README by @maeserichar in #2111
- add automatic restart of containers by @maxheadroom in #2104
- Fixes how backdated statuses are prioritized by @mouse-reeve in #2113
- Fixes exception when receiving Article type activities by @mouse-reeve in #2114
- Prevent error when a book language has a null value by @mouse-reeve in #2115
- Fixes urls in edit book form by @mouse-reeve in #2119
- Fixes edit author paths by @mouse-reeve in #2125
- Calibre import. Fixes #627 by @Ryuno-Ki in #2093
- Corrects redirect to confirm mode when adding book by @mouse-reeve in #2127
- Updates black version by @mouse-reeve in #2126
- Multiple authors not added when editing book by @mouse-reeve in #2128
- Make an exception for yourself when followers are hidden by @mouse-reeve in #2130
- Updates locales (changes to German, Romanian) by @mouse-reeve in #2129
- Stopped shelf by @mouse-reeve in #2035
- Don't throw an error when unable to connect to remote data by @mouse-reeve in #2133
- Stopped shelf fixes by @mouse-reeve in #2134
- Use general ratings rather than privacy filtered by @mouse-reeve in #2138
- Search refactor by @mouse-reeve in #2139
- Use relative list order ranking in OpenLibrary search by @mouse-reeve in #2141
- Clip column in about page by @mouse-reeve in #2145
- Updates locales for stopped reading strings by @mouse-reeve in #2146
- Fix pylint config for pylint 2.14.0 by @cincodenada in #2150
- Update preview image generation to only query ids by @cincodenada in #2149
- add page numbers to comment and quote statuses by @hughrun in #2148
- Create SECURITY.md by @JamieSlome in #2159
- Updates locales by @mouse-reeve in #2160
- Split expand book data task into per-edition tasks by @mouse-reeve in #2142
- Use async requests for broadcasting by @mouse-reeve in #2143
- Revert "Use async requests for broadcasting" by @mouse-reeve in #2163
- Federated servers admin by @mouse-reeve in #2164
- Re-consider list privacy on edit by @mouse-reeve in #2057
- Fixes logic error in checking relationships by @mouse-reeve in #2167
- Add warning to dashboard if email sender looks misconfigured by @mouse-reeve in #2166
- Handle getting edition data as dict or string by @mouse-reeve in #2169
- Html sanitizer by @mouse-reeve in #2173
- Show deleted users as red in the user list by @mouse-reeve in #2177
- Fixes setting access level to "user" by @mouse-reeve in #2180
- Bump django from 3.2.13 to 3.2.14 by @dependabot in #2183
- Handle link domains with no associated user by @mouse-reeve in #2184
- Adds missing migration by @mouse-reeve in #2185
- Adds test coverage command and some more miscellaneous tests by @mouse-reeve in #2186
- Adds another missing migration by @mouse-reeve in #2187
- More tests by @mouse-reeve in #2188
- Removed incorrect and duplicate page indicator from content status by @mouse-reeve in #2189
- Update password reset copy so as not to reveal whether the email exists by @mouse-reeve in #2190
- Notifications refactor by @mouse-reeve in #2082
- Updates locales by @mouse-reeve in #2193
- Tests for image generator file by @mouse-reeve in #2192
- A farcical parade of errors when reading multiple editions by @mouse-reeve in #2195
- Admin perms by @mouse-reeve in #2197
- Move deleted users to separate tab in admin panel by @mouse-reeve in #2199
- Locale updates by @mouse-reeve in #2198
- Fixes links to documentation pages by @mouse-reeve in #2200
- Improves UI around DMs by @mouse-reeve in #2203
- New and improved warnings on the admin dashboard by @mouse-reeve in #2202
- Adds French notification strings and new admin strings by @mouse-reeve in #2206
- Fixes bug in notifications breaking follows by @mouse-reeve in #2208
- Show content warning in notification status previews by @mouse-reeve in #2210
- Fixes numbering on book lists by @mouse-reeve in #2211
- Use POST instead of GET for logout function by @mouse-reeve in #2214
- Improves change password flow by @mouse-reeve in #2215
- Use HTTP post for CSV export by @mouse-reeve in #2216
- Log failing to connect as info instead of exception by @mouse-reeve in #2217
- Updates locales by @mouse-reeve in #2218
- Update README.md by @mouse-reeve in #2219
- Notification order by @mouse-reeve in #2221
- Removes insecure redirects by @mouse-reeve in #2222
- Shelf edit perms by @mouse-reeve in #2223
- Remove error reporting on resend to invalid email address by @mouse-reeve in #2224
- Remove redirecting to "next" by @mouse-reeve in #2225
- Locale updates by @mouse-reeve in #2226
- Check permissions when creating a status by @mouse-reeve in #2228
- Password validation by @mouse-reeve in #2229
- Fix ratings by @mouse-reeve in #2235
- Updates locales by @mouse-reeve in #2237
- Show lists to logged out viewers by @mouse-reeve in #2239
- Only show pending follow requests from active users by @mouse-reeve in #2241
- Block some bw-dev commands from being run in prod by @mouse-reeve in #2196
- Add guided tour / walkthrough by @hughrun in #2168
- Adds rate limiting to some views in nginx by @mouse-reeve in #2230
- Locales updates by @mouse-reeve in #2242
- Fixes list creation perms by @mouse-reeve in #2243
- Updates node to version 18 by @mouse-reeve in #2244
- Fixes how guided tour strings are localized by @mouse-reeve in #2245
- Moves annual goal to its own file by @mouse-reeve in #2246
- Move list suggestions into helper function by @mouse-reeve in #2248
- Removes improperly placed csrf_exempt decorator by @mouse-reeve in #2249
- Adds Polish locale by @mouse-reeve in #2251
- Merges follower/following views by @mouse-reeve in #2247
- Updates and fixes opentelemetry install by @mouse-reeve in #2253
- Locales update by @mouse-reeve in #2256
- Fixes perms checks for groups by @mouse-reeve in #2257
- Improves rel attrs on links that open on new tabs by @mouse-reeve in #2259
- Add notifications count on mobile header by @joachimesque in #2255
- Fixes search pagination by @mouse-reeve in #2254
- Removes duplicate version warning by @mouse-reeve in #2261
- Removes compilescss command by @mouse-reeve in #2262
- Safer display of book descriptions by @mouse-reeve in #2263
- Bump django from 3.2.14 to 3.2.15 by @dependabot in #2271
- strip spaces from user search by @hughrun in #2275
- hide replies to posts user cannot see by @hughrun in #2277
- fix resetdb by @hughrun in #2281
- Uses theme in remote follow template by @mouse-reeve in #2284
- fix visibility of stars when editing a review by @hughrun in #2283
- Allow x in isbn path by @mouse-reeve in #2285
- Fixes logic that displays search remote or manually add link by @mouse-reeve in #2287
- Refactors how mentions are collected by @mouse-reeve in #2260
- Updates locales by @mouse-reeve in #2286
- Normalise ISBNs for searching by @hughrun in #2282
- conditional display of notifs button by @mooseyboots in #2288
- Fix star rating default and minimum by @hughrun in #2293
- Bump flower from 1.0.0 to 1.2.0 by @dependabot in #2295
- Null state for review view during imports by @mouse-reeve in #2297
- Adds celery status view by @mouse-reeve in #2298
- Adds new admin view to locales by @mouse-reeve in #2299
- Fixes creating notifications for automod reports by @mouse-reeve in #2300
- Check permissions automatically on form save by @mouse-reeve in #2258
- Adds a couple tests to annual review views by @mouse-reeve in #2301
- Typo fix by @mouse-reeve in #2310
- Just adds a couple tests by @mouse-reeve in #2311
- Make it so that finishing a book cannot happen in the future by @redshiftss in #2316
- Closes #2194 Normalize stored ISNI by @chambersh1129 in #2314
- Enable optional 2FA by @hughrun in #2294
- Remove extra whitespace in announcements by @mouse-reeve in #2320
- Bump django from 3.2.15 to 3.2.16 by @dependabot in #2321
- Close dropdown menu when opening one of its modal by @obrenckle in #2322
- Only show editions with the author on the author page by @mouse-reeve in #2325
- Send confirmation emails directly, rather than with celery by @mouse-reeve in #2326
- Imports admin by @mouse-reeve in #2327
- Import admin fixes by @mouse-reeve in #2329
- Adds more fields to import admin table and ticks version by @mouse-reeve in #2330
- Updates locales by @mouse-reeve in #2331
- Show average run times for imports by @mouse-reeve in #2332
- Let users and admins cancel imports by @mouse-reeve in #2333
- Fixes duplicate notification on import by @mouse-reeve in #2336
- Makes the invite request table side scroll for mobile by @mouse-reeve in #2337
- Make the import admin table sortable by @mouse-reeve in #2338
- Updates locales by @mouse-reeve in #2339
- Import time estimate fixes by @mouse-reeve in #2341
- Allow users to temporarily deactivate their accounts by @mouse-reeve in #2324
- Updates locales by @mouse-reeve in #2344
- Another tweak to how import wait times are calculated by @mouse-reeve in #2345
- Use aiohttp for broadcasting by @mouse-reeve in #2346
- Use variable instead of string by @Ryuno-Ki in #2355
- Adds management command to revoke preview image tasks by @mouse-reeve in #2362
- Ignore VariableDoesNotExist errors in debug logging by @cincodenada in #2140
- Small fixes - typo in a url and emails about reports by @mouse-reeve in #2365
- Uses the same snippet for the footer across different templates by @mouse-reeve in #2366
- Include privacy policy and code of conduct in footer by @mouse-reeve in #2367
- Generate fewer add_status_tasks by @mouse-reeve in #2380
- Updates default state of .env file by @mouse-reeve in #2376
- Remove TFA from user by @jaschaurbach in #2381
- Longer invite answer field by @mouse-reeve in #2382
- Simplify identifier searches by @mouse-reeve in #2384
- Simplify title/author search logic by @mouse-reeve in #2385
- Adds unit test for failing view by @mouse-reeve in #2387
- Remove dead URL by @jaschaurbach in #2392
- Fixes permissions on settings invite request page by @mouse-reeve in #2395
- Fixes user follow cache by @mouse-reeve in #2399
- Change log level to info for connector exceptions by @mouse-reeve in #2401
- Only offer RSS feeds for local users by @mouse-reeve in #2400
- Uses correct css paths in embeds by @mouse-reeve in #2404
- Fixes collecting list of admins by @mouse-reeve in #2405
- Allow admins to disable starting imports by @mouse-reeve in #2406
- Fix Quick Typo by @henry-fisher in #2414
- 2fa qrcode fixes by @hughrun in #2407
- Expand robots.txt by @mouse-reeve in #2419
- show otp_secret when setting up 2fa by @jaschaurbach in #2394
- Quote ports in docker-compose by @jaschaurbach in #2390
- Fix: Slice queryset in list suggestions before we resolve it by @cincodenada in #2437
- Don't use task for password reset emails by @mouse-reeve in #2426
- Updates locales by @mouse-reeve in #2444
- Fixes editing links by @mouse-reeve in #2443
- Make the federated servers table display correctly on mobile by @mouse-reeve in #2446
- Handles state in notifications where a list item was deleted by @mouse-reeve in #2445
- set HTTP_X_FORWARDED_PROTO in .env by @jaschaurbach in #2418
- Show review counts in search results by @mouse-reeve in #2448
- Fixes error on importing from inventaire by @mouse-reeve in #2447
- Don't start imports with empty CSVs by @mouse-reeve in #2449
- Remove no-longer present
compilescss
from fish autocomplete config by @viviicat in #2458 - registration answer not long enough client side, fixes #2377 for real by @viviicat in #2456
- Visual tweaks by @viviicat in #2460
- Dark theme contrast by @viviicat in #2459
- Typo fix by @mouse-reeve in #2469
- make use of templates instead of hidden divs which is more elegant by @viviicat in #2457
- StoryGraph import ISBN tweak by @rickosborne in #2466
- Adds database fields for legal page/impressum by @mouse-reeve in #2450
- Adds missing template by @mouse-reeve in #2471
- Fixes bug that caused imports to be disabled unexpectedly by @mouse-reeve in #2473
- Updates locales by @mouse-reeve in #2474
- Fix serialization of JSON-LD subarrays by @indutny in #2452
- Visually separate authors when creating book by @mouse-reeve in #2479
- Enable nginx caching and optimizations. by @osresearch in #2465
- goodreads_key for books editable by @jaschaurbach in #2488
- Add apple-touch-icon to global layout by @chdorner in #2490
- Trying to fix an unreliable unit test regex by @mouse-reeve in #2496
- Uses a list of fields rather than exclusions for edit book form by @mouse-reeve in #2495
- Isfdb ID for books and authors by @jaschaurbach in #2482
- Adds email config admin view by @mouse-reeve in #2494
- Add eslint subcommand to bw-dev by @chdorner in #2497
- Add new user tab listing only reviews and comments by @chdorner in #2489
- Use user.reactivate when a user confirms their email address by @mouse-reeve in #2498
- Manual email confirm by @jaschaurbach in #2492
- Fixes new identifier fields in edit book form by @mouse-reeve in #2501
- Adds "owner" role by @mouse-reeve in #2478
- Updates locales by @mouse-reeve in #2502
- Render markdown to html when using activitypub by @mouse-reeve in #2398
- Update version number and javascript cache buster by @mouse-reeve in #2504
- Detect preferred timezone via JavaScript on register by @chdorner in #2491
- Fix year of reading: phrasing when there are books without page data by @hueyy in #2512
- delete avatar when user is deleted by @jaschaurbach in #2510
- Updates nginx production config by @mouse-reeve in #2499
- Updates locales by @mouse-reeve in #2514
- Don't mark imports as active until their job task runs by @mouse-reeve in #2517
- Don't add imported reviews to timelines by @mouse-reeve in #2515
- Create a separate celery queue for imports by @mouse-reeve in #2516
- Disable sass processer when not in debug mode by @chdorner in #2527
- Remove deprecation warnings from Pillow by @joachimesque in #2523
- bump some versions in requirements by @jaschaurbach in #2526
- Disable remote users preview images generation by @joachimesque in #2522
- Increase priority for follow activities and lower for shelve by @mouse-reeve in #2528
- Updates locales by @mouse-reeve in #2533
- Fix permissions check for System admin navigation section by @chdorner in #2537
- Adds Basque language by @mouse-reeve in #2538
- Display generated notes correctly depending on format by @mouse-reeve in #2532
- Fix titleby cache fragment clearing by @chdorner in #2529
- Update forms.js by @jaschaurbach in #2525
- Add REDIS_BROKER_HOST to example env by @chdorner in #2552
- User menu mobile align right by @joachimesque in #2543
- Fix fragment caches (language codes, cache keys, etc.) by @chdorner in #2550
- Update github actions versions by @joachimesque in #2563
- Redirect back to the original page after shelving book by @joachimesque in #2544
- Ensure django tests pass in default Docker setting by @avandeursen in #2547
- Add Website field to author by @jaschaurbach in #2555
- Fix Half Stars for Rating books by @Giebisch in #2580
- Add contrib directory with systemd service files for front, worker and scheduler by @codeurimpulsif in #2373
- Fix two "aria-hidden" tags by @asmaloney in #2589
- Fix spelling in various comments by @asmaloney in #2591
- Fix spelling in blocktrans arg by @asmaloney in #2590
- Fix spelling in author form by @asmaloney in #2588
- {list} Fix duplicate suggestions in Add Books section by @asmaloney in #2586
- Move all opengraph (/twitter) metadata into one template by @asmaloney in #2593
- Updates locales by @mouse-reeve in #2594
- Re-comment nginx config by @mouse-reeve in #2596
- Revert "Add Website field to author" by @mouse-reeve in #2598
- Fix generated note content checks in card header template by @chdorner in #2600
- Ensure transient
cover_url
field value gets persisted across form renders by @chdorner in #2572 - Email Config View Has a Typo by @cthos in #2607
- Fix barcode scanner by @rrgeorge in #2605
- Enable RSS autodiscovery on user profile by @kvibber in #2608
- Added Import Limit by @Giebisch in #2511
- Add Website to author by @jaschaurbach in #2606
- Improve Open Graph data for books and add it for lists by @asmaloney in #2599
- Adds merge migration by @mouse-reeve in #2612
- Add RSS feed for reviews, quotes, comments only by @Giebisch in #2610
- Allow to set default user auth group by @chdorner in #2554
- Make follow activities a high priority by @mouse-reeve in #2617
- use mocks for isni API calls by @hughrun in #2618
- Add support to connecting to redis via unix socket by @rrgeorge in #2604
- Update requirements.txt by @jaschaurbach in #2620
- Show import queue in Celery admin by @mouse-reeve in #2621
- Enable communication with "authorized_fetch" Mastodon servers by @hughrun in #2613
- add "import" to celery worker by @jaschaurbach in #2622
- Fix passwordless redis connection string by @chdorner in #2623
- Updates locales by @mouse-reeve in #2624
- fix sass compound selector extensions by @hughrun in #2630
- Minor performance improvements by @0x29a in #2629
- Improve feed header for federated generated notes by @chdorner in #2628
- Button in admin view to manually activate pending user by @alopix in #2627
- Remove redundant DB queries by @0x29a in #2636
- Improve search results by @0x29a in #2646
- Pin black versions by @chdorner in #2645
- Celery ping by @mouse-reeve in #2639
- Bump django from 3.2.16 to 3.2.17 by @dependabot in #2648
- Book Series v1: a very simple version to link to book series by name by @alopix in #2616
- UI: larger dropdown size for mobile devices by @alopix in #2637
- Add Content-Security-Policy headers and secure cookies by @rrgeorge in #2644
- chore(deps): bump django from 3.2.17 to 3.2.18 by @dependabot in #2667
- Always expand content status on single status view by @chdorner in #2652
- Fix
SiteSettings.default_user_auth_group
FK on_delete value by @chdorner in #2681 - increasing rsa key size by @nycterent in #1753
- Use a separate queue for broadcasts by @mouse-reeve in #2685
- fix: missing expand variable by @0x29a in #2688
- Add config variable for additional CSP hosts by @chdorner in #2687
- Improves discover page test so it catches errors by @mouse-reeve in #2689
- Replace Next and Previous with Older and Newer by @kangangi in #2694
- Page Range by @Giebisch in #2638
- Expand TOTP validity window by @chris-y in #2657
- Attempt to complete inbox requests synchronously by @mouse-reeve in #2683
- Only use chronological pagination sometimes by @mouse-reeve in #2696
- Create notifications for link domains that need approval by @mouse-reeve in #2690
- Reorder head migration by @chdorner in #2711
- Improve polling algorithm by @WesleyAC in #2709
- fix typo in systemd example by @verymilan in #2721
- Optimize add/remove book statuses task queries by @WesleyAC in #2726
- Fix dbshell command by @WesleyAC in #2724
- Improve
HomeStream.get_audience
performance by @WesleyAC in #2723 - Broaden except section for HTTP request in dashboard by @WesleyAC in #2718
- Change CSV export to buffer instead of streaming by @WesleyAC in #2713
- Ignore Celery task results by @WesleyAC in #2714
- Add env vars for celery concurrency and time limit by @WesleyAC in #2710
- Use more portable hashbang for dev scripts. by @WesleyAC in #2708
- Add attributes to images to hint async load by @Ryuno-Ki in #2702
- Show notification banner on top of form when book failed to update by @chdorner in #2695
- Initial hashtag support by @chdorner in #2524
- Adds merge migration by @mouse-reeve in #2735
- Use context processor for 500 page by @WesleyAC in #2737
- Updates locales by @mouse-reeve in #2739
- Update version number and js cachebuster by @mouse-reeve in #2738
- Env var improvements by @WesleyAC in #2746
- Optimize CSV export query by @WesleyAC in #2741
- Enable Azure BlobStorage as an alternative to AWS S3 by @tebriel in #2704
- Add OpenTelemetry console exporter option by @WesleyAC in #2744
- Add helper to refer views back to http referers safely by @mouse-reeve in #2749
- Add message about shelf privacy in user settings by @lostfictions in #2752
- Bump redis from 3.4.1 to 4.5.3 by @dependabot in #2761
- Adds Esperanto locale by @mouse-reeve in #2763
- Add more detailed telemetry for get_audience by @WesleyAC in #2750
- Clashes between links and mentions by @mouse-reeve in #2767
- Fixes effect/affect error by @mouse-reeve in #2768
- Bump redis from 4.5.3 to 4.5.4 by @dependabot in #2773
- Improving Feed link UI colours by @rkmdCodes in #2698
- Uses referer redirect for some admin views by @mouse-reeve in #2766
- Added command 'down', to bring down containers by @fwalloe in #2774
- Fix help text for
bw-dev down
by @WesleyAC in #2788 - Increase network timeout in Celery tasks by @WesleyAC in #2786
- Don't include deleted users in suggested users query by @WesleyAC in #2799
- Increase Celery ping timeout for monitoring page by @WesleyAC in #2798
- Add form to remove tasks from Celery by @WesleyAC in #2787
- Pass allow_external_connections through ignore_activity by @WesleyAC in #2793
- Add telemetry for SuggestedUsers rerank_user_task by @WesleyAC in #2791
- Spelling by @jsoref in #2780
- Add automatic instrumentation to Postgres queries by @WesleyAC in #2795
- Only call get_audience once in add_status by @WesleyAC in #2784
- Add more information to get_audience telemetry by @WesleyAC in #2779
- Optimize get_audience by @WesleyAC in #2785
- Fix Accept header for requesting ActivityPub objects by @WesleyAC in #2800
- Don't show the series as a link if the book has no author by @bpeel in #2808
- Small quality of life improvements to list handling by @ranok in #2782
- Fix a few strings that weren’t marked as translatable by @bpeel in #2816
- Choose installed docker compose command in bw-dev by @WesleyAC in #2814
- Fix two places where the reading status shelf name wasn’t translated by @bpeel in #2789
- Stop ignoring task results by @WesleyAC in #2805
- Fix language constant to show correct lang in API by @jaschaurbach in #2832
- Move the search request logic into the AbstractConnector by @ranok in #2778
- Catch value errors when parsing imported ratings by @mouse-reeve in #2770
- Add management commands to merge a pair of editions or authors by @bpeel in #2821
- Fix deduplicating books that are on a shelf or in a list by @bpeel in #2818
- Updates locales by @mouse-reeve in #2836
- Revert "Increase Celery ping timeout for monitoring page" by @mouse-reeve in #2837
- build(deps): bump django from 3.2.18 to 3.2.19 by @dependabot in #2847
- Add a management command to merge works by @bpeel in #2838
- Use the translated shelf name in the message for when another edition is shelved by @bpeel in #2850
- Use the translated shelf name in the “remove from” shelf button by @bpeel in #2852
- Optimize get_audience by only fetching IDs by @WesleyAC in #2839
- Show all (not just open) reports when linked from user admin by @mouse-reeve in #2843
- Updates locales by @mouse-reeve in #2853
- Fix federation with GoToSocial and inconsistent KeyId in headers by @hughrun in #2812
- build(deps): bump requests from 2.28.2 to 2.31.0 by @dependabot in #2858
- Add dates to RSS feeds and sort by most recent first by @kvibber in #2862
- Show “no rating” instead of blank stars if the review has no rating by @bpeel in #2857
- Set remote servers synchonously where possible by @mouse-reeve in #2842
- Retain subjects and authors when new book form fails validation by @hughrun in #2827
- Update locales by @mouse-reeve in #2864
- Federation by @hughrun in #2887
- Ensure report button triggers modal by @hughrun in #2883
- Fixes prettier JS complaints by @mouse-reeve in #2903
- build(deps): bump django from 3.2.19 to 3.2.20 by @dependabot in #2894
- fixed singularisation/pluralisation by @rritik772 in #2631
- Add support for title sort to ignore initial article by @zachflanders in #2834
- Fixes plural display on import admin page by @mouse-reeve in #2904
- build(deps): bump aiohttp from 3.8.3 to 3.8.5 by @dependabot in #2909
- Switch from priority queues to function-based queues by @WesleyAC in #2908
- Don't show remote profiles to unauthenticated users by @WesleyAC in #2910
- Don't allow invalid account reactivation by @mouse-reeve in #2879
- mypy integration by @jderuiter in #2916
- Remove '@' from the beginning of hashtag names in activity by @jderuiter in #2923
- Reduce activity in streams queue from boost tasks by @mouse-reeve in #2927
- Disable Spellcheck on header search inputs by @joachimesque in #2929
- fix button text when editing posts by @tararoshan in #2922
- Remove links trailing punctuation by @joachimesque in #2933
- Only trigger add_status_task when status is first created by @mouse-reeve in #2934
- Fixes for create-book by @jderuiter in #2937
- Type annotations and related changes for connectors by @jderuiter in #2925
- Add copy button for ISBN by @axiomizer in #2915
- Adds management command to repair editions in bad state by @mouse-reeve in #2905
- Include Dutch locale by @jderuiter in #2918
- On readthrough, progressupdate or status delete return to previous page by @jderuiter in #2938
- Isbn hyphenation by @axiomizer in #2921
- Convert description from Markdown when importing from Open Library by @jderuiter in #2935
- Record report actions by @mouse-reeve in #2854
- Adds breadcrumbs and better titles to followers/following pages by @mouse-reeve in #2946
- Small UI fixes by @mouse-reeve in #2947
- fix illegal values in redis jobs by @hughrun in #2957
- Type annotations for bookwyrm.importers by @jderuiter in #2963
- fix opensearch template by @hughrun in #2972
- chore: bump version to match the latest tag by @0x29a in #2967
- Pre-populate sort title in edit book form if not provided by @mouse-reeve in #2948
- Type annotations and tests for isbn by @jderuiter in #2962
- Makes the delete announcement view post-only by @mouse-reeve in #2964
- Serve static files in debug mode by @dato in #3002
- parent_work was not always included when needed by @jderuiter in #2992
- Pinned versions of docker containers by @JJimenez71 in #2987
- Correct EPUB spelling by @fofwisdom in #2986
- Minor improvements to Quotation pure content by @dato in #3000
- Updates locales by @mouse-reeve in #3010
- Type annotations for utils by @jderuiter in #2917
- create instance user on instance creation by @hughrun in #3007
- fix ids of labels in invite request form in admin by @categulario in #2912
- Add spanish articles by @MaggieFero in #2953
- Allow searching for local users when logged out by @mouse-reeve in #2949
- Updates locales and version number for release by @mouse-reeve in #3016
- Bump pillow from 9.4.0 to 10.0.1 by @dependabot in #3017
- URL-encode book series name when linking to it by @dato in #3023
- Drop duplicate author link to ISFDB by @dato in #3022
- Fix eslint warning by @jaschaurbach in #3033
- Add: installable as PWA by @rg-wood in #2981
- dev-tools: use apt source for Node instead of setup script by @dato in #3040
- introduce .prettierrc by @jaschaurbach in #3034
- Update .prettierrc by @jaschaurbach in #3042
- Stable defaults for incomplete parsed dates by @dato in #3038
- Fallback to showing first published date by @dato in #3003
- Final prettier re-run by @dato in #3043
- Show/Hide password icon by @skmanohar in #3029
- Add sandboxing to systemd examples by @hbrunn in #2960
- Remaining CSS lints and npm exec cleanup by @dato in #3046
- fix for npm dev commands (stylelint and prettier) by @viviicat in #2032
- Cite author in quotations and alt text by @dato in #3008
- Move version out of settings by @jaschaurbach in #3045
- Create bump-version.sh by @jaschaurbach in #3050
- Update bump-version.sh by @jaschaurbach in #3051
- Minor vocabulary fixes and structured data improvements by @dato in #3036
New Contributors
- @tversteeg made their first contribution in #1934
- @denmch made their first contribution in #2103
- @maeserichar made their first contribution in #2111
- @maxheadroom made their first contribution in #2104
- @Ryuno-Ki made their first contribution in #2093
- @JamieSlome made their first contribution in #2159
- @mooseyboots made their first contribution in #2288
- @redshiftss made their first contribution in #2316
- @chambersh1129 made their first contribution in #2314
- @obrenckle made their first contribution in #2322
- @henry-fisher made their first contribution in #2414
- @rickosborne made their first contribution in #2466
- @indutny made their first contribution in #2452
- @osresearch made their first contribution in #2465
- @hueyy made their first contribution in #2512
- @avandeursen made their first contribution in #2547
- @Giebisch made their first contribution in #2580
- @codeurimpulsif made their first contribution in #2373
- @asmaloney made their first contribution in #2589
- @cthos made their first contribution in #2607
- @rrgeorge made their first contribution in #2605
- @kvibber made their first contribution in #2608
- @0x29a made their first contribution in #2629
- @alopix made their first contribution in #2627
- @kangangi made their first contribution in #2694
- @chris-y made their first contribution in #2657
- @verymilan made their first contribution in #2721
- @tebriel made their first contribution in #2704
- @lostfictions made their first contribution in #2752
- @rkmdCodes made their first contribution in #2698
- @fwalloe made their first contribution in #2774
- @jsoref made their first contribution in #2780
- @bpeel made their first contribution in #2808
- @ranok made their first contribution in #2782
- @rritik772 made their first contribution in #2631
- @zachflanders made their first contribution in #2834
- @jderuiter made their first contribution in #2916
- @tararoshan made their first contribution in #2922
- @axiomizer made their first contribution in #2915
- @dato made their first contribution in #3002
- @JJimenez71 made their first contribution in #2987
- @fofwisdom made their first contribution in #2986
- @categulario made their first contribution in #2912
- @MaggieFero made their first contribution in #2953
- @rg-wood made their first contribution in #2981
- @skmanohar made their first contribution in #3029
- @hbrunn made their first contribution in #2960
Full Changelog: v0.3.2...v0.7.0