Giter Club home page Giter Club logo

Comments (18)

AKushWarrior avatar AKushWarrior commented on July 30, 2024 1

@mwcw looks like there's been some organic roadblocks. It'll take a while, but we should definitely start the process.

from pc-dart.

AKushWarrior avatar AKushWarrior commented on July 30, 2024 1

It's also worth noting that pointycastle is one of the most used packages on pub. This is both because of downstream package dependencies and direct users. I think that this is high-urgency given how much code we'd have to port, but this library doesn't use null extensively (so the port should be okay).

from pc-dart.

AKushWarrior avatar AKushWarrior commented on July 30, 2024

A Dart dev I know said that Current Dart -> NNBD Dart is sort of like Java -> Kotlin.

Thought it was a good comparison; the code is completely interoperable, but the languages are pretty fundamentally different.

from pc-dart.

mwcw avatar mwcw commented on July 30, 2024

Ok,

While it is good to be on the front foot, I think wait until the language feature is stable.

MW

from pc-dart.

AKushWarrior avatar AKushWarrior commented on July 30, 2024

Ok,

While it is good to be on the front foot, I think wait until the language feature is stable.

MW

Agreed.

from pc-dart.

AKushWarrior avatar AKushWarrior commented on July 30, 2024

@mwcw the null-safety feature is now in beta, and it's recommended for packages to create a prerelease branch which is ported to nullsafety. There has also been a promise of runtime performance improvements, since the language no longer has to perform null checks.

Associated reading:
Feature overview: https://dart.dev/null-safety
Migration guide: https://dart.dev/null-safety/migration-guide

This library is a "core" dependency, so any downstream packages/applications will end up needing this package migrated before they can do so. By starting the process now, we can "get ahead of the curve", so that this library is fully migrated when the feature reaches stable and production applications begin to migrate. It looks like the Dart team has built a migration tool, so this process should be mostly a careful inspection and correction on auto-migration.

from pc-dart.

mwcw avatar mwcw commented on July 30, 2024

Hi,

Ok, I am trying to get back onto the dart project, we are heading towards towards a new round of FIPS certifications and it is consuming all of my time at the moment, although the end is in sight.

I will try and take a look at those links in the next day (Melbourne AU).

MW

from pc-dart.

acoutts avatar acoutts commented on July 30, 2024

@AKushWarrior @mwcw please migrate this with a pre-release like other packages have done. All packages that consume this package cannot migrate until this one is migrated, so all downstream packages are blocked until you set out a nullsafety pre-release as outlined in the migration guide: https://dart.dev/null-safety/migration-guide

from pc-dart.

acoutts avatar acoutts commented on July 30, 2024

You can see here that there are currently 108 packages which depend on pointycastle on pub.dev, so all of them are in the same blocked state: https://pub.dev/packages?q=dependency%3Apointycastle

from pc-dart.

AKushWarrior avatar AKushWarrior commented on July 30, 2024

Working on this on my fork. Will update with more details as I have them. You can view progress at https://github.com/AKushWarrior/pc-dart

@mwcw to avoid merge conflicts, could you not merge PRs into this repository for a few days? I want to make sure that my fork is fast-forward-safe with this one.

from pc-dart.

mwcw avatar mwcw commented on July 30, 2024

Hi,

Yep I can do that, did you by chance see an email from me?

MW

from pc-dart.

AKushWarrior avatar AKushWarrior commented on July 30, 2024

Haven't seen one. What address did you send it to?

Typically I use [email protected] for open source stuff.

from pc-dart.

mwcw avatar mwcw commented on July 30, 2024

Hi,

I have send you another email, I am not sure what happened.

MW

from pc-dart.

AKushWarrior avatar AKushWarrior commented on July 30, 2024

It looks like the majority of tests are passing on my fork. It's at 435 passing, 16 failing currently. I think that this should be ready for prerelease by the end of tomorrow, assuming all goes well.

EDIT: 449 passing, 2 failing. The remaining issues are with AES/CBC_CMAC/PKCS7 and RSA key generation. I'm not really sure how to solve them, but I'll give it a shot later.

from pc-dart.

mwcw avatar mwcw commented on July 30, 2024

Sure let me know!

Given the size of the change I think it should go out as 2.1.0

MW

from pc-dart.

AKushWarrior avatar AKushWarrior commented on July 30, 2024

Sure let me know!

Given the size of the change I think it should go out as 2.1.0

MW

It should be in the form "2.1.0-null-safety" or something of that sort. The dart docs specify; I'll get it set up before I finalize the PR.

from pc-dart.

AKushWarrior avatar AKushWarrior commented on July 30, 2024

@mwcw this is taking a really long time. Not sure where these last couple errors are coming from. Going to do some diffs with the old code today and see if that helps.

from pc-dart.

AKushWarrior avatar AKushWarrior commented on July 30, 2024

@mwcw @acoutts The migration is finished and the PR is filed. I've taken great care to ensure that the package is publish-ready; all the logistical problems, dependency management, versioning, etc. have been taken care of along with the migration itself.

I declared this version to be 3.0.0 because of this guideline: https://dart.dev/null-safety/migration-guide#package-version. That versioning bump makes sense to me because this is fundamentally a breaking change for downstream users, in that their code would have to be migrated to use this package. That they would have migrated anyways is immaterial to semantic versioning :)

from pc-dart.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.