Skip to content

Releases: mickamy/adms

Release list

v0.0.1

Choose a tag to compare

@github-actions github-actions released this 30 Jun 23:47
v0.0.1
67d91db

Changelog

Features

  • 22b10bc feat(build): add Select query builder for read API
  • 8e2f7e3 feat(build): add insert, update, and delete SQL builders
  • 3a1e5fa feat(build,server): expand embedded relations into JSON subqueries
  • c58c8f4 feat(cli): add --timeout flag for check command
  • 803fa53 feat(cli): add signal handling and timeout to check command
  • 979778b feat(cli): apply --allowed-tables filter in check command
  • a19a13f feat(cli): implement adms check (config + introspect summary)
  • 858c8f5 feat(config): add default_limit and max_limit options
  • eebe229 feat(config): add max_body_bytes setting with 10 MiB default
  • 3e9d9d9 feat(config): load configuration from YAML/TOML file with env expansion
  • 0486bce feat(database): add driver open for PostgreSQL and MySQL
  • ba8e3c3 feat(dialect): add JSONObject and EmptyJSONArray helpers
  • 4f7c042 feat(logger): wrap log/slog with SetDefault-based default and source-aware helpers
  • 5428e73 feat(query): add PostgREST-style URL query parser
  • ca5eff0 feat(query): cs/cd containment operators (PG @>, MySQL JSON_CONTAINS)
  • 7da0654 feat(query): support relation embedding and alias in select
  • 43338ef feat(schema): add core types and dialect (PG/MySQL impl + tests)
  • 74797b3 feat(schema): add introspection impl and integration test infra
  • 1cab977 feat(schema): introspect indexes with method and partial predicate
  • b055585 feat(server): add CORS middleware gated by cors_origins
  • e4d3fe9 feat(server): authenticate requests with bearer token via auth_token_env
  • 219d03f feat(server): expose read handler with problem details errors
  • 210d646 feat(server): format TextMarshaler CSV cells (e.g. time.Time) as RFC 3339
  • 2bfa745 feat(server): implement write API with Prefer header and Content-Range
  • 83d056f feat(server): map PG and MySQL constraint errors to 409 / 400
  • 29aa982 feat(server): support CSV export via Accept: text/csv on the read endpoint
  • ab18f48 feat(ui): add /t/{table}/schema page with column, PK, FK, and index sections
  • 414bc0f feat(ui): add CSV / JSON export buttons to the table view
  • 56c223e feat(ui): add a Cmd/Ctrl+K command palette to jump between tables
  • eadcc28 feat(ui): add a light/dark theme toggle
  • b149562 feat(ui): add a schema ER diagram with force-directed layout
  • 76af8b1 feat(ui): add a11y landmarks, aria-current, dialog labelling, live regions
  • 7294440 feat(ui): add insert / edit / delete UI for single-PK tables
  • af5ddd0 feat(ui): add opt-in admin UI scaffolding with sidebar and table read view
  • 825ea18 feat(ui): add up/down row navigation to the table view
  • 344b028 feat(ui): auto-prefix filter values with the kind-default operator
  • 49d8ffd feat(ui): edit rows in a modal from the table view
  • e4a084f feat(ui): embed minified Tailwind CSS instead of fetching the Play CDN
  • 8b2174b feat(ui): forward auth_token_env to browser fetch via meta tag and fetch wrapper
  • e08a403 feat(ui): hide write affordances and 404 the new-row page when read_only
  • 148e390 feat(ui): inline cell edit in the table view via double-click
  • b47f0b3 feat(ui): kind-aware placeholders on the table-view filter inputs
  • cad671b feat(ui): link outgoing FK columns and list referenced-by tables on row detail
  • d511822 feat(ui): render type-aware form inputs and parse values by column kind
  • b5f23ea feat(ui): swap the table-view "Loading…" text for skeleton rows
  • f0c353c feat: serve schema and healthz over http with graceful shutdown

Bug fixes

  • 1f97a34 fix(build): order one-to-many embed JSON aggregate by child primary key
  • cbd3a8f fix(build): reject duplicate select columns to avoid map key collisions
  • 330f66c fix(build): reject non-positive limits in Select
  • 782a574 fix(build): reject select lists that mix '*' with named columns
  • d968557 fix(build): resolve embeds against qualified FK names, detect ambiguity, escape JSON keys
  • 9ad9b52 fix(build): seed star expansion when checking embed alias duplicates
  • 962a892 fix(cli): label zero-table summary as (no tables found) instead of (driver default)
  • 0b81ea7 fix(cli,config): keep --help output visible without duplicating parse errors
  • 71a003a fix(config): defer env expansion until after YAML/TOML decode
  • cf7e869 fix(config): include config path in YAML/TOML decode errors
  • 537b53d fix(config): include config path in validation errors from Load
  • 8df3061 fix(config): reject explicit zero default_limit and max_limit
  • f21ab1f fix(config): reject multi-document YAML to honor strict decoding
  • f785727 fix(config): reject zero and negative timeout values
  • cc9bdd2 fix(config): suppress duplicate flag parse errors
  • bdcdaa9 fix(config): surface non-NotExist stat errors from Detect
  • bc98b69 fix(config): treat whitespace-only driver and dsn as missing
  • c1f4539 fix(config): trim whitespace and drop empty entries from string slices
  • e81081a fix(config): trim whitespace from all scalar string fields during normalize
  • 0c73872 fix(dialect): escape backslashes in MySQL string literals
  • 87e7103 fix(make): ensure docker compose down runs even if up or tests fail
  • 50fa401 fix(query): only treat top-level ':' as the alias separator
  • 510fcf9 fix(query): reject ':' inside relation names to fail fast
  • f49cb06 fix(query): reject empty filter column and quote inputs in errors
  • e00a2e6 fix(query): split error messages for select alias and embed
  • e8ba6e2 fix(query): tighten parser edge cases (dup keys, order suffix, in.())
  • aba9003 fix(query): trim filter value before parsing not. and operator
  • 019570a fix(query): trim whitespace from order and filter columns
  • c333da7 fix(schema): always emit slice fields and qualify FK tables uniformly
  • 832aec2 fix(schema): guard mysqlListTables against empty schemas to avoid invalid SQL
  • 39fff34 fix(schema): handle NULL from SELECT DATABASE() in mysql introspector
  • 39b0c6b fix(schema): harden mysql helpers (empty placeholders, NUL fk key)
  • dfd3818 fix(schema): refine mysql IsGenerated detection (exclude DEFAULT_GENERATED)
  • 111d6a9 fix(schema): scope FK accumulation by linked table and consolidate shared types
  • 4580f37 fix(schema): scope pg FK grouping key by schema to avoid cross-schema collisions
  • 4b89d47 fix(schema): split qualify into pgQualify and mysqlQualify
  • 1fb4eed fix(server): apply per-request timeout to read query
  • 7184d54 fix(server): bind before logging, dedupe statusRecorder WriteHeader
  • 963a73f fix(server): bypass auth for /healthz with trailing slash too
  • 9db571c fix(server): decode embed subquery JSON payloads from driver bytes
  • d5b68f7 fix(server): default nil Logger to io.Discard, expose Unwrap from statusRecorder
  • e8893c7 fix(server): defensively copy non-UTF-8 scan bytes to outlive next Scan
  • 9ed9a62 fix(server): escape log paths and cache schema JSON across requests
  • a6c17e9 fix(server): force-close listener when graceful shutdown errors
  • 39ec2c8 fix(server): log panics, drain serve error on shutdown, harden timeouts
  • a60c825 fix(server): map PATCH filter-...
Read more