forked from liquibase/liquibase
-
Notifications
You must be signed in to change notification settings - Fork 0
/
changelog.txt
3083 lines (2764 loc) · 214 KB
/
changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Liquibase Core Changelog
===========================================
Changes in version Liquibase v4.20 (2023.03.07)
* feat : https://datical.atlassian.net/browse/DAT-12842 by @sayaliM0412 in https://github.com/liquibase/liquibase/pull/3867
* Issue 3584: Add support for relativeToChangelogFile for ChangeLogProperty class/property attribute by @jasonlyle88 in https://github.com/liquibase/liquibase/pull/3595
* Jakartaee CDI for liquibase by @xazap in https://github.com/liquibase/liquibase/pull/3642
* use variable for maven version by @StevenMassaro in https://github.com/liquibase/liquibase/pull/3895
* update db changelog xsd to 4.20 by @suryaaki2 in https://github.com/liquibase/liquibase/pull/3918
* [PRO]DAT-6606, DAT-6607 and DAT-6613 by @filipelautert in https://github.com/liquibase/liquibase-pro/pull/824
* structured logging test updates by @StevenMassaro in https://github.com/liquibase/liquibase-pro/pull/851
* [PRO] update pro xsd and flow schema to 4.20 by @suryaaki2 in https://github.com/liquibase/liquibase-pro/pull/861
* DAT-6606, DAT-6607 (DAT-6623 too) and DAT-6613 by @filipelautert in https://github.com/liquibase/liquibase/pull/3775
* remove Liquibase Hub autoregistration prompts (DAT-13419) by @StevenMassaro in https://github.com/liquibase/liquibase/pull/3886
* Bump actions/cache from 3.2.5 to 3.2.6 by @dependabot in https://github.com/liquibase/liquibase/pull/3851
* [PRO] Bump jsqlparser from 4.5 to 4.6 by @dependabot in https://github.com/liquibase/liquibase-pro/pull/842
* [PRO] Bump mockito-core from 3.8.0 to 3.12.4 by @dependabot in https://github.com/liquibase/liquibase-pro/pull/845
* [PRO] Bump actions/checkout from 2 to 3 by @dependabot in https://github.com/liquibase/liquibase-pro/pull/846
* [PRO] Bump actions/setup-java from 2 to 3 by @dependabot in https://github.com/liquibase/liquibase-pro/pull/847
* [PRO] Bump schdck/create-env-json from 1 to 2 by @dependabot in https://github.com/liquibase/liquibase-pro/pull/848
* [PRO] Bump maven-compiler-plugin from 3.10.1 to 3.11.0 by @dependabot in https://github.com/liquibase/liquibase-pro/pull/850
* only show structured log license message after value providers are registered (DAT-13362) by @StevenMassaro in https://github.com/liquibase/liquibase/pull/3850
* pin maven version for sonar scan by @StevenMassaro in https://github.com/liquibase/liquibase/pull/3880
* Fix CheckSum generation issues + improvements by @MalloD12 in https://github.com/liquibase/liquibase/pull/3616
* One more pin to maven 3.8.7 by @filipelautert in https://github.com/liquibase/liquibase/pull/3885
* Pin Maven to 3.8.7 in other places by @wwillard7800 in https://github.com/liquibase/liquibase/pull/3884
* more maven version pinning by @StevenMassaro in https://github.com/liquibase/liquibase/pull/3887
* structured logging MdcKey renaming by @StevenMassaro in https://github.com/liquibase/liquibase/pull/3875
* Revert "Fix CheckSum generation issues + CURRENT_CHECKSUM_ALGORITHM_VERSION updated from 8 to 9." by @filipelautert in https://github.com/liquibase/liquibase/pull/3892
* Safely call snakeyaml methods that have been changed in last versions. by @filipelautert in https://github.com/liquibase/liquibase/pull/3904
* [PRO] only show structured log license message after value providers are registered (DAT-13362) by @StevenMassaro in https://github.com/liquibase/liquibase-pro/pull/839
* [PRO] Pin maven to 3.8.7 by @wwillard7800 in https://github.com/liquibase/liquibase-pro/pull/855
* [PRO] GitHub action maven version pin by @StevenMassaro in https://github.com/liquibase/liquibase-pro/pull/859
## New Contributors
* @sayaliM0412 made their first contribution in https://github.com/liquibase/liquibase/pull/3867
* @jasonlyle88 made their first contribution in https://github.com/liquibase/liquibase/pull/3595
* @xazap made their first contribution in https://github.com/liquibase/liquibase/pull/3642
**Full Changelog**: https://github.com/liquibase/liquibase/compare/v4.19.1...v4.20.0
Changes in version Liquibase v4.19.1 (2023.02.28)
* Fixes generate-changelog table/view comment and table/view column comment generation for MSSQL by @abrackx in https://github.com/liquibase/liquibase/pull/3563
* Publish liquibase-extension-testing to github packages by @abrackx in https://github.com/liquibase/liquibase/pull/3697
* Fully qualified path to the changelog or snapshot in S3 is not allowed, so needs better msg by @diadiushko in https://github.com/liquibase/liquibase/pull/3564
* detect circular references in includeAll statement by @StevenMassaro in https://github.com/liquibase/liquibase/pull/3695
* Bump junit-jupiter-params from 5.9.1 to 5.9.2 by @dependabot in https://github.com/liquibase/liquibase/pull/3673
* Bump ant from 1.10.11 to 1.10.13 by @dependabot in https://github.com/liquibase/liquibase/pull/3672
* Bump firebird-testcontainers-java from 1.2.0 to 1.3.0 by @dependabot in https://github.com/liquibase/liquibase/pull/3653
* Add support for multiple schemas to dbDoc command by @zpanderson in https://github.com/liquibase/liquibase/pull/1834
* No need redundant conditions. by @arturobernalg in https://github.com/liquibase/liquibase/pull/3553
* Replace expressions with type arguments with diamond type <>. by @arturobernalg in https://github.com/liquibase/liquibase/pull/3591
* Fix typos. by @arturobernalg in https://github.com/liquibase/liquibase/pull/3586
* Remove duplicate conditions in expressions and branches of if statements. They are used due to oversight. by @arturobernalg in https://github.com/liquibase/liquibase/pull/3548
* Replace constant charset String literal with the predefined StandardC… by @arturobernalg in https://github.com/liquibase/liquibase/pull/3568
* normalize path of SQL changelog file when parsing by @StevenMassaro in https://github.com/liquibase/liquibase/pull/3664
* Delegate change set equality tests by @droy-sandbox in https://github.com/liquibase/liquibase/pull/3550
* improve logging around paths that do not exist by @StevenMassaro in https://github.com/liquibase/liquibase/pull/3669
* PR template: add comments around help text by @StevenMassaro in https://github.com/liquibase/liquibase/pull/3715
* normalize path of json and yaml changelogs when parsing by @StevenMassaro in https://github.com/liquibase/liquibase/pull/3711
* deprecate DefaultLoggerConfiguration by @StevenMassaro in https://github.com/liquibase/liquibase/pull/3706
* Refactor of TagExistsCommandStep and extraction of code to new LockServiceCommandStep by @filipelautert in https://github.com/liquibase/liquibase/pull/3667
* Refactors CalculateChecksumCommandStep by @filipelautert in https://github.com/liquibase/liquibase/pull/3696
* CORE-3044 avoid locking if no updates pending by @RichardBradley in https://github.com/liquibase/liquibase/pull/2190
* Warning in case of missing liquibase files instead of throwing an exception by @mhewedy in https://github.com/liquibase/liquibase/pull/3081
* Document new TestSystem functionality by @nvoxland in https://github.com/liquibase/liquibase/pull/2463
* Remove redundant modifiers. by @arturobernalg in https://github.com/liquibase/liquibase/pull/3594
* Update maven-bundle-plugin instructions to export package containing XSD files by @GeertZondervan in https://github.com/liquibase/liquibase/pull/3597
* Bump actions/delete-package-versions from 3 to 4 by @dependabot in https://github.com/liquibase/liquibase/pull/3649
* Bump maven-plugin-plugin from 3.7.0 to 3.7.1 by @dependabot in https://github.com/liquibase/liquibase/pull/3698
* Bump assertj-core from 3.23.1 to 3.24.2 by @dependabot in https://github.com/liquibase/liquibase/pull/3705
* Bump jaybird from 4.0.8.java8 to 5.0.0.java8 by @dependabot in https://github.com/liquibase/liquibase/pull/3659
* Rework dropProcedure for Snowflake Log message when dropAll fails by @wwillard7800 in https://github.com/liquibase/liquibase/pull/3702
* Bump mariadb-java-client from 3.1.0 to 3.1.2 by @dependabot in https://github.com/liquibase/liquibase/pull/3729
* Remove redundant conditions tha covered by a subsequent condition. by @arturobernalg in https://github.com/liquibase/liquibase/pull/3590
* fix: snowflake has wrong priority by @Yogurt-lei in https://github.com/liquibase/liquibase/pull/3572
* Do not add default schema name to getSchemas method to avoid one schema by @LonwoLonwo in https://github.com/liquibase/liquibase/pull/3704
* #3035 add Double data type class to avoid incorrect double(0) database by @LonwoLonwo in https://github.com/liquibase/liquibase/pull/3703
* Stop publishing liquibase-extension-testing to Github on branch builds by @abrackx in https://github.com/liquibase/liquibase/pull/3726
* do not support setting column comments on a view in Snowflake by @StevenMassaro in https://github.com/liquibase/liquibase/pull/3710
* Migrate setup-java action to use Temurin by @gdams in https://github.com/liquibase/liquibase/pull/3607
* Add support for db2 view comments by @abrackx in https://github.com/liquibase/liquibase/pull/3723
* Fix NullPointerException for case sensitive collations by @ivan909020 in https://github.com/liquibase/liquibase/pull/3699
* pass proper branch name and add required field by @jnewton03 in https://github.com/liquibase/liquibase/pull/3765
* Bump snowflake-jdbc from 3.13.26 to 3.13.27 by @dependabot in https://github.com/liquibase/liquibase/pull/3751
* Consistent ARG-suffix for 'defaultSchemaName'-Parameter by @SIEDA-EliasHeydrich in https://github.com/liquibase/liquibase/pull/3662
* Remove unnecessary cast expressions. by @arturobernalg in https://github.com/liquibase/liquibase/pull/3670
* Bump picocli from 4.7.0 to 4.7.1 by @dependabot in https://github.com/liquibase/liquibase/pull/3742
* Bump actions/cache from 3.2.3 to 3.2.4 by @dependabot in https://github.com/liquibase/liquibase/pull/3750
* Performance improvements by @filipelautert in https://github.com/liquibase/liquibase/pull/3588
* Implemented a summary of change sets which get filtered out during update by @wwillard7800 in https://github.com/liquibase/liquibase/pull/3730
* Support tabular format for history command by @fbiville in https://github.com/liquibase/liquibase/pull/3541
* Removing explicit LiquibaseServletListener references by @Thunderforge in https://github.com/liquibase/liquibase/pull/3677
* Add Snowflake structured data types to unmodifiable Data Types by @LonwoLonwo in https://github.com/liquibase/liquibase/pull/3752
* Fix #3690 primaryKeyExists does not work on DB2z by @MichaelKern-IVV in https://github.com/liquibase/liquibase/pull/3691
* Remove Unnecessary operation/modifier: by @arturobernalg in https://github.com/liquibase/liquibase/pull/3657
* Replace old stream creation with java.nio. by @arturobernalg in https://github.com/liquibase/liquibase/pull/3686
* Bump actions/cache from 3.2.4 to 3.2.5 by @dependabot in https://github.com/liquibase/liquibase/pull/3809
* Bump maven-deploy-plugin from 3.0.0 to 3.1.0 by @dependabot in https://github.com/liquibase/liquibase/pull/3802
* Bump maven-shade-merge-manifest-transformer from 0.0.2 to 0.0.3 by @dependabot in https://github.com/liquibase/liquibase/pull/3779
* Bump postgresql from 42.5.1 to 42.5.3 by @dependabot in https://github.com/liquibase/liquibase/pull/3778
* Bump jaxb-runtime from 4.0.1 to 4.0.2 by @dependabot in https://github.com/liquibase/liquibase/pull/3786
* Bump jaxb-core from 4.0.1 to 4.0.2 by @dependabot in https://github.com/liquibase/liquibase/pull/3787
* Bump sqlite-jdbc from 3.40.0.0 to 3.40.1.0 by @dependabot in https://github.com/liquibase/liquibase/pull/3772
* Bump maven-enforcer-plugin from 3.1.0 to 3.2.1 by @dependabot in https://github.com/liquibase/liquibase/pull/3759
* Bump jaybird from 5.0.0.java8 to 5.0.1.java8 by @dependabot in https://github.com/liquibase/liquibase/pull/3760
* Bump mssql-jdbc from 11.2.1.jre8 to 12.2.0.jre8 by @dependabot in https://github.com/liquibase/liquibase/pull/3761
* Bump ojdbc8 from 21.8.0.0 to 21.9.0.0 by @dependabot in https://github.com/liquibase/liquibase/pull/3808
* Update and rename bug_report.md to bug_report.yaml by @kevin-atx in https://github.com/liquibase/liquibase/pull/3728
* github-action-13527 by @jnewton03 in https://github.com/liquibase/liquibase/pull/3827
* Bump postgresql from 42.5.3 to 42.5.4 by @dependabot in https://github.com/liquibase/liquibase/pull/3831
* Do not duplicate clearCheckSums logic by @fbiville in https://github.com/liquibase/liquibase/pull/3628
* Fixing #3708 - AddColumn fix for H2 version 1.4.200 by @KarolyNevelos in https://github.com/liquibase/liquibase/pull/3709
* Added default values to private Scope constructor by @MarkTJohnson in https://github.com/liquibase/liquibase/pull/3756
* Improved concurrency support by using ConcurrentHashMaps by @jurgenkleverwal in https://github.com/liquibase/liquibase/pull/3799
* fixing lookahead for lastline comment method by @mwiede in https://github.com/liquibase/liquibase/pull/3717
* Do not calculate checksum when loading changelogs by @filipelautert in https://github.com/liquibase/liquibase/pull/3790
* set up maven using simpler GitHub action by @StevenMassaro in https://github.com/liquibase/liquibase/pull/3835
* safely set code point limit for SnakeYaml by @StevenMassaro in https://github.com/liquibase/liquibase/pull/3807
* improve command line help message format by @StevenMassaro in https://github.com/liquibase/liquibase/pull/3829
* Use StandardCharsets constant instead. by @arturobernalg in https://github.com/liquibase/liquibase/pull/3725
* Fix failing EnvironmentValueProviderTest by @nvoxland in https://github.com/liquibase/liquibase/pull/3783
* Structured logging by @StevenMassaro in https://github.com/liquibase/liquibase/pull/3574
* Update SnakeYAML usage - do not call deprecated methods by @asomov in https://github.com/liquibase/liquibase/pull/3632
* Avoid global mutable state of Non-final fields in enumeration types. by @arturobernalg in https://github.com/liquibase/liquibase/pull/3727
* Use constants instead of arrays with known lengths of zero by @arturobernalg in https://github.com/liquibase/liquibase/pull/3716
* Simplify lambda expressions when possible by @arturobernalg in https://github.com/liquibase/liquibase/pull/3736
* Skip MDC logging for MarkChangeSetRanStatement SQLs by @filipelautert in https://github.com/liquibase/liquibase/pull/3869
* Fix null pointers on table output by @filipelautert in https://github.com/liquibase/liquibase/pull/3868
## New Contributors
* @zpanderson made their first contribution in https://github.com/liquibase/liquibase/pull/1834
* @droy-sandbox made their first contribution in https://github.com/liquibase/liquibase/pull/3550
* @mhewedy made their first contribution in https://github.com/liquibase/liquibase/pull/3081
* @GeertZondervan made their first contribution in https://github.com/liquibase/liquibase/pull/3597
* @Yogurt-lei made their first contribution in https://github.com/liquibase/liquibase/pull/3572
* @gdams made their first contribution in https://github.com/liquibase/liquibase/pull/3607
* @ivan909020 made their first contribution in https://github.com/liquibase/liquibase/pull/3699
* @SIEDA-EliasHeydrich made their first contribution in https://github.com/liquibase/liquibase/pull/3662
* @Thunderforge made their first contribution in https://github.com/liquibase/liquibase/pull/3677
* @KarolyNevelos made their first contribution in https://github.com/liquibase/liquibase/pull/3709
* @MarkTJohnson made their first contribution in https://github.com/liquibase/liquibase/pull/3756
* @jurgenkleverwal made their first contribution in https://github.com/liquibase/liquibase/pull/3799
* @mwiede made their first contribution in https://github.com/liquibase/liquibase/pull/3717
**Full Changelog**: https://github.com/liquibase/liquibase/compare/v4.19.0...v4.19.1
Changes in version Liquibase v4.19.0 (2023.01.12)
* Update release-published.yml by @jnewton03 in https://github.com/liquibase/liquibase/pull/3540
* when generating changelogs for MySQL, ignore table column order for PKs by @StevenMassaro in https://github.com/liquibase/liquibase/pull/3486
* Simplify assert calls and replaced with simpler and equivalent calls. by @arturobernalg in https://github.com/liquibase/liquibase/pull/3497
* fix overwriteOutputFile parameter for GenerateChangelog by @StevenMassaro in https://github.com/liquibase/liquibase/pull/3543
* Avoid ClassCastException when loading LogService from Scope by @mattbertolini in https://github.com/liquibase/liquibase/pull/3518
* Adds exclusions for mariadb newly added waffle dependency. by @filipelautert in https://github.com/liquibase/liquibase/pull/3559
* Delete unused import statement. by @arturobernalg in https://github.com/liquibase/liquibase/pull/3522
* Correctly handle indexes with descending columns in snapshot by @wwillard7800 in https://github.com/liquibase/liquibase/pull/3535
* Added call to modifyChangeSet during execute method to allow the changeSet to be correctly set on the executor by @wwillard7800 in https://github.com/liquibase/liquibase/pull/3511
* Upgrade up the max number of code points for JSON/YAML parser by @wwillard7800 in https://github.com/liquibase/liquibase/pull/3552
* Remove unnecessary local variables that add nothing to the comprehensibility of a method. by @arturobernalg in https://github.com/liquibase/liquibase/pull/3373
* Allow loading gzipped data files by @mike-seger in https://github.com/liquibase/liquibase/pull/3379
* Use try-with-resources Statement when is possible. by @arturobernalg in https://github.com/liquibase/liquibase/pull/3374
* Included SQL to return unique constraints for Sybase by @crenan in https://github.com/liquibase/liquibase/pull/3517
* Define and reuse constants. Use an empty array styles to convert a collection to an array. by @arturobernalg in https://github.com/liquibase/liquibase/pull/3500
* Add varbinary and binary support for DB2 - fixes #3408 by @mihaelaDev in https://github.com/liquibase/liquibase/pull/3428
* Add support for block comment rollback commands on SQL changesets by @krishnaenugandula in https://github.com/liquibase/liquibase/pull/1399
* Fix getting default schema issue for firebird by @MalloD12 in https://github.com/liquibase/liquibase/pull/3390
* Allow primary key on addColumn for H2 by @nick318 in https://github.com/liquibase/liquibase/pull/3372
* Fix generatedSQL logic to allow setting up a function as a default value for MySQL version 8 by @MalloD12 in https://github.com/liquibase/liquibase/pull/3362
* #1290: Forbid empty changeSet id and author by @skrivenko in https://github.com/liquibase/liquibase/pull/3397
* Allow to drop and create a view for a Postgres database if replacing the view would fail by @rozenshteyn in https://github.com/liquibase/liquibase/pull/3399
* Added support for COMPUTED values inside CSV files for loadData change by @zbynekvavros in https://github.com/liquibase/liquibase/pull/944
* Additional (optional) tableType attribute on the CreateTableChange by @MartinRied in https://github.com/liquibase/liquibase/pull/3108
* Include "path" in databasechangelog's description column for all change types with "path" attributes by @MichaelKern-IVV in https://github.com/liquibase/liquibase/pull/3244
* #1466: Add ignore:true changeset attribute to Formatted SQL changeLogs by @skrivenko in https://github.com/liquibase/liquibase/pull/3377
* Rename DatabaseObjectComparator class to be DatabaseObjectCollectionComparator for clarity by @wwillard7800 in https://github.com/liquibase/liquibase/pull/3544
* Do not lower case the ProvidedValue description if the string is capitalized, i.e. it starts with 2 upper-case characters by @wwillard7800 in https://github.com/liquibase/liquibase/pull/3589
* Use 'Integer.compare' instead by @arturobernalg in https://github.com/liquibase/liquibase/pull/3528
* Simplify 'Map' operations. by @arturobernalg in https://github.com/liquibase/liquibase/pull/3527
* Prevent Executors collision due to hash used as a Map's key part by @Dasiu in https://github.com/liquibase/liquibase/pull/3533
* Breaks out of LockService.init loop after validations are completed instead of keep looping for 10 times by @filipelautert in https://github.com/liquibase/liquibase/pull/3576
* Remove unnecessary semicolon. by @arturobernalg in https://github.com/liquibase/liquibase/pull/3571
* Missing Override annotations. by @arturobernalg in https://github.com/liquibase/liquibase/pull/3558
* Adding extension license information by @wwillard7800 in https://github.com/liquibase/liquibase/pull/3614
* Prevents redundant loop iterations. Early loop exit in 'if' condition. by @arturobernalg in https://github.com/liquibase/liquibase/pull/3547
* Refactor TagCommand by @filipelautert in https://github.com/liquibase/liquibase/pull/3570
* update release workflow to attach artifact by run_id by @ap-liquibase in https://github.com/liquibase/liquibase/pull/3629
* implement SingletonObject to solve #2349 by @yairogen in https://github.com/liquibase/liquibase/pull/3624
* update install4j script to version 10.x by @jnewton03 in https://github.com/liquibase/liquibase/pull/3641
* Upgrades installer JDK version for next release. by @filipelautert in https://github.com/liquibase/liquibase/pull/3440
* Remove licenses that were moved to individual extensions by @StevenMassaro in https://github.com/liquibase/liquibase/pull/3646
* Postgresql - Fallback to default schema name in SequenceSnapshotGenerator when this is null by @djochim in https://github.com/liquibase/liquibase/pull/3637
* include commercial sources and javadoc in reversion by @ap-liquibase in https://github.com/liquibase/liquibase/pull/3671
* update changelog version - 4.19 by @suryaaki2 in https://github.com/liquibase/liquibase/pull/3676
* Update changelog xsd 4.19 by @suryaaki2 in https://github.com/liquibase/liquibase/pull/3678
* Upgrade mariadb-java-client from 3.0.8 to 3.1.0 by @dependabot in https://github.com/liquibase/liquibase/pull/3471
* Upgrade testcontainers-bom from 1.17.5 to 1.17.6 by @dependabot in https://github.com/liquibase/liquibase/pull/3477
* Upgrade snowflake-jdbc from 3.13.22 to 3.13.25 by @dependabot in https://github.com/liquibase/liquibase/pull/3475
* Upgrade slf4j-jdk14 from 2.0.3 to 2.0.4 by @dependabot in https://github.com/liquibase/liquibase/pull/3485
* Upgrade maven-install-plugin from 3.0.1 to 3.1.0 by @dependabot in https://github.com/liquibase/liquibase/pull/3484
* Upgrade castlabs/get-package-version-id-action from 2.0 to 2.1 by @dependabot in https://github.com/liquibase/liquibase/pull/3490
* Upgrade sqlite-jdbc from 3.39.4.0 to 3.40.0.0 by @dependabot in https://github.com/liquibase/liquibase/pull/3510
* Upgrade jaybird from 4.0.6.java8 to 4.0.8.java8 by @dependabot in https://github.com/liquibase/liquibase/pull/3509
* Upgrade mockito-inline from 4.8.1 to 4.10.0 by @dependabot in https://github.com/liquibase/liquibase/pull/3580
* Upgrade targetMavenVersion from 3.8.5 to 3.8.6 by @dependabot in https://github.com/liquibase/liquibase/pull/3593
* Upgrade junit-jupiter-params from 5.8.1 to 5.9.1 by @dependabot in https://github.com/liquibase/liquibase/pull/3592
* Upgrade jaybird from 4.0.6.java8 to 4.0.8.java8 by @dependabot in https://github.com/liquibase/liquibase/pull/3602
* Upgrade slf4j-jdk14 from 2.0.4 to 2.0.6 by @dependabot in https://github.com/liquibase/liquibase/pull/3566
* Upgrade snowflake-jdbc from 3.13.25 to 3.13.26 by @dependabot in https://github.com/liquibase/liquibase/pull/3579
* Upgrade robinraju/release-downloader from 1.6 to 1.7 by @dependabot in https://github.com/liquibase/liquibase/pull/3603
* Upgrade ojdbc8 from 21.7.0.0 to 21.8.0.0 by @dependabot in https://github.com/liquibase/liquibase/pull/3551
* Upgrade targetMavenVersion from 3.8.5 to 3.8.7 by @dependabot in https://github.com/liquibase/liquibase/pull/3634
* Upgrade actions/cache from 3.0.11 to 3.2.3 by @dependabot in https://github.com/liquibase/liquibase/pull/3654
## New Contributors
* @mike-seger made their first contribution in https://github.com/liquibase/liquibase/pull/3379
* @crenan made their first contribution in https://github.com/liquibase/liquibase/pull/3517
* @mihaelaDev made their first contribution in https://github.com/liquibase/liquibase/pull/3428
* @krishnaenugandula made their first contribution in https://github.com/liquibase/liquibase/pull/1399
* @skrivenko made their first contribution in https://github.com/liquibase/liquibase/pull/3397
* @zbynekvavros made their first contribution in https://github.com/liquibase/liquibase/pull/944
* @Dasiu made their first contribution in https://github.com/liquibase/liquibase/pull/3533
* @yairogen made their first contribution in https://github.com/liquibase/liquibase/pull/3624
* @djochim made their first contribution in https://github.com/liquibase/liquibase/pull/3637
**Full Changelog**: https://github.com/liquibase/liquibase/compare/v4.18.0...v4.19.0
Changes in version Liquibase v4.18.0 (2022.11.30)
## Notable Changes
* [PRO] Hashicorp Vault extension and Liquibase Pro
- Use together for increased security and convenience of centralized properties
* [PRO]Security
- Vaults offer much greater security than defaults files for environment variables
* [PRO] Centralization
- Secure your database credentials, Pro license key, secure urls, and more in one central location.
- Update your critical properties in one place, and all linked tools and jobs use the new values.
* [PRO] `rollback-on-error` command argument
- When set to `true` will attempt to rollback a failed update operation.
- Note: changesets marked `failonerror=false`, do not count as error, and so do not rollback-on-error
#### [OSS] Liquibase Environment variables
* Now free to all users, not just Pro users.
* Learn more at https://docs.liquibase.com/concepts/connections/liquibase-environment-variables.html
## Enhancements
* [PRO] Auto-rollback enabled for more Pro stored logic objects
* [PRO] Added new modifyChangeSets tag to support specification of `runWith` attribute for all change sets in `include` or `includeAll`
## API Breaking Changes
* Use PathHandler for writing log files, which allows using S3 and other extensions (DAT-11515) by @abrackx in #3438
## Security, Driver and other updates
* Upgrade mockito-inline from 4.8.0 to 4.8.1 by @dependabot in https://github.com/liquibase/liquibase/pull/3382
* Upgrade actions/cache from 3.0.8 to 3.0.11 by @dependabot in https://github.com/liquibase/liquibase/pull/3370
* Bump robinraju/release-downloader from 1.5 to 1.6 by @dependabot in https://github.com/liquibase/liquibase/pull/3423
* Upgrade postgresql driver from 42.5.0 to 42.5.1 by @dependabot in https://github.com/liquibase/liquibase/pull/3501
* Bump maven-plugin-plugin from 3.6.4 to 3.7.0 by @dependabot in https://github.com/liquibase/liquibase/pull/3450
* Bump sqlite-jdbc from 3.39.3.0 to 3.39.4.0 by @dependabot in https://github.com/liquibase/liquibase/pull/3451
* Bump maven-shade-plugin from 3.4.0 to 3.4.1 by @dependabot in https://github.com/liquibase/liquibase/pull/3422
* Bump gmavenplus-plugin from 1.13.1 to 2.1.0 by @dependabot in https://github.com/liquibase/liquibase/pull/3391
* Bump picocli from 4.6.3 to 4.7.0 by @dependabot in https://github.com/liquibase/liquibase/pull/3432
* Bump jcc from 11.5.7.0 to 11.5.8.0 by @dependabot in https://github.com/liquibase/liquibase/pull/3414
* Upgrade testcontainers-bom from 1.17.3 to 1.17.5 by @dependabot in https://github.com/liquibase/liquibase/pull/3341
## Fixes
* Fixes generate-changelog view comments for Postgres (DAT-9410) by @abrackx in https://github.com/liquibase/liquibase/pull/3403
* Adds DefaultChangeExecListener, catches and handles migration errors (DAT-9372) by @abrackx in https://github.com/liquibase/liquibase/pull/3431
* Fixes nullpointer when dealing with LiquibaseException on updates. by @filipelautert in https://github.com/liquibase/liquibase/pull/3447
* Resets changelog cache upon acquiring lock by @filipelautert in https://github.com/liquibase/liquibase/pull/3396
* Allows createSequence field "dataType" to be use with DB2 as the database supports it. by @filipelautert in https://github.com/liquibase/liquibase/pull/3328
* Defines "-- rollback empty" as the way to specify "no rollback needed". by @filipelautert in https://github.com/liquibase/liquibase/pull/3324
* Fix create index on Postgresql and MSSQL using wrong column names when generating a changelog by @filipelautert in https://github.com/liquibase/liquibase/pull/3366
* Fixed input string handling in CompareControl constructor by @filipelautert in https://github.com/liquibase/liquibase/pull/3309
* Add 'ifExists' parameter to the dropView statement by @gzsombor in https://github.com/liquibase/liquibase/pull/3301
* Fix getResourceAccessor logic to avoid setting changeLogDirectory when searchPath has already set by @MalloD12 in https://github.com/liquibase/liquibase/pull/3347
* Ensures that Postgresql works with blob types bytea and oid (large objects) by @filipelautert in https://github.com/liquibase/liquibase/pull/3381
* Improve int/tinyint/smallint/bigint handling in H2 by @MalloD12 in https://github.com/liquibase/liquibase/pull/3274
* The onSqlOutput attribute does not work for preconditions in formatted SQL changelogs. by @dyadyushko in https://github.com/liquibase/liquibase/pull/3436
* [DAT-11899] Modifies deploy plugin and distribution management. by @jnewton03 in https://github.com/liquibase/liquibase/pull/3457
* Adds ChangeExecListener properties to maven plugin (DAT-12219) by @abrackx in https://github.com/liquibase/liquibase/pull/3443
* make BufferedLogService thread safe by @StevenMassaro in https://github.com/liquibase/liquibase/pull/3470
* Improved Sybase ASE Support by @carlos940513 in https://github.com/liquibase/liquibase/pull/665
* Do not write output files for computed columns when executing dbDoc. Fixes #1088 by @rozenshteyn in https://github.com/liquibase/liquibase/pull/3398
* Sequence owned by a table field must be included in database snapshot by @filipelautert in https://github.com/liquibase/liquibase/pull/3335
* Fixes snapshot of case-sensitive views by @filipelautert in https://github.com/liquibase/liquibase/pull/3329
* Fix include/includeAll to correct track relativeToChangelog=true paths using ./ or ../ by @nvoxland in https://github.com/liquibase/liquibase/pull/3355
* Improved readability in the createCDILiquibaseConfig method. by @musttafayildirim in https://github.com/liquibase/liquibase/pull/3316
* testing main and sha builds by @jnewton03 in https://github.com/liquibase/liquibase/pull/3481
* Fix Postgresql autoIncrement Information in snapshot by @filipelautert in https://github.com/liquibase/liquibase/pull/3361
* Treat "," as "or" when parsing context expressions. Fixes #1103 by @rozenshteyn in https://github.com/liquibase/liquibase/pull/3426
* CORE-1127: Filter by context when doing a rollback. by @berryh in https://github.com/liquibase/liquibase/pull/898
* Implement tagExists Maven command (Fix issue 1063) by @rozenshteyn in https://github.com/liquibase/liquibase/pull/3385
* Fixes transaction handling within changesets on DB2 on z/OS by @MichaelKern-IVV in https://github.com/liquibase/liquibase/pull/3342
* Improve dropAllForeignKeyConstraints performance by @Spindl in https://github.com/liquibase/liquibase/pull/2155
* Adds error handling for updateCount (DAT-11950) by @abrackx in https://github.com/liquibase/liquibase/pull/3463
* Adds error handling to update-to-tag (DAT-11951) by @abrackx in https://github.com/liquibase/liquibase/pull/3468
* Adds error handling for update-testing-rollback command and updateTestingRollback goal (DAT-11952) by @abrackx in https://github.com/liquibase/liquibase/pull/3474
* Fixes behaviour of includeAll by keeping the trailing slash on the path by @filipelautert in https://github.com/liquibase/liquibase/pull/3506
* Restore FileSystemResourceAccessor and add tests. by @filipelautert in https://github.com/liquibase/liquibase/pull/3499
* Simplify if statements to a single assignment. Avoid extra works. by @arturobernalg in https://github.com/liquibase/liquibase/pull/3375
* Fixed resolveSibling method by updating URL resource type by @MalloD12 in https://github.com/liquibase/liquibase/pull/3413
* Fix dependency query for PostgreSQL 15 by @Domm98CZ in https://github.com/liquibase/liquibase/pull/3456
* Release liquibase-nochangeloglock extension with the others by @nvoxland in https://github.com/liquibase/liquibase/pull/3452
## New Contributors
* @gzsombor made their first contribution in https://github.com/liquibase/liquibase/pull/3301
* @carlos940513 made their first contribution in https://github.com/liquibase/liquibase/pull/665
* @rozenshteyn made their first contribution in https://github.com/liquibase/liquibase/pull/3398
* @musttafayildirim made their first contribution in https://github.com/liquibase/liquibase/pull/3316
* @berryh made their first contribution in https://github.com/liquibase/liquibase/pull/898
* @Spindl made their first contribution in https://github.com/liquibase/liquibase/pull/2155
* @arturobernalg made their first contribution in https://github.com/liquibase/liquibase/pull/3375
* @Domm98CZ made their first contribution in https://github.com/liquibase/liquibase/pull/3456
**Full Changelog**: https://github.com/liquibase/liquibase/compare/v4.17.2...v4.18.0
Changes in version 4.17.2 (2022.11.02)
This is a patch release that upgrades the HSQL driver to remove a security vulnerability.
**NOTE: The newest HSQL driver requires Java 11, so if you use HSQL and JAVA 8, you will need to upgrade your Java.**
## Fixes
No Fixes
## Updates
### Security Updates
### JDBC Driver and Third-Party Library Updates
* Upgrade hsqldb from 2.5.2 to 2.7.1 by @dependabot in https://github.com/liquibase/liquibase/pull/3400
* [opencsv-upgrade] Updates opencsv to 5.7.1 by @abrackx in https://github.com/liquibase/liquibase/pull/3419
### OWASP Dependency Check: Reported Vulnerabilities
**Full Changelog**: https://github.com/liquibase/liquibase/compare/v4.17.1...v4.17.2
Changes in version 4.17.1 (2022.10.21)
## Fixes
* fix: Use default localhost finder for MacOs - fix #2098 by @grzi in https://github.com/liquibase/liquibase/pull/2134
* Allow renameColumn on newer SQLite versions by @MalloD12 in https://github.com/liquibase/liquibase/pull/3264
* Implement logic to validate dbms set at changeset and stored procedure levels by @MalloD12 in https://github.com/liquibase/liquibase/pull/3291
* Fixed URIResource.resolveSibling by @nvoxland in https://github.com/liquibase/liquibase/pull/3354
* Use liquibase StringUtil not lang3.StringUtils by @nvoxland in https://github.com/liquibase/liquibase/pull/3338
* Handle absolute path in getAll method by @wwillard7800 in https://github.com/liquibase/liquibase/pull/3369
## Dependency Updates
* Bump ojdbc8 from 21.6.0.0.1 to 21.7.0.0 by @dependabot in https://github.com/liquibase/liquibase/pull/3223
* Bump maven-shade-plugin from 3.3.0 to 3.4.0 by @dependabot in https://github.com/liquibase/liquibase/pull/3276
* Bump slf4j-jdk14 from 2.0.2 to 2.0.3 by @dependabot in https://github.com/liquibase/liquibase/pull/3321
* Upgrade snakeyaml maven reference from 1.32 to 1.33 by @nvoxland in https://github.com/liquibase/liquibase/pull/3359
* Upgrade commons text transitive dependency by @abrackx in https://github.com/liquibase/liquibase/pull/3384
Changes in version 4.17.0 (2022.10.05)
## Notable Changes
* [PRO] The `liquibase flow` command and flow files are available with a Pro license. It allows you to create portable, platform-independent workflows that can run across different tools without modifying each workflow.
- Learn more about flow here: [liquibase flow file and command](https://docs.liquibase.com/commands/flow/flow.html)
- If you want to provide feedback on this capability, please email [email protected].
* [PRO] Pro license users can now integrate Amazon S3 with Liquibase. You can extend Liquibase to use remote file locations to enable secure, centralized file management.
- Learn more here: [S3 Remote Files](https://docs.liquibase.com/tools-integrations/remote-files/s3.html)
* [PRO] Pro license users can use searchpath to find files located on S3 that cannot be found by an absolute path.
- Learn more about the [Searchpath command here](https://docs.liquibase.com/concepts/changelogs/how-liquibase-finds-files.html).
- Learn more about [Searchpath with S3 here](https://docs.liquibase.com/tools-integrations/remote-files/searchpath.html).
## API Breaking Changes
* The liquibase.resource.ResourceAccessor APIs were updated to take advantage of the new liquibase.resource.Resource abstraction that was introduced. Code that USES the existing ResourceAccessor methods will continue to work as before with no changes, but if you have written custom implementations of ResourceAccessor there are new and changed methods to implement. For more information, see [javadocs.liquibase.com](https://javadocs.liquibase.com)
## Enhancements
* Created new liquibase.resource.Resource interface by @nvoxland in https://github.com/liquibase/liquibase/pull/3064
* Created ThreadLocalScopeManager by @nvoxland in https://github.com/liquibase/liquibase/pull/3240
* Create liquibase_autocomplete.zsh by @szandany in https://github.com/liquibase/liquibase/pull/3130
## Fixes
* AlterSequence: include NOORDER clause ordered="false" is specified by @LeBezout in https://github.com/liquibase/liquibase/pull/1044
* Upper case result columns only for case-insensitive databases by @fbiville in https://github.com/liquibase/liquibase/pull/3102
* Postgresql: Fix for case when current search_path is an empty string by @gadget in https://github.com/liquibase/liquibase/pull/3233
* Fix missing catalog on add column rollback by @jandurovec in https://github.com/liquibase/liquibase/pull/921
* Fix an error which can occur if getAutoCommit is called on a closed connection by @gpsfl in https://github.com/liquibase/liquibase/pull/3135
* apply sqlVisitors to CompoundStatements on DB2z by @MichaelKern-IVV in https://github.com/liquibase/liquibase/pull/3220
* Improved message when precondition onFail : MARK_RAN is set by @MultiM25 in https://github.com/liquibase/liquibase/pull/2238
* Add default catalog condition to SequenceSnapshotGenerator for Oracle by @gabrielnardes in https://github.com/liquibase/liquibase/pull/3152
* Fixed issue with h2 loadUpdateData not correctly handling values with the string " values " in the inserted data by @tomyy in https://github.com/liquibase/liquibase/pull/1831
* Fix the smallserial issue not being parsed as a SmallInt type for Postgres by @MalloD12 in https://github.com/liquibase/liquibase/pull/3234
* Remove snowflake unsupported logging from snapshot command by @abrackx in https://github.com/liquibase/liquibase/pull/3277
* Fix "double" handling with H2 by @MalloD12 in https://github.com/liquibase/liquibase/pull/3273
* Firebird: fix createIndex missing space around "computed" by @Markus-Patt in https://github.com/liquibase/liquibase/pull/1500
* Test Race Condititons During Liquibase Locking by @schrieveslaach in https://github.com/liquibase/liquibase/pull/2327
* Use configuration to get 'altTablespace', 'altSchema' and 'altCatalog… by @mehrabisajad in https://github.com/liquibase/liquibase/pull/3124
* Add missing generator for parameterized SQL statements by @fbiville in https://github.com/liquibase/liquibase/pull/3225
* Add catalog null check to fix initializing a MSSQL db issue by @MalloD12 in https://github.com/liquibase/liquibase/pull/3235
* PD-2838: pointing DB list to docs by @adrian-velonis1 in https://github.com/liquibase/liquibase/pull/3280
* Addition of liquibase.update() Enhancement Request #1614 by @Betlista in https://github.com/liquibase/liquibase/pull/1638
* Fixed createView handling of replaceIfExists=true when the string "replace" exists in the view definition by @filipelautert in https://github.com/liquibase/liquibase/pull/3305
* replace backslashes in NotFoundResource URI by @StevenMassaro in https://github.com/liquibase/liquibase/pull/3322
* Fix generateChangeLog and diffChangeLog logic to avoid including default schema name when it should not by @MalloD12 in https://github.com/liquibase/liquibase/pull/3246
## Updates
### Security Updates
* None
### JDBC Driver and Third-Party Library Updates
* Upgraded snowflake-jdbc from 3.13.21 to 3.13.22 by @dependabot in https://github.com/liquibase/liquibase/pull/3196
* Upgraded opencsv from 5.6 to 5.7.0 by @dependabot in https://github.com/liquibase/liquibase/pull/3243
* Upgraded installer to use JDK 17.0.4.1 by @nvoxland in https://github.com/liquibase/liquibase/pull/3266
* Upgraded sqlite-jdbc from 3.39.2.1 to 3.39.3.0 by @dependabot in https://github.com/liquibase/liquibase/pull/3267
* Upgraded jaxb-core from 4.0.0 to 4.0.1 by @dependabot in https://github.com/liquibase/liquibase/pull/3292
* Upgraded mariadb-java-client from 3.0.7 to 3.0.8 by @dependabot in https://github.com/liquibase/liquibase/pull/3293
* Upgraded jaxb-runtime from 4.0.0 to 4.0.1 by @dependabot in https://github.com/liquibase/liquibase/pull/3294
* Upgraded snakeyaml from 1.32 to 1.33 by @dependabot in https://github.com/liquibase/liquibase/pull/3310
Changes in version 4.16.1 (2022.09.14)
## New and Notable Capability
* Liquibase 4.16.0 incorrectly included the [msal4j.jar](https://mvnrepository.com/artifact/com.microsoft.azure/msal4j) and it's dependencies in `internal/lib`. This release does not include that SqlServer related library
* Upgraded snakeyaml to 1.32
## Enhancements
* None
## Fixes
* None
Changes in version 4.16.0 (2022.09.08)
## New and Notable Capability
* [LABS] The liquibase flow command and flow files are still available under the Liquibase Labs license. If you want to try and provide feedback on this capability, please email [email protected]
* [PRO] The Quality Checks for Databases are now available to all Pro license users. These checks inspect your active database, or a liquibase-generated snapshot for compliance with your rules. Learn more at https://docs.liquibase.com/quality-checks
## Enhancements
* Introduced "contextFilter" and "labelFilter" replacement settings by @nvoxland in #2971
* Added support for changeset references in rollback for Formatted SQL changelogs by @atzawada in #1386
* Add schemas and includeSchema parameters to maven generateChangeLog by @MalloD12 in #3210
* [PRO] Two new Pro commands update-one-changeset and update-one-changeset-sql serving as complements to rollback-one-changeset and roll-back-one-changeset-sql
## Fixes
* Fix addColumn on mysql when including a "value" attribute by @nvoxland in #3070
* Add support for AS <dataType> clause for H2 since version 2.0 by @marcus-nl in #3047
* Fixed NUMBER not compatible with H2 by @nick318 in #3098
* SpringResourceAccessor: fix issue with incorrect match pattern for files from classPath root by @danilmalkin in #3095
* Made liquibase.snapshot.ResultSetCache an extensible class. by @breglerj in #2087
* Added support for \u2116 symbol win1251 cyrillic symbol of number by @Stuchalin in #1324
* Tidy ExecutorService code, remove superfluous map access (Issue 1841) by @jamey-clari in #1842
* Fixed order of enum values on MySQL 8 by @Tantalon in #3150
* Removed invalid warning in Maven by @nvoxland in #3189
* [PRO] QC: checks show changes (--show-cols flag, drop some, etc) by @dyadyushko in #3187
Changes in version 4.15.0 (2022.08.04)
## Notable Changes
* liquibase flow and new flow-file (DAT-10419) by in #2946
This is currently a Liquibase Labs restricted capability, so please contact [email protected] to request a license key.
Learn more at http://docs.liquibase.com/flow
## Fixes
* Fix maven plugin pro commands for local developer install by @StevenMassaro in #3101
* Update Derby reserved words by @andrewhj in #1971
* Output "may lose settings" warning on mysql/mariadb for more impacted change types by @nvoxland in #3045
* Improved "include" fix performance: optimized normalizePath method by @lzxgyh in #3063
* Removed DatabaseInfoAttributes in XSD by @kazz62 in #2239
* Do not split SQL on delimiters within BEGIN/END blocks by @nvoxland in #1589
* Set max fractional timestamp digits to 12 for all DB2 editions (fix #2880) by @ctgnz in #2892
* Fix query for snapshotting views on DB2/Z by @michaelmatthiaskern in #2712
* Fix for bug 2711: Error when calling a procedure with parameters on DB2Z by @michaelmatthiaskern in #2765
* Improve CLI error messages by @nvoxland in #3078
* Liquibase flow command (DAT-10419) by @StevenMassaro in #2946
* Improved handling of endDelimiter="/" by @nvoxland in #3118
* Upgrade installer to ship with jdk 17.0.4+8 by @nvoxland in #3104
* Improve failure message of RowCountPrecondition to preserve expected row count by @martinspielmann in #3093
* Changed what sequence attributes are included in diff/generate changelog for Snowflake by @yodzhubeiskyi in #3121
* Fix columnNames snapshot attribute of uniqueConstraints for Snowflake by @yodzhubeiskyi in #3123
* Added duplicateFileMode setting for maven plugin by @nvoxland in #3119
Changes in version 4.14.0 (2022.07.26)
## Notable Changes
* Split liquibase-core and liquibase-commercial jar files by @nvoxland in https://github.com/liquibase/liquibase/pull/3050
* Added liquibase.changelogParseMode setting by @nvoxland in https://github.com/liquibase/liquibase/pull/3057
## Enhancements
* Warn if XSD version does not match build version in validate command (DAT-9874) by @StevenMassaro in https://github.com/liquibase/liquibase/pull/3016
* Allow use of pro-only objects for filtering with generateChangeLog (DAT-9542) by @StevenMassaro in https://github.com/liquibase/liquibase/pull/3068
* Improve connection exception by including underlying driver exception trace by @hessjcg in https://github.com/liquibase/liquibase/pull/3033
* Add Closeable/AutoCloseable interface to liquibase.database.Database by @zorglube in https://github.com/liquibase/liquibase/pull/2990
## Fixes
* Fixed Formatted SQL "property" parsing by @nvoxland in https://github.com/liquibase/liquibase/pull/3037
* Ensure Postgresql search_path entries are quoted correctly by @nvoxland in https://github.com/liquibase/liquibase/pull/3009
* Updated "Change Set" wording to "Changeset" by @kataggart in https://github.com/liquibase/liquibase/pull/3042
* Improved error when JAVA_HOME is set to invalid value (DAT-10545) by @StevenMassaro in https://github.com/liquibase/liquibase/pull/3074
* Fixed autoIncrement incrementBy/startWith support in MySQL, H2, HSQLDB, and MariaDB by @tozogabee in https://github.com/liquibase/liquibase/pull/3026
* Improve renameColumn generated SQL on mssql by @mide25 in https://github.com/liquibase/liquibase/pull/783
### JDBC Driver and Third-Party Library Updates
* Upgraded mariadb-java-client from 3.0.5 to 3.0.6 by @dependabot in https://github.com/liquibase/liquibase/pull/3021
* Upgraded testcontainers-bom from 1.17.2 to 1.17.3 by @dependabot in https://github.com/liquibase/liquibase/pull/3020
* Upgraded postgresql from 42.3.4 to 42.4.0 by @dependabot in https://github.com/liquibase/liquibase/pull/2935
* Bump jaxb-runtime from 2.3.6 to 4.0.0 by @dependabot in https://github.com/liquibase/liquibase/pull/2964
Changes in version 4.13.0 (2022.07.07)
## Enhancements
* Added new liquibase.duplicateFileMode setting by @nvoxland in https://github.com/liquibase/liquibase/pull/3006
* Add additional info in CLI's --version output by @nvoxland in https://github.com/liquibase/liquibase/pull/2942
* Added support for new "searchPath" global configuration by @nvoxland in https://github.com/liquibase/liquibase/pull/2917
## Fixes
* Hide CommandFailedException stacktrace when thrown to set exit code (DAT-9608) by @StevenMassaro in https://github.com/liquibase/liquibase/pull/2938
* Update copyright year in txt files; also update links in txt files (DAT-10261) by @StevenMassaro in https://github.com/liquibase/liquibase/pull/2955
* add support for default-catalog-name in SQL Server (DAT-10484) by @StevenMassaro in https://github.com/liquibase/liquibase/pull/2940
* Make additional query for more column information for MariaDB DAT-8693 by @wwillard7800 in https://github.com/liquibase/liquibase/pull/2898
* Include should fail if a parser cannot be found for the specified file by @nvoxland in https://github.com/liquibase/liquibase/pull/2972
* Improved postgresql prepared statement performance by @nvoxland in https://github.com/liquibase/liquibase/pull/2914
* Cleanup relative paths preventing sql files being found by the class loader by @marcsowen in https://github.com/liquibase/liquibase/pull/2932
* Fix missing attributes in serialization by @tms-91 in https://github.com/liquibase/liquibase/pull/2585
* Improved parsing of single-quoted strings by @nvoxland in https://github.com/liquibase/liquibase/pull/2949
* DAT-10260: add outputFile argument in maven plugin for checks.run target by @StevenMassaro in https://github.com/liquibase/liquibase/pull/2975
* Formatted SQL files with uppercase in the liquibase attributes (DAT-10531) by @abrackx in https://github.com/liquibase/liquibase/pull/2985
* handle empty or null input to stripComments method (DAT-10296) by @StevenMassaro in https://github.com/liquibase/liquibase/pull/2970
* Fixed issue with parameter expression parsing by @nvoxland in https://github.com/liquibase/liquibase/pull/2984
* Fixed before/after/at column arguments in addColumn by @nvoxland in https://github.com/liquibase/liquibase/pull/2943
* Adds liquibase.psql.conf example (DAT-10303) by @abrackx in https://github.com/liquibase/liquibase/pull/2939
* [DAT-10093] added schema escaping to getColumns call to jdbc metadata classes by @KushnirykOleh in https://github.com/liquibase/liquibase/pull/2895
* Use "numeric" (without parameters) data type in PostgreSQL by @LonwoLonwo in https://github.com/liquibase/liquibase/pull/1906
* Force "json" resultset formats in Snowflake when running Java 17+ by @nvoxland in https://github.com/liquibase/liquibase/pull/3019
## JDBC Driver and Third-Party Library Updates
* Upgraded jaxb-core from 2.3.0.1 to 4.0.0 by @dependabot in https://github.com/liquibase/liquibase/pull/2962
* Upgraded snowflake-jdbc from 3.13.19 to 3.13.20 by @dependabot in https://github.com/liquibase/liquibase/pull/3001
* Upgraded mariadb-java-client from 3.0.4 to 3.0.5 by @dependabot in https://github.com/liquibase/liquibase/pull/2881
* Upgraded ojdbc8 from 21.5.0.0 to 21.6.0.0.1 by @dependabot in https://github.com/liquibase/liquibase/pull/2987
* Upgraded h2 from 2.1.212 to 2.1.214 by @dependabot in https://github.com/liquibase/liquibase/pull/2944
Changes in version 4.12.0 (2022.06.16)
## Enhancements
* Changed value modifier to make StandardLockService extendable for future extension by @Cliftonz in https://github.com/liquibase/liquibase/pull/2785
* Added liquibase.showBanner global configuration setting by @nvoxland in https://github.com/liquibase/liquibase/pull/2871
* Quality Checks for Databases (DAT-9298) by @StevenMassaro in https://github.com/liquibase/liquibase/pull/2715
* Added configuration options for missing property handling by @dwieland in https://github.com/liquibase/liquibase/pull/2656
* Add ConfiguredValueModifier extension point for plugins by @mcred in https://github.com/liquibase/liquibase/pull/2252
* Added showBanner configuration to maven by @nvoxland in https://github.com/liquibase/liquibase/pull/2933
* Added new argument to preserve schema case DAT-10027 by @wwillard7800 in https://github.com/liquibase/liquibase/pull/2888
* Introduced "latest" xsd file path by @nvoxland in https://github.com/liquibase/liquibase/pull/2886
* Moved Snowflake support into standard liquibase [DAT-10294] by @KushnirykOleh in https://github.com/liquibase/liquibase/pull/2841
## JDBC Driver and Third-Party Library Updates
* Added connector-api.jar to internal/lib by @nvoxland in https://github.com/liquibase/liquibase/pull/2873
* Upgraded mysql-connector-java from 8.0.28 to 8.0.29 by @dependabot in https://github.com/liquibase/liquibase/pull/2798
* Move opencsv to be non-shaded by @nvoxland in https://github.com/liquibase/liquibase/pull/2903
* Added snowflake driver to CLI by @nvoxland in https://github.com/liquibase/liquibase/pull/2931
* Upgraded mssql-jdbc from 10.2.0.jre8 to 10.2.1.jre8 by @dependabot in https://github.com/liquibase/liquibase/pull/2846
## Fixes
* Fixed BLOBs in loadData for MySQL/MariaDB by @MichaelCkr in https://github.com/liquibase/liquibase/pull/2595
* Fixed getting ENUM column values from Mysql database having multiple schemas by @akatiyar in https://github.com/liquibase/liquibase/pull/2616
* Added logic to Derby.getDefaultDriver() to check for availability of different driver classes by @AlexanderSashchenko in https://github.com/liquibase/liquibase/pull/2571
* Fixed TableOutput spaces when using long words (DAT-10069) by @StevenMassaro in https://github.com/liquibase/liquibase/pull/2879
* Fixed addAutoIncrement startValue and incrementBy support on postgresql by @nvoxland in https://github.com/liquibase/liquibase/pull/2588
* Support non-classpath: protocols in Spring by @reallyinsane in https://github.com/liquibase/liquibase/pull/2524
* Fixed #2780: AddColumnChange with schema and NOT NULL constraint fails by @MartinRied in https://github.com/liquibase/liquibase/pull/2781
* Make extension matching for SQL parsers case-insensitve DAT-10265 by @wwillard7800 in https://github.com/liquibase/liquibase/pull/2884
* Restored outputDefaultSchema and outputDefaultCatalog command arguments by @nvoxland in https://github.com/liquibase/liquibase/pull/2834
* Quote liquibase.jar path in bash launcher by @nvoxland in https://github.com/liquibase/liquibase/pull/2885
* Fix for working with Firebird 2 and newer versions. Fixes nullables and boolean type. by @mngsgoncalves in https://github.com/liquibase/liquibase/pull/2277
* Fixed issue if change changelog object is null by @kamalnigam in https://github.com/liquibase/liquibase/pull/2837
* Filter out license key strings for Hub communication DAT-10522 by @wwillard7800 in https://github.com/liquibase/liquibase/pull/2926
* Specify which parameter is missing in the error message by @bendem in https://github.com/liquibase/liquibase/pull/2567
* Split license information into OSS vs. Pro directories by @nvoxland in https://github.com/liquibase/liquibase/pull/2868
* Use the method setBlob to insert blob data by @xjodoin in https://github.com/liquibase/liquibase/pull/605
* Smooth out differences in "./" paths by @nvoxland in https://github.com/liquibase/liquibase/pull/2915
* Include inherited labels in databasechangelog table by @nvoxland in https://github.com/liquibase/liquibase/pull/2870
* Restored OSGi headers by @nvoxland in https://github.com/liquibase/liquibase/pull/2924
* Working on better Git Bash console solution DAT-10230 by @wwillard7800 in https://github.com/liquibase/liquibase/pull/2882
* close InputStream in SQLFileChange (DAT-9855) by @StevenMassaro in https://github.com/liquibase/liquibase/pull/2920
* Support prepared statements for query by @fbiville in https://github.com/liquibase/liquibase/pull/2913
* Implement NOT VALID for Postgres databases by @coenvk in https://github.com/liquibase/liquibase/pull/2600
Changes in version 4.11.0 (2022.05.19)
## Enhancements
* Added new liquibase.monitorPerformance setting for CLI by @nvoxland in https://github.com/liquibase/liquibase/pull/2599
* Updated Installer JDK to 17 by @nvoxland in https://github.com/liquibase/liquibase/pull/2602
* Create internal/lib dir by @nvoxland in https://github.com/liquibase/liquibase/pull/2850
## JDBC Driver and Third-Party Library Updates
* Upgraded picocli from 4.6.1 to 4.6.3 by @dependabot in https://github.com/liquibase/liquibase/pull/2518
* Upgraded jaxb libraries to the newest 2.3.x versions by @nvoxland in https://github.com/liquibase/liquibase/pull/2793
* Upgraded snakeyaml from 1.27 to 1.30 by @dependabot in https://github.com/liquibase/liquibase/pull/2498
## Fixes
* Do not throw a confusing error if a datatype specified as a changelog parameter is not expanded by @nvoxland in https://github.com/liquibase/liquibase/pull/2772
* Fixed SQLite not correctly snapshotting tables with underscores in the name by @nvoxland in https://github.com/liquibase/liquibase/pull/2778
* Fixed local XSD lookup by @nvoxland in https://github.com/liquibase/liquibase/pull/2830
* Test System Framework: add support for "liquibase.sdk.testSystem.skip" property by @StevenMassaro in https://github.com/liquibase/liquibase/pull/2838
* stop database containers when spock execution ends by @StevenMassaro in https://github.com/liquibase/liquibase/pull/2843
* Refactor start-h2 logic by @nvoxland in https://github.com/liquibase/liquibase/pull/2597
* Support default values in the format `(0)::real` by @nvoxland in https://github.com/liquibase/liquibase/pull/2836
* Fix handling of defaultSchemaName on Postgresql by @nvoxland in https://github.com/liquibase/liquibase/pull/2812
* Introduce generateStatementsFromRows for extensions by @fbiville in https://github.com/liquibase/liquibase/pull/2686
* The type of attributes "ordered" and "cycle" should be boolean by @DartVerder in https://github.com/liquibase/liquibase/pull/2725
* improve Command Test filtering logic by @StevenMassaro in https://github.com/liquibase/liquibase/pull/2853
* Remove custom log message filtering by @nvoxland in https://github.com/liquibase/liquibase/pull/2777
* Spring Boot: better support relativeToChangelogfile when ResourceLoaders return FilteredReactiveWebContextResources by @erik-meuwese-topicus in https://github.com/liquibase/liquibase/pull/2758
* Fix ForeignKeyComparator when foreign key table is not known by @joserebelo in https://github.com/liquibase/liquibase/pull/2565
**Full Changelog**: https://github.com/liquibase/liquibase/compare/v4.10.0...v4.11.0
Changes in version 4.10.0 (2022.05.04)
## Breaking Change
Upgraded mssql driver to 10.2.0 by @nvoxland in https://github.com/liquibase/liquibase/pull/2790
End User Impact: The driver changed the encryption default from "false" to "true" between 8.x and 10.x. If you have a self-signed certificate in your database, you must do one of the following: add `encrypt=false`; add `trustServerCertificate=true`; or add the server certificate to the java trusted certificate list. For production systems, Liquibase recommends against using self-signed certificates without adding the server certificate to the Java keystore. For more information on installing the trusted certificate, see https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/manage-certificates?view=sql-server-ver15
## Security Updates
Upgraded postgresql from 42.3.2 to 42.3.4 to address [CVE-2022-26520](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-26520) by @dependabot in https://github.com/liquibase/liquibase/pull/2769
* Vulnerability introduced in org.postgresql:[email protected]
* Fixed in org.postgresql:[email protected]
## JDBC Driver and Third-Party Library Updates
* Upgraded oracle driver to 21.5.0.0 by @nvoxland in https://github.com/liquibase/liquibase/pull/2791
* Upgraded jcc from 11.5.6.0 to 11.5.7.0 by @dependabot in https://github.com/liquibase/liquibase/pull/2421
* Upgraded mssql driver to 10.2.0 by @nvoxland in https://github.com/liquibase/liquibase/pull/2790
* Upgraded h2 from 2.1.210 to 2.1.212 by @dependabot in https://github.com/liquibase/liquibase/pull/2740
* Upgraded sqlite-jdbc from 3.34.0 to 3.36.0.3 by @dependabot in https://github.com/liquibase/liquibase/pull/2412
* Upgraded jaybird from 4.0.3.java8 to 4.0.6.java8 by @dependabot in https://github.com/liquibase/liquibase/pull/2802
* Upgraded hsqldb from 2.4.0 to 2.5.2 by @nvoxland in https://github.com/liquibase/liquibase/pull/2797
* Updated information in "licenses" directory by @nvoxland in https://github.com/liquibase/liquibase/pull/2795
* Upgraded mariadb driver to 3.0.4 by @nvoxland in https://github.com/liquibase/liquibase/pull/2789
## Enhancements
* Allow CompositeResourceAccessor to have a non-fixed size list of ResourceAccessor so that the list can be added to/removed from by @wwillard7800 in https://github.com/liquibase/liquibase/pull/2650
* Correctly handle null class package names in the logging system by @nvoxland in https://github.com/liquibase/liquibase/pull/2763
* Handle URLs correctly in error conditions DAT-9882 by @wwillard7800 in https://github.com/liquibase/liquibase/pull/2709
* Validate formatted SQL changelog for invalid patterns DAT-7721 by @wwillard7800 in https://github.com/liquibase/liquibase/pull/2761
* Quality checks for Maven - `checks run` and `checks show` goals
## Fixes
* Fix EnterpriseDB database recognition by @nvoxland in https://github.com/liquibase/liquibase/pull/2767
* Fix start failure with Nullpointed exception when Environment contains empty string Key (fix Issue 2631) by @feltonma91 in https://github.com/liquibase/liquibase/pull/2636
* Fix createTable on Mysql not preserving primary key information when remarks also defined on the column by @nvoxland in https://github.com/liquibase/liquibase/pull/2752
* Updated information in "licenses" directory by @nvoxland in https://github.com/liquibase/liquibase/pull/2795
**Full Changelog**: https://github.com/liquibase/liquibase/compare/v4.9.1...v4.10.0
Changes in version 4.9.1 (2022.03.25)
## Liquibase 4.9.1 patch release
Please report any issues to [https://github.com/liquibase/liquibase/issues](https://github.com/liquibase/liquibase/issues).
## Notable Changes
[[PR#2666](https://github.com/liquibase/liquibase/pull/2666)] [[nvoxland](https://github.com/nvoxland)] Liquibase 4.9.1 release is a patch release that fixes the `MANIFEST.MF` location in the `liquibase.jar` file for tools that require the `MANIFEST.MF` file to be the first entry in the jar archive.
If the `MANIFEST.MF` file is not the first entry, `java.util.jar.JarInputStream#getManifest()` reading the `MANIFEST.MF` file will not return the manifest information appropriately. The PR fixes issue [#2648](https://github.com/liquibase/liquibase/issues/2648).
[[Issue#2672](https://github.com/liquibase/liquibase/issues/2672)] Addresses the remaining OSGi-related packaging problems to fully restore Liquibase support in OSGi environments.
## Fixes
[[PR#2651](https://github.com/liquibase/liquibase/pull/2651)] Fixed the issue with a malicious software alert for the Liquibase macOS Installer preventing from proceeding with the installation. [DAT-9524]
[[PR#2643](https://github.com/liquibase/liquibase/pull/2643)] Fixed an issue in snapshot on PostgreSQL where non-integer datatypes that used a default value with a sequence would not be handled correctly [DAT-8670]
[[PR#2691](https://github.com/liquibase/liquibase/pull/2691)] Fixed invalid JSON in the example-changelog.json file [DAT-9893]
Changes in version 4.9.0 (2022.03.17)
# Notable Changes
Liquibase 4.9.0 introduces the following functionality:
- [PRO] Quality checks output in a JSON format
- [PR#2558] [kavya-shastri] The extension of the usage of the Liquibase global configuration for the `secureParsing` parameter to prevent the entity resolver from falling back to looking on the network for missing XSDs. If you reference an XSD other than one of Liquibase, Liquibase will no longer automatically download the XSD from the internet and use it. The default value for `secureParsing` is `true`, but you can override it in any of the Liquibase configuration locations. For more information, see the Example Changelogs: XML Format documentation.
- [PR#2529] [Krzysztof Sierszeń] [LB-1781] The `uniqueConstraintExists` precondition to check for the existence of unique constraints before running the update. You can check the constraint by constraint name or columns:
<preConditions>
<uniqueConstraintExists constraintName="uq_constraint_name" tableName="test_table"/>
</preConditions>
<preConditions>
<uniqueConstraintExists tableName="test_table" columnNames="first_name, last_name"/>
</preConditions>
- [PR#2339] [[nvoxland] [Toukite] The support for running the Liquibase Servlet listener in application servers built on the Jakarta Servlet specification and not the Java Servlet specification. To use the new listener, specify the following tag:
<listener>
<listener-class>liquibase.integration.servlet.LiquibaseJakartaServletListener</listener-class>
</listener>
The PR fixes issue #2298.
## Enhancements
- [PR#2434] [Balázs Dési] Added the Maven `validate` goal to `maven-liquibase-plugin` to provide access to the existing Liquibase `validate` command and be available not only in CLI, but also in Maven
- Added the ability to use `sqlcmd` on an instance with multiple databases
For more information, see the Using the SQLCMD integration and runWith attribute with Liquibase Pro and MSSQL Server documentation.
- Added support for Liquibase, Spring Boot, and SQL Plus run with Kerberos
- [PR#2561] [Wesley Willard] Added the `--schemas` argument to the `snapshot` command to be able to compare a multi-schema database to its snapshot
- [PR#2606] [Wesley Willard] Added a best practice message for the `generate-changelog` command so that you can check if the `splitStatements` attribute works for your environment when generating formatted SQL changelogs [DAT-9327]
- Added the `StripComments` attribute for the `SQLUserDefinedPatternCheck` quality check to choose the code that the `SQLUserDefinedPatternCheck` searches, including the option for the commented code. The `StripComments` attribute strips comments from SQL before searching for the string. The default value is `N` (no). [DAT-9098]
- [PR#2273] [Tsvi Zandany] Added the autocomplete option for quality checks commands running on macOS
## Fixes
- [PR#2542] [nvoxland] Fixed the `--should-snapshot-data` CLI parameter to be preserved when the `--data-output-directory` property is not specified in the command
- [PR#2330] [Inane Mohammed] Fixed the issue with checking the `referenceSnapshot` parameter instead of `referenceDatabase` for the potential null value
- [PR#2521] [Steven Massaro] Added a label, context, and comment to the `example-changelog.sql` file that comes with the Liquibase installation package
- [PR#2556] [nvoxland] Fixed the CockroachDB processes so that Liquibase checks the URL first rather than proceeding with SQL calls
- [PR#2569] [Clarence Dimitri CHARLES] Made `FormattedSqlChangeLogParser` to be reusable for extensions
- [PR#2377] [devorgpl] Fixed the issue with updating statements when the `onlyUpdate` attribute is `false` in the `loadUpdateData` Change Type for HSQL
- [PR#1908] [Emiliano Capoccia] Fixed the issue with retrieving the CockroachDB version. As part of the fix, Liquibase generates version-specific autoincrement SQL statements for CockroachDB identity columns:
- `SMALLSERIAL`, `SERIAL`, and `BIGSERIAL` for versions earlier than 21.2
- `GENERATED BY DEFAULT AS IDENTITY` for version 21.2 or later
- [PR#2135] [PR#2133] [Saucistophe] [mkobylarz] Fixed the issue with the `endDelimiter` attribute not being respected during the Liquibase update. The fix for `endDelimiter` does not break the handling of trailing comments in SQL statements. [LB-2186]
- [PR#2573] [nvoxland] Fixed the quoting for the MANIFEST.MF file for correct versioning
- [PR#2572] [Steven Massaro] Fixed the issue with generating changelogs for PostgreSQL columns that use `SET DEFAULT`
- [PR#2589] [nvoxland] [Marcel Blonk] Fixed the MD5 checksums generated by older versions of Liquibase to be correctly updated in the DATABASECHANGELOG table when a more recent version of Liquibase executes against the database. The PR fixes issue #2580.
- [PR#2592] [nvoxland] Added support for the double precision type in MySQL. The PR fixes issue #2337.
- [PR#1894] [KushnirykOleh] Fixed the time data type to be precise for PostgreSQL. The PR fixes issue #1774.
- [PR#2387] [Jenson3210] Fixed the handling of date and time in the `loadData` Change Type
- [PR#2566] [nvoxland] Updated OpenCSV from 5.5.2 to 5.6
Changes in version 4.8.0 (2022.02.23)
Notable Changes
Liquibase 4.8.0 introduces a built-in SQLCMD integration that allows you to specify the runwith paramter sqlcmd custom executor to process
complex SQL for MSSQL Server. Liquibase provides the liquibase.sqlcmd.conf file to pass arguments to your executor when running Liquibase Pro.
For new and existing Liquibase Hub users, Liquibase 4.8.0 introduces the init hub command, used in Hub’s Getting Started on-boarding.
Users can get defaults and changelog files setup, working, and registered to Hub with just this one command.
Enhancements
- Implemented the SimpleObjectConstructor interface for DB2 on z/OS [DAT-8580]
- Implemented the init hub command to complete Liquibase Hub onboarding
- Included the CLI instructions on how to use the properties file with a nonstandard name when running the init project subcommand [DAT-9041]
- Added to init start-h2 a clearer message when the H2 database driver is specified, but there is no connection detected. [DAT-8992]
- Added validation errors for the enableCheckConstraint, disableCheckConstraint, dropPackage, dropPackageBody Change Types [DAT-9017]
- [PR#2367] [Mike Olivas] Added example rollback scripts to the example-changelog.sql file [LB-2220]
- [PR#1648] [Daniel Gray] Improved the exception error message for the customChange node with no class attribute [LB-1144]
- [PR#2222] [msimko81] Added the offline mode support for the rollback-sql <tag> operation [LB-2198]
Fixes
- Fixed the renameSequence Change Type generating an uppercase SQL instead of lowercase and causing failures with case-sensitive databases [LB-1763
- Fixed the generate-changelog and diff commands to show and generate a proper SQL with autoincrement for PostgreSQL [DAT-8779]
- [PR#1320] [Anatoly S] Fixed the issue with the generated SQL incorrectly displaying the numero sign (No) [LB-562]
- [PR#2139] [wziebicki] Improved the UniqueConstraintSnapshotGenerator class to add a table name to the Oracle database query so that the cache key can contain it, and the unique constraint can be read from cache [LB-2206]
- [PR#2335] [erzsebet] Removed duplicated DATABASECHANGELOGLOCK SQL statements when running the update-sql command against a new database [LB-2208]
- [PR#1894] [KushnirykOleh] Made the time data type precise for PostgreSQL [LB-1798]•[PR#2190] [Richard Bradley] [Hannu Hartikainen] [VlasyukA] [Nathan Voxland] Fixed the issue with locking database if no changelogs are needed to run and no updates are pending. The services can proceed in parallel. [LB-2203]
- New Test System management by @nvoxland in https://github.com/liquibase/liquibase/pull/2312
- Remove duplicate databasechangeloglock SQL when running update-sql against a new database by @nvoxland in https://github.com/liquibase/liquibase/pull/2335
- UniqueConstraintSnapshotGenerator - Add table name to OracleDB query by @wziebicki in https://github.com/liquibase/liquibase/pull/2139
- CORE-3326 Numero sign is a symbol in Russian by @tolix in https://github.com/liquibase/liquibase/pull/1320
- Allow a custom executor to be specified through a property on existing Executor implementations DAT-7531 by @wwillard7800 in https://github.com/liquibase/liquibase/pull/2374
- Make ClassLoaderResourceAccessor implement Closable by @Delir4um in https://github.com/liquibase/liquibase/pull/2308
- Liquibase Responsible Disclosure Policy by @kristyldatical in https://github.com/liquibase/liquibase/pull/2435
- use lowercase sp_rename function in MSSQL (LB-1763) by @StevenMassaro in https://github.com/liquibase/liquibase/pull/2366
- Added example rollback scripts by @molivasdat in https://github.com/liquibase/liquibase/pull/2367
- Bump junit from 4.12 to 4.13.1 in /liquibase-extension-testing by @dependabot in https://github.com/liquibase/liquibase/pull/1827
- Bump maven-surefire-plugin from 2.22.1 to 2.22.2 by @dependabot in https://github.com/liquibase/liquibase/pull/2427
- Bump testcontainers-bom from 1.16.2 to 1.16.3 by @dependabot in https://github.com/liquibase/liquibase/pull/2467
- Bump mockito-core from 3.3.3 to 3.12.4 by @dependabot in https://github.com/liquibase/liquibase/pull/2470
- Bump maven-jar-plugin from 3.1.1 to 3.2.2 by @dependabot in https://github.com/liquibase/liquibase/pull/2458
- Bump mockito-inline from 3.8.0 to 3.12.4 by @dependabot in https://github.com/liquibase/liquibase/pull/2465
- Bump surefire-junit4 from 2.22.1 to 2.22.2 by @dependabot in https://github.com/liquibase/liquibase/pull/2466
- Bump objenesis from 2.1 to 2.6 by @dependabot in https://github.com/liquibase/liquibase/pull/2468
- Bump slf4j-jdk14 from 1.7.33 to 1.7.35 by @dependabot in https://github.com/liquibase/liquibase/pull/2475
- Bump assertj-core from 3.13.2 to 3.22.0 by @dependabot in https://github.com/liquibase/liquibase/pull/2474
- Bump maven-resources-plugin from 3.0.2 to 3.2.0 by @dependabot in https://github.com/liquibase/liquibase/pull/2473
- Bump maven-verifier from 1.6 to 1.7.2 by @dependabot in https://github.com/liquibase/liquibase/pull/2472
- Added new Quality Checks command and subcommands (Mac specifict) by @szandany in https://github.com/liquibase/liquibase/pull/2273
- Don't repackage all org.apache.- classes. by @nvoxland in https://github.com/liquibase/liquibase/pull/2429
- Log exceptions in CDILiquibase before rethrowing them by @nvoxland in https://github.com/liquibase/liquibase/pull/2397
- Bump maven-assembly-plugin from 3.1.1 to 3.3.0 by @dependabot in https://github.com/liquibase/liquibase/pull/2499
- Bump flatten-maven-plugin from 1.1.0 to 1.2.7 by @dependabot in https://github.com/liquibase/liquibase/pull/2495
- Bump gmavenplus-plugin from 1.6.2 to 1.13.1 by @dependabot in https://github.com/liquibase/liquibase/pull/2491
- Bump sonar-maven-plugin from 3.7.0.1746 to 3.9.1.2184 by @dependabot in https://github.com/liquibase/liquibase/pull/2490
- Bump robinraju/release-downloader from 1.2 to 1.3 by @dependabot in https://github.com/liquibase/liquibase/pull/2405
- Bump maven-plugin-plugin from 3.6.0 to 3.6.4 by @dependabot in https://github.com/liquibase/liquibase/pull/2497
- Bump maven-bundle-plugin from 5.1.2 to 5.1.4 by @dependabot in https://github.com/liquibase/liquibase/pull/2494
- [Snyk] Security upgrade com.h2database:h2 from 2.0.206 to 2.1.210 by @snyk-bot in https://github.com/liquibase/liquibase/pull/2392
- Enable FEATURE_SECURE_PROCESSING XML setting by default by @nvoxland in https://github.com/liquibase/liquibase/pull/2384
- Correctly set Bundle-Version in META-INF on release by @nvoxland in https://github.com/liquibase/liquibase/pull/2505
- Bump ant from 1.9.15 to 1.10.9 in /liquibase-core by @dependabot in https://github.com/liquibase/liquibase/pull/1808
- Bump postgresql from 42.2.12 to 42.3.2 by @dependabot in https://github.com/liquibase/liquibase/pull/2459
- Use path instead of absolutePath for resources by @liefke in https://github.com/liquibase/liquibase/pull/2122
- Bump junit from 4.12 to 4.13.2 by @dependabot in https://github.com/liquibase/liquibase/pull/2411
- Bump slf4j-jdk14 from 1.7.35 to 1.7.36 by @dependabot in https://github.com/liquibase/liquibase/pull/2506
- Added additional unicode letter points by @nvoxland in https://github.com/liquibase/liquibase/pull/2329
- Escape schema/tablenames in metadata.getTables() by @nvoxland in https://github.com/liquibase/liquibase/pull/2398
- Add offline mode support for rollbackSQL <tag> by @msimko81 in https://github.com/liquibase/liquibase/pull/2222
- Avoid NullPointerException when customChange has no "class" attribute by @danielthegray in https://github.com/liquibase/liquibase/pull/1648
- Support adding computed=true columns with no type set by @nvoxland in https://github.com/liquibase/liquibase/pull/2340
- Bump maven-javadoc-plugin from 3.3.1 to 3.3.2 by @dependabot in https://github.com/liquibase/liquibase/pull/2525
- DAT-9218 Added limited permission user for SQLPLUS integration tests by @wwillard7800 in https://github.com/liquibase/liquibase/pull/2480
- instruct surefire to read files with UTF-8 encoding by @StevenMassaro in https://github.com/liquibase/liquibase/pull/2541
- Bump mysql-connector-java from 6.0.6 to 8.0.28 by @dependabot in https://github.com/liquibase/liquibase/pull/2419
- Reworked license not found message by @suryaaki2 in https://github.com/liquibase/liquibase/pull/2371
- Fix for Github issue dealing with duplicate property keys by @wwillard7800 in https://github.com/liquibase/liquibase/pull/2351
- Use "GENERATED BY DEFAULT AS IDENTITY" for h2 2.0+ by @nvoxland in https://github.com/liquibase/liquibase/pull/2372
- MSSQL: Throw validation error if "ordered" is specified in createSequence/alterSequence by @nvoxland in https://github.com/liquibase/liquibase/pull/2549
- init hub command by @StevenMassaro in https://github.com/liquibase/liquibase/pull/2326 [DAT-8615]
Changes in version 4.7.1 (2022.01.21)
- Fix bug which makes Liquibase misidentify your database dialect if the string 'edb' is in your connection url. (#2364)
- Output changeset execution to UI like rollback does (#1932)
- Support MaxDB for sequences (#932)
- Include columnDataType in generated setColumnRemarks changesets (#2188)
- Use database time for changeloglock table (#2217)
- Mysql: support additional information "double" datatypes (#2293)
- Correctly handle old "liquibase tagExists myTag" style CLI structure (#2269)
- Correctly handle cacheSize in mariadb (#2270)
- Mark liquibase-maven-plugin logging configuration as deprecated (#2261)
- Added validation errors for SQLite and DB2z databases (#2359)
Changes in version 4.7.0 (2022.01.07)
Liquibase 4.7.0 introduces the init command with the project subcommand, which helps to build the necessary
configuration files for using Liquibase or, if you already use Liquibase, create new project files with minimal input.[DAT-8640]
Additionally, we have updated the Liquibase Getting Started tutorials and sample changelog files in the installation package.
From now on, you can use sample SQL, XML, JSON, and YAML changelog files with the corresponding changesets.
Enhancements
- [PRO] Improved the output of the rollback-one-update command
- [PR#2244] [szandany] Enabled the use of the jdbc:edb URL for Liquibase to recognize EnterpriseDB
- [PR#2225] [nvoxland] [catholic-indulgence-vaper] Enabled the use of lowercase sys.synonyms objects for the generate-changelog and diff-changelog commands in Liquibase and SQL Server. The PR fixes PR#2044.
- Added DB2 on z/OS database type and Java classes for Liquibase
- Upgrade h2 to newer version 2.0.206
Fixes
- Fixed the generateChangeLog wrong dependency order: the addPrimaryKey Change Type appeared before its base table in PostgreSQL [DAT-8256]
- Fixed the quality checks settings file to be created using both relative and absolute paths
- Fixed quality checks reporting only the first failure for a changeset to report all failures in outputs
- PR#2066] [smainz] Fixed the loadData Change Type to recognize CSV files when loading data with the path that contains a dot character ('.')
- [PR#2071] [nhumblot] [philhinco] Fixed the addNotNullConstraint Change Type causing the "Data too long" error message. The PR fixes PR#1054.
- [PR#2073] [smainz] Fixed the relativeToChangelogFile attribute for loadData, createProcedure, and createView Change Types
- [PR#2228] Handle the fact that FK names are not always unique
- [PR#2081] fix OSGI support (manifest, class loading)
- [PR#928] addColumn should support not-null constraint
Changes in version 4.6.2(2021.11.30)
Liquibase 4.6.2 introduces the multiple objects name quality check that allows you to define and check the naming pattern for several objects rather than one object.
For example, you do not want to have a dash in the table, column, and sequence names. With the multiple objects name check, you can specify a pattern to check for dashes
and choose tables, columns, and sequences as the objects to check. In version 4.6.2, the check is available for:
- Table
- Column
- Sequence
You can use two patterns for multiple object check:
- Multiple objects’ name in search:
- Table name matches a pattern
- Column name matches a pattern
- Sequence name matches a pattern
- Multiple objects’ name is not in search:
- Table name does not match a specific pattern
- Column name does not match a specific pattern
- Sequence name does not match a specific pattern
Enhancements
- [PRO] Added the ability to configure the DDL_LOCK_TIMEOUT parameter for Oracle without SQL Plus and define the connection timeout.
- Improved the output of the SqlUserDefinedPatternCheck quality check copy
- Changed the default value of the strict parameter to false. You can set the strict parameter as follows:
- liquibase.strict=false|true in your liquibase.properties file
- Improved the handling of nested changelog preconditions. The PR fixes PR#1624.
- Enabled the update operations to continue if the DATABASECHANGELOGLOCK table already exists, which helps to serialize all processes following schema creation.
- Added support for MySQL function indexes. The PR fixes PR#1626.
- Added support for the NOT NULL constraint with an initial default value in the addColumn Change Type
- Added a flag to control the logging of SQL statements and SQL execution output
- Added support for the remarks attribute in a primary key column tag for MariaDB
- Implemented the handling of the GENERATED ALWAYS AS clause while creating a table for PostgreSQL
- Added the ability for Liquibase to load an additional directory of liquibase_libs in the current working directory to the classpath. With the liquibase_libs directory located in the /lib directory, projects can have separate extensions, drivers, and versions specific to a project
Fixes
- [PRO] Fixed the snapshot command failing against CockroachDB with the Liquibase Pro license key applied
- Fixed the naming of the checks settings file shown as null if the file was corrupted
- Fixed the issue with Liquibase escaping the backslash in values stored in objects. The PR fixes PR#1598.
- Fixed the generate-changelog command to generate the NUMERIC[] data type for PostgreSQL correctly
- Fixed the parsing logic for YAMLChangelogParser and changeLogId in a Map. The PR fixes PR#1988.
- Fixed the --verbose flag used in the unexpected-changesets command. The PR fixes PR#1987.
- Fixed the exit code for the validate command running in automation to be 1 when there is an error. The PR fixes PR#1006.
- Fixed the dependency order for a changelog file with the addPrimaryKey Change Type generated by the generate-changelog command for PostgreSQL
- [PRO] Fixed the following environment variables LIQUIBASE_COMMAND_CHECKS_CONFIGURE_CHECKS_SETTINGS_FILE, LIQUIBASE_COMMAND_CHECKS_RUN_CHECKS_SETTINGS_FILE, and LIQUIBASE_COMMAND_CHECKS_SHOW_CHECKS_SETTINGS_FILE to be detected when running the quality checks commands [DAT-8546]
- Fixed quality checks reporting only the first failure in a changeset to report all failures found
- Fixed the time data type to be precise for PostgreSQL. The PR fixes PR#1774.
- Fixed the SQL generated by the alterSequence Change Type to be compatible with the Oracle, PostgreSQL, MariaDB, and MSSQL databases
- Fixed the Liquibase Cassandra extension failing when username and password are enabled
- Fixed the LOCKGRANTED column to include time zone information in the DATABASECHANGELOGLOCK table
- Fixed the classpath to include files with the relativeToChangelog=true parameter for Spring Boot
Changes in version 4.6.1(2021.11.04)
- Fixed the liquibase-pro-4.6.xsd
Changes in version 4.6.0(2021.11.04)
Windows and Mac/Linux Liquibase installers and the .tar.gz and .zip installation files include the most common JDBC drivers in the installation package:
- DB2
- Firebird
- H2
- HSQLDB
- PostgreSQL
- MariaDB
- MSSQL
- Oracle
- SQLite
**Note:** Since Liquibase 4.6.0 provides driver jar files, the size of the installation package is bigger than the size of the installation package in earlier versions.
- Quality checks have configurable severity and exit codes
- The quality checks bulk-set command
- New Quality checks
- Static check: Warn when a table truncation is detected
- Dynamic check: Warn when granting specific privileges
- Static check: Warn when the `GRANT WITH ADMIN OPTION` statement is detected
- Static check: Warn when the `GRANT WITH GRANT OPTION` statement is detected
- The `liquibase.checks-settings.conf` file is unencoded in version 4.6.0 and later versions for easier inspection that allows you to resolve a merge conflict in source control. Liquibase backs up encoded files in the working directory, and you can still use previous versions by specifying the `--checks-settings-file` parameter in the CLI, as an environment variable, or as a property in the liquibase.properties file.
- Changed the XSD default `errorOnMissingOrEmpty` attribute to `true` for the `includeAll` attribute in the XML _changelog_ file (#1960)
- Added support for deferrable primary keys in the `createTable` Change Type. (#1597)
- Added support for the `constraintName` attribute in the `dropNotNullConstraint` attribute. Updated the `addNotNullConstraint` rollback logic to pass the constraint name to the generated `dropNotNullConstraint` change (#1492)
- Improved code and added tests in the `liquibase.util` package
- Changed the default encoding to UTF-8. Added a new global `liquibase.fileEncoding` setting, which you can set as `--file-encoding=ASCII` in the CLI, `liquibase.fileEncoding: ASCII` in the liquibase.properties file, and `LIQUIBASE_FILE_ENCODING=ASCII` as an environment variable (#1445)
- [PRO] Added a message to warn Liquibase Pro users when they have noncompliant Liquibase environment variables if the `strict` attribute is set to `true`
- [PRO] Fixed the issue with Liquibase 4.4.0 and later versions to prompt if the Liquibase Pro license key is expired or invalid.
- [PRO] Fixed Liquibase Pro SQL Plus _changesets_ failures with the Kerberos setup
- [PRO] Fixed the `snapshot` command using for CockroachDB with Liquibase Pro license key
- Fixed an issue with running quality checks on Windows when using a configuration file created on Linux/macOS
- Fixed the `ChangesetCommentCheck` check to handle a lack of comments in the `tagDatabase` Change Type
- Fixed the default severity for the existing `liquibase.checks-settings.conf` files
- Fixed the `checks customize` and `checks copy` commands to handle directories with spaces
- Fixed the `schemas` and `includeSchema` attributes for the `generateChangeLog` command in Liquibase 4.4 and later versions
- Fixed the quality checks customization issue when using Git Bash
- Fixed the message for the quality checks severity customization
- Fixed the quality checks halting execution when the checks settings file contains entries for rules which do not exist in the system. Liquibase skips unknown checks and continues the execution
- Fixed the quality checks customization issue when using Git Bash
- Fixed the issue with Liquibase inserting a wrong default datetime value into MySQL. The PR fixes (#1395)
- Fixed the `insert` Change Type with the `valueSequenceNext` and `valueSequenceCurrent` attributes to use the schema specified on a statement level of a _changeset_ (#1304)
- Fixed the issue with Liquibase not handling case-sensitive primary key names in the `dropPrimaryKey` attribute for PostgreSQL (#1933)
- Fixed the `sqlFile` Change Type to handle the `encoding` attribute(#1760)
- Fixed the issue with Liquibase throwing a null pointer exception in the CLI if the `LicenseService` interface cannot be loaded because of the missing `jaxb` dependencies
- Fixed the `UniqueConstraintSnapshotGenerator` class switching to a bulk query after four unique constraints (#1996)
- Fixed the issue with Liquibase formatted SQL _changesets_ that are skipped if there is a space in the `--changeset` line (#1919)
- Fixed the `dropAll` command failing in the PostgreSQL database when the Liquibase-Cassandra extension is in the `liquibase/lib` directory (#47)
- Fixed Liquibase not reading the `liquibaseSchemaName` and `liquibaseCatalogName` configuration settings (#2000)
- Fixed the issue with Liquibase incorrectly inserting a long CLOB value in the database. Added integration tests.
Changes in version 4.5.0(2021.09.21)
There is a new family of commands to use to run quality checks:
- liquibase checks show to list the available quality checks
- liquibase checks run to run the available quality checks
along with enable, disable, customize, copy, reset, and delete options, and liquibase checks --help to learn more.
The following is a list of changes related to Liquibase Quality Checks:
- Implement checks enable/disable subcommands
- Implement checks run subcommand for dynamic rules
- Implement checks customize subcommand
- Implement checks copy subcommand
- Implement checks reset subcommand
- Implement checks show subcommand for dynamic rules
- Implement checks delete subcommand
- STATIC CHECK :: Changeset Must Have A Label
- STATIC CHECK :: Changeset Must Have A Context
- STATIC CHECK :: Changeset Must Have A Comment
- STATIC CHECK :: Warn When "DROP TABLE" Detected
- STATIC CHECK :: Warn When "DROP COLUMN" Detected
- STATIC CHECK :: Warn When Data Type Modification is Detected
- STATIC CHECK :: Warn when 'GRANT' Statement Detected
- STATIC CHECK :: Warn when 'REVOKE' Statement Detected
- DYNAMIC CHECK :: Warn when Tables have more than n columns
- Fail when creating a Scope with a null-parent #1354
- Improve synchronization of LockServiceFactory reset #1991
- Fix createSequence for h2 when dataType is specified #1992
- GenerateChangeLog on an Oracle db ignores diffIncludeTablespace when creating MissingTableChange #1812
- Fix OSGiResourceAccessor failing due to javax.activation #1534