Releases: theandrew168/bloggulus
Releases · theandrew168/bloggulus
v0.3.7
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
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
v0.3.4
v0.3.3
v0.3.2
v0.3.1
v0.3.0
Changelog
- efd507e Achieve parity with bloggulus-svelte tests!
- beac6d7 Add Node setup to GHA workflows
- 8557665 Add a few missing integ tests
- f30f999 Add a few more tests
- 330dc6c Add a few more tests, add some sentinel errors
- 9599ca3 Add config tests
- b6263fd Add endpoint for listing / searching reader posts
- bac55f1 Add endpoint for tags
- 01832e8 Add metadata columns to each table
- 556d0a1 Add migration to convert integer IDs to UUIDs
- cba51df Add mock feed fetcher
- f3c9eea Add more parsing tests (and fix a bug!)
- a1c84ce Add post count to API response
- 4fed58c Add proper "See More" logic
- 04dc4f4 Add some test asserts and simplify tests
- 65a4a3e Add storage logic to postgres/admin/storage package
- a1e1429 Add storage methods for counting posts
- dd85757 Add t.Parallel() to remaining tests
- 3997564 Add tag model
- eccb33b Add tests for blog and post updates
- ba9faf0 Add tests for parsing and hydrating feeds
- 1b2dd72 Add tests for skipping posts w/o url or title
- a103707 Call tag.CheckDelete before deletion
- f3b9778 Cleanup some test assertions
- d9f88bf Convert remaining prints to slogs
- 04fb572 Create api/util package for errors / json
- de0974f Delete and replace old postgres errors
- 2a71380 Delete old storage package, migrate old callers
- f28110a Ensure post publishedAt dates are converted to UTC
- 4b6fba1 Ensure timestamps are in UTC
- da5e038 Fix broken test
- d0e1887 Fix domain model usage in api tests
- 3c9fc9b Fix embedding
- 605cd98 Fix goreleaser
- fc0a874 Fix mock storage tests to run in parallel (add mutex)
- b7b1568 Fix typo in migration
- 49beecf Format migrations using tabs
- 63d7226 Get pagination working
- 6707363 Get the error page working
- 1eec0b9 Get the frontend matching bloggulus-svelte
- 41ee1e6 Impl mock storage interfaces
- ae33ce7 Impl postgres queries for listing / searching reader posts
- 93b09df Impl simpler marshalling for other types
- de1ca81 Implement remaining sync logic
- eba4fee Merge database and migrate into postgres package
- b380bef Modernize migrations
- b94b7d1 Move ErrRollback to storage package
- 8066718 Move Storage interface tests to suite package
- 455c2b1 Move fetch mocks into sub package
- 2f21ad0 Move frontend files into subdir, impl cond embedding
- b8119ed Move params to util package
- e24af3c Move postgres admin storage into domain
- 5cb2b98 Move postgres reader storage to domain
- f7811b3 Move validator into web package
- 063e59c Move validator package to api
- ec44087 Nest admin API routes under api/admin package
- 88e371d Optimize reader post queries, cleanup frontend
- 4761930 Refactor Blog to be a proper domain object
- 89e33b4 Refactor Post to be a proper domain model
- 3e7667e Refactor code to use UUIDs for domain model IDs
- eb74772 Refactor fetch package
- 1212fd3 Refactor storage system a bit
- 88d10d5 Refactor web packages, simplify running the web server
- 40b4dc1 Remove obsolete version from compose file
- c9bf682 Remove old non-domain code, verify addblog works
- 70c19d9 Remove old template frontend, prep svelte
- 7ea40e8 Remove storage test suite idea
- 288c8a6 Remove unused code
- 2968c62 Rename internal/ to backend/
- 61768b7 Rename post contents->content
- a3007da Rename storage->store when using
- 7b93977 Rename test->suite, todo->test in storage
- b4838d7 Rename testutil->test
- f22449d Rename todo.go to ddd.go (just has ideas)
- 2c83b4d Replace print statements with slog
- 4a01fa7 Run all tests in parallel
- 68b9466 Run storage tests within transactions (and rollback)
- 04b6464 Run tests in a separate DB
- cb5daff Show some post data on the frontend!
- 3afec61 Simplify admin domain mock func names
- 3c190ab Simplify domain/table marshalling for tags
- c866d9a Simplify how the frontend embedding works
- d8f0061 Simplify storage mock helper names
- 7feddef Split testutil package up
- 18bb914 Start thinking about more tests
- 0191939 Start work on SyncService
- 9409795 Start work on multi-domain idea
- 2b8683d Start work on reader domain
- b52d01c Start writing a few SyncService tests
- ea6b210 Tone down the abstraction a bit
- 5180efe Update GHA test workflow
- 70d9c3d Update Makefile and release workflow
- 3586382 Update README, fix rapi-doc viewer
- 50e66c7 Update Tag to be a proper domain object
- 8e82bc1 Update deps
- 32d0b73 Update deps
- 8622165 Update deps
- 3590689 Update deps
- abb2d11 Update deps
- 10f1d51 Update deps
- 4fb4539 Update deps, knockout a small TODO
- 1eeedd7 Update docker compose command in GHA workflow
- 5002ba7 Update svelte config
- cceb799 Use page/size for API pagination
- db7e740 Use plural API routes
- ca7e621 Use the app.Router() pattern for top-level app
- 49d6cc6 Various cleaning and organization
- 5d9223c Write storage tests in a reusable way