github ariga/atlas v0.16.0

latest releases: v0.22.0, v0.21.1, v0.21.0...
5 months ago

We are excited to announce the release of Atlas v0.16.0 🎊

Hi everyone!

It's been a while since our last version announcement and today I'm happy to share with you v0.16, which includes some very exciting improvements for Atlas:

  • ClickHouse Beta Program - ClickHouse is a high-performance, columnar database optimized for analytics and real-time query processing. Support for ClickHouse in Atlas has been one of the top requested features by our community in the past year. Today, we are happy to announce the launch of our ClickHouse Beta Program which you can sign up for today. See details below.
  • Hibernate Provider - Atlas now supports loading the desired state of your database directly from your Hibernate code. Hibernate developers can now join developers from the GORM, Sequelize, TypeORM and more communities who can now use Atlas to manage their database schema.
  • Baseline Schemas - In some cases, your migrations rely on certain database objects to exist apriori to your application schema, for example extensions or legacy tables. Atlas now supports defining a baseline schema which will be loaded before automatically planning and applying your migrations.
  • Proactive conflict detection - Teams that have connected their project to Atlas Cloud will get a prompt in the CLI if their migration directory is out of sync with the latest version in Atlas Cloud. This ensures that new migration files are added in a sequential order, preventing unexpected behavior.
  • Mermaid Support - Atlas now supports generating a Mermaid diagram of your database schema. This is a great way to visualize your database schema and share it with your team.
  • Review Policies - Users working with declarative migrations can now define "review policies" which can define thresholds for which kinds of changes require human review and which can be auto-applied.
  • Postgres Sequences - Another long-awaited feature, Atlas now supports managing sequences in PostgreSQL.

Read the full announcement on our blog: https://atlasgo.io/blog/2023/12/19/atlas-v-0-16

Quick installation

macOS + Linux:

curl -sSf https://atlasgo.sh | sh

Homebrew:

brew install ariga/tap/atlas

Docker:

docker pull arigaio/atlas

Windows

Download

Legal

The default binaries in this release are distributed released under Atlas EULA, and the community binaries are released under the Apache 2.0 license. If you would like to build Atlas from source follow the instructions here.

What's Changed

Commits history
  • doc/website: update banner by @hilakashai in #2213
  • cmd/atlas/internal/cmdext: add support for 'extenral' data source by @a8m in #2212
  • doc: add external data source to project config by @a8m in #2216
  • sql/postgres: drop cascade funcs and procs by @a8m in #2217
  • cmd/atlas/internal/sqlparse: use postgresql-parser for windows by @a8m in #2218
  • cmd/atlas: init stubs by @rotemtam in #2219
  • cmd/atlas/internal/cmdlog: add mermaid to template functions by @a8m in #2223
  • schemahcl: add more tf functions to stdlib by @a8m in #2224
  • cmd/atlas/internal/cmdapi: read and evaluate config file only once by @a8m in #2226
  • cmd/atlas/internal/cmdapi: fix broken tests by @a8m in #2227
  • Revert "doc/md: remove windows installation instructions and advise f… by @masseelch in #2228
  • cmd/atlas/internal/cmdext: atlas.sum is optional for schema directories (not migrations) by @a8m in #2230
  • cmd/atlas/internal: support apply review policies in project files by @rotemtam in #2235
  • doc/md: document tools.go for gorm provider by @rotemtam in #2238
  • cmd/atlas/internal/cmdapi: set flags from config file to schema push command by @a8m in #2239
  • cmd/atlas: added context flag to migrate apply by @dorav in #2237
  • cmd/atlas/internal/cmdapi: add stubs for remote schemas (atlas://) by @a8m in #2244
  • sql/internal/specutil: skip qualify repeatable blocks by @a8m in #2245
  • sql/migrate: fix flaky TestHashSum test by @a8m in #2246
  • cmd/atlas/internal/docker: allow custom images in docker driver by @a8m in #2249
  • Added indirect dependency for grpc:v1.58.3 by @kabobbob in #2242
  • cmd/atlas/internal/cmdapi: support reference env:// attributes by @a8m in #2253
  • sql/postgres: support add enum values before/after exisiting values by @a8m in #2255
  • sqlparse/sqliteparse: fixed err checks in recover by @giautm in #2256
  • cmd/atlas: upgrade antlr package by @giautm in #2257
  • cmd/atlas/internal/cmdext: stub for remote_schema data source by @a8m in #2259
  • cmd/atlas/internal/cmdlog: remove space from column name and type by @a8m in #2261
  • go: upgrade spf13/cobra by @a8m in #2264
  • cmd/atlas/internal/cmdstate: shared package for storing cmd states by @a8m in #2267
  • cmd/atlas/internal/cmdstate: disable homedir cache in tests by @a8m in #2268
  • cmd/atlas/internal/cmdapi: use t.TempDir for testing by @a8m in #2269
  • cmd/atlas/internal/cmdapi: revert t.TempDir for creating sqlite files by @a8m in #2270
  • cmd/atlas/internal/cmdapi: hook into RunE execution by @a8m in #2271
  • cmd/atlas/internal/cmdapi: allow ent version to check if dir rebased by @a8m in #2272
  • doc: add new diff prompt behavior by @a8m in #2273
  • cmd/atlas/internal/cmdext: move ent loader to stub by @a8m in #2275
  • sql/mysql: inspect mariadb check constraints correctly by @a8m in #2276
  • Fix link of atlas migrate lint by @michiomochi in #2278
  • cmd/atlas/internal/cmdapi: review policy excludes auto-approve by @rotemtam in #2279
  • cmd/atlas: update entgo.io/ent by @a8m in #2280
  • cmdext: revert support env://VARIABLE for runtimevar datasource (#2078) by @giautm in #2281
  • doc/md: document review policy by @rotemtam in #2284
  • cmd/atlas: pipe docker run errors to the user by @a8m in #2285
  • sql/migrate: support controlling the execution order by @a8m in #2287
  • doc/md/integrations: fix invalid dir in configMap by @datdao in #2289
  • cmd/atlas/internal/cmdlog: indent new line in apply log by @masseelch in #2288
  • .github/workflows: cancel in progress workflows with newer commits by @masseelch in #2290
  • cmd/atlas: add out-of-order to 'migrate status' by @a8m in #2291
  • sql/internal/sqlx: add Builder.WrapErr by @a8m in #2294
  • internal/ci: ignore ops directory by @giautm in #2296
  • Add libsql+file:// support by @haaawk in #2203
  • website: update versioned migration illustration by @a8m in #2299
  • cmd/atlas/internal/cmdapi: support env:// vars in lazy dev connection creation by @a8m in #2302
  • cmd/atlas: allow extending config hcl parse options by @a8m in #2306
  • sql/mysql/mysqlcheck: allow extending analyzers by @noamcattan in #2307
  • doc/website/blog: better example for gorm viz by @rotemtam in #2308
  • schemahcl: allow registering custom type-block to first eval phase by @a8m in #2309
  • sql/migrate: add the not-clean state to the error by @a8m in #2310
  • all: update deps by @masseelch in #2311
  • sql: standardize restore function creation by @a8m in #2312
  • sql/schema: standardize format/parse types interface by @a8m in #2313
  • all: update gocloud.dev/runtimevar by @masseelch in #2314
  • doc/md/concepts: using non alphanumeric characters in urls by @rotemtam in #2315
  • cmd/atlas/internal: miscellaneous changes to allow extending schemahcl with docker blocks by @a8m in #2316
  • cmd/atlas/internal/docker: expose Open function by @a8m in #2317
  • doc/dev: document the new baseline schema option by @a8m in #2318
  • doc: remove old sync-action and github app by @a8m in #2321
  • sql/sqlcheck: fix alert message for unique index report in case of multiple columns by @ronenlu in #2322
  • sql/postgres: add object ids to inspection by @a8m in #2323
  • sql/postgres: add attrs and deps to domain types by @a8m in #2324
  • sql/internal/specutil: support depends_on for tables, funcs and procs by @a8m in #2327
  • doc/md/guides: documenting working with secrets by @rotemtam in #2320
  • atlas/cmd/atlas: fix interrupt handling by @masseelch in #2328
  • sql: dependency aware plans by @a8m in #2329
  • schemahcl: move raw expression to stdlib by @a8m in #2331
  • schemahcl: fix memory leak in patchRefs func by @ronenlu in #2332
  • schemahcl: decode reference in extra blocks by @giautm in #2333
  • sql/migrate: handle partially applied checkpoint files by @masseelch in #2335
  • cmd/atlas: allow run sqlserver docker by @giautm in #2336
  • cmd/atlas: fixed pingURL for sqlserver by @giautm in #2337
  • sql/internal/sqlx: diff realm adds new schema with all its resources by @a8m in #2339
  • schemahcl: children (context) can refuse inheritance by @giautm in #2334
  • cmd/atlas: refactor parse dockerURL logic by @giautm in #2344
  • doc/website/blog: gitops for databases part 1 by @rotemtam in #2342
  • sql/postgres: add sequence to sqlspec by @a8m in #2330
  • doc/hcl: add sequences by @a8m in #2346
  • doc/website: add intercom to docsite by @rotemtam in #2348
  • internal/ci: run dialect integration test only after general ci finished by @ronenlu in #2347
  • schemahcl: reduce eval mem usage by @a8m in #2349
  • sql/postgres: use search_path value on error when current schema does… by @a8m in #2350
  • sql/postgres: add cache and cycle to seq attributes by @a8m in #2351
  • sql: move exclude helpers from sql/internal to sql/schema by @a8m in #2355
  • sql/schema: support excluding enum objects by @a8m in #2356
  • doc: add non-blocking enum changes by @a8m in #2357
  • sql/migrate: support scanning compound statements by @a8m in #2358
  • sql: implement migrate.StmtScanner in drivers by @a8m in #2359
  • sql/migrate: skip compound statements if delimiter is set by @a8m in #2362
  • sql/sqlx: added schema as deps by @giautm in #2361
  • doc/webite/blog: gitops part 2 by @rotemtam in #2360
  • sql/mysql/mysqlcheck: skip MY101 for auto-increment columns by @a8m in #2366
  • doc/website/blog: hibernate-orm support by @dorav in #2363
  • doc/md/guides: added a guide for Hibernate schema loader by @dorav in #2325
  • cmd/atlas/internal/sqlparse: fix windows build by @a8m in #2368
  • sql/schema: add trigger types by @a8m in #2369
  • sql/postgres: allow extending plans with create/drop trigger changes by @a8m in #2370
  • sql/schema: add object deps to triggers by @a8m in #2371
  • sql/postgres: allow extending plans with rename/modify trigger changes by @a8m in #2373
  • cmd/atlas/internal/sqlparse: add missing pgparse logic for drop indexes by @a8m in #2377
  • sql/mysql: allow extending plans with add/drop trigger changes by @a8m in #2378
  • sql/sqlite: allow extending plans with add/drop trigger changes by @a8m in #2379
  • sql/internal/sqlx: support diffing triggers by @a8m in #2380
  • doc/website/blog: v0.16 announcement by @rotemtam in #2385

New Contributors

Full Changelog: v0.15.0...v0.16.0

Don't miss a new atlas release

NewReleases is sending notifications on new releases.