-
Notifications
You must be signed in to change notification settings - Fork 5
/
CHANGELOG.txt
executable file
·688 lines (584 loc) · 28 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
=== 0.9.1 (2023-04-17) ===
NEW: cmakeBuildType env support
=== 0.9.0 (2023-03-27) ===
BREAKING CHANGE: drop of Python 2 support
FIXED: newer npm support
FIXED: newer pylint issues
=== 0.8.37 (2020-02-24) ===
FIXED: GVM installer updates to support non-default locations
=== 0.8.36 (2020-02-01) ===
CHANGED: major redesign of environ handling not to affect the running CID instance
CHANGED: major change to CID-in-virtualenv situation (proxy call to outside CID)
FIXED: SDKMAN tool handling issues due to its changes
FIXED: to use rcpupdate=false for SDKMAN setup
FIXED: to use webpack-cli due to changes in webpack
FIXED: Maven Central to use HTTPS
NEW: FTN16 v1.3 .spaRoutes support
=== 0.8.35 (2020-01-07) ===
FIXED: devserve to properly enforce "dev" env type
NEW: puppet tool can act as RMS for Forge upload
=== 0.8.34 (2019-12-25) ===
FIXED: to support new bundler vendor folder layout
=== 0.8.33 (2019-12-05) ===
FIXED: to work with system nginx at Ubuntu
=== 0.8.32 (2019-11-20) ===
FIXED: to obey prepare overrides in ci_build
=== 0.8.31 (2019-10-07) ===
FIXED: SDKMAN_DIR to be set in environment setup
=== 0.8.30 (2019-09-16) ===
FIXED: unwanted side-effect after search config behavior change
=== 0.8.28 (2019-09-01) ===
CHANGED: bower/bundler/composer/npm/yarn tools not to remove development deps on non-root-dir packaging
CHANGED: .tool and .toolTune deployment config behavior to merge instead of override
CHANGED: revised config search behavior
FIXED: Python 3 exception on sanitization of unknown config variables
FIXED: to package futoin.json when non-default .package is used
NEW: Golang version update in misc.releasetool
NEW: tar .toolTune.compressor to select package format
NEW: experimental AWS CLI & S3 RMS support
=== 0.8.27 (2019-07-27) ===
FIXED: to set name and instanceId on service-exec (puma regression)
=== 0.8.26 (2019-07-19) ===
CHANGED: to export .env variables from deploy/user/global config files
=== 0.8.25 (2019-07-18) ===
CHANGED: tag command not to auto-install deps
NEW: experimental Erlang/Elixir/Mix/Phoenix support
=== 0.8.24 (2019-06-17) ===
CHANGED: Go to use 3 version components
FIXED: issues with Go version management
FIXED: "cte" to setup full environment when run in project
NEW: "cte" acts also as "cid run" alias
NEW: missing "futoin.json" is searched in parent folders now
NEW: "@cte" placeholder support in custom actions
=== 0.8.23 (2019-06-04) ===
CHANGED: default listen address to all interfaces except for internal services
CHANGED: node, phpfpm, puma and uwsgi to be marked as internal services by default
FIXED: gradle version detection with 'all' instead of 'bin' reference
FIXED: PHP support on MacOS after Homebrew changes
FIXED: IPv6 listen address handling in various places
=== 0.8.22 (2019-04-30) ===
FIXED: ruby setup on Debian Buster
NEW: PHP v7.3 support
=== 0.8.21 (2019-01-12) ===
FIXED: ruby stack installation issues after RVM/Ruby updates
NEW: ruby 2.5 & 2.6 support
=== 0.8.20 (2018-12-13) ===
FIXED: build-dep command without parameters
FIXED: cmake build without prepare (regression in v0.8.18)
=== 0.8.19 (2018-12-04) ===
FIXED: PHP extension installation issues on Debian/Ubuntu
NEW: PHP extension setup through .toolTune
=== 0.8.18 (2018-12-03) ===
CHANGED: cmake to be triggered also in prepare step
CHANGED: updated to support PHP 7.2
NEW: gitSignTags and gitIdentity environment support
=== 0.8.17 (2018-11-01) ===
FIXED: ignore of project .tools versions when tool is invoked directly
=== 0.8.16 (2018-09-07) ===
FIXED: gitTool to support submodule use case
NEW: CTEST_OUTPUT_ON_FAILURE=1 is set for ctestTool by default
NEW: cmakeTest supports project version update in CMakeLists.txt
=== 0.8.15 (2018-08-18) ===
NEW: ctestTool to automatically run CMake tests
=== 0.8.14 (2018-06-06) ===
NEW: "cte" alias as standalone CLI command for "cid tool exec"
=== 0.8.13 (2018-06-01) ===
Preparing for release v1.0.0
=== 0.8.12 (2018-04-25) ===
CHANGED: default uWSGI memory requirements
FIXED: uWSGI worker memory limits with fork CoW in mind
FIXED: false resource allocation when minMemory+connMemory > maxMemory
NEW: "deploy reset" command
=== 0.8.11 (2018-03-23) ===
FIXED: to pip to ignore externalSetup callback as it has to be updated inside virtualenv
=== 0.8.10 (2018-03-22) ===
FIXED: to include package name as prefix of default tar-based packages
=== 0.8.9 (2018-03-22) ===
CHANGED: upgraded to require pip>=9.0.3 in runtime
CHANGED: to use --strip-components=1 for tar in RMS deploy
NEW: added FTN16 v1.2 .writable support
=== 0.8.8 (2018-03-17) ===
NEW: added support for markdown changelogs in futoin.cid.misc.releaseTool
=== 0.8.7 (2018-03-10) ===
NEW: env.syslogTag support in PHP-FPM and uWSGI
=== 0.8.6 (2018-02-22) ===
FIXED: npm to work with @scoped package upload
=== 0.8.5 (2018-02-04) ===
FIXED: security issue of os.path.join() behavior with components starting from /
=== 0.8.4 (2018-01-28) ===
FIXED: devserve to work without valid vcsRepo/rmsRepo
FIXED: gzip to compress only webcfg.mounts where staticGzip != False
NEW: gzip compresses also *.md by default
=== 0.8.3 (2017-12-14) ===
FIXED: NVM was never updating due to bug in latest tag search
=== 0.8.2 (2017-12-13) ===
FIXED: license disclaimers
FIXED: JAVA_HOME/JRE_HOME setup with existing "javaBin" env
=== 0.8.1 (2017-11-05) ===
BREAKING CHANGE: nginx to use "least_conn" balancing without "max_conn" unless "queue" is configured
FIXED: to use "fail_timeout=0" for upstreams by default
=== 0.7.99998 (2017-11-04) ===
BREAKING CHANGE: gzipTool is BuildTool now which crates *.gz files in webroot
=== 0.7.99997 (2017-11-03) ===
BREAKING CHANGE: added symlink of current/.env -> ../.env in deploy dir
FIXED: previously broken tool auto-detection trigger
=== 0.7.99996 (2017-11-03) ===
CHANGED: macOS javaTool to better handling future version updates in brew cask
FIXED: macOS javaTool 8/9 setup difference
=== 0.7.99995 (2017-11-02) ===
FIXED: generic exception in macOS
=== 0.7.99994 (2017-11-02) ===
CHANGED: to use 'lts/*' as default nodeVer
=== 0.7.99993 (2017-10-25) ===
FIXED: missing default tune values for some tools
=== 0.7.99992 (2017-10-21) ===
FIXED: force to allocate 48M for any instance
- temporary solution until CID running is removed from systemd service startup
=== 0.7.99991 (2017-10-21) ===
FIXED: python3 "cid deploy set tools" error
FIXED: Puma to chdir on reload
FIXED: to force install "dirmngr" with "gnupg" on *.deb OSes
CHANGED: added NO_UPDATE_NOTIFIER for npm-based tools
=== 0.7.9999 (2017-10-19) ===
FIXED: not to set text background color
FIXED: to stable sort .deploy.autoServices instances items
=== 0.7.9998 (2017-10-14) ===
FIXED: phpbuild failure on upgrade without pre-installed tool when "phpBinOnly" is set
FIXED: PHP-FPM catch_workers_output to be set in pool, but not php.ini
FIXED: virtualenv setup with .env.externalSetup
FIXED: uwsgi not using config tune settings
CHANGED: increased PHP-FPM default connection memory to 16M
CHANGED: doubled evil reload limit for uwsgi
CHANGED: disabled default "reloadable" of uwsgi & increased default resources
NEW: "cid deploy set entrypoint" to allow JSON as single tune parameter
NEW: "cid deploy set tooltune" to allow .toolTune setup
NEW: requirements.pip file name support
=== 0.7.9997 (2017-10-12) ===
FIXED: critical exception in custom action processing in some cases
=== 0.7.9996 (2017-10-12) ===
FIXED: handling of @default in action overrides (affects "prepare", "tag")
FIXED: not to install phpbuild in "phpBinOnly" env
FIXED: "phpExtRequire" & "phpExtTry" to work in external setup
FIXED: PHP extension name mapping (ext-xml, ext-sqlite3)
CHANGED: not to initialize tools in "cid deploy set" (performance + usability in some cases)
NEW: "cid deploy set tools" command
NEW: "phpfpmErrorLog" for easier setup through env in deployment
=== 0.7.9995 (2017-10-12) ===
BREAKING CHANGE: redesign of BUNDLE_HOME setup
BREAKING CHANGE: redesign of Puma support and generic concept of "bundler tools"
=== 0.7.9994 (2017-10-10) ===
FIXED: to automatically set HOME env, if one is missing
FIXED: not to change permission of deploy dir, if not needed
FIXED: failure on cfsystem::pretty_json inclusion in some cases
CHANGED: improvements to generated nginx config
CHANGED: not to fail on "cid service stop" on process kill failure
NEW: added .env.externalSetup callback support as per FTN16 v1.1
NEW: added .env.externalServices support as per FTN16 v1.1
NEW: added .futoin.merged.json to deployment dir as per FTN16 v1.1
NEW: extended .webcfg.mounts format as per FTN16 v1.1
NEW: "deploy set webmount" for extended .webcfg.mounts configuration
=== 0.7.9993 (2017-10-03) ===
FIXED: added yarn "install --production=false" workaround
CHANGED: requests dep to be compatible with docker/docker-compose
CHANGED: to show both stdout & stderr of meaningful commands like
prepare/build/package/check/etc.
=== 0.7.9992 (2017-10-03) ===
FIXED: to properly init NVM (even when nvmDir has no "/.nvm/" component)
FIXED: npm upload to remove *.tgz artifacts, if matches product of build
=== 0.7.9991 (2017-10-03) ===
FIXED: to reset internal tool state on config reset
CHANGED: to require specific minimal versions of urllib3 & requests
CHANGED: tune defaults to take "env" as parameter
- helps conditional variables
NEW: improved handling of primary/pure static sites in nginxTool
=== 0.7.999 (2017-08-21) ===
FIXED: to only use "npm bin -g" folder for node-based tools
FIXED: to use npm "--unsafe-perm" on AlpineLinux (global npm)
CHANGED: to load tools on demand
NEW: added service master resource usage statistics dump
=== 0.7.998 (2017-07-28) ===
FIXED: workaround for npm v5.3 bug https://github.com/npm/npm/issues/17781
CHANGED: changed to make sure actual PHP FPM is always available as "php-fpm" in path
CHANGED: curl calls to use "FutoIn CID" user agent
CHANGED: to set NODE_ENV, RUBY_ENV and RAILS_ENV in environment init
NEW: added liquibase support
NEW: added flyway support
=== 0.7.997 (2017-07-13) ===
CHANGED: "cid tool test" to show version on failure
CHANGED: "cid tool env" not to auto-install required tool
NEW: added "cid tool envexec" support
NEW: extended README with more detilas
NEW: added "CID_INTERACTIVE_SUDO" env support
=== 0.7.996 (2017-07-12) ===
BREAKING CHANGE: seriously refactored PHP support
- changed to allow only binary installs by default
- added auto-detection of avialable & installed/enabled extensions
- added concept of phpExtRequire and phpExtTry
- new logic with phpForceBuild and phpBinOnly envs
- fine selection of source builds with phpSourceVer
BREAKING CHANGE: new ruby logic:
- changed to handle rubyForceBuild, rubyBinOnly and rubySourceVer
BREAKING CHANGE: a single installer is detected per OS now
- previously, it could happen that multiple installers are run e.g.:
apt-get for OpenSUSE, rpm for ArchLinux, etc.
FIXED: bug with implicitly broken chmodTree() after recent changes
FIXED: pkg_resource import bug on some clean systems
FIXED: not to exec fake "apt-get" on SUSE-like
FIXED: missing yum/dnf repo enable sudoers entry
FIXED: nginx setup on RHEL & OL
CHANGED: updated for OpenSUSE 42.2 Leap for testing
CHANGED: enabled OL & RHEL for regular testing
CHANGED: to use RHEL/OL-specific repos for Docker
NEW: added caching decorators for detect API and some other
NEW: added IUS PHP 7.1 for RH-based
NEW: added full SLES 12 support
=== 0.7.995 (2017-07-09) ===
FIXED: to run Yarn before other npm tools
FIXED: fixed to use "npm pack", if npm is used as RMS
CHANGED: added configutil.listify() and refactored code
CHANGED: futoin.cid.misc.releaseTool to be more generic
=== 0.7.994 (2017-07-09) ===
FIXED: bug when action hook is set a string, but not list of strings
CHANGED: to set GEM_SPEC_CACHE also under GEM_HOME
CHANGED: changes rmTree()/chmodTree() API to support signle files
NEW: added YARN package manager support
NEW: added webpack support
NEW: "cid vcs clean" command
NEW: added "futoin" as namespace package to co-exist with others
=== 0.7.993 (2017-07-05) ===
BREAKING CHANGE: huge internal refactoring
FIXED: to install libssl1.0.0 from Jessie for Debian Stretch and above
FIXED: to reset GEM_PATH on top of RVM
FIXED: to run brew with umask 0022
FIXED: SCL ruby installation without pre-enabled SCL
FIXED: scp to allow dots in host part & to support raw IP addreses
CHANGED: raised default puma requirements
CHANGED: lower nginx default memory weight to 10
NEW: ondemand loading mechanism instead of imports
=== 0.7.992 (2017-07-01) ===
* FIXED: RVM ruby builds for Debian Stretch (and any with libssl1.0-dev Deb)
* FIXED: added protection against HTTP_PROXY vulnerability
* FIXED: false lchmod support on some Linux Python builds
=== 0.7.991 (2017-06-30) ===
* FIXED: not to fail if empty CID_SOURCE_DIR is set
* FIXED: to properly create persistent folders in sub-paths
* FIXED: to properly export .env into process env for subcalls
* FIXED: to support tar/bzip2/gzip/xz setup on macOS
* FIXED: brew not to fail, if run from not reachable cwd with user of brewSudo
* FIXED: errors in external tool calls when run in python3 in some cases
* CHANGED: build-dep lists available deps when nothing is supplied
* CHANGED: to initialize project/deploy config only if required by command
* NEW: extended "cid deploy set" commands
=== 0.7.99 (2017-06-29) ===
* BREAKING CHANGE: dropped --rmsHash in favor of "{package}@{hash-type}:{hash}"
* BREAKING CHANGE: "cid promote" format to support multiple packages
* BREAKING CHANGE: fixed long standing deviation from spec for entry point "path"
* FIXED: scpTool working with remote locations with extra configuration
* FIXED: not to use pre-built Ruby on Ubuntu Zesty (1.9) & Debian Stretch (any)
* FIXED: to properly handle cases when user/deploy/project configs overlap
* FIXED: to close all FDs before exec (affects Python 2)
* FIXED: to use tarTool instead of direct call on package/deploy
* FIXED: added pylint & fixed issues found
* FIXED: complex configuration reading in in deploy scenario
* FIXED: to properly setup persistent data & permissions on deploy
* FIXED: apt-get to run in non-interactive mode
* CHANGED: "cid promote" rms_pool to support "src_pool:dst_pool" format
* CHANGED: internally cid promote is split into rmsUpload & rmsPromote
* CHANGED: update scpTool to fully support RMS requirements & misc. optimizations
* CHANGED: Brightbox rubies support Zesty now
* CHANGED: to use ${HOME}/.cache/futoin-cid for implicit file operations
* CHANGED: to always reload plugins and make sure precedence is CID->Config->Env
* CHANGED: "cid deploy rms" is explicit now
* CHANGED: to force tools update on deployment to mitigate security issues
* CHANGED: to allow actions reference other actions for chaining
* NEW: added FTN16 .pluginPacks support
* NEW: added family of "cid rms" commands
* NEW: added scpTool port support
* NEW: added dockerTag env support for build process, improved 'tool exec'
* NEW: added sshStrictHostKeyChecking=yes variable to sshTool (and its deps)
* NEW: implemented RMS-mode support for Subversion
* NEW: implemented Artifactory Pro RMS support
* NEW: added JFrog CLI tool support
* NEW: implemented Sonatype Nexus v2 RMS support (raw/site)
* NEW: implemented Apache Archiva support (raw WebDAV)
* NEW: added generic network timeouts support
* NEW: implemented network timeouts for curl & requests
* NEW: added generic memory & cpu limit concept
* NEW: added separate phpfpmTool for entry points
* NEW: "cid deploy setup" command
* NEW: "cid service" commands
* NEW: "cid devserve" command
* NEW: added nginxTool
* NEW: added uwsgiTool
* NEW: added pumaTool
* NEW: "cid sudoers" command
* NEW: added bzip2Tool, gzipTool & xzTool
* NEW: AlpineLinux support
* NEW: added @default and @cid .actions placeholder
* NEW: concept of "cid build-dep"
* NEW: brewTool & full support of macOS
=== 0.7.3 (2017-04-20) ===
* FIXED: merge failed message to distinguish aborted/left as-is cases
=== 0.7.2 (2017-04-19) ===
* FIXED: git & hg can clone empty repos now
* FIXED: git branching on empty repository
* FIXED: svn repo path auto-detection for trunk
* FIXED: svn to properly handle empty tags and branches
* FIXED: svn branch to create parents and use repo to repo copy
* FIXED: svn branch to check if branch already exists
* CHANGED: "cid vcs checkout" supports checkout of default ref
* CHANGED: "cid vcs reset" to abort git merge only if one is detected
* CHANGED: added standard --wcDir to vcs subcommands
* CHANGED: reduce verbosity of read-only VCS helper commands
* NEW: added "vcs ismerged" sub-command
=== 0.7.1 (2017-04-18) ===
* FIXED: Hg to create local cache for "cid vcs" commands (is not local error)
* CHANGED: "cid vcs" sub-commands tagslist->tags, revert->reset
* NEW: "cid vcs branches"
* NEW: added --cacheDir option
=== 0.7.0 (2017-04-15) ===
* FIXED: to detect RHEL more precisely
* FIXED: to properly display non-string values in "cid tool env"
* CHANGED: to pack list of project root items, but '.' by default
* CHANGED: "cid tag" without <next_version> now always increments PATCH.
* CHANGED: default packager to generate .package.checksums internally
* CHANGED: default packager ignores only .git*, .hg* and .svn
* CHANGED: to install Docker CE on RHEL & OL7 using CentOS packages
* CHANGED: to install concurrent binary PHP:
* Debian & Ubuntu: 5.6, 7.0 & 7.1 from https://deb.sury.org/
* CentOS, RHEL, OracleLinux: 5.6, 7.0 from SCL
* CHANGED: to install concurrent binary Ruby:
* Debian & Ubuntu: 1.9, 2.0, 2.1, 2.2, 2.3 from Brightbox
* CentOS, RHEL, OracleLinux: 1.9, 2.0, 2.2, 2.3 from SCL
* NEW: added 'major', 'minor' and 'patch' modes for "cid tag"
* NEW: implemented "cid vcs merge/branch/delete/export/taglist/revert"
* NEW: added APT repository "codename fallback" feature
* NEW: added Ubuntu 17.04 Zesty support
=== 0.6.3 (2017-04-10) ===
* FIXED: to properly use global & user env configuration
* FIXED: pip-based tools to look only in virtualenv bin folder
* FIXED: rustup tool update
* CHANGED: default ci_build folder to include vcsRef
* NEW: added "twine" as RMS tool for Python open source (experimental)
=== 0.6.2 (2017-04-10) ===
* FIXED: To use factual python major/minor version for default
virtualenv dir. Issue introduced in 0.6.1
* FIXED: not to run default packager, if custom packager fails
* FIXED: to fail, if custom binary artifact is not found
* FIXED: ant, cargo, gradle and setuptools to use proper pattern for package search
* CHANGED: VCS tools to use CWD instead of wcDir state
* CHANGED: to preserve VCS info on CWD change, if not provided
as command line arguments
* CHANGED: ci_build default --wcDir to "../ci_builds/{basename cwd}",
if --vcsRepo is not provided (taken from current project checkout)
* NEW: Added missing --wcDir parameter to ci_build
* NEW: Added more info messages to show rename and CWD change
operation
* NEW: added version extraction from gradlew properties for gradleTool
=== 0.6.1 (2017-04-10) - CANCELED ===
* FIXED: Fixed to setup Zulu JDK on Fedora
* FIXED: To check for actual value instead of presence of var in env
* FIXED: Fixed pythonTool not to overwrite pythonVer
* NEW: Added info message on _rmTree() call
* NEW: Added release date to automatic CHANGELOG.txt update
=== 0.6.0 ===
* FIXED: to properly search for ${HOME}/.futoin.json as defined in
specs. Left fallback to ${HOME}/futoin.json, if ${HOME} is not
working directory.
* FIXED: to auto-detect tools listed in config.entryPoints
* FIXED: broken auto-detection for Gruntfile.js
* FIXED: setuptools to properly add generated packages to global state
* FIXED: to allow "cid package" to complete, if VCS is not known
* FIXED: to allow tagging with no automatic file changes
* FIXED: to always dump "cid tool env" in sorted order
* CHANGED: auto-detection mechanism to use pre-created set of
project root files instead of using filesystem to support
possible "remote" auto-detection.
* CHANGED: ci_build command to allow operation without RMS
* CHANGED: Revised error messages & fixed to use proper API instead of
direct exceptions
* CHANGED: to remove ci_build working directory, if unable to backup
* CHANGED: vcs tools to allow commit & push without explicit arguments
* CHANGED: vcs tests to run only vcs tests. Dropped pre-built tars.
* NEW: Added better error checking of unknown tools
* NEW: Added "cid tool detect"
* NEW: Added tool version support as parameter to "cid tool *" commands
* NEW: Added tool version sanitization to drop bug-fix/patch parts
* NEW: Added automatically generated auto-detection info to "tool describe"
* NEW: Added "cid vcs checkout" and "cid vcs commit" commands
=== 0.5.5 ===
* Cosmetic improvement to error/warning/info messages
* Changed sys.exit(1) to RuntimeException handled in single place
- Produces helpful callstack
=== 0.5.4 ===
* Minor corrections in README
* Added previously not documented "cid migrate" command
* Added CID_COLOR=yes|no environment variable support to
unconditionally configure output coloring
* Fixed composer not to disable scripts on package command
* Updated php to also install sqlite module
* Deployment procedure fixes:
* Fixed to properly enable build in vcstag/vcsref mode
* Fixed build to happen before read-only permissions are set
* Fixed deployDir != '.' cases
* Added safety feature to make sure deployDir is empty
or already has deploy lock in it
* Restored behavior not to fail, if already deployed - exit
with success
* Changed default CI build package name according to FTN16
* Added info messages for operation in progress
* Changed to allow deployment futoin.json to override
project config settings
* Added support for GZip static & checksums generation in
default package logic
* Added FNT16 changes for .packageFiles dynamic variable
- Added new tool API _addPackageFiles()
- Updated ant, cargo, gradle, maven, puppet and sbt to
properly set binary artifacts for RMS upload
* Fixed to properly exit with error status on exception
=== 0.5.3 ===
* Added nice handling of user abort (no default call stack)
* Added preliminary and not yet tested support for macOS
=== 0.5.2 ===
* Added missing README for "cid init"
* Added RHEL & Oracle Linux support
* Minor improvements to Docker & DockerCompose support
* Added nice colored output, if stdout is a terminal
=== 0.5.1 ===
* Removed python-version specific commands from setup.py
(solves universal wheel entry_points)
=== 0.5.0 ===
* Bumped version to properly represent amount of changes
=== 0.4.5 ===
* Fixed to properly auto-add 'futoin' to existing config 'tools'
* Added .entryPoints error checking
* Fixed rustTool to inherit from RuntimeTool
* Added experimental "cid run" command changes
* Added dummy exeTool
* Changed to run vagrant unit tests outside of sync folder
* Added support for APT/DNF/Yum/Zypper custom repositories
* Changed to use Zulu JDK instead of system packages
- Still possible to override with custom install & jdkDir
- changed jdkTool to support jdkDir instead of jdkBin
- Added setup of JAVA_HOME & JRE_HOME for javaTool
- Added setup of JAVA_HOME & JDK_HOME for jdkTool
- ArchLinux & Gentoo still use system OpenJDK builds
* Added feature of SubTool.envDeps() to automatically set version
requirements for dependencies
* Updated SDKMAN-based tools to properly require minimal Java version:
- Gradle (8), Maven (7), SBT(8), Scala(8)
* Added gcc and binutils tools
* Added new "cid init" command as speced in FTN16
* Implemented global tool management lock
* Added Docker CE installation support
=== 0.4.4 ===
* Fixed to make GVM happy with toolchain deps even for binary installation
* Added sanitization of futoin.json input variables:
- Unknown variables are dropped for future compatibility
- Known variables have basic type check with abort on error
* Changed exception stack trace to more clean error messages
* Fixed to auto-add futoin tool to project, if futoin.json is read from it
- Solves problem of disabled auto-detection
=== 0.4.3 ===
* Changed "tool exec" to execute interactively instead of CID (not as child)
* Added GVM and Golang support
* Added Rust, rustup and Cargo tool support
* Fixed invalid handling of "tools" in futoin.json. Now, it expects a map
of tool=>version pairs as described in FTN16
* Fixed bug when path was not properly prepended, affects java, jdk, php
* Added --debug switch for builds
* Improved CLI docopt definition
=== 0.4.2 ===
* Fixed gemInstallArgs issue when exported in env
=== 0.4.1 ===
* Fixed SDKMAN tools (gradle, maven) uninstall & accidental install on "test"
* Added support for SDKMAN tool {name}Ver environment variables
* Added Ant support
* Added Scala and SBT support
* Changed CMake to build in dedicated folder and not to depend on make
* Harmonized BuildTools to cleanup in onPrepare
* Updated BuildTools tests
* Changed default tool order to 0
* Added "cid tool list" and "cid tool describe" commands
* Updated README with better description of commands
* Added basic documentation of supported tools
=== 0.4.0 ===
* Added "cid tool (prepare|build|check|package|migrate) <tool_name>"
* Added new TestTool and MigrationTool bases
* Split onCheck/onPrepare/onBuild/onPackage/onMigrate between
BuildTool, TestTool and MigrationTool bases
* Added related constraints for base checks
* Fixed not to try execution of user-supplied overrides for "cid tool *"
* Added missing pacman/emerge info in readme
* Added _loadJSONConfig() internal API & minor refactoring
* Fixed to ignore failure of missing config load (e.g. npm as dep of bower)
* Implemented BuilTool unit tests and fixed: Bundler, CMake,
Grunt (CLI install), Gulp
* Added SDKMAN, zip and unzip tools
* Added experimental Java JRE & JDK support
* Added Gradle & Maven support
=== 0.3.3 ===
* Added experimental Gentoo Linux support
* Added ArchLinux support
* Fixed Git checkout logic to avoid loose of not pushed changes
* Changed VCS tools not to have side-effects on CWD and always obey wcDir
=== 0.3.2 ===
* Fixed system gem to properly use --no-document vs --no-rdoc --no-ri
depending on version (fixes Ubuntu Trusty)
* Fixed system gems to installed into GEM_HOME with --no-format-executable
(fixes OpenSUSE)
* Added make and cmake support
* Fixed "post deps" algorithm to properly unwind full tree again
* Added cidTool & added cid as post dep for virtualenv to resolve
issues with calling cid with virtualenv enabled
* Updated unit tests to properly pip-install cid from sources before testing
=== 0.3.1 ===
* Fedora 25 support
* Added DNF support (alias for Yum)
=== 0.3.0 ===
* Fixed to install epel-release before installing python34 in yum
* Updated README/CHANGELOG to make setuptools check happy
* Fixed gemTool to use custom GEM_HOME, if system Ruby is used
* Added Ruby bundler support as bundlerTool
* Added docker-composer support as dockercomposerTool
* Extended internal API for _addEnvPath/_addBinPath
* Refactoring:
* added BashToolMixIn, GemToolMixIn, npmToolMixIn,
pipToolMixIn and integrated into dependent tools
* Added new "check" command from FTN16
* Added predicatable tool execution ordering
* Fixed to properly support externally passed {tool}Bin
* Got rid of getType() API in favor of multi-role approach
=== 0.2.4 ===
* Fixed Python3 issue when running with custom plugins
=== 0.2.3 ===
* Re-release after package removal from PyPI
* Fixed unit tests for released package
=== 0.2.2 ===
* Fixed setuptoolsTool to install docutils & allow check failure
=== 0.2.1 ===
* Added virtualenv and pip tools
* Changed Python version 3 as default for pythonTool
* Added bundled docopt and fallback to it, if docopt is not found
* Fixed issues in setuptoolsTool
* Added FTN16 project manifest-based plugins
* Fixed to properly handle custom "actions"
* Added CID self-release support
* Changed Ruby & PHP tools to install epel-release when Yum is available
* Implemented new deploy modes: vcsref & vcstag
* Added proper error checking for rms & rms tool when required
* Added deploy lock
* Added prepare & build in deploy (optional for rms)
* Refactoring of internal API:
* use MixIns
* make private and avoid classmethods
* new API _rmTree() with workaround for read-only files
* improved Git, Hg and SVN handling
* extended vcsTool base class API
* extended unit tests
* Changed default wcDir to cwd for all commands,
except ci_build where default is 'ci_build'
* Added tarTool
* Changed current working directory processing to be more consistent
=== 0.1.1 ===
* Initial PyPI release