35 Matching Annotations
  1. Feb 2024
    1. The main change with Ruby 3.0 is that it differentiates between passing a hash and passing keyword arguments to a method with variable or optional keyword parameters. So def my_method(**kwargs); end my_method(k: 1) # fine my_method({k: 1}) # crashes
  2. Jan 2023
  3. Dec 2022
    1. Breaking other user's YAML overrides is not a big deal as long as this was clearly stated in the docs and the version number is bumped accordingly.
  4. Nov 2022
  5. Mar 2022
    1. In 1994, The Unix-Haters Handbook was published containing a long list of missives about the software—everything from overly-cryptic command names that were optimized for Teletype machines, to irreversible file deletion, to unintuitive programs with far too many options. Over twenty years later, an overwhelming majority of these complaints are still valid even across the dozens of modern derivatives. Unix had become so widely used that changing its behavior would have challenging implications. For better
  6. Feb 2022
    1. The current behaviour is definitely broken (at least in my mind). I don't think I'd consider it a feature just because it's been around a while.
    2. Given that 5.2 and 6.0 now have this current (broken?) behavior, I wonder if this behavior will now be considered as breaking change.
  7. Nov 2021
  8. Sep 2021
    1. Webpack 5 no longer polyfills Node.js core modules automatically which means if you use them in your code running in browsers or alike, you will have to install compatible modules from npm and include them yourself. Here is a list of polyfills webpack has used before webpack 5:
    1. My understanding is that the caret is the answer for traditional SemVer, i.e., there will be breaking changes prior to 0.1.0, there may be breaking changes between minor versions prior to 1.0.0, and there may only be breaking changes between major versions above 1.0.0.
  9. Aug 2021
    1. I really hope they keep breaking it. Being the lead on a library for several years, most of the forced refactors were pretty straight forward and in almost every case made our code either more sound or easier to be consumed. Now I work on a runtime that embeds TypeScript and 3.5.1 has broken some code, thought it took me all of about 15 minutes to make the changes to adopt it, and in every case, it broke because we were being a bit loose with the types. While it didn't find any bugs, it made the code more "safe".

      I really hope they keep breaking it.

    2. If you dig into the details, you will see that the TypeScript team take breaking changes very seriously and with consideration.
    3. I think the TS team generally tries to minimize breaking changes from version to version and don't do so unless there is a good reason.
    4. We'll sometimes need to make changes that can end up creating new type errors in existing programs - this is ultimately unavoidable, because for any change in the type system, including bug fixes, it's possible to construct a program that will have a type error introduced into it as a result.
    1. We would also like it if breaking changes were not made in a minor version update. If this breaking change is absolutely necessary, it should be made with TypeScript version 4.x, not in a minor version update. It's very notable that according to Dependabot, this version update saw an over 10% failure rate, despite being a minor update, when most other builds have less than 3%. Heck, even the 2.9.2 → 3.0.1 breaking change had a lower rate of failure than this one! Surely Microsoft can not consider that acceptable.
  10. Jun 2021
    1. We try to minimize breaking changes, but some changes are needed to improve workflows, performance, scalability, and more.

    1. TypeScript type exports changed significantly. While `import Knex from 'knex';` used to import the knex instantiation function, the namespace and the interface for the knex instantiation function/object, there is now a clear distinction between them:
  11. Mar 2021
    1. A major update usually means breaking changes in the API therefore a bit of learning is required in order to embrace it in your projects.
    1. Sprockets 4.0 treats the ".js.erb" as the extension now. There's no mime type registered to that extension. You need to do: register_mime_type 'application/javascript+ruby', extensions: ['.js.erb']
  12. Feb 2021
  13. Nov 2020
  14. Oct 2020
    1. This would be a breaking change, but we could always clone in the call in a minor and then make the breaking change later in a major.
  15. Sep 2020
    1. remove: this is today’s behavior of dropping these imports. It’s going to continue to be the default, and is a non-breaking change.
  16. Mar 2020
    1. The GDPR is a sea change and requires companies to go much further than they have in the past under the old framework. Principles like data minimization, what constitutes valid consent, and when a business can claim a legitimate interest in someone's personal data provide serious challenges to U.S. businesses.
  17. Dec 2019
    1. Neutrino v9 is our largest release ever, bringing the preset and middleware ecosystem back to the native tools and utilities for which they were originally created. The biggest breaking change is the necessity to use external tools alongside Neutrino now, i.e. webpack, ESLint, Jest, Karma, and others' native CLIs will be used in tandem with Neutrino.