0.3.41 • Published 6 months ago

@wheatstalk/cdk-intrinsic-validator v0.3.41

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
6 months ago

CDK Intrinsic Validator

This CDK construct allows you to add intrinsic validation to your CDK stacks. Adding intrinsic validation adds checks that occur during deployment that, if they fail, will automatically roll back the stack.

Example error

You can view errors directly in your CloudWatch event log. To see these errors, ensure that you run the CDK CLI with --progress events.

An example of an intrinsic validation error

Intrinsic Validation Types

You can add the following intrinsic validations:

  • Run Fargate tasks to test your system - if any fail, the stack rolls back.
  • Monitor CloudWatch Alarms for a while and roll back if they alarm.
  • Execute a Step Functions State Machine and roll back if it fails.
  • Invoke a Lambda Function to validate and roll back if it fails.
  • More to come. If you have any ideas and want to contribute, please open a feature request!

Usage

// Create an ECS cluster to run some Fargate tasks in.
const cluster = new ecs.Cluster(scope, 'Cluster');

// Instantiate a convenience tool for creating Fargate validations with common
// options (i.e., a specific ecs cluster.)
const fargateValidations = new FargateValidationFactory(scope, 'FargateValidationFactory', {
  cluster,
});

// Let's do some testing with the curl container image.
const curlImage = ecs.ContainerImage.fromRegistry('curlimages/curl:7.78.0');

// Validate the stack on every deploy and fail the deployment if any of
// the given validations fail so that CloudFormation can auto-rollback.
new IntrinsicValidator(scope, 'IntrinsicValidator', {
  validations: [
    // Test a public endpoint to see if it responds to HTTP:
    fargateValidations.runContainer({
      // Add an optional label to help identity the validation.
      label: 'cURL the Front Page',
      image: curlImage,
      command: ['https://www.amazon.ca/'],
    }),

    // Most validations are available through the abstract factory.
    Validation.alwaysSucceeds(),

    // The following validations will fail and roll back the stack:
    // fargateValidations.runContainer({
    //   image: curlImage,
    //   command: ['https://fake.fake.fake/'],
    // }),
    // Validation.alwaysFails(),
  ],
});

Validate with any Fargate task

new IntrinsicValidator(scope, 'IntrinsicValidator', {
  validations: [
    // Use this generic interface to launch a Fargate task on the given cluster
    // from the given task definition. If the task run fails, the stack
    // deployment will cancel and roll back.
    Validation.fargateTaskSucceeds({
      cluster,
      taskDefinition,
      // ... other options:
      // assignPublicIp: ...,
      // containerOverrides: ...,
      // securityGroups: ...,
      // subnets: ...,
    }),
  ],
});

Monitor a CloudWatch Alarm

new IntrinsicValidator(scope, 'IntrinsicValidator', {
  validations: [
    // Monitor the given alarm for five minutes before allowing the deployment
    // to complete. If the alarm starts sounding while intrinsic validation is
    // monitoring it, the stack will roll back automatically.
    Validation.monitorAlarm({
      alarm,
      duration: cdk.Duration.minutes(1),
    }),
  ],
});

Invoke an ad-hoc Lambda

new IntrinsicValidator(scope, 'IntrinsicValidator', {
  validations: [
    // Invoke the given Lambda function. If the function fails, the deployment
    // will be cancelled and rolled back.
    Validation.lambdaInvokeSucceeds({
      lambdaFunction,
    }),
  ],
});

Execute a Step Functions State Machine

new IntrinsicValidator(scope, 'IntrinsicValidator', {
  validations: [
    // Execute the given step function and if it fails, cancel and roll back
    // the deployment.
    Validation.stateMachineExecutionSucceeds({
      stateMachine,
      // Input is optional
      input: TaskInput.fromObject({
        anything: 'you need',
      }),
    }),
  ],
});

Check a URL

With the httpCheck validation, you can check a URL on every stack deployment without the overhead of having a VPC or waiting for containers to spin up.

new IntrinsicValidator(scope, 'IntrinsicValidator', {
  validations: [
    Validation.httpCheck({
      // Replace this URL with a public endpoint of your own
      url: 'https://httpstat.us/200',
      // (optional) Expect an http 200 status
      expectedStatus: '200',
      // (optional) Ignore http 4xx or 502 statuses and retry the check up to the timeout
      retryStatus: '400-499,502',
      // (optional) Try for up to 14 minutes
      timeout: Duration.minutes(14),
      // (optional) Check the page content for a node-compatible regex
      checkPattern: '\\d+\\s+OK',
      // (optional) Provide regex flags
      checkPatternFlags: 'i',
    }),
  ],
});

Tips

  • If you're adding IntrinsicValidator to your stack for the first time, try adding it without validations. This way, if the intrinsic validator catches a validation error, you can keep the State Machine that contains the error.
  • If you are using snapshot tests on your stack then you may run into issues because the stack will constantly fail as the Logical ID of the intrinsic validator will always be different. You can you disable this in your tests using a context value:

    import { DisableRandomnessContextKey } from '@wheatstalk/cdk-intrinsic-validator';
    
    test('Snapshot test', ()=> {
      const app = new App({
        context: {
          [DisableRandomnessContextKey]: true,
        },
      });
    });
0.3.41

6 months ago

0.3.40

6 months ago

0.3.39

6 months ago

0.3.38

6 months ago

0.3.37

6 months ago

0.3.36

6 months ago

0.3.35

6 months ago

0.3.34

6 months ago

0.3.33

6 months ago

0.3.31

6 months ago

0.3.30

6 months ago

0.3.32

6 months ago

0.3.29

6 months ago

0.3.28

6 months ago

0.3.27

6 months ago

0.3.26

6 months ago

0.3.25

6 months ago

0.3.24

6 months ago

0.3.20

7 months ago

0.3.23

7 months ago

0.3.22

7 months ago

0.3.21

7 months ago

0.3.19

7 months ago

0.3.18

7 months ago

0.3.17

7 months ago

0.3.16

7 months ago

0.3.15

7 months ago

0.3.14

7 months ago

0.3.13

7 months ago

0.3.12

7 months ago

0.3.11

7 months ago

0.3.10

7 months ago

0.3.8

7 months ago

0.3.7

7 months ago

0.3.9

7 months ago

0.3.6

7 months ago

0.3.5

7 months ago

0.3.4

7 months ago

0.3.3

7 months ago

0.2.645

7 months ago

0.2.644

7 months ago

0.2.643

7 months ago

0.2.642

8 months ago

0.2.641

8 months ago

0.2.640

8 months ago

0.2.639

8 months ago

0.2.638

8 months ago

0.2.637

8 months ago

0.2.636

8 months ago

0.2.635

8 months ago

0.2.634

8 months ago

0.2.633

8 months ago

0.2.632

8 months ago

0.2.631

8 months ago

0.2.630

8 months ago

0.2.629

8 months ago

0.2.628

8 months ago

0.2.627

8 months ago

0.2.626

8 months ago

0.2.625

8 months ago

0.2.624

8 months ago

0.2.623

8 months ago

0.2.622

8 months ago

0.2.621

8 months ago

0.2.620

8 months ago

0.2.619

8 months ago

0.2.618

9 months ago

0.3.0

7 months ago

0.3.2

7 months ago

0.3.1

7 months ago

0.2.617

9 months ago

0.2.616

9 months ago

0.2.615

9 months ago

0.2.614

9 months ago

0.2.613

9 months ago

0.2.612

9 months ago

0.2.611

9 months ago

0.2.610

9 months ago

0.2.609

9 months ago

0.2.599

9 months ago

0.2.598

9 months ago

0.2.608

9 months ago

0.2.607

9 months ago

0.2.606

9 months ago

0.2.605

9 months ago

0.2.604

9 months ago

0.2.603

9 months ago

0.2.602

9 months ago

0.2.601

9 months ago

0.2.600

9 months ago

0.2.597

9 months ago

0.2.596

9 months ago

0.2.595

9 months ago

0.2.594

9 months ago

0.2.593

9 months ago

0.2.592

10 months ago

0.2.591

10 months ago

0.2.590

10 months ago

0.2.589

10 months ago

0.2.588

10 months ago

0.2.587

10 months ago

0.2.586

10 months ago

0.2.585

10 months ago

0.2.584

10 months ago

0.2.583

10 months ago

0.2.582

10 months ago

0.2.581

10 months ago

0.2.580

10 months ago

0.2.579

10 months ago

0.2.578

10 months ago

0.2.577

10 months ago

0.2.576

10 months ago

0.2.575

10 months ago

0.2.574

10 months ago

0.2.573

10 months ago

0.2.572

10 months ago

0.2.571

10 months ago

0.2.570

10 months ago

0.2.569

10 months ago

0.2.568

11 months ago

0.2.567

11 months ago

0.2.566

11 months ago

0.2.565

11 months ago

0.2.564

11 months ago

0.2.563

11 months ago

0.2.562

11 months ago

0.2.561

11 months ago

0.2.560

11 months ago

0.2.559

11 months ago

0.2.558

11 months ago

0.2.557

11 months ago

0.2.556

11 months ago

0.2.555

11 months ago

0.2.554

11 months ago

0.2.553

11 months ago

0.2.552

11 months ago

0.2.551

11 months ago

0.2.550

11 months ago

0.2.549

11 months ago

0.2.548

11 months ago

0.2.547

11 months ago

0.2.546

12 months ago

0.2.545

12 months ago

0.2.544

12 months ago

0.2.543

12 months ago

0.2.542

12 months ago

0.2.541

12 months ago

0.2.540

12 months ago

0.2.539

12 months ago

0.2.538

12 months ago

0.2.537

12 months ago

0.2.536

12 months ago

0.2.535

12 months ago

0.2.534

12 months ago

0.2.533

12 months ago

0.2.532

12 months ago

0.2.531

12 months ago

0.2.530

1 year ago

0.2.529

1 year ago

0.2.528

1 year ago

0.2.527

1 year ago

0.2.526

1 year ago

0.2.525

1 year ago

0.2.524

1 year ago

0.2.523

1 year ago

0.2.522

1 year ago

0.2.521

1 year ago

0.2.520

1 year ago

0.2.519

1 year ago

0.2.518

1 year ago

0.2.517

1 year ago

0.2.516

1 year ago

0.2.515

1 year ago

0.2.514

1 year ago

0.2.513

1 year ago

0.2.512

1 year ago

0.2.511

1 year ago

0.2.510

1 year ago

0.2.509

1 year ago

0.2.508

1 year ago

0.2.507

1 year ago

0.2.506

1 year ago

0.2.505

1 year ago

0.2.504

1 year ago

0.2.503

1 year ago

0.2.502

1 year ago

0.2.501

1 year ago

0.2.500

1 year ago

0.2.499

1 year ago

0.2.498

1 year ago

0.2.497

1 year ago

0.2.496

1 year ago

0.2.495

1 year ago

0.2.494

1 year ago

0.2.493

1 year ago

0.2.492

1 year ago

0.2.491

1 year ago

0.2.490

1 year ago

0.2.489

1 year ago

0.2.488

1 year ago

0.2.487

1 year ago

0.2.486

1 year ago

0.2.485

1 year ago

0.2.484

1 year ago

0.2.483

1 year ago

0.2.482

1 year ago

0.2.481

1 year ago

0.2.480

1 year ago

0.2.479

1 year ago

0.2.478

1 year ago

0.2.477

1 year ago

0.2.476

1 year ago

0.2.475

1 year ago

0.2.474

1 year ago

0.2.473

1 year ago

0.2.472

1 year ago

0.2.471

1 year ago

0.2.470

1 year ago

0.2.469

1 year ago

0.2.468

1 year ago

0.2.467

1 year ago

0.2.466

1 year ago

0.2.465

1 year ago

0.2.389

2 years ago

0.2.388

2 years ago

0.2.387

2 years ago

0.2.386

2 years ago

0.2.385

2 years ago

0.2.384

2 years ago

0.2.383

2 years ago

0.2.382

2 years ago

0.2.381

2 years ago

0.2.380

2 years ago

0.2.379

2 years ago

0.2.378

2 years ago

0.2.377

2 years ago

0.2.376

2 years ago

0.2.375

2 years ago

0.2.374

2 years ago

0.2.373

2 years ago

0.2.372

2 years ago

0.2.371

2 years ago

0.2.370

2 years ago

0.2.369

2 years ago

0.2.368

2 years ago

0.2.367

2 years ago

0.2.366

2 years ago

0.2.365

2 years ago

0.2.364

2 years ago

0.2.363

2 years ago

0.2.362

2 years ago

0.2.361

2 years ago

0.2.360

2 years ago

0.2.359

2 years ago

0.2.358

2 years ago

0.2.357

2 years ago

0.2.356

2 years ago

0.2.355

2 years ago

0.2.354

2 years ago

0.2.353

2 years ago

0.2.352

2 years ago

0.2.351

2 years ago

0.2.350

2 years ago

0.2.399

1 year ago

0.2.398

1 year ago

0.2.397

1 year ago

0.2.396

2 years ago

0.2.395

2 years ago

0.2.394

2 years ago

0.2.393

2 years ago

0.2.392

2 years ago

0.2.391

2 years ago

0.2.390

2 years ago

0.2.426

1 year ago

0.2.425

1 year ago

0.2.424

1 year ago

0.2.423

1 year ago

0.2.422

1 year ago

0.2.421

1 year ago

0.2.420

1 year ago

0.2.419

1 year ago

0.2.418

1 year ago

0.2.417

1 year ago

0.2.416

1 year ago

0.2.415

1 year ago

0.2.414

1 year ago

0.2.413

1 year ago

0.2.412

1 year ago

0.2.411

1 year ago

0.2.410

1 year ago

0.2.409

1 year ago

0.2.408

1 year ago

0.2.407

1 year ago

0.2.406

1 year ago

0.2.405

1 year ago

0.2.404

1 year ago

0.2.403

1 year ago

0.2.402

1 year ago

0.2.401

1 year ago

0.2.400

1 year ago

0.2.349

2 years ago

0.2.348

2 years ago

0.2.347

2 years ago

0.2.346

2 years ago

0.2.345

2 years ago

0.2.344

2 years ago

0.2.464

1 year ago

0.2.343

2 years ago

0.2.463

1 year ago

0.2.342

2 years ago

0.2.462

1 year ago

0.2.341

2 years ago

0.2.461

1 year ago

0.2.340

2 years ago

0.2.460

1 year ago

0.2.339

2 years ago

0.2.459

1 year ago

0.2.458

1 year ago

0.2.457

1 year ago

0.2.456

1 year ago

0.2.455

1 year ago

0.2.454

1 year ago

0.2.453

1 year ago

0.2.452

1 year ago

0.2.451

1 year ago

0.2.450

1 year ago

0.2.449

1 year ago

0.2.448

1 year ago

0.2.447

1 year ago

0.2.446

1 year ago

0.2.445

1 year ago

0.2.444

1 year ago

0.2.443

1 year ago

0.2.442

1 year ago

0.2.441

1 year ago

0.2.440

1 year ago

0.2.439

1 year ago

0.2.438

1 year ago

0.2.437

1 year ago

0.2.436

1 year ago

0.2.435

1 year ago

0.2.434

1 year ago

0.2.433

1 year ago

0.2.432

1 year ago

0.2.431

1 year ago

0.2.430

1 year ago

0.2.429

1 year ago

0.2.428

1 year ago

0.2.338

2 years ago

0.2.337

2 years ago

0.2.299

2 years ago

0.2.298

2 years ago

0.2.297

2 years ago

0.2.296

2 years ago

0.2.295

2 years ago

0.2.294

2 years ago

0.2.293

2 years ago

0.2.292

2 years ago

0.2.291

2 years ago

0.2.290

2 years ago

0.2.289

2 years ago

0.2.288

2 years ago

0.2.287

2 years ago

0.2.306

2 years ago

0.2.305

2 years ago

0.2.304

2 years ago

0.2.303

2 years ago

0.2.302

2 years ago

0.2.301

2 years ago

0.2.300

2 years ago

0.2.336

2 years ago

0.2.335

2 years ago

0.2.334

2 years ago

0.2.333

2 years ago

0.2.332

2 years ago

0.2.331

2 years ago

0.2.330

2 years ago

0.2.329

2 years ago

0.2.328

2 years ago

0.2.327

2 years ago

0.2.326

2 years ago

0.2.325

2 years ago

0.2.324

2 years ago

0.2.323

2 years ago

0.2.322

2 years ago

0.2.321

2 years ago

0.2.320

2 years ago

0.2.319

2 years ago

0.2.318

2 years ago

0.2.317

2 years ago

0.2.316

2 years ago

0.2.315

2 years ago

0.2.314

2 years ago

0.2.313

2 years ago

0.2.312

2 years ago

0.2.311

2 years ago

0.2.310

2 years ago

0.2.309

2 years ago

0.2.308

2 years ago

0.2.307

2 years ago

0.2.269

2 years ago

0.2.268

2 years ago

0.2.267

2 years ago

0.2.266

2 years ago

0.2.265

2 years ago

0.2.264

2 years ago

0.2.263

2 years ago

0.2.262

2 years ago

0.2.261

2 years ago

0.2.260

2 years ago

0.2.259

2 years ago

0.2.258

2 years ago

0.2.257

2 years ago

0.2.256

2 years ago

0.2.255

2 years ago

0.2.254

2 years ago

0.2.253

2 years ago

0.2.252

2 years ago

0.2.251

2 years ago

0.2.250

2 years ago

0.2.249

2 years ago

0.2.248

2 years ago

0.2.247

2 years ago

0.2.246

2 years ago

0.2.245

2 years ago

0.2.244

2 years ago

0.2.243

2 years ago

0.2.242

2 years ago

0.2.241

2 years ago

0.2.240

2 years ago

0.2.239

2 years ago

0.2.238

2 years ago

0.2.237

2 years ago

0.2.236

2 years ago

0.2.235

2 years ago

0.2.234

2 years ago

0.2.233

2 years ago

0.2.286

2 years ago

0.2.285

2 years ago

0.2.284

2 years ago

0.2.283

2 years ago

0.2.282

2 years ago

0.2.281

2 years ago

0.2.280

2 years ago

0.2.279

2 years ago

0.2.278

2 years ago

0.2.277

2 years ago

0.2.276

2 years ago

0.2.275

2 years ago

0.2.274

2 years ago

0.2.273

2 years ago

0.2.272

2 years ago

0.2.271

2 years ago

0.2.270

2 years ago

0.2.232

2 years ago

0.2.231

2 years ago

0.2.230

2 years ago

0.2.149

2 years ago

0.2.148

2 years ago

0.2.147

2 years ago

0.2.146

2 years ago

0.2.145

2 years ago

0.2.144

2 years ago

0.2.143

2 years ago

0.2.142

2 years ago

0.2.141

2 years ago

0.2.140

2 years ago

0.2.96

2 years ago

0.2.95

2 years ago

0.2.139

2 years ago

0.2.94

2 years ago

0.2.138

2 years ago

0.2.93

2 years ago

0.2.137

2 years ago

0.2.136

2 years ago

0.2.91

2 years ago

0.2.135

2 years ago

0.2.90

2 years ago

0.2.134

2 years ago

0.2.133

2 years ago

0.2.132

2 years ago

0.2.131

2 years ago

0.2.130

2 years ago

0.2.99

2 years ago

0.2.98

2 years ago

0.2.97

2 years ago

0.2.85

2 years ago

0.2.129

2 years ago

0.2.84

2 years ago

0.2.128

2 years ago

0.2.83

2 years ago

0.2.127

2 years ago

0.2.82

2 years ago

0.2.126

2 years ago

0.2.81

2 years ago

0.2.125

2 years ago

0.2.80

2 years ago

0.2.124

2 years ago

0.2.123

2 years ago

0.2.122

2 years ago

0.2.121

2 years ago

0.2.120

2 years ago

0.2.89

2 years ago

0.2.88

2 years ago

0.2.87

2 years ago

0.2.86

2 years ago

0.2.119

2 years ago

0.2.74

2 years ago

0.2.118

2 years ago

0.2.73

2 years ago

0.2.117

2 years ago

0.2.72

2 years ago

0.2.116

2 years ago

0.2.71

2 years ago

0.2.115

2 years ago

0.2.70

2 years ago

0.2.114

2 years ago

0.2.113

2 years ago

0.2.112

2 years ago

0.2.111

2 years ago

0.2.110

2 years ago

0.2.79

2 years ago

0.2.78

2 years ago

0.2.77

2 years ago

0.2.76

2 years ago

0.2.75

2 years ago

0.2.109

2 years ago

0.2.189

2 years ago

0.2.188

2 years ago

0.2.187

2 years ago

0.2.186

2 years ago

0.2.185

2 years ago

0.2.184

2 years ago

0.2.183

2 years ago

0.2.182

2 years ago

0.2.181

2 years ago

0.2.180

2 years ago

0.2.179

2 years ago

0.2.178

2 years ago

0.2.177

2 years ago

0.2.176

2 years ago

0.2.175

2 years ago

0.2.174

2 years ago

0.2.173

2 years ago

0.2.172

2 years ago

0.2.171

2 years ago

0.2.170

2 years ago

0.2.169

2 years ago

0.2.168

2 years ago

0.2.167

2 years ago

0.2.166

2 years ago

0.2.165

2 years ago

0.2.164

2 years ago

0.2.163

2 years ago

0.2.162

2 years ago

0.2.161

2 years ago

0.2.160

2 years ago

0.2.159

2 years ago

0.2.158

2 years ago

0.2.157

2 years ago

0.2.156

2 years ago

0.2.155

2 years ago

0.2.154

2 years ago

0.2.153

2 years ago

0.2.152

2 years ago

0.2.151

2 years ago

0.2.150

2 years ago

0.2.27

3 years ago

0.2.26

3 years ago

0.2.25

3 years ago

0.2.24

3 years ago

0.2.23

3 years ago

0.2.22

3 years ago

0.2.21

3 years ago

0.2.20

3 years ago

0.2.19

3 years ago

0.2.18

3 years ago

0.2.17

3 years ago

0.2.16

3 years ago

0.2.15

3 years ago

0.2.14

3 years ago

0.2.13

3 years ago

0.2.12

3 years ago

0.2.11

3 years ago

0.2.10

3 years ago

0.2.199

2 years ago

0.2.198

2 years ago

0.2.197

2 years ago

0.2.196

2 years ago

0.2.195

2 years ago

0.2.194

2 years ago

0.2.193

2 years ago

0.2.192

2 years ago

0.2.191

2 years ago

0.2.190

2 years ago

0.2.229

2 years ago

0.2.108

2 years ago

0.2.63

3 years ago

0.2.228

2 years ago

0.2.107

2 years ago

0.2.62

3 years ago

0.2.227

2 years ago

0.2.106

2 years ago

0.2.61

3 years ago

0.2.226

2 years ago

0.2.105

2 years ago

0.2.60

3 years ago

0.2.225

2 years ago

0.2.104

2 years ago

0.2.224

2 years ago

0.2.103

2 years ago

0.2.223

2 years ago

0.2.102

2 years ago

0.2.222

2 years ago

0.2.101

2 years ago

0.2.221

2 years ago

0.2.100

2 years ago

0.2.220

2 years ago

0.2.69

2 years ago

0.2.68

2 years ago

0.2.67

2 years ago

0.2.66

2 years ago

0.2.65

2 years ago

0.2.64

3 years ago

0.2.219

2 years ago

0.2.218

2 years ago

0.2.52

3 years ago

0.2.217

2 years ago

0.2.51

3 years ago

0.2.216

2 years ago

0.2.50

3 years ago

0.2.215

2 years ago

0.2.214

2 years ago

0.2.213

2 years ago

0.2.212

2 years ago

0.2.211

2 years ago

0.2.210

2 years ago

0.2.59

3 years ago

0.2.58

3 years ago

0.2.57

3 years ago

0.2.56

3 years ago

0.2.55

3 years ago

0.1.82

3 years ago

0.2.54

3 years ago

0.1.83

3 years ago

0.2.53

3 years ago

0.1.84

3 years ago

0.2.209

2 years ago

0.2.208

2 years ago

0.2.207

2 years ago

0.2.41

3 years ago

0.2.206

2 years ago

0.2.40

3 years ago

0.2.205

2 years ago

0.2.204

2 years ago

0.2.203

2 years ago

0.2.202

2 years ago

0.2.201

2 years ago

0.2.200

2 years ago

0.2.49

3 years ago

0.2.48

3 years ago

0.2.47

3 years ago

0.2.46

3 years ago

0.2.45

3 years ago

0.2.44

3 years ago

0.2.43

3 years ago

0.2.42

3 years ago

0.2.39

3 years ago

0.2.30

3 years ago

0.2.38

3 years ago

0.2.37

3 years ago

0.2.36

3 years ago

0.2.35

3 years ago

0.2.34

3 years ago

0.2.33

3 years ago

0.2.32

3 years ago

0.2.31

3 years ago

0.2.1

3 years ago

0.2.0

3 years ago

0.2.29

3 years ago

0.2.28

3 years ago

0.2.7

3 years ago

0.2.6

3 years ago

0.2.9

3 years ago

0.2.8

3 years ago

0.2.3

3 years ago

0.2.2

3 years ago

0.2.5

3 years ago

0.2.4

3 years ago

0.1.80

3 years ago

0.1.81

3 years ago

0.1.74

3 years ago

0.1.75

3 years ago

0.1.76

3 years ago

0.1.77

3 years ago

0.1.78

3 years ago

0.1.79

3 years ago

0.1.70

3 years ago

0.1.71

3 years ago

0.1.72

3 years ago

0.1.73

3 years ago

0.1.63

3 years ago

0.1.64

3 years ago

0.1.65

3 years ago

0.1.66

3 years ago

0.1.67

3 years ago

0.1.68

3 years ago

0.1.69

3 years ago

0.1.62

3 years ago

0.1.60

3 years ago

0.1.61

3 years ago

0.1.59

3 years ago

0.1.58

3 years ago

0.1.57

3 years ago

0.1.56

3 years ago

0.1.54

3 years ago

0.1.55

3 years ago

0.1.53

3 years ago

0.1.52

3 years ago

0.1.51

3 years ago

0.1.50

3 years ago

0.1.49

3 years ago

0.1.47

3 years ago

0.1.48

3 years ago

0.1.45

3 years ago

0.1.46

3 years ago

0.1.43

3 years ago

0.1.44

3 years ago

0.1.41

3 years ago

0.1.42

3 years ago

0.1.40

3 years ago

0.1.38

3 years ago

0.1.39

3 years ago

0.1.33

3 years ago

0.1.34

3 years ago

0.1.35

3 years ago

0.1.36

3 years ago

0.1.37

3 years ago

0.1.32

3 years ago

0.1.30

3 years ago

0.1.31

3 years ago

0.1.27

4 years ago

0.1.28

4 years ago

0.1.29

4 years ago

0.1.26

4 years ago

0.1.25

4 years ago

0.1.15

4 years ago

0.1.20

4 years ago

0.1.21

4 years ago

0.1.22

4 years ago

0.1.23

4 years ago

0.1.24

4 years ago

0.1.16

4 years ago

0.1.17

4 years ago

0.1.18

4 years ago

0.1.19

4 years ago

0.1.14

4 years ago

0.1.10

4 years ago

0.1.11

4 years ago

0.1.12

4 years ago

0.1.13

4 years ago

0.1.8

4 years ago

0.1.7

4 years ago

0.1.9

4 years ago

0.1.4

4 years ago

0.1.6

4 years ago

0.1.5

4 years ago

0.0.10

4 years ago

0.0.11

4 years ago

0.0.12

4 years ago

0.1.0

4 years ago

0.1.2

4 years ago

0.1.1

4 years ago

0.0.9

4 years ago

0.0.8

4 years ago

0.1.3

4 years ago

0.0.7

4 years ago

0.0.5

4 years ago

0.0.4

4 years ago

0.0.6

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago

0.0.0

4 years ago