Noutați

Introducing Unity 2021 LTS

Next, we wanted to give you the ability to iterate faster and produce higher-quality experiences for your players. We’ve upgraded workflows across the board, provided better Editor usability, and enhanced our testing tools.  Minimize time from design to hands-on creation by leveraging Feature Sets, which gather all the packages you need to start a project in a one-click bundle. Find what you’re looking for faster with improved search capability, and experience an added zippiness in common operations you use regularly. Make sure your code is clean, performant, and high-quality with a new Mono upgrade, improved C# 8 support, and incremental builds that compile your project as you create it. A comprehensive Memory Profiler allows you to profile with multiple Players simultaneously.  Follow up that quality coding experience with tools that facilitate an equally high-quality output. In Unity 2021 LTS, you’ll find a mobile Device Simulator to check for compatibility on multiple devices. Use the production-ready Code Coverage package with the Test Runner to export code coverage data and reports from your automated tests. Additionally, the Code Coverage package offers a Coverage Recording feature that allows you to capture coverage data on demand for manual testing or when there are no automated tests in the project.

Read More

CLion 2022.1 Release Candidate

News We are approaching the release, and the CLion 2022.1 Release Candidate is now available for download. To install CLion 2022.1 RC (build 221.5080.169), download it from the website, update from our Toolbox App, or use this snap package (for Ubuntu). You can also update from CLion 2022.1 Beta via a patch. You need to have an active subscription or start a free trial to use CLion 2022.1 RC. Updated Inlay Hints settings CLion makes code easier to read thanks to parameter and type hints shown in the editor. The settings in Settings/Preferences | Editor | Inlay Hints are now enhanced with some explanations and code examples: Other improvements A new setting was added to Settings/Preferences | Advanced Settings | CMake that allows the user to disable CMake Presets integration. It’s enabled by default, which means CLion will create CMake profiles by default for each CMake configuration and build preset found. CLion can now correctly highlight the CUDA __managed__ keyword. Type hints for iterators were improved (CPP-28696). The full release notes are available here. Give the RC build a try and report any problems you find to our issue tracker. DOWNLOAD CLION 2022.1 RC Your CLion teamJetBrainsThe Drive to Develop

Read More

PyCharm 2022.1 Release Candidate is now available

News Newsletter We are now on the final stage of the release cycle. The release candidate for PyCharm 2022.1 provides enhanced code insight for TypedDict, new tool support for frontend development, and improvements for working with Jupyter notebooks. Download the EAP builds via the Toolbox App or directly from our website. Important: EAP builds are not fully tested and might be unstable. Download PyCharm EAP TypedDict support We’ve enhanced the code insight for TypedDict types. Now PyCharm recognises it when you are creating TypedDict using dict literals and suggests code completion for key types. PyCharm also suggests code completion options for the function parameters where TypedDict is expected. PyCharm now properly recognizes forward references and Union types using the “|” operator used as TypedDict value types, providing code completion for key types. User Experience Updated Structural Search and Replace dialog We’ve redesigned the Structural Search and Replace dialog to feature a list of all templates to make it easier to navigate between them. Also, we’ve added a Pin Dialog icon in the upper-right corner of the Structural Search and Replace dialog and moved the Injected code and Match case checkboxes to the bottom of the Search template pane. Evenly split tabs You can now evenly distribute the working space among editor tabs so that they are the same width. To set this up, go to Settings / Preferences | Advanced Settings | Editor Tabs | Equalize proportions in nested splits. UI improvements for the debugger To maximize the usable space in the Debug tool window, we’ve hidden the tab labels by default. To make them visible again, or to customize their location, use the Show Tab Labels option in the Layout Settings or call it via Search Everywhere dialog (⇧⇧ / Shift+Shift) with the Debug tool window in focus. Exporting UML diagrams to other formats It’s now possible to export UML diagrams as yEd .graphml, JGraph .drawio, Graphviz .dot, Graphviz .dot with positions, Mermaid .md, Plantuml, and IDEA .uml files, which makes them compatible with third-party tools. To export, use the corresponding action from the context menu available via right-click. New UI for inlay hints settings We’ve implemented a new UI for Inlay Hints settings. It allows you to configure your preferences based on the type of hints you want the IDE to provide. Editor New Incorrect formatting inspection We’ve implemented the Incorrect formatting inspection, which notifies the user if the current formatting of a file does not match the code style settings. To turn on the inspection, go to Settings/Preferences | Editor | Inspections | General | Incorrect formatting. Frontend development ESM support for webpack configuration From now on, webpack coding assistance will work with ES modules in your webpack.config.js files. Support for Volta PyCharm 2022.1 will get proper integration with Volta, a JavaScript tool manager. It will automatically recognize Yarn and npm installed using Volta. Corepack support for Yarn and pnpm Another thing that made it into this release is Corepack support. Corepack is an experimental Node.js tool that lets you use Yarn and pnpm without having to install them. If you want to give it a try, make sure you run corepack enable in the built-in terminal – the feature isn’t turned on by default. For more information, see the official documentation. Improved Structure view With the […]

Read More

RubyMine 2022.1 Released

News Releases Hello everyone, RubyMine 2022.1 is now available! Below is a brief overview of the most notable features. For a detailed description of this update, please visit our What’s New page. Support for new language features RubyMine 2022.1 includes support for most of the new Ruby and RBS features introduced in Ruby 3.1, such as bounded generics, RBS collection, anonymous block argument forwarding, generic type aliases, and more. UX improvements The user experience has been refined with a redesigned New Project dialog, support for new Rails 7 generate options, and improvements for notifications, search, and the debugger UI, as well as performance and accessibility enhancements. New inspections and quick-fixes This version adds new inspections and quick-fixes for projects that use RBS type signatures. For example, RubyMine now checks the usage of type variables in RBS, and it reports inferred types in Ruby code that don’t match the expected types from RBS. Check out the What’s new page to learn about new features for the code editor, tests, Docker support, VCS integration, and more. DOWNLOAD RUBYMINE 2022.1 Happy developing!The RubyMine team

Read More

IntelliJ Scala Plugin 2022.1 Is Out!

Features Releases This release has been focused on improving Scala 3 support. There are also several new features to help with day-to-day Scala programming. Let’s take a closer look: 1. Scala 3 support improvements2. New Scala project wizard3. Alias exports4. Unused declaration inspection5. Scala debugger upgrades Scala 3 support improvements This release includes many Scala 3 support improvements: It is now possible to autocomplete extension methods (to see methods from other objects, press Ctrl+Alt+Space twice). The editor offers to import extension methods and given instances automatically. New inspections for the infix modifier and @targetName annotation can help you maintain a consistent code style. We’ve significantly improved the performance of the .tasty reader, so indexing Scala 3 libraries is now up to twice as fast. New Scala project wizard Configuring a new Scala project just got easier! With the updated New Project wizard, you can select a JDK, desired build system, and Scala version for your project in a single step: Alias exports Most things in Scala are aliases, including String, Seq, List, Set, and Map. This affects syntax highlighting, GoTo, Quick Documentation, Quick Definition, Find Usages, Optimize Imports, and other IDE features, because they act on aliases rather than actual definitions. To improve the user experience, the editor now treats aliases in the standard library as transparent exports, so, for example, List implies scala.collection.immutable.List rather than scala.List: Unused declaration inspection Previously, the detection of unused declarations was limited to private bindings. Now the Unused declaration inspection supports public bindings introduced by classes, methods, variables, parameters, and so on: Currently, this functionality has to be enabled in the inspection settings (Settings | Editor | Inspections | Scala | General | Unused declaration), but we will enable the feature by default in the bug-fix release. Scala debugger upgrades In this release, we’ve made an effort to revamp and streamline the Scala debugger. We’ve upgraded the handling of objects, primary constructor parameters, value classes, Arrays, lazy vals, and collections, in addition to improving expression evaluation: As always, your feedback is very welcome. Please report any issues you find to YouTrack. If you have any questions, feel free to ask us on Discord. Happy developing! The IntelliJ Scala plugin team

Read More

C++ Annotated March 2022: Function vs. Type, Serialization in C++, DWCAS, C++ Modules in Visual Studio

News We have all of the March news for you in our latest monthly C++ Annotated digest. Read the monthly digest on our blog and subscribe to C++ Annotated emails by filling out this form. Language news C++ Committee news February’s virtual plenary was the official feature freeze date for C++. Since then, it has become noticeably quieter around the C++ Standards Committee. During the last couple of months, the Library Evolution Study Group has been working on various fixes to existing language features that have been improved for C++23, such as ranges and formatting. They’ve also been polishing the API of new features already accepted for C++23, in particular mdspan, which is now looking really good. The Language Evolution Study Group is similarly focused on various smaller bug fixes for language features. We now also definitely know that we will not be getting executors or networking in C++23, two of the four items that were originally prioritized for C++23 according to the “overall plan for C++23” proposal. The three language features mentioned in that plan (reflection, pattern matching and contracts) are also nowhere near ready yet. As a result, the largest core language feature that is actually going to land in C++23 is deducing this. C++23 was never going to be as large a release as C++20 was, but it also seems that the pandemic and the need to move all standardization work from in-person to online meetings significantly hampered progress. During the last couple of months, I (Timur) was mostly active in the Core study group that finalizes the wording for language features, where my paper on portable assumptions is now in the final stages of wording review. I am firmly expecting that it will be voted into C++23 at the next plenary session. I also participated in the Contracts study group (SG21), which is currently rather stuck on the question of whether or not the expressions inside a contract annotation should be allowed to have side effects, and what exactly would happen if they did. Various opinions exist, and it will take more work before we reach a consensus and can formulate a specification, but hopefully this will happen in time for C++26. The current state of this work is now being tracked in the newly established Contracts Working Paper. Expect the standard committee work to remain relatively quiet for the next few months. We are now finalizing all outstanding fixes for the July 2022 online plenary session. This is where we will finalize the C++23 wording for the committee draft, which then goes out for review by the individual national bodies. Learning SFINAE, overload resolution, and a surprising error A new blog post at C++ stories highlights an interesting aspect of SFINAE. The sample used in the article performs the basic operation of printing a tuple via the stream output operator. The custom operator throws a surprising compiler error when printing of the ‘n’ symbol is called. And even more surprisingly, the code doesn’t work for std::tuple_size_v but works when using std::tuple_size::value inside the implementation. The author digs deeper into the reasons why std::tuple_size_v doesn’t work for TupleT=char. An interesting discovery here is that the immediate context matters. While the compiler recognizes immediately whether std::tuple_size::value is valid or not, in the case of std::tuple_size_v it has […]

Read More

The top DevOps tooling metrics and targets at GitLab

A successful DevOps practice relies heavily on metrics. Here at GitLab, we use seven key DevOps metrics to measure engineering efficiency and productivity. Like many teams, we use industry standard metrics, but in some cases, we approach this data with a unique GitLab point of view. Here’s the first in a multipart look at the DevOps metrics we at GitLab think are most critical for success. Compare your metrics and results with ours, and let’s get a conversation started. Master pipeline stability It’s important to be able to measure the stability of the GitLab project’s master branch pipeline. This metric tells us how stable the main branch is, and ensures engineers are checking out code that’s in good shape. Merge trains are key to this effort. Our target percentage for master pipeline stability is above 95%. Review app deployment success rate At GitLab we take review apps seriously. We measure their success rate so we can understand the stability of our first deployed environment after code change. Review apps are spun up at MR submission. It’s important to monitor our review app successful deployments because it’s the first place where code is integrated and deployed as one unit. This metric ensures the codebase can be installed, tested, and made available for the team to preview their changes before merging into the main master branch. Our target for review application deployment success is above 99%. Time to First Failure Time to First Failure (TtFF, pronounced as “teuf”) measures how fast we are providing feedback to engineers. This metric examines how long it takes from pipeline creation to the first actionable failed build. The idea is that if the commit is going to fail, it should fail fast and the fail signal should get to the engineers as quickly as possible. The shorter the time to first failure, the faster the feedback loop, and faster time to action to address those failures. Our TtFF target is less than 15 minutes. Open S1 bug age This metric focuses on the age of open S1 bugs. Many organizations measure time to close bugs. At Gitlab we focus on the age of bugs remaining. We structure the metric to focus on work that is remaining and can be actioned on. If we only measure time to close of fixed defects, we may miss addressing older defects and unintentionally incentivize closing of only newer defects. We like to look forward by asking ourselves “What’s left?” and “What can be done now?” rather than only looking backward at what’s already been done. Our target for S1 open bug age is under 100 days. Open S2 bug age This metric is similar to the open S1 bug age, but is focused on S2 bugs. Again, we measure the age of remaining open bugs rather than focusing on bugs that have been closed. Our target for the open S2 bug age metric is below 300 days. Merge request pipeline duration When a pipeline is started for a merge request, how long does it take to run? This metric focuses on the duration of merge request pipelines and its time efficiency. Within the total duration we break the data down into multiple stages The team then iterates and improves time efficiencies of each stage of the pipeline. This is a […]

Read More

Can an SMB or start-up be too small for a DevOps platform?

If you work in an IT team of five people – or maybe you’re even a team of one – it’s easy to think your business is simply too small to use DevOps. But that’s not the case. A start-up or small and medium-sized business (SMB) is never too small to take advantage of a DevOps platform. In fact, DevOps is a great fit for a lot of SMBs, or small and medium-sized enterprises (SMEs). Here’s how to understand if it will work for your team or organization and how it could help grow your business in a competitive environment. The size of the business isn’t the issue Let’s be clear. If you are developing software, you need a DevOps platform. Size isn’t really the issue. No matter how small your business and your tech team, if you are iterating on software features, building applications, or automating parts of your product-related systems, then you do need DevOps. DevOps will even work for a team of one. Here’s how a DevOps platform can help an SMB: Start small to foster innovation One of the key aspects of DevOps is that it creates a collaborative atmosphere, even beyond the software and IT teams. Adopting a single, end-to-end DevOps platform when your company is small or your start-up is just getting off the ground will enable and encourage everyone – whether they’re in a technical role or work in accounting, sales or as a business manager – to all work together. And that will foster innovation by bringing in ideas from people in a range of demographics and business interests. And innovative ideas will help new businesses get a foot in the door and help all SMBs grow into more successful and bigger companies. Optimize your SMB for speed To get established in the market, start-ups and small businesses need to deliver compelling products quickly, and be able to efficiently support them. DevOps will enable your team to move from planning to production faster and with greater ease. A DevOps platform extends through the entire software development lifecycle, from planning all the way through to launching new features, conducting analysis, and gathering feedback. Simply put, DevOps will optimize your organization for speed, which is just what SMBs and SMEs need. Use DevOps to take on the “deep pockets” As an SMB, you likely don’t have the deep pockets and market penetration of your more-established competitors. How do you boost your odds when taking them on? One way to increase your competitiveness is to use DevOps to boost speed and efficiency as you create new products, new services, and new ways to communicate with your customers. When you can deploy innovative ideas faster than your competitors, you’ll have a definite advantage. Decrease your workload with automation When you have fewer hands to take on a huge workload, you need a way to not only speed production but to ease the number of tasks you’re facing – and all the headaches that come along with them. The automation that is part of a DevOps platform will mean less manual work when it comes to processes like design, testing, development, deployment, and monitoring. Automation helps small teams free up time to handle all the other projects on their to-do lists. Build security into software from the […]

Read More

Updates regarding Spring remote code execution vulnerabilities CVE-2022-22965 and CVE-2022-22963

We want to share the actions we’ve taken in response to the critical Spring remote code execution vulnerabilities (CVE-2022-22965 and CVE-2022-22963). Upon becoming aware of the vulnerabilities, we immediately mobilized our Security and Engineering teams to determine usage of this software component and its potential impact within our product, across our company, and within our third-party software landscapes. At this time, no malicious activity, exploitation, or indicators of compromise have been identified on GitLab.com. Further, our product packaged Java components for both GitLab.com and self-managed instances do not use vulnerable Spring components, and thus are not vulnerable. Our teams are continuing to investigate and monitor this issue to help protect our products and customers. We will update this blog post and notify users via a GitLab security alert with any future, related updates. More information “Actions @Gitlab has taken to investigate the Spring remote code execution vulnerabilities CVE-2022-22965 and CVE-2022-22963.” – GitLab Click to tweet

Read More

The ultimate guide to GitOps with GitLab

It is possible to use GitLab as a best-in-class GitOps tool, and this blog post series is going to show you how. GitOps is an operational framework that takes DevOps best practices used for application development such as version control, collaboration, compliance, and CI/CD tooling, and applies them to infrastructure automation. This series of easy-to-follow tutorials will focus on different user problems, including provisioning, managing a base infrastructure, and deploying various third-party or custom applications on top of them, that can be solved by pairing GitOps with GitLab. Here are 8 tutorials on how to do GitOps with GitLab: 1. Here’s how to do GitOps with GitLab This tutorial sets the stage for what you will learn throughout the series, including the tech concepts you’ll need to know. 2. Infrastructure provisioning with GitLab and Terraform This tutorial walks you through setting up the underlying infrastructure using GitLab and Terraform. 3. Connect with a Kubernetes cluster This tutorial demonstrates how to connect a Kubernetes cluster with GitLab for pull- and push-based deployments and easy security integrations. 4. How to tackle secrets management This tutorial builds on the previous tutorial to show you how to use a Kubernetes cluster connection to manage secrets within a cluster. 5. The CI/CD tunnel This tutorial introduces you to CI/CD tunnels and shows step-by-step how to access a Kubernetes cluster using GitLab CI/CD. 6. Connecting GitLab with a Kubernetes cluster – Auto DevOps This tutorial looks at how you can use Auto DevOps with all its bells and whistles to easily manage deployments. 7. Connecting GitLab with a Kubernetes cluster for GitOps-style application delivery This tutorial shows you how to connect an application project to a manifest project for controlled, GitOps-style deployments. 8. Turn a GitLab agent for Kubernetes installation to manage itself This tutorial is the culmination of the previous tutorials and will teach you how to turn a GitLab agent for Kubernetes installation to manage itself. Read more about GitOps: “Want to learn how to pair GitOps with GitLab? Our eight-part in-depth tutorial series will take you step by step.” – Viktor Nagy Click to tweet

Read More