Skip to content

Releases: blogify-dev/blogify

v0.3.0

12 May 18:12
d27bef8
Compare
Choose a tag to compare
v0.3.0 Pre-release
Pre-release

Announcing the release of blogify v0.3.0

Additions

  • New feature - Push server
    • Allows for sending of (currently basic) notifications and live-update messages
    • Currently implemented for getting new comments instantly without refreshing and for basic notifications
    • EventEmitter, EventSource, EventTarget
  • New feature - Listings
    • Allows paginating through resources with (currently basic) filters and page support
  • New feature - Pinned articles
    • Always appear on top of article listings
  • New feature - Comment likes
  • New feature - User biographies
  • New feature - Ability to make users administrators from the webapp

Changes

  • Comments now record a createdAtproperty
  • Update to Angular 9
  • Update to Ktor 1.3.2
  • Update to Kotlin 1.3.72
  • BREAKING - getMatching() has been removed ; please use queryListing() or getOneMatching()
  • BREAKING - every pipeline handler / function MUST use RequestContext ; every default pipeline has been moved to use it
  • BREAKING - service() has been removed ; please use repository() with a RequestContext or ApplicationContext instead

Improvements

  • All reflection utilities now work on Mapped instead of only Resource
  • Code cleanups
  • Major UI improvements
    • Reworked light theme
    • Redesign of new-article and update-article
    • Redesign of single-comment
    • Improvements to show-article and single-article-box
  • UI theme preference now sticks across visits
  • Major build performance improvements
  • More unit tests

Fixes

  • update() now works properly
  • "Keep me logged in" is now respected

v0.2.0

12 Jan 16:58
58999ec
Compare
Choose a tag to compare
v0.2.0 Pre-release
Pre-release

Announcing the release of blogify v0.2.0

Additions

  • New feature - HTTPS support
  • New feature - Article likes
  • New feature - Follow users
  • New feature - User cover picture
  • New feature - Computed properties on Resource models
  • New feature - Automatic update of Resource objects using propMap
  • New feature - Configuration files

Changes

  • User profile - Display @<username> next to name

  • Article box display - Redesign

  • BREAKING - uploadable files are now uploaded via /api/<resource class...>/upload/{uuid}?target={property}

  • BREAKING - /api/article/{uuid}/commentCount has been deprecated in favor of the commentCount computed property in Article

  • BREAKING - database handlers like fetchWithIdFromTable have been removed in favor of a direct implementation in Service

  • Search index documents are now automatically generated form Resource model classes, and can be delegated to properties of their return type if the latter isn't compatible

  • Bumped the version of several dependencies, resulting in significant performance improvements

Improvements

  • Major UI Improvements
  • Optimizations have been made to the core fetch/update engine and support for batch computing of immediately-computed properties has been added, resulting in 2x-3x performance improvements
    • The core fetch/update engine is however to be completely rewritten in a future version
  • Code improvements
    • Pipelines: added pipeline utility functions, like optionalParam, fetchResource and fetchResources which allows building pipelines to be easier
    • Built-in pipelines: refactored to use utility functions, cleaned up and removed need to specify many functions at call site

v0.1.1

24 Nov 19:21
Compare
Choose a tag to compare
v0.1.1 Pre-release
Pre-release

Fixes

  • Fixed profile pictures not uploading properly because of invalid Content-Type specification in User model

v0.1.0

13 Nov 16:49
b99eaae
Compare
Choose a tag to compare
v0.1.0 Pre-release
Pre-release

Additions

  • Search
    • Article Search
    • User Search - Only on backend
  • Form validation
  • Comment count
  • Markdown in comments

Improvements

  • Auth on frontend
  • UI improvements
  • Backend fixes for static content
  • Better frontend routes
  • Article update actually works
  • Fix security vulnerabilities

Experimental pre-release PRX4

04 Nov 04:34
20f6b09
Compare
Choose a tag to compare
Pre-release

This pre-release of blogify-core includes:

Additions

  • Static content
    • Users can now have profile picture
  • Markdown formatting
    • Article content can now be formatted
  • Persistence of user login
  • Endpoint for getting articles for user by username
    • /api/articles/forUser/{username} returns articles created by username
  • Endpoint for getting user by username
    • /api/users/byUsername/{username} returns user with username: username
  • Logout is now a thing

Improvements

  • Major UI Improvements
  • Code improvements
  • User authentication works properly

Removals

  • Endpoint for create user (POST /api/users) is removed. Use register (POST /api/auth/register) instead

Experimental pre-release PRX3

24 Oct 01:09
2737f15
Compare
Choose a tag to compare
Pre-release

This experimental pre-release of blogify-core includes the following changes :

Additions

  • Profile page now displays articles created by the user
  • Comments are now shown and can be created on article page
  • Resource slicer introduced : allows calls to resource endpoints to choose which fields they need using ?fields=<...>
    • This in turn reduces the number of subobjects necessary : Articles.Content and  User.PersonalInformation are no longer needed
  • /api/articles/forUser/<uuid> : get all articles created by a certain user
  • /api/comments/tree/<uuid>?depth=n: get a tree of comments from the root comment provided via UUID. Depth can be configured with the relevant query parameter.

Improvements

  • Major UI improvements
  • Major improvements to caching and query optimization : improves backend performance significantly
    • Call caching: resources fetched during a call are cached for the duration of the call, to avoid re-fetching them later in the same call
      • This means that almost every Service method can now take a callContext: ApplicationCall object on which it can do a cache lookup. If it is impossible to pass in a callContext, omitting the parameter uses theFakeApplicationCall object which disables caching.
  • Improved documentation for various methods and classes/objects

Breaking changes

  • /api/articles/content and /api/users/info are no longer supported. They should be replaced by a call to the root endpoint with a ?fields=<...> query parameter instead, as the properties they held are now held on the main object.

Internal

  • Call handlers/wrappers now take an optional authPredicate parameter : this now has to be used instead of wrapping the whole call inside authenticatedBy { ... }
    • Some of those predicate parameters can now take functions that can also take a resource of the appropriate type as a parameter: this allows the predicate to verify data inside of the resource to do it's authentication

Experimental pre-release PRX2

20 Sep 23:31
d270516
Compare
Choose a tag to compare
Pre-release

This experimental pre-release of blogify-core includes the following changes :

Additions

  • Major work on front end
  • Front end SPA is now integrated and served by the Ktor server
  • Authentication predicates
  • Article categories
  • User personal information in a separate class
  • Many more ...

Fixes

  • Various fixes

Experimental pre-release PRX1

25 Aug 17:25
Compare
Choose a tag to compare
Pre-release

This experimental pre-release of blogify-core includes the following changes :

  • Basic authentication working