Skip to content

Releases: Ahoo-Wang/CosId

v1.10.0

11 May 14:24
Compare
Choose a tag to compare

What's Changed

  • Enhance: add cosid-proxy module by @Ahoo-Wang in #87
  • Enhance: add cosid-proxy-server module
    CosId-Proxy
  • Refactor MachineIdDistributor to support cosid-proxy mode.
  • Split example to improve the experience of getting started.

Full Changelog: v1.9.0...v1.10.0

v1.9.0

08 May 14:32
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.8.18...v1.9.0

v1.8.18

05 May 23:48
60a144e
Compare
Choose a tag to compare

What's Changed

  • Refactor: Support for configuring Props of primitive types.
  • Add ShardingSphere-Integration-CosId document
  • Add Some Unit-Test for CosId by @RocherKong in #61
  • Update dependency mysql:mysql-connector-java to v8.0.29 by @renovate in #65
  • Update github/codeql-action action to v2 by @renovate in #66
  • Refactor redis script of machine_id_revert_stable by @RocherKong in #73
  • Refactor redis script of machine_id_revert by @RocherKong in #74
  • Refactor redis script of machine_id_distribute by @RocherKong in #75

Full Changelog: v1.8.15...v1.8.18

v1.8.15

16 Apr 06:43
Compare
Choose a tag to compare

🔨 Code Coverage

  • Improve test coverage, from 56.42% to 78.62%. codecov

What's Changed

  • Configure Renovate by @renovate in #40
  • Update dependency com.github.spotbugs.snom:spotbugs-gradle-plugin to v5.0.6 by @renovate in #42
  • Pin dependencies by @renovate in #41
  • Improve code coverage: IntegerIdGenerator by @Ahoo-Wang in #44
  • Update dependency gradle to v7.4.2 by @renovate in #46
  • Update dependency me.ahoo.cosid:cosid-jdbc to v1.8.12 by @renovate in #47
  • Update dependency mysql:mysql-connector-java to v8.0.28 by @renovate in #48
  • Update vuepress monorepo to v1.9.7 by @renovate in #49
  • Update dependency org.openjdk.jmh:jmh-core to v1.35 by @renovate in #50
  • Update dependency org.openjdk.jmh:jmh-generator-annprocess to v1.35 by @renovate in #51
  • Update junit5 monorepo to v5.8.2 by @renovate in #52
  • Update actions/checkout action to v3 by @renovate in #53
  • Update actions/setup-java action to v3 by @renovate in #54
  • Update codecov/codecov-action action to v3 by @renovate in #55
  • add unit-test for CosId by @RocherKong in #57
  • add some unit-test for cosId by @RocherKong in #58
  • add Unit-Test for CosId Mod Sharding Algorithm. by @RocherKong in #59

New Contributors

Full Changelog: v1.8.12...v1.8.15

v1.8.12

12 Apr 17:10
e94d0aa
Compare
Choose a tag to compare

What's Changed

  • add Code Coverage Report by @Ahoo-Wang in #38 codecov
  • Guarantee string type ID ordering
    • change default IdConverter from TO_STRING to RADIX.(IdGenerator)
    • change default type from TO_STRING to RADIX.(IdConverterDefinition)
    • change default padStart from false to true (IdConverterDefinition.Radix)
  • add support customize list key.(CosIdPlugin)

Full Changelog: v1.8.11...v1.8.12

v1.8.11

04 Apr 09:48
8346196
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.8.9...1.8.11

v1.8.9

20 Feb 03:16
Compare
Choose a tag to compare

⭐ New Features

  • add ConcurrentGenerateTest.
  • add IdGeneratorDecorator.

⛏️ Refactor

  • refactor unit-test.
  • add some Java-Doc.
  • ignore type check while read integer field. by @RocherKong in #29

🐞 Bug Fixes

  • fix demo not runnable by correct application.yaml by @RocherKong in #28

New Contributors

Full Changelog: v1.8.6...v1.8.9

v1.8.6

25 Jan 13:38
Compare
Choose a tag to compare

⭐ New Features

  • add IntegerIdGenerator to support generating ID of type int
  • enhance CosIdAccessor to support generating ID of type int.
  • @CosId to support Target ElementType.TYPE.
    public abstract static class AbstractId {
        private long id;

        public long getId() {
            return id;
        }

        public void setId(long id) {
            this.id = id;
        }
    }
    @CosId
    public static class ClassIdInheritedType extends AbstractId {

    }
  • enhance CosIdAccessor to support automatic recognition of generic base class ID field type.
    @CosId
    public abstract static class AbstractGenericCosId<T, N> {
        private T id;
        private N name;

        public T getId() {
            return id;
        }

        public void setId(T id) {
            this.id = id;
        }

        public N getName() {
            return name;
        }

        public void setName(N name) {
            this.name = name;
        }
    }

⛏️ Refactor

  • rename SnowflakeIntervalShardingAlgorithm to CosIdSnowflakeIntervalShardingAlgorithm
  • remove DateIntervalShardingAlgorithm/ LocalDateTimeIntervalShardingAlgorithm / SnowflakeFriendlyIntervalShardingAlgorithm / StringIntervalShardingAlgorithm / TimestampIntervalShardingAlgorithm / TimestampOfSecondIntervalShardingAlgorithm ,use CosIdIntervalShardingAlgorithm/CosIdSnowflakeIntervalShardingAlgorithm instead.
  • refactor DEFAULT_BROKEN_THRESHOLD=500/DEFAULT_SPIN_THRESHOLD=1

⭐ 新特性

  • 新增 IntegerIdGenerator 支持生成 int 类型ID
  • 增强 CosIdAccessor 支持生成 int 类型ID
  • 增强 @CosId to support Target ElementType.TYPE.
    public abstract static class AbstractId {
        private long id;

        public long getId() {
            return id;
        }

        public void setId(long id) {
            this.id = id;
        }
    }
    @CosId
    public static class ClassIdInheritedType extends AbstractId {

    }
  • 增强 CosIdAccessor 支持自动识别范型基类ID字段类型。
    @CosId
    public abstract static class AbstractGenericCosId<T, N> {
        private T id;
        private N name;

        public T getId() {
            return id;
        }

        public void setId(T id) {
            this.id = id;
        }

        public N getName() {
            return name;
        }

        public void setName(N name) {
            this.name = name;
        }
    }

⛏️ 重构

  • 重命名 SnowflakeIntervalShardingAlgorithmCosIdSnowflakeIntervalShardingAlgorithm
  • 移除 DateIntervalShardingAlgorithm/ LocalDateTimeIntervalShardingAlgorithm / SnowflakeFriendlyIntervalShardingAlgorithm / StringIntervalShardingAlgorithm / TimestampIntervalShardingAlgorithm / TimestampOfSecondIntervalShardingAlgorithm ,使用 CosIdIntervalShardingAlgorithm/CosIdSnowflakeIntervalShardingAlgorithm 代替.
  • 修改默认值 DEFAULT_BROKEN_THRESHOLD=500/DEFAULT_SPIN_THRESHOLD=1

v1.8.0

21 Jan 01:58
Compare
Choose a tag to compare

⭐ New Features

  • support scanning packages to automatically register CosIdAccessor.
        CosIdAccessorRegistry registry = new DefaultAccessorRegistry(new DefaultAccessorParser(AnnotationDefinitionParser.INSTANCE));
        DefaultCosIdScanner scanner =
            new DefaultCosIdScanner(new String[] {"me.ahoo.cosid.accessor.scanner.entity"}, new NamedDefinitionParser("id"), registry);
        scanner.scan();
  • add CosIdAccessorParser interface
  • add CosIdAccessorRegistry interface

⛏️ Refactor

  • refactor and enhance CosIdAccessor interface
  • rename CosIdDefinition to IdDefinition
  • remove @CosId#friendlyId

⭐ 新特性

  • 支持扫描包自动注册 CosIdAccessor
        CosIdAccessorRegistry registry = new DefaultAccessorRegistry(new DefaultAccessorParser(AnnotationDefinitionParser.INSTANCE));
        DefaultCosIdScanner scanner =
            new DefaultCosIdScanner(new String[] {"me.ahoo.cosid.accessor.scanner.entity"}, new NamedDefinitionParser("id"), registry);
        scanner.scan();
  • 添加 CosIdAccessorParser interface
  • 添加 CosIdAccessorRegistry interface

⛏️ 重构

  • 重构 CosIdAccessor interface
  • 重命名 CosIdDefinitionIdDefinition
  • 移除 @CosId#friendlyId

v1.7.9

17 Jan 08:37
Compare
Choose a tag to compare

⭐ New Features

  • add Document Build and Deploy (workflows).
  • add Integration Test (workflows).
  • add Benchmark CosId Test (workflows).
  • Add Benchmark VS Test to compare the throughput of CosId and Leaf (workflows). #22
  • Supports custom configuration to enable shutdown hook (PrefetchWorkerExecutorService). #16 @cubita-io
  • Upgrade to Guava 30.0-jre. #13

⛏️ Refactor

  • Refactor MAX_PREFETCH_DISTANCE -> 100_000_000 .
Previous Current
Previous Current
  • Refactor JMHPlugin support custom jmh parameters:-PjmhIncludes/-PjmhExcludes/-PjmhThreads/-PjmhMode
  • Return consistent sub-type of Collection in IntervalTimeline.sharding method. #14
  • Add checkstyle code specification.
  • Add spotbugs plugin to improve code quality.

⭐ 新特性

  • 添加 文档构建与发布 (workflows)。
  • 添加 集成测试 (workflows)。
  • 添加 CosId基准测试 (workflows)。
  • 添加 基准测试对比,比较 CosIdLeaf 吞吐量 (workflows)。 #22
  • 支持自定义配置以启用ShutdownHook (PrefetchWorkerExecutorService)。 #16 @cubita-io
  • 升级 Guava 依赖版本为 30.0-jre#13

⛏️ 重构

  • 重构 MAX_PREFETCH_DISTANCE -> 100_000_000
Previous Current
Previous Current
  • 重构 JMHPlugin 支持自定义JMH参数:-PjmhIncludes/-PjmhExcludes/-PjmhThreads/-PjmhMode
  • IntervalTimeline.sharding 返回一致性的 Collection 子类型。 #14
  • 添加 checkstyle 代码规范。
  • 添加 spotbugs 插件以提升代码质量。