Skip to content

Commit 590e09f

Browse files
committed
Release v5.0: parse-stack-next, vectors & cache
Major release renaming the gem to parse-stack-next (5.0.0) and adding vector/embeddings, Redis cache pool, GraphQL type generation, instrumentation, and other enhancements. Key changes: add :vector property and Parse::Vector value class with embeddings provider registry and embed DSL; Klass.find_similar and Atlas vectorSearch index discovery; Parse::Embeddings providers (fixture & OpenAI) and instrumentation; Parse::Cache::Redis and Parse::Cache::Pool connection-pooled Redis cache with namespace support and AS::N events; caching middleware improvements and graceful degrade on ConnectionPool::TimeoutError; GraphQL TypeGenerator for generating graphql-ruby types from Parse models (dev dependency); many API, LiveQuery, MCP, and MongoDB instrumentation changes (new AS::N events, slow-query logging); MCP protocol/headers updates and structured tool output; substantial tests, docs, README and CHANGELOG updates; CI workflow additions for YARD docs. Breaking notes: gem name changed to parse-stack-next, MCP header rename (X-MCP-Session-Id -> Mcp-Session-Id), and other behavior changes described in CHANGELOG.
1 parent 8f6d9fd commit 590e09f

79 files changed

Lines changed: 9593 additions & 179 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/docs.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: Publish YARD Docs
2+
3+
on:
4+
push:
5+
branches: [master]
6+
workflow_dispatch:
7+
8+
permissions:
9+
contents: read
10+
pages: write
11+
id-token: write
12+
13+
concurrency:
14+
group: pages
15+
cancel-in-progress: false
16+
17+
jobs:
18+
build:
19+
runs-on: ubuntu-latest
20+
steps:
21+
- uses: actions/checkout@v4
22+
- uses: ruby/setup-ruby@v1
23+
with:
24+
ruby-version: '3.4'
25+
bundler-cache: true
26+
- name: Build YARD docs
27+
run: bundle exec rake yard
28+
- uses: actions/upload-pages-artifact@v3
29+
with:
30+
path: doc/parse-stack
31+
deploy:
32+
needs: build
33+
runs-on: ubuntu-latest
34+
environment:
35+
name: github-pages
36+
url: ${{ steps.deployment.outputs.page_url }}
37+
steps:
38+
- id: deployment
39+
uses: actions/deploy-pages@v4

.github/workflows/ruby.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ on:
1313
pull_request:
1414
branches: [master]
1515

16+
permissions:
17+
contents: read
18+
1619
jobs:
1720
test:
1821
strategy:

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,3 +47,5 @@ logs
4747
!docs/mcp_guide.md
4848
!docs/mongodb_direct_guide.md
4949
!docs/mongodb_index_optimization_guide.md
50+
!docs/atlas_vector_search_guide.md
51+
!SECURITY.md

CHANGELOG.md

Lines changed: 119 additions & 0 deletions
Large diffs are not rendered by default.

Gemfile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
source "https://rubygems.org"
22

3-
# Specify your gem's dependencies in parse-stack.gemspec
4-
gemspec
3+
# Specify your gem's dependencies in parse-stack-next.gemspec
4+
gemspec name: "parse-stack-next"
55

66
group :test, :development do
77
gem "dotenv"

Gemfile.lock

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
PATH
22
remote: .
33
specs:
4-
parse-stack (4.4.3)
4+
parse-stack-next (5.0.0)
55
activemodel (>= 6.1, < 9)
66
activesupport (>= 6.1, < 9)
7+
connection_pool (>= 2.2, < 4)
78
csv (~> 3.3)
89
faraday (~> 2.0)
910
faraday-net_http_persistent (~> 2.0)
@@ -50,11 +51,16 @@ GEM
5051
faraday-net_http (>= 2.0, < 3.5)
5152
json
5253
logger
53-
faraday-net_http (3.4.2)
54+
faraday-net_http (3.4.3)
5455
net-http (~> 0.5)
5556
faraday-net_http_persistent (2.3.1)
5657
faraday (~> 2.5)
5758
net-http-persistent (>= 4.0.4, < 5)
59+
fiber-storage (1.0.1)
60+
graphql (2.6.2)
61+
base64
62+
fiber-storage
63+
logger
5864
i18n (1.14.8)
5965
concurrent-ruby (~> 1.0)
6066
io-console (0.8.2)
@@ -155,11 +161,12 @@ PLATFORMS
155161
DEPENDENCIES
156162
debug (>= 1.0)
157163
dotenv
164+
graphql (~> 2.0)
158165
minitest
159166
minitest-mock
160167
minitest-reporters
161168
mongo
162-
parse-stack!
169+
parse-stack-next!
163170
pry
164171
puma
165172
rack-test

README.md

Lines changed: 55 additions & 45 deletions
Large diffs are not rendered by default.

SECURITY.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Security Policy
2+
3+
## Supported Versions
4+
5+
Security fixes are applied to the current major release line. Older majors
6+
receive fixes only for critical vulnerabilities at the maintainer's discretion.
7+
8+
| Version | Supported |
9+
| ------- | ------------------ |
10+
| 5.x | :white_check_mark: |
11+
| < 5.0 | :x: |
12+
13+
## Reporting a Vulnerability
14+
15+
Please report suspected vulnerabilities privately by email to
16+
**security@neurosynq.net**. Do not open a public GitHub issue for
17+
security reports.
18+
19+
Include as much of the following as you can:
20+
21+
- A description of the issue and its impact
22+
- Affected version(s) of `parse-stack`
23+
- Steps to reproduce, or a minimal proof-of-concept
24+
- Any suggested remediation
25+
26+
You can expect an initial acknowledgement within 5 business days. Once the
27+
report is triaged, the maintainer will share a remediation plan and target
28+
timeline. Accepted vulnerabilities will be fixed in a coordinated release and
29+
credited in the changelog unless you request otherwise. Reports that fall
30+
outside the project's threat model will be declined with an explanation.

0 commit comments

Comments
 (0)