Skip to content

Releases: jspecify/jspecify

0.3.0

13 Dec 18:38
Compare
Choose a tag to compare
0.3.0 Pre-release
Pre-release

For an introduction to JSpecify, see our Start Here page.

We'll soon post more information about when different tools support our annotations, how to think about adopting the annotations, and what we'll be doing in the coming year.

Changes relative to version 0.3.0-alpha-3

  • We have removed the old org.jspecify.nullness package in favor of the new org.jspecify.annotations package. If you need a release that contains both packages to ease your migration, you can use version 0.3.0-alpha-3.

Additional changes relative to version 0.2.0

  • additional annotations:
  • expanded Javadoc
  • an additional @Target for @NullMarked: MODULE (#245)
    • Note that this change causes problems for users who build with the javac from JDK8 (#302), at least without workarounds. It is still always safe to build with a newer JDK with flags like --release 8, and it is generally safe to run under JDK8.

Artifacts:

As always, you can reach us at jspecify-discuss@googlegroups.com.

0.3.0-alpha-3

01 Dec 19:25
Compare
Choose a tag to compare
0.3.0-alpha-3 Pre-release
Pre-release

All parts of the project remain under development, and any aspect of naming or design may change before 1.0.0. Do not release libraries using JSpecify annotations at this time.

We may follow this release with a non-alpha 0.3.0 before the holidays.

The only significant changes since version 0.3.0-alpha-2 are:

  • Our module now exports both the old org.jspecify.nullness package and the new org.jspecify.annotations package. This multi-package release is still only a migration aid: We'll be removing org.jspecify.nullness before publishing a non-alpha 0.3.0 release.
  • @NullUnmarked is no longer applicable to MODULE (since an unannotated module is treated as null-unmarked already).

Artifacts:

As always, you can reach us at jspecify-discuss@googlegroups.com.

0.3.0-alpha-2

28 Nov 20:20
Compare
Choose a tag to compare
0.3.0-alpha-2 Pre-release
Pre-release

All parts of the project remain under development, and any aspect of naming or design may change before 1.0.0. Do not release libraries using JSpecify annotations at this time.

We may follow this release with a non-alpha 0.3.0 before the holidays.

The major user-visible changes since version 0.3.0-alpha-1 are:

  • We've removed @Implies.
  • All remaining annotations are moving from org.jspecify.nullness to org.jspecify.annotations. For this release and the following 0.3.0-alpha-3 only, we're including deprecated copies of the annotations in the old location.

Artifacts:

As always, you can reach us at jspecify-discuss@googlegroups.com.

0.3.0-alpha-1

18 Oct 16:58
Compare
Choose a tag to compare
0.3.0-alpha-1 Pre-release
Pre-release

All parts of the project remain under development, and any aspect of naming or design may change before 1.0.0. Do not release libraries using JSpecify annotations at this time. In particular, we are likely to change the package names before even making a non-alpha 0.3.0 release.

(We are currently making an effort to release a non-alpha 0.3.0 before the holidays.)

The major user-visible changes since version 0.2.0 are:

  • additional annotations:
  • expanded Javadoc
  • an additional @Target for @NullMarked: MODULE (#245)
    • Note that this change causes problems for users who build with the javac from JDK8 (#302), at least without workarounds. It is still always safe to build with a newer JDK with flags like --release 8, and it is generally safe to run under JDK8.

As always, you can reach us at jspecify-discuss@googlegroups.com.

PGP signing key: BAC30622339994C4
SHA256 for main jar: d6317cc571b531da1ec656c821948d57c782011330e155f8b8abc83d521a6066

0.2.0

27 Aug 21:09
Compare
Choose a tag to compare
0.2.0 Pre-release
Pre-release

All parts of the project remain under development, and any aspect of naming or design may change before 1.0. Do not release libraries using JSpecify annotations at this time.

(But please let us know if you'd like to release libraries that depend on JSpecify annotations! We want to finalize our annotations at just the right time: If we wait unnecessarily long, then users don't get the benefits as soon as they could. But if we don't wait long enough, then we don't give the community enough time to provide feedback. To make the right call, we need to know what different people need.)

Some tool authors and library owners have begun to experiment with JSpecify, including Kotlin support (started in 1.5.20, more heavily tested in 1.5.30).

The milestone contains drafts of:

The major user-visible changes since version 0.1 are renames:

  • Our Java package changed from org.jspecify.annotations to org.jspecify.nullness.
  • Our declaration annotation changed from @DefaultNonNull to @NullMarked.

As always, you can reach us at jspecify-discuss@googlegroups.com.

PGP signing key: BAC30622339994C4
SHA256 for main jar: 7da399e8d2be9474406fe7c06904012880e8aa96833adab126119c8d10b7c0ae

0.1

21 Aug 14:23
906dba3
Compare
Choose a tag to compare
0.1 Pre-release
Pre-release

This milestone omits some of the work we've already completed, and we have much more work underway and yet to come. Everything remains not set in stone, and we don't expect tool authors or library owners to adopt 0.1.

The milestone contains: