Skip to content

Releases: sandrolain/httpcache

v1.4.0

24 Nov 18:59

Choose a tag to compare

Changes since v1.3.0

  • docs(readme): update RFC compliance to RFC 9111 (622d09f)
  • Merge branch 'next' into develop (71d0871)
  • feat(docs): add DisableWarningHeader for RFC 9111 compliance (3cd2944)
  • feat(docs): add authorization handling in shared caches (6c306f8)
  • feat(vary): implement RFC 9111 compliant vary matching (97254dd)
  • feat(cache): implement Cache-Control directive validation (5b74cd5)
  • feat(age): implement RFC 9111 age calculation and validation (a039b6c)
  • feat(cache): add support for must-understand directive (ba338eb)
  • feat(vary): implement RFC 9111 compliant vary separation (0136e82)
  • feat(cache): add support for public cache mode (9066d71)
  • docs(readme): update cache invalidation details for RFC 9111 (ff0c7dd)
  • feat(httpcache): update cache invalidation per RFC 9111 (773f377)

Full Changelog: v1.3.0...v1.4.0

v1.3.0

09 Nov 08:36

Choose a tag to compare

Changes since v1.2.0

  • feat(readme): add logo and images for httpcache (309775c)
  • ci: ignore image files in CI workflows (c3121f1)
  • chore(deps): update aws-sdk-go and related dependencies (8f44530)
  • feat(metrics): add integration tests for Prometheus metrics (eb4fd51)
  • docs(readme): update use cases and improve description (b083f54)
  • ci: skip cache for golangci-lint action (c40bf2e)
  • style(tests): remove deprecated build constraints (c06f73d)
  • feat: add compression wrapper with gzip, brotli and snappy (5125945)
  • feat(metrics): move metrics/prometheus under wrapper package (0100146)
  • feat(blobcache): implement blob storage caching backend (060fb96)
  • feat(mongodb): implement MongoDB caching backend for httpcache (1a76340)
  • feat(redis): add connection pooling and configuration options (3353e5e)
  • feat: add MultiCache wrapper for multi-tier caching strategies (6ae7e12)
  • feat(securecache): move securecache to wrapper directory (2fecc6e)
  • fix(securecache): use dynamic nonce size for encryption (47ec49f)
  • feat: add comprehensive documentation for httpcache (d8db946)
  • feat(securecache): add AES-256-GCM encryption support (a7caa56)
  • docs(readme): update cache backends and examples (7c51692)
  • feat(natskv): add New() constructor for cache creation (2a95446)
  • Merge branch 'freecache-backend' into develop (2d1c604)
  • ci: simplify test job to run on ubuntu-latest (3abdec7)
  • ci: update Go version to 1.25 in CI workflow (5502cb6)
  • Merge branch 'prometheus-metrics' into develop (86e3aa2)
  • Merge branch 'hazelcast-backend' into develop (6418458)
  • Merge branch 'postgresql-backend' into develop (f23db78)
  • Merge branch 'nats-integration' into develop (add6043)
  • feat(benchmark): add benchmarks for MemoryCache operations (fd6eb2f)
  • feat(freecache): add freecache backend example and benchmarks (eaf10b4)
  • feat: Implement Hazelcast HTTP cache integration (c46da7b)
  • feat(nats): add NATS JetStream K/V cache implementation and examples (8f66e93)
  • feat(metrics): add Prometheus metrics support for HTTP cache (29643df)
  • feat(postgresql): Add PostgreSQL cache backend with integration and benchmark tests (2ec94ac)

Full Changelog: v1.2.0...v1.3.0

v1.2.0

29 Oct 05:30

Choose a tag to compare

Changes since v1.1.0

  • docs(changelog): add initial changelog for version 1.2.0 (9779e83)
  • docs(todos): add security enhancement for cache key encryption (972c288)
  • docs(todos): document handling of Cache-Control: private directive (d7b9f37)
  • docs(readme): enhance CacheKeyHeaders and Vary header notes (9b5644e)
  • docs(readme): clarify Vary header limitations and solutions (1d4bdc3)
  • docs(readme): add security considerations for private cache (5935b3a)
  • feat(docs): add Cache Key Headers documentation and examples (dc689a5)
  • docs(readme): update coverage badge and compliance details (fd212b0)
  • chore(go): update Go version to 1.25.3 (9992e1a)
  • chore: update .gitignore to include /tmp directory (f54074f)
  • Merge branch 'RFC-7234-compliance' into develop (849c649)
  • docs(readme): add coverage badge to README (77ab889)
  • chore: move MemoryCache to dedicated file (63f5e66)
  • ci: update branches for CI and security workflows (db18b3b)
  • feat(httpcache): invalidate cache on unsafe methods (a739dfb)
  • feat(httpcache): support Pragma: no-cache in requests (30be2d4)
  • feat(httpcache): add Warning headers for stale responses (1e009d1)
  • feat(httpcache): enforce must-revalidate directive in cache (12e6923)
  • feat(httpcache): add Age header calculation and tests (72e9bc8)
  • Merge branch 'master' into develop (fa40667)
  • test(integration): add integration tests for Memcache and Redis (f71a13c)
  • feat(httpcache): add ShouldCache hook for custom caching (ab5ecc3)
  • feat(todo): add ToDo note for context support in cache methods (416b9de)
  • feat(httpcache): add stale-while-revalidate support (00fee20)
  • docs(readme): add related projects section (ed83b19)
  • docs(readme): add custom logger configuration example (deda225)
  • feat(httpcache): add SkipServerErrorsFromCache option (91467a3)
  • test(httpcache): add test for caching JSON without Content-Length (60b233d)
  • feat(httpcache): drain response body for cached 304 and error responses (08abe63)
  • feat(httpcache): add X-Stale header for stale responses (1e57c90)
  • feat(httpcache): add X-Revalidated header for 304 responses (3f3138a)
  • docs(readme): clarify cache hit detection example (58f2a29)
  • ci: ignore markdown and license files in workflows (33d9863)

Full Changelog: v1.1.0...v1.2.0

v1.1.0

24 Oct 04:49

Choose a tag to compare

Changes

  • fix(readme): update disk cache hashing algorithm to SHA-256 (7bdd0ac)
  • docs(readme): remove architecture guide reference (13ceb3c)
  • docs(todos): add TODO list for future improvements (1d1dbd1)
  • ci: update Go version to 1.25 in workflows (91b31e6)
  • ci: specify shell for test execution (4ed3a35)
  • ci(security): refine gosec and govulncheck args to exclude dirs (19421f4)
  • test(ci): exclude examples from test coverage (4d2b0ff)
  • feat(httpcache): enhance caching logic and validation (f85322b)
  • test(httpcache): add tests for cache freshness logic (b205367)
  • feat: enhance logging and error handling across cache implementations (b262c9a)
  • ci: update golangci-lint action to v8 (48623b0)
  • chore: add GitHub workflows for CI, security, and release (2b09ec1)
  • chore: update .gitignore to include *.out (8f29bd3)
  • docs(readme): update and expand documentation content (ed7d0b7)
  • feat(examples): add comprehensive caching examples (41aee9d)
  • chore: add configuration files and update references (1a01650)
  • Update README adding project status (gregjones#100) (901d907)
  • test: Add a helper for testing cache implementations (gregjones#91) (3befbb6)
  • .travis.yml: bump to Go 1.11, use 'gofmt -s' (gregjones#92) (7a90257)
  • move redis dependency to maintained repo (gregjones#89) (c63ab54)
  • README: link to RFC 7234 (gregjones#83) (9cad4c3)
  • Refrain from setting 200 OK on cached responses (gregjones#77) (2bcd89a)
  • README: Add BoltDB implementation. (gregjones#78) (22a0b1f)
  • Travis: Add Go 1.9 (gregjones#76) (c1f8028)
  • Use method as cache key prefix for non-GET requests. (gregjones#75) (316c5e0)
  • Cache GET requests when body is fully read. (gregjones#71) (787624d)
  • Remove .gitignore file. (gregjones#73) (efb97ba)
  • README: More consistent formatting with other Go packages. (gregjones#68) (0d2297f)
  • Remove unused resp values. (gregjones#66) (af915bf)
  • Remove CancelRequest implementation, tracking of request copies. (592c2d5)
  • Travis: Add Go 1.8; use latest minor version. (29e7c21)
  • Merge pull request gregjones#63 from gregjones/fix-map-cleanup (d02018f)
  • Fix request-map not being cleared up after requests (9c8ca9f)
  • Travis: Add Go 1.7 for Travis config. (gregjones#56) (4137817)
  • Add redis-backed cache implementation. (2aae00e)
  • Merge pull request gregjones#52 from gregjones/dont-store-uncacheable-range-responses (16db777)
  • Don't store responses from uncacheable range requests. (4082b08)
  • Add failing test case for storing uncacheable range request. (01b2fc8)
  • Merge pull request gregjones#49 from gregjones/dont-store-uncacheable-method-responses (37c2ad6)
  • Don't store responses from uncacheable methods. (81de9c4)
  • Add failing test case for storing uncacheable method. (ed02b2f)
  • Minor correctness/style fixes for test handlers. (cd554ea)
  • Merge pull request gregjones#48 from gregjones/fix-broken-links (2f25d93)
  • README: Fix broken links. (d8593b9)
  • Add new cache backends to Readme list (6088367)
  • Merge pull request gregjones#44 from sourcegraph/stdlib-tests (eb50150)
  • Change tests to use standard library, more idiomatic style. (f99d4c7)
  • Merge pull request gregjones#40 from gregjones/fix-test-responses-missing-status-codes (4b02602)
  • Remove simplify-code option, for now (be6978e)
  • Add Status and StatusCode to mock responses (702602a)
  • Merge pull request gregjones#39 from shurcooL/add-travis-ci (6f21ebc)
  • Add .travis.yml config and badge. (5b22f64)
  • Merge pull request gregjones#37 from shurcooL/avoid-trivial-defer (41d86b9)
  • Avoid using defer where it's easy to do so. (76776b1)
  • Merge branch 'rs-cache-fallback' (ae1d6fe)
  • Use stale-if-error HTTP extension (a2d7555)
  • Merge branch 'rs-canceller' (fac4d49)
  • Add support for cancellation (2cc28a3)
  • Merge branch 'leveldbcache' (a2645c9)
  • Add leveldb cache to list of available backends (378d1df)
  • Add leveldbcache provides an implementation of httpcache.Cache (78a5b00)
  • Merge pull request gregjones#30 from gregjones/FixHopByHop (4fb00a8)
  • use map of canonicalised headers in favour of looping function (cb3afe2)
  • replace getHopByHop with getEndToEnd that does the right thing with headers on not-modified responses (6d9d83c)
  • Update cached header fields based on those from incoming 304 response (6e141ba)
  • Merge branch 'sqs-multiple-Vary-headers' (c4f0acf)
  • Support multiple Vary response headers (43e2c78)
  • Update import for gocheck (e3c2744)
  • Revert "Merge branch 'mcuadros-cache-key'" (51b772d)
  • Merge branch 'mcuadros-cache-key' (5a50314)
  • Cache key with Method and URL (0e0bfdd)
  • Merge pull request gregjones#23 from willnorris/304to200 (553cabb)
  • proper conversion of 304 responses (1ca018e)
  • Merge pull request gregjones#21 from gregjones/max-stale (6aecf8f)
  • Remove distinction between returnable stale responses and fresh ones (1069b76)
  • Pay attention to max-stale values in requests' cache-control headers. (35da90b)
  • Stop using "1" as placeholder for cache-control. (6c0ccc1)
  • use fakeClock in tests to avoid having to sleep (c7631a4)
  • introduce timer interface with real implementation as a step towards making tests quicker (650ce2f)
  • Merge pull request gregjones#16 from willnorris/client (fdaff96)
  • convenience method for new client with Transport (8c67176)
  • typo (d5147ff)
  • Update README.md (af3e5d3)
  • add memcache implementation of httpcache.Cache (cee9769)
  • change tests to use httptest.Server (65e6263)
  • Merge pull request gregjones#13 from sourcegraph/factor-out-date-func (0e8dac3)
  • Merge pull request gregjones#12 from sourcegraph/handle-Roundtrip-errors (30344bd)
  • Merge pull request gregjones#11 from sourcegraph/NewWithDiskv (cbc05c2)
  • Factor out and export Date function (parses and returns the value of the Date header) (bfc6834)
  • Return errors from transport.RoundTrip (e80134b)
  • Update README.md (c4ae025)
  • NewWithDiskv function for creating a cache that uses an existing Diskv (ac2449b)
  • Tweak comments (b49eafc)
  • Basic test for diskcache (57a4bff)
  • Merge branch 'expose-cached-responses' of https://github.com/sourcegraph/httpcache into sourcegraph-expose-cached-responses (f0157f6)
  • Merge pull request gregjones#6 from sourcegraph/diskv-WriteStream-interface (6f309fa)
  • Expose cached responses via public API function CachedResponse (9c67ee2)
  • Fix compile error: use diskv.WriteStream, not old diskv.WriteAndSync method. (47cc017)
  • get from cache only if necessary (d6d2242)
  • make Transport field optional (1071b32)
  • make Cache exported too. (4678cdc)
  • make Transport exported. (3585fc1)
  • remove superfluous comments (4a951c2)
  • run gofmt (651463f)
  • make memory cache mutex private (ce00995)
  • Update README.md (c6ed3b1)
  • remove comment that no longer applies (3f32dba)
  • roundTrip shouldn't have been modifying the supplied request. Change to clone it first (thanks to the goauth2 package for the method) (f8f0402)
  • initialise diskv with a size so it will use memory. (fcfab8e)
  • fix silly bug in min-fresh parsing (61c589a)
  • fix silly bug in min-fresh parsing (685be42)
  • remove config (bb50f7c)
  • play with Travis (e83a42c)
  • more tests (db6d983)
  • Fixed handling of Expires header in response (f545b22)
  • oh yeah, license. (feb95ff)
  • fix typo, add fullstops, consts do not need to be exported. (62247d6)
  • add package doc for diskcache (d396dc3)
  • add fullstop (21b6b4a)
  • Merge branch 'master' of github.com:gregjones/httpcache (c33471b)
  • add a Cache implementation that uses diskv for persistent cache-storage (283ffbf)
  • fix logic error in checking for cached responses (2d70c4e)
  • Initial commit (ab2f97b)
  • initial checking of a caching RoundTripper implementation (110bd42)

Full Changelog: https://github.com/sandrolain/httpcache/commits/v1.1.0