{"id":3381,"date":"2026-10-14T15:03:07","date_gmt":"2026-10-14T13:03:07","guid":{"rendered":"https:\/\/www.panelalpha.com\/blog\/?p=3381"},"modified":"2026-10-14T15:46:11","modified_gmt":"2026-10-14T13:46:11","slug":"panelalpha-engine-2-1-2","status":"publish","type":"post","link":"https:\/\/www.panelalpha.com\/blog\/panelalpha-engine-2-1-2\/","title":{"rendered":"PanelAlpha Engine 2.1.2: Protect more, control more, monitor better"},"content":{"rendered":"<p style=\"margin-top:28px;margin-bottom:24px;text-align:justify;\">Building an Engine people can safely rely on in production takes more than making sure their applications run well. It also means protecting important projects from unwanted actions, giving users more control over who or what can access their projects, and making it easier to see how server resources are being used. <strong>PanelAlpha Engine 2.1.2<\/strong> is the latest result of that work.<\/p>\n\n\n<h2 class=\"wp-block-heading has-text-color\" style=\"color:#171a1a;margin-top:40px;margin-bottom:-10px;font-size:40px;font-weight:650;letter-spacing:-0.035em;line-height:1.12;\">What&#8217;s better with 2.1.2<\/h2>\n\n\n<p style=\"text-align:justify;margin-bottom:32px;\">The main changes in this release address three practical needs: keeping important projects safe, deciding exactly which projects a token can access, and getting a clearer view of storage use. They work in different parts of Engine, but each one addresses a process that matters when you&#8217;re responsible for running your own projects.<\/p>\n\n<style>\n\/* PanelAlpha Engine 2.1.2 release diagram *\/\n@media screen and (max-width: 640px) {\n  .pae212-diagram-lines { display: none !important; }\n  .pae212-diagram-grid { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 22px !important; padding-top: 0 !important; }\n  .pae212-diagram-item { width: 100% !important; max-width: 360px !important; box-sizing: border-box !important; padding: 0 10px !important; text-align: center !important; }\n  .pae212-diagram-label { font-size: 24px !important; margin-bottom: 5px !important; }\n  .pae212-diagram-title { font-size: 16px !important; line-height: 1.4 !important; }\n  .pae212-diagram-heading { font-size: 23px !important; }\n  .pae212-diagram-intro { font-size: 17px !important; }\n}\n<\/style>\n<div style=\"width:100%;max-width:740px;box-sizing:border-box;margin:20px auto 42px;padding:20px 8px 12px;text-align:center !important;color:#171a1a;\">\n  <div class=\"pae212-diagram-heading\" align=\"center\" style=\"display:block;width:100%;box-sizing:border-box;margin:0 auto;font-size:clamp(21px,3vw,27px);font-weight:650;line-height:1.25;letter-spacing:-.03em;text-align:center !important;\">Your server. Your projects.<\/div>\n  <div class=\"pae212-diagram-intro\" align=\"center\" style=\"display:block;width:100%;box-sizing:border-box;margin:7px auto 0;font-size:19px;line-height:1.6;text-align:center !important;\">Now with more ways to keep them:<\/div>\n  <div style=\"width:100%;max-width:630px;margin:24px auto 0;box-sizing:border-box;\">\n    <svg class=\"pae212-diagram-lines\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 630 62\" width=\"100%\" style=\"display:block;width:100%;height:auto;\" aria-hidden=\"true\"><path d=\"M315 0V21M105 21H525M105 21V51M315 21V51M525 21V51\" fill=\"none\" stroke=\"#d5dbd6\" stroke-width=\"1.3\"\/><circle cx=\"105\" cy=\"51\" r=\"3.6\" fill=\"#f26a2a\"\/><circle cx=\"315\" cy=\"51\" r=\"3.6\" fill=\"#f26a2a\"\/><circle cx=\"525\" cy=\"51\" r=\"3.6\" fill=\"#f26a2a\"\/><\/svg>\n    <div class=\"pae212-diagram-grid\" style=\"display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding-top:8px;width:100%;box-sizing:border-box;\">\n      <div class=\"pae212-diagram-item\" align=\"center\" style=\"min-width:0;text-align:center !important;padding:0 5px;\">\n        <div class=\"pae212-diagram-label\" style=\"color:#e46b31;font-size:28px;font-weight:900;margin-bottom:10px;text-align:center !important;\">SAFER<\/div>\n        <div class=\"pae212-diagram-title\" style=\"font-size:clamp(13px,1.8vw,17px);font-weight:650;line-height:1.35;text-align:center !important;\"><a href=\"https:\/\/www.panelalpha.com\/documentation\/panelalpha-engine\/capabilities\/projects\/#protecting\" target=\"_blank\" rel=\"noopener\" style=\"color:#21212b;text-decoration:underline;text-decoration-color:#21212b;font-weight:650;\">Protected projects<\/a><\/div>\n      <\/div>\n      <div class=\"pae212-diagram-item\" align=\"center\" style=\"min-width:0;text-align:center !important;padding:0 5px;\">\n        <div class=\"pae212-diagram-label\" style=\"color:#e46b31;font-size:28px;font-weight:900;margin-bottom:10px;text-align:center !important;\">SCOPED<\/div>\n        <div class=\"pae212-diagram-title\" style=\"font-size:clamp(13px,1.8vw,17px);font-weight:650;line-height:1.35;text-align:center !important;\"><a href=\"https:\/\/www.panelalpha.com\/documentation\/panelalpha-engine\/connecting-your-ai\/create-a-token\/#a-token-limited-to-some-projects\" target=\"_blank\" rel=\"noopener\" style=\"color:#21212b;text-decoration:underline;text-decoration-color:#21212b;font-weight:650;\">Project-limited tokens<\/a><\/div>\n      <\/div>\n      <div class=\"pae212-diagram-item\" align=\"center\" style=\"min-width:0;text-align:center !important;padding:0 5px;\">\n        <div class=\"pae212-diagram-label\" style=\"color:#e46b31;font-size:28px;font-weight:900;margin-bottom:10px;text-align:center !important;\">MEASURED<\/div>\n        <div class=\"pae212-diagram-title\" style=\"font-size:clamp(13px,1.8vw,17px);font-weight:650;line-height:1.35;text-align:center !important;\"><a href=\"https:\/\/www.panelalpha.com\/documentation\/panelalpha-engine\/capabilities\/monitoring-and-logs\/#_4-usage-is-it-running-out-of-something\" target=\"_blank\" rel=\"noopener\" style=\"color:#21212b;text-decoration:underline;text-decoration-color:#21212b;font-weight:650;\">Background disk checks<\/a><\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n<p style=\"text-align:justify;\">Some projects need extra protection, especially when you use an API or AI agent to manage them. With version 2.1.2, <strong>protected projects cannot be deleted, stopped or redeployed through a token<\/strong>. Engine simply refuses these requests and returns a 409 response. This gives you an extra layer of protection against accidental or unwanted changes to important projects.<\/p>\n\n<p style=\"text-align:justify;\">You now have more say in what each token can access too. <strong>API and MCP tokens can be limited to specific projects<\/strong>, so an integration or AI agent can only see the ones you give it access to. These tokens also can&#8217;t change project limits or remove a suspension, as those decisions are yours alone. And if you don&#8217;t set any project restrictions, your tokens will continue to work just as they did before.<\/p>\n\n<p style=\"text-align:justify;\">Keeping track of storage is getting easier as well. <strong>Engine now measures disk usage automatically every 15 minutes<\/strong>, giving you regularly updated information without having to run a separate check each time. It&#8217;s also a useful starting point for monitoring how much space your projects need as they grow.<\/p>\n<p style=\"margin-bottom:42px;text-align:justify;\">These are the main highlights, but they are not the whole release. Engine 2.1.2 includes <strong>55 changes<\/strong> in total, with further improvements and fixes across different parts of the system. Some are less visible than others, but they all contribute to making daily use more dependable and keeping Engine moving toward production readiness.<\/p>\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\" style=\"margin-top:52px;margin-bottom:56px;\"><div class=\"wp-block-group__inner-container\"><div style=\"position:relative;max-width:600px;margin:0 auto;padding-top:24px;padding-right:28px;\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/secure.gravatar.com\/avatar\/fa7c0c8e9f8c4372dfd5af6a22ebe640486d90e4abaa25360d6b7aed775d2b2d?s=128&amp;d=mm&amp;r=g\" alt=\"PanelAlpha team\" width=\"100\" height=\"100\" style=\"position:absolute;top:0;right:0;z-index:2;width:100px;height:100px;border-radius:50%;object-fit:cover;border:4px solid #ffffff;box-shadow:0 6px 18px rgba(23,26,26,0.10);\" \/><div style=\"position:relative;background:#f6f7f6;border:1px solid #e9ecea;border-radius:16px;padding:32px 58px 28px 30px;box-shadow:0 10px 28px rgba(23,26,26,0.05);\"><h3 style=\"color:#171a1a;margin:0 0 10px 0;font-size:23px;font-weight:650;line-height:1.25;letter-spacing:-0.015em;\">Following Engine&#8217;s progress?<\/h3><p style=\"color:#414646;margin:0 0 22px 0;font-size:16px;line-height:1.65;\">Every bit of interest helps the project reach more people. If you like where it&#8217;s going, <strong>give the repo a hug<\/strong> (I mean, a <strong style=\"color:#daaa3f;\">\u2605<\/strong> will do too). And if you have ideas for Engine, want to report an issue, or feel like contributing to the code, we&#8217;d love to have you involved.<\/p><a href=\"https:\/\/github.com\/panelalpha\/panelalpha-engine\" target=\"_blank\" rel=\"noopener\" style=\"display:inline-block;background:#171a1a;color:#ffffff;text-decoration:none;font-size:15px;font-weight:600;line-height:1;border-radius:10px;padding:13px 19px;\">Explore Engine on GitHub<\/a><\/div><\/div><\/div><\/div>\n\n\n<h2 class=\"wp-block-heading has-text-color\" style=\"color:#171a1a;margin-top:40px;margin-bottom:-10px;font-size:40px;font-weight:650;letter-spacing:-0.035em;line-height:1.12;\">What we build from here<\/h2>\n\n<p style=\"text-align:justify;\">One of the best things about building Engine in the open is that we can learn from real use and act on it while the project is still moving fast. A request, an edge case or a detail that affect everyday work can become part of the next release.<\/p>\n<p style=\"text-align:justify;\">And there is still a bigger ambition behind all of this: to make running projects on your own VPS simpler than people have come to expect, without putting another platform in charge. We are moving toward that, and bringing the new Engine together with our Control Panel remains an inseparable part of the plan.<\/p>\n<p style=\"text-align:justify;\">If you are trying Engine, <a href=\"https:\/\/discord.gg\/9twHWR7xGX\" target=\"_blank\" rel=\"noopener\"><strong style=\"color:#21212b;text-decoration:underline;text-decoration-color:#21212b;\">tell us what you&#8217;re building<\/strong><\/a> and what could be easier. We\u2019d love for our next improvements to come from conversations with you too.<\/p>\n<p style=\"text-align:center;\"><a style=\"display:inline-block;margin:10px 0px 20px;text-decoration:none;\" href=\"https:\/\/engine.panelalpha.com\/changelog\" target=\"_blank\" rel=\"noopener\"><span style=\"border-radius:8px;background-color:#f26a2a;text-align:center;padding:20px 23px;display:block;font-size:20px;color:#fff;font-weight:bold;\">View full changelog<\/span><\/a><\/p>\n<div style=\"margin:30px 0 0;padding:22px 26px;background:#f7f7f6;border-left:4px solid #f26a2a;\"><p style=\"margin:0;text-align:justify;color:inherit;\"><strong>Already using PanelAlpha together with Engine?<\/strong> Please stay on your current Engine version for now. Full compatibility between the Control Panel and the new generation of Engine is still in progress. We are actively working toward it.<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Building an Engine people can safely rely on in production takes more than making sure their applications run well. It also means protecting important projects from unwanted actions, giving users more control over who or what can access their projects, and making it easier to see how server resources are being used. PanelAlpha Engine 2.1.2 [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":3390,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/www.panelalpha.com\/blog\/wp-json\/wp\/v2\/posts\/3381"}],"collection":[{"href":"https:\/\/www.panelalpha.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.panelalpha.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.panelalpha.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.panelalpha.com\/blog\/wp-json\/wp\/v2\/comments?post=3381"}],"version-history":[{"count":51,"href":"https:\/\/www.panelalpha.com\/blog\/wp-json\/wp\/v2\/posts\/3381\/revisions"}],"predecessor-version":[{"id":3437,"href":"https:\/\/www.panelalpha.com\/blog\/wp-json\/wp\/v2\/posts\/3381\/revisions\/3437"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.panelalpha.com\/blog\/wp-json\/wp\/v2\/media\/3390"}],"wp:attachment":[{"href":"https:\/\/www.panelalpha.com\/blog\/wp-json\/wp\/v2\/media?parent=3381"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.panelalpha.com\/blog\/wp-json\/wp\/v2\/categories?post=3381"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.panelalpha.com\/blog\/wp-json\/wp\/v2\/tags?post=3381"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}