Skip to content

Releases: theandrew168/bloggulus

v0.5.2

15 Mar 01:13
df9a7b0

Choose a tag to compare

Changelog

  • df9a7b0 Bump UserAgent to 0.5.2
  • e147ea3 Add sick ParallelMap helper, handle adding / following blog errors
  • b36d9e0 Clean up some code, add better comments
  • fbaa2d7 Write a better UpdateCacheHeaders helper
  • 7b0936a Use the new ComparePosts helper
  • bfb61b1 Create new pure helper for comparing posts
  • fa98c27 Refactor how page hydation is handled
  • f777bfe Think about DDD/FP more, refactor fetch API
  • 65f063a Add some thoughts about domain modeling
  • 6425b83 Bump to Go version 1.24
  • 73c649c Update deps

v0.5.1

14 Feb 04:37
0eb7b85

Choose a tag to compare

Changelog

  • 0eb7b85 Fix goreleaser deprecations
  • a620834 Update deps
  • dcfcb57 Remove http server timeouts, let Caddy handle it

v0.5.0

25 Oct 04:35
376fafd

Choose a tag to compare

Changelog

  • 376fafd Bump UA to v0.5.0
  • d3bb9c5 Move privacy policy to static HTML page
  • 2ebbc54 Fix link color in privacy policy
  • 42c8e65 Add empty state CTAs for articles and blogs
  • 4944e41 More debug auth wording tweaks
  • cb130ef Minor README tweak
  • 522ab3f Update README
  • 6465a03 Update deps
  • 5a58297 Update and simplify privacy policy
  • c96c0d6 Use correct font color on privacy policy
  • 23b6397 Use an HMAC (with secret key) to hash user IDs
  • 9868a6e Add secret key to config settings
  • e33066a Add privacy policy link in the footer
  • b5d472c Add style to the privacy policy
  • 5ad1146 Add unstyled privacy policy
  • 12711ae Add optional config for Plausible Analytics
  • 4dd2139 Consolidate auth handlers
  • 6dc39ad Rename "login" terms to "sign in"
  • 5c477c9 Create a more specific var for enabling debug auth
  • b39e2ee Conditionally render debug login
  • 634155d Use "Sign in" instead of "Log in" terminology
  • e1b95ca Add local-only debug login method
  • f7dcc32 Fix Google icon size
  • 919f463 Add config settings for OAuth redirect URIs
  • 75ef94b Get Google OAuth working, simplify code
  • 7f660f8 Make the login page look nicer
  • cfe508b Create package for generating random byte strings
  • 2e9d0b8 Salt and hash the SSO user id
  • 5744728 Add a TODO, remove seed script
  • 8541179 Revert "Rename account.username to account.email"
  • 0ee4795 Add an extra check
  • 956902a Update deps
  • a4e18e2 Fix typo in test name
  • 3050cb9 Rename account.username to account.email
  • a400a1e Bunch of changes related to OAuth social logins
  • c6decfc Fetch actual content from pages
  • 0d0e0f4 Implement handlers for pages feature
  • ee0c857 Update deps
  • 7761e02 Prepare page-related handlers
  • 950daea Add repo impls for pages and account_pages
  • 43f4528 Rename post list method
  • 5ba2bc5 Add model type for Page
  • 1acd0e1 Add migrations for page feature tables
  • ae1ab7c Center the larger toast messages

v0.4.0

07 Oct 05:05
c591eea

Choose a tag to compare

Changelog

  • c591eea Bump user agent to v0.4.0
  • 0ba2442 Implement an async workflow for adding blogs
  • 9c06367 Add service for clearing expired session
  • edb7091 Show more posts when viewing a blog
  • 6888266 Prep for writing the session cleanup service
  • 3d473ad Add admin page for managing accounts
  • 02e17ff Implement CSRF prevention
  • 7c72b0c Update deps
  • bbba969 Fix non-HTMX blog follow URL
  • 6c4025c Add password confirmation for registration
  • 1774426 Make some small CSS tweaks
  • d8dce20 Fix font-size for button link
  • ee0e6ee Add header links for site navigation
  • 82a2893 Show only followed content if logged in
  • 653738f Add helper func for normalizing post URLs
  • d8ab6b4 Implement post-auth redirects
  • f6149a5 Remove unused sprig template helpers
  • 443d832 Remove unused partials
  • daf7a30 Add SQL script for seeding the DB
  • 51c5858 Reuse some more styles
  • 040e82b Fix a few more styles
  • f804820 Stack and center footer links on smaller screens
  • 4bbc55a Compress CSS for inputs and buttons
  • eb95c35 BEM-ify CSS for index page
  • a7ac5cb BEM-ify CSS for auth pages
  • 0b52357 Use better routes for following / unfollowing blogs
  • 77715a6 Fix blogs list CSS
  • 1a41f8e Add page and handlers for managing posts
  • b4efd3e Style the blog page
  • 1bbafd5 BEM-ify a few more classes, fix search value
  • 20af9b5 Style the blogs page
  • 978f43e Style the error page, fix form styles
  • bffc819 Update styling on auth pages
  • 22f7237 Replace air with wgo
  • 4a3261e Ditch Tailwind for vanilla CSS, WIP
  • 46d16db Leave out Alpine for now
  • fa47b1f Implement basic toast messages
  • 2b0b93e Rename Errors to Validator
  • 4de1abe Clarify a comment
  • b6ec849 Rename errors.go to error.go
  • fa316af Bit of renaming and fixing
  • 47237c4 Add helpers to simplify rendering and error handling
  • 2da579d Add error reponses and render helpers
  • c736aa1 Add 404 Not Found page
  • c9a261d Show blog SiteURL to non-admins
  • 93d3d04 Implement blog page and deleting
  • 2a558a3 Cleanup dist and tmp dirs
  • 04634d0 Apply compression middleware to all routes, not just public
  • 9b00741 Create and use partials for inputs and buttons
  • 78f5d7a Simplify template creation, add sprig helpers
  • 8d69802 Use air to enable auto-rebuilding
  • d2b88f4 Limit articles to three tags
  • b7324df Utilize Mat Ryer's handler pattern to cache templates... this is amazing
  • 44be5ec Ensure all template rendering is type-safe
  • 80d8c02 Add some ideas for parsing and rendering templates
  • a04fede Move blog handlers to web package
  • 6a1c70f Pull handler logic out of page package
  • 155d7a6 Add ideas for layouts and partials
  • ccf64df Pull search bar out of the nav
  • 5a9cc75 Get adding and following blogs working with HTMX
  • 83e4b89 Fetch js deps silently
  • f14e5f8 Add HTMX and Alpine.js to public files
  • 1d2e336 Implement blog adding, following, and unfollowing
  • c4dd426 Add auth middleware and tests
  • 3a4435c Get the blogs page working with fake data
  • 18bdbbe Rename storage package to repository
  • c9e56c3 Rename query package to finder
  • e05e85f Simplify sign out handler
  • a301b84 Remove Article model in favor of Query pattern
  • 49b3ffb Move errors file to util
  • 4f0b8e4 Get signin and signout working
  • 71f7c35 Replace tokens with sessions
  • 3043306 Remove some more dead API code
  • 71bc6e3 Shrink favicon.ico
  • d64305e Remove Karla in favor of system fonts
  • c0f4d9f Add another test helper, add some comments
  • 16e6d7c Improve some comments, add custom 404 page
  • d15d213 Add test for LimitRequestBodySize middleware
  • a9b872a Implement Chain in terms of Use
  • 0048055 Implement form-based registration
  • 427d3fb Fix test action
  • 34a477b Update deps
  • 0e11608 Simplify back down to server-side rendering
  • 6834895 Use a toggle for following / unfollowing blogs
  • 219b835 Follow blogs upon adding
  • e6592cd Update deps
  • 07ba5fd Clear client-side tokens if they are expired (or will expire soon)
  • b67608d Remove BFF / N+1 brain dump
  • 08e4565 Update cache headers even if the blog has no new content
  • 6d6d75d Add brain dump on N+1 calls and optimize UI
  • 3a70dc3 Update deps
  • d4f437f Limit articles to followed blogs if logged in
  • ab98b6a Rename test/mock.go to test/fake.go
  • ee26434 Add storage methods for searching followed blogs
  • 421cf8b Add storage methods for listing and counting blogs by account
  • 6b4de7c Simplify sync interval / cooldown
  • 523b65c Fix err read/write race condition in SyncAllBlogs
  • 5231860 Remove unused "list blogs by account" capability
  • 67979b9 Add UI support for following / unfollowing blogs
  • f5be8bb Add endpoint for checking if a blog is being followed
  • a5848ad Add storage method for counting AccountBlogs
  • 5d0ca80 Show followed blogs on blogs page
  • 1504228 Add a User-Agent header to all outgoing requests
  • 78ae3b1 Fix name of Last-Modified header
  • a774e18 Be explicit about table names in queries
  • 0cf70b0 Update deps
  • 3001da3 Add endpoint for getting an account's followed blogs
  • 6495db1 Write a basic benchmark
  • 58dffb9 Add backend support for following blogs
  • 9a1a910 Plan routes for following blogs
  • 8ed7799 Add migration for account_blog table

v0.3.7

31 Jul 05:24
78ad851

Choose a tag to compare

Changelog

  • 78ad851 Update deps
  • 156f2f3 Add admin page for managing posts
  • 5a07a30 Add admin page for viewing blogs
  • 5415f70 Enable deleting tags, get a multi-action working
  • 9502b87 Fix headers formatting
  • be85af6 Make fetchAPI helper more universal
  • 27974fa Fix status codes, create auth'd fetch helper
  • 4819c41 Add ButtonLink, make error page nicer, throw more
  • f7ea1e4 Run List+Count queries together, ditch "test in TX" concept
  • f1e7bda Flip routes back to admin required
  • f949334 Remove unused import
  • 3c44c2b Add count to list endpoints, add page for blogs
  • a19598f Make validation messages nicer
  • 86c2ebd Update deps
  • 7b6dc4d Update deps
  • 7190afc Clarify some names
  • 8c5347e Make invalid username / password a 422
  • e852969 Bit more work on error handling
  • 7c3c0b6 Create component for SearchInput
  • 2807ed2 Omit field if empty
  • 2ecb624 Convert errors from a map to a list
  • e203fd6 Make the auth pages look a bit nicer
  • ede02e9 Limit cards to three tags
  • ac6a960 Remove API docs link
  • a495237 Show "Relevant" when searching
  • 6b10420 Move postcss config into package.json
  • b256677 Get register and login actions working
  • 4e3706f Get a basic layout working, prep auth pages
  • e98f0b1 Organize components and pages into folders
  • 32d45aa Split out a few components
  • ca212f9 Get the search bar working
  • 36810cf More frontend work
  • bba07ba Work on the basic site layout
  • b9ba022 Start using Tailwind CSS
  • c275f81 Add ErrorPage fallback
  • 7702052 Use vite dev to observe react's debug behavior
  • 281daf3 Get started with React Router
  • 15f6dd9 Drop SvelteKit SPA, prep for React
  • 4a764d9 Get auth working via local storage... kinda messy
  • 32c077d Update deps
  • 590a6eb Remove sort from goreleaser changelog

v0.3.6

08 Jul 04:38
d7a938b

Choose a tag to compare

Changelog

  • 17644d8 Adapt May Ryer's middleware Adapter pattern
  • 9396860 Add FE pages for blogs
  • 62a698c Add RegisterType fix for UTC timestamps
  • 4a10774 Add account.is_admin column
  • 0dc4e39 Add backend endpoint for creating tokens
  • 5f57250 Add deploy command to Makefile
  • f0e6061 Add endpoint and test for creating accounts
  • e58b872 Add endpoint for creating tags
  • 84d95c0 Add endpoint for deleting blogs
  • 357c6ee Add endpoint for deleting posts
  • 9733fc8 Add endpoint for deleting tags
  • 35fcece Add extra checks to creation tests
  • 806528b Add goreleaser version
  • 5a3c15f Add middleware and tests for checking user auth
  • 21fa126 Add migrations, models, and storage for Accounts and Tokens
  • f8a32e5 Add missing comment
  • 65b7abf Add missing return to AccountRequired mware
  • 858d50c Add mware for AccountRequired and AccountOptional
  • d600bcb Add other API doc renderers for fun
  • 3ea48fe Add posts to blog page
  • 616e151 Add route for managing individual posts
  • 10295b0 Add test and clearer error message for dupe username
  • 02c8568 Add test for AdminRequired middleware
  • e4bd3f6 Add tests for middleware and validator
  • 220cedb Add timeutil package for rounded UTC times
  • 3057182 Add vite build --watch command, update Makefile
  • 80260f7 Delete reader subpackages
  • 6e2de6f Fix an old admin ref in a comment
  • 29a3146 Fix some bugs, remove tz from PG timestamps, add endpoint for adding blogs
  • 0ae0d89 Fix test name
  • bb77011 Fix ts_query call for tags, add some FE deps
  • 4798e2e Format middleware usage
  • c77207a Format routes
  • 2e8003a Increase SyncInterval and SyncCooldown durations
  • 9372fae Lock "meta" routes behind auth middleware
  • 23d1040 Make GenerateToken visible
  • aca0c74 Make posts a per-blog item
  • 33914a4 Make route IDs more specific
  • 081f9c3 Migrate to the Go 1.22 enhanced router
  • d23360e Move web fetch impl to fetch package
  • 15416f5 Refactor a couple more routes
  • d834c23 Refactor a few handlers to closure their deps
  • bf96e8f Refactor blog handlers
  • bc7f29c Refactor post handlers
  • 9246aee Refactor tag handlers
  • d7a938b Remove --skip-validate from goreleaser command
  • aa1fbaa Remove TODO
  • b3d18cc Remove admin subpackage from api
  • da98325 Remove admin subpackages for model and storage
  • 3f094ec Remove superforms and zod, just use FormData
  • b68fd2f Rename FE code from Post to Article
  • d07f0f5 Rename Middleware type and Use func
  • c50d27b Rename Router() to Handler()
  • b68bf8a Rename domain package to model
  • bb9333a Rename interface{} to any
  • d5816f5 Rename reader/post to reader/article
  • 131ad61 Rename some test vars, prep for testing w/ auth
  • 92563db Return errors from NewFoo domain obj constructors
  • cc2bfeb Return http.Handlers from handler methods
  • 1b1347a Round timestamps to microseconds (which is what PG supports)
  • 10db980 Simplify API handler creation
  • 404a517 Simplify create tag form
  • fa73aa7 Simplify token storage API
  • 1651b7c Simplify web handler, ditch application concept
  • f2c60cc Simplify web package structure
  • e42b6a6 Specify a ttl when creating tokens
  • bf5f3be Start messing around with superforms
  • f8b4348 Start working on the FE tags page
  • b57d4f4 Tweak a few tests
  • ee039c8 Tweak the "add tag" form a bit
  • d30b33f Undo changes to docker compose file
  • e4b8f88 Undo timestamp migration, use time.Equal for comparison
  • 73baac3 Update a couple comments
  • 112128d Update deps
  • 016f675 Update deps
  • 2c6199e Update deps
  • 8f96390 Update deps
  • 2963c27 Update deps
  • 382799e Update deps
  • 56b598a Update deps
  • 1f29560 Update deps
  • 14d5e0a Update deps
  • 3785343 Update deps
  • 1c8eb42 Update deps, add a couple comments
  • 56c4fdd Update frontend deps
  • 020abec Update goreleaser-action version
  • 3004a50 Update sync service test name
  • 15aaf0b Use actions/setup-go@v5

v0.3.5

27 Apr 22:14
dd267f1

Choose a tag to compare

Changelog

v0.3.4

21 Apr 06:16
8bac604

Choose a tag to compare

Changelog

  • 8bac604 Add concurrency w/ upper limit to blog sync
  • 2da6cd7 Fix overflowing tags on smaller screens
  • 89d0233 Update comment, add a TODO

v0.3.3

20 Apr 04:28
21cd395

Choose a tag to compare

Changelog

  • 21cd395 Add SyncCooldown concept
  • 5a7df2c Add title and meta description

v0.3.2

18 Apr 04:49
775fe1a

Choose a tag to compare

Changelog

  • 36615a7 Add ListAll method to BlogStorage
  • 775fe1a Fix SyncInterval name, limit freq to an hour
  • 766d83d Make sync service runnable