{"id":"698c985a9aacab0271750a08","title":"2026 02 11 Issue 160","path":"how-to/committee/release-notes/2026-02-11-issue-160","contentMarkdown":"# 11-Feb-2026 — Deploy, Ci and 2 more areas: 1 feature and 3 fixes [#160](https://github.com/nbarrett/ngx-ramblers/issues/160)\n\n## [build 479](https://github.com/nbarrett/ngx-ramblers/actions/runs/21922199377) — [commit efc8277](https://github.com/nbarrett/ngx-ramblers/commit/efc827787a51830055d40b3eb4e66d1341cb614b)\n\n_____\n\nAdd custom ngx: Iconify icon pack with brand SVGs for MongoDB, Cloudflare,\nFly.io, AWS, Brevo, Express, Meetup, Mailchimp, OS Maps, Ramblers HQ, and\nNGX Ramblers. Register icon packs lazily in app.module.ts. Replace devicon\ndependency with project-specific custom icons.\n\n### **deploy**: close MongoDB connection after loading secrets to prevent process hang ([#160](https://github.com/nbarrett/ngx-ramblers/issues/160))\n\nThe importSecretsFromDatabase function opens a mongoose connection to load\nsecrets but never closes it, leaving the Node.js event loop alive indefinitely.\nThis caused the Fly.io deploy step to hang forever in CI.\nAdd disconnect() to mongoose-client and call it after loading secrets.\n\n### **ci**: add deploy step timeout and cancel-in-progress for deploy concurrency ([#160](https://github.com/nbarrett/ngx-ramblers/issues/160))\n\nAdd 15-minute timeout to Fly.io deploy step to prevent indefinite hangs.\nEnable cancel-in-progress on the deploy concurrency group so new pushes\nautomatically cancel stuck deployments.\n\n### **test**: make DateUtilsService tests timezone-independent ([#160](https://github.com/nbarrett/ngx-ramblers/issues/160))\n\nUse dateUtils.asDateTime() factory method instead of DateTime.fromObject()\nto ensure consistent Europe/London timezone handling across all environments.","contentHtml":"<h1>11-Feb-2026 — Deploy, Ci and 2 more areas: 1 feature and 3 fixes <a href=\"https://github.com/nbarrett/ngx-ramblers/issues/160\">#160</a></h1>\n<h2><a href=\"https://github.com/nbarrett/ngx-ramblers/actions/runs/21922199377\">build 479</a> — <a href=\"https://github.com/nbarrett/ngx-ramblers/commit/efc827787a51830055d40b3eb4e66d1341cb614b\">commit efc8277</a></h2>\n<hr>\n<p>Add custom ngx: Iconify icon pack with brand SVGs for MongoDB, Cloudflare,\nFly.io, AWS, Brevo, Express, Meetup, Mailchimp, OS Maps, Ramblers HQ, and\nNGX Ramblers. Register icon packs lazily in app.module.ts. Replace devicon\ndependency with project-specific custom icons.</p>\n<h3><strong>deploy</strong>: close MongoDB connection after loading secrets to prevent process hang (<a href=\"https://github.com/nbarrett/ngx-ramblers/issues/160\">#160</a>)</h3>\n<p>The importSecretsFromDatabase function opens a mongoose connection to load\nsecrets but never closes it, leaving the Node.js event loop alive indefinitely.\nThis caused the Fly.io deploy step to hang forever in CI.\nAdd disconnect() to mongoose-client and call it after loading secrets.</p>\n<h3><strong>ci</strong>: add deploy step timeout and cancel-in-progress for deploy concurrency (<a href=\"https://github.com/nbarrett/ngx-ramblers/issues/160\">#160</a>)</h3>\n<p>Add 15-minute timeout to Fly.io deploy step to prevent indefinite hangs.\nEnable cancel-in-progress on the deploy concurrency group so new pushes\nautomatically cancel stuck deployments.</p>\n<h3><strong>test</strong>: make DateUtilsService tests timezone-independent (<a href=\"https://github.com/nbarrett/ngx-ramblers/issues/160\">#160</a>)</h3>\n<p>Use dateUtils.asDateTime() factory method instead of DateTime.fromObject()\nto ensure consistent Europe/London timezone handling across all environments.</p>\n"}