255 lines
7.8 KiB
Markdown
255 lines
7.8 KiB
Markdown
#### [0.4.12] - 2025-03-19
|
|
- `delete_reaction` detects comments and uses `deleted_at` update
|
|
- `check_to_unfeature` etc. update
|
|
- dogpile dep in `services/memorycache.py` optimized
|
|
|
|
#### [0.4.11] - 2025-02-12
|
|
- `create_draft` resolver requires draft_id fixed
|
|
- `create_draft` resolver defaults body and title fields to empty string
|
|
|
|
|
|
#### [0.4.9] - 2025-02-09
|
|
- `Shout.draft` field added
|
|
- `Draft` entity added
|
|
- `create_draft`, `update_draft`, `delete_draft` mutations and resolvers added
|
|
- `create_shout`, `update_shout`, `delete_shout` mutations removed from GraphQL API
|
|
- `load_drafts` resolver implemented
|
|
- `publish_` and `unpublish_` mutations and resolvers added
|
|
- `create_`, `update_`, `delete_` mutations and resolvers added for `Draft` entity
|
|
- tests with pytest for original auth, shouts, drafts
|
|
- `Dockerfile` and `pyproject.toml` removed for the simplicity: `Procfile` and `requirements.txt`
|
|
|
|
#### [0.4.8] - 2025-02-03
|
|
- `Reaction.deleted_at` filter on `update_reaction` resolver added
|
|
- `triggers` module updated with `after_shout_handler`, `after_reaction_handler` for cache revalidation
|
|
- `after_shout_handler`, `after_reaction_handler` now also handle `deleted_at` field
|
|
- `get_cached_topic_followers` fixed
|
|
- `get_my_rates_comments` fixed
|
|
|
|
#### [0.4.7]
|
|
- `get_my_rates_shouts` resolver added with:
|
|
- `shout_id` and `my_rate` fields in response
|
|
- filters by `Reaction.deleted_at.is_(None)`
|
|
- filters by `Reaction.kind.in_([ReactionKind.LIKE.value, ReactionKind.DISLIKE.value])`
|
|
- filters by `Reaction.reply_to.is_(None)`
|
|
- uses `local_session()` context manager
|
|
- returns empty list on errors
|
|
- SQLAlchemy syntax updated:
|
|
- `select()` statement fixed for newer versions
|
|
- `Reaction` model direct selection instead of labeled columns
|
|
- proper row access with `row[0].shout` and `row[0].kind`
|
|
- GraphQL resolver fixes:
|
|
- added root parameter `_` to match schema
|
|
- proper async/await handling with `@login_required`
|
|
- error logging added via `logger.error()`
|
|
|
|
#### [0.4.6]
|
|
- login_accepted decorator added
|
|
- `docs` added
|
|
- optimized and unified `load_shouts_*` resolvers with `LoadShoutsOptions`
|
|
- `load_shouts_bookmarked` resolver fixed
|
|
- resolvers updates:
|
|
- new resolvers group `feed`
|
|
- `load_shouts_authored_by` resolver added
|
|
- `load_shouts_with_topic` resolver added
|
|
- `load_shouts_followed` removed
|
|
- `load_shouts_random_topic` removed
|
|
- `get_topics_random` removed
|
|
- model updates:
|
|
- `ShoutsOrderBy` enum added
|
|
- `Shout.main_topic` from `ShoutTopic.main` as `Topic` type output
|
|
- `Shout.created_by` as `Author` type output
|
|
|
|
#### [0.4.5]
|
|
- `bookmark_shout` mutation resolver added
|
|
- `load_shouts_bookmarked` resolver added
|
|
- `get_communities_by_author` resolver added
|
|
- `get_communities_all` resolver fixed
|
|
- `Community` stats in orm
|
|
- `Community` CUDL resolvers added
|
|
- `Reaction` filter by `Reaction.kind`s
|
|
- `ReactionSort` enum added
|
|
- `CommunityFollowerRole` enum added
|
|
- `InviteStatus` enum added
|
|
- `Topic.parents` ids added
|
|
- `get_shout` resolver accepts slug or shout_id
|
|
|
|
#### [0.4.4]
|
|
- `followers_stat` removed for shout
|
|
- sqlite3 support added
|
|
- `rating_stat` and `commented_stat` fixes
|
|
|
|
#### [0.4.3]
|
|
- cache reimplemented
|
|
- load shouts queries unified
|
|
- `followers_stat` removed from shout
|
|
|
|
#### [0.4.2]
|
|
- reactions load resolvers separated for ratings (no stats) and comments
|
|
- reactions stats improved
|
|
- `load_comment_ratings` separate resolver
|
|
|
|
#### [0.4.1]
|
|
- follow/unfollow logic updated and unified with cache
|
|
|
|
#### [0.4.0]
|
|
- chore: version migrator synced
|
|
- feat: precache_data on start
|
|
- fix: store id list for following cache data
|
|
- fix: shouts stat filter out deleted
|
|
|
|
#### [0.3.5]
|
|
- cache isolated to services
|
|
- topics followers and authors cached
|
|
- redis stores lists of ids
|
|
|
|
#### [0.3.4]
|
|
- `load_authors_by` from cache
|
|
|
|
#### [0.3.3]
|
|
- feat: sentry integration enabled with glitchtip
|
|
- fix: reindex on update shout
|
|
- packages upgrade, isort
|
|
- separated stats queries for author and topic
|
|
- fix: feed featured filter
|
|
- fts search removed
|
|
|
|
#### [0.3.2]
|
|
- redis cache for what author follows
|
|
- redis cache for followers
|
|
- graphql add query: get topic followers
|
|
|
|
#### [0.3.1]
|
|
- enabling sentry
|
|
- long query log report added
|
|
- editor fixes
|
|
- authors links cannot be updated by `update_shout` anymore
|
|
|
|
#### [0.3.0]
|
|
- `Shout.featured_at` timestamp of the frontpage featuring event
|
|
- added proposal accepting logics
|
|
- schema modulized
|
|
- Shout.visibility removed
|
|
|
|
#### [0.2.22]
|
|
- added precommit hook
|
|
- fmt
|
|
- granian asgi
|
|
|
|
#### [0.2.21]
|
|
- fix: rating logix
|
|
- fix: `load_top_random_shouts`
|
|
- resolvers: `add_stat_*` refactored
|
|
- services: use google analytics
|
|
- services: minor fixes search
|
|
|
|
#### [0.2.20]
|
|
- services: ackee removed
|
|
- services: following manager fixed
|
|
- services: import views.json
|
|
|
|
#### [0.2.19]
|
|
- fix: adding `author` role
|
|
- fix: stripping `user_id` in auth connector
|
|
|
|
#### [0.2.18]
|
|
- schema: added `Shout.seo` string field
|
|
- resolvers: added `/new-author` webhook resolver
|
|
- resolvers: added reader.load_shouts_top_random
|
|
- resolvers: added reader.load_shouts_unrated
|
|
- resolvers: community follower id property name is `.author`
|
|
- resolvers: `get_authors_all` and `load_authors_by`
|
|
- services: auth connector upgraded
|
|
|
|
#### [0.2.17]
|
|
- schema: enum types workaround, `ReactionKind`, `InviteStatus`, `ShoutVisibility`
|
|
- schema: `Shout.created_by`, `Shout.updated_by`
|
|
- schema: `Shout.authors` can be empty
|
|
- resolvers: optimized `reacted_shouts_updates` query
|
|
|
|
#### [0.2.16]
|
|
- resolvers: collab inviting logics
|
|
- resolvers: queries and mutations revision and renaming
|
|
- resolvers: `delete_topic(slug)` implemented
|
|
- resolvers: added `get_shout_followers`
|
|
- resolvers: `load_shouts_by` filters implemented
|
|
- orm: invite entity
|
|
- schema: `Reaction.range` -> `Reaction.quote`
|
|
- filters: `time_ago` -> `after`
|
|
- httpx -> aiohttp
|
|
|
|
#### [0.2.15]
|
|
- schema: `Shout.created_by` removed
|
|
- schema: `Shout.mainTopic` removed
|
|
- services: cached elasticsearch connector
|
|
- services: auth is using `user_id` from authorizer
|
|
- resolvers: `notify_*` usage fixes
|
|
- resolvers: `getAuthor` now accepts slug, `user_id` or `author_id`
|
|
- resolvers: login_required usage fixes
|
|
|
|
#### [0.2.14]
|
|
- schema: some fixes from migrator
|
|
- schema: `.days` -> `.time_ago`
|
|
- schema: `excludeLayout` + `layout` in filters -> `layouts`
|
|
- services: db access simpler, no contextmanager
|
|
- services: removed Base.create() method
|
|
- services: rediscache updated
|
|
- resolvers: get_reacted_shouts_updates as followedReactions query
|
|
|
|
#### [0.2.13]
|
|
- services: db context manager
|
|
- services: `ViewedStorage` fixes
|
|
- services: views are not stored in core db anymore
|
|
- schema: snake case in model fields names
|
|
- schema: no DateTime scalar
|
|
- resolvers: `get_my_feed` comments filter reactions body.is_not('')
|
|
- resolvers: `get_my_feed` query fix
|
|
- resolvers: `LoadReactionsBy.days` -> `LoadReactionsBy.time_ago`
|
|
- resolvers: `LoadShoutsBy.days` -> `LoadShoutsBy.time_ago`
|
|
|
|
#### [0.2.12]
|
|
- `Author.userpic` -> `Author.pic`
|
|
- `CommunityFollower.role` is string now
|
|
- `Author.user` is string now
|
|
|
|
#### [0.2.11]
|
|
- redis interface updated
|
|
- `viewed` interface updated
|
|
- `presence` interface updated
|
|
- notify on create, update, delete for reaction and shout
|
|
- notify on follow / unfollow author
|
|
- use pyproject
|
|
- devmode fixed
|
|
|
|
#### [0.2.10]
|
|
- community resolvers connected
|
|
|
|
#### [0.2.9]
|
|
- starlette is back, aiohttp removed
|
|
- aioredis replaced with aredis
|
|
|
|
#### [0.2.8]
|
|
- refactored
|
|
|
|
|
|
#### [0.2.7]
|
|
- `loadFollowedReactions` now with `login_required`
|
|
- notifier service api draft
|
|
- added `shout` visibility kind in schema
|
|
- community isolated from author in orm
|
|
|
|
|
|
#### [0.2.6]
|
|
- redis connection pool
|
|
- auth context fixes
|
|
- communities orm, resolvers, schema
|
|
|
|
|
|
#### [0.2.5]
|
|
- restructured
|
|
- all users have their profiles as authors in core
|
|
- `gittask`, `inbox` and `auth` logics removed
|
|
- `settings` moved to base and now smaller
|
|
- new outside auth schema
|
|
- removed `gittask`, `auth`, `inbox`, `migration`
|