Releases: Ahoo-Wang/CosId
Releases · Ahoo-Wang/CosId
v1.10.0
What's Changed
- Enhance: add
cosid-proxy
module by @Ahoo-Wang in #87 - Enhance: add
cosid-proxy-server
module
- Refactor
MachineIdDistributor
to supportcosid-proxy
mode. - Split
example
to improve the experience of getting started.
Full Changelog: v1.9.0...v1.10.0
v1.9.0
What's Changed
- Support heartbeat to maintain machine state by @Ahoo-Wang in #76
- Improve code coverage by @RocherKong in #83
Full Changelog: v1.8.18...v1.9.0
v1.8.18
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
🔨 Code Coverage
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
What's Changed
- add Code Coverage Report by @Ahoo-Wang in #38
- Guarantee string type ID ordering
- change default
IdConverter
fromTO_STRING
toRADIX
.(IdGenerator
) - change default type from
TO_STRING
toRADIX
.(IdConverterDefinition
) - change default padStart from
false
totrue
(IdConverterDefinition.Radix
)
- change default
- add support customize list key.(
CosIdPlugin
)
Full Changelog: v1.8.11...v1.8.12
v1.8.11
What's Changed
- update CosIdIntervalShardingAlgorithm type name by @RocherKong in #30
- upgrade to CosId-v1.8.9 for benchmark by @xinyuranyan in #31
- add test for idConverter with some docs. by @RocherKong in #36
- add IdConverter impl-class diagram by @RocherKong in #37
New Contributors
- @xinyuranyan made their first contribution in #31
Full Changelog: v1.8.9...1.8.11
v1.8.9
⭐ 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
- @RocherKong made their first contribution in #28
Full Changelog: v1.8.6...v1.8.9
v1.8.6
⭐ New Features
- add
IntegerIdGenerator
to support generating ID of typeint
- enhance
CosIdAccessor
to support generating ID of typeint
. @CosId
to support TargetElementType.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
toCosIdSnowflakeIntervalShardingAlgorithm
- remove
DateIntervalShardingAlgorithm
/LocalDateTimeIntervalShardingAlgorithm
/SnowflakeFriendlyIntervalShardingAlgorithm
/StringIntervalShardingAlgorithm
/TimestampIntervalShardingAlgorithm
/TimestampOfSecondIntervalShardingAlgorithm
,useCosIdIntervalShardingAlgorithm
/CosIdSnowflakeIntervalShardingAlgorithm
instead. - refactor
DEFAULT_BROKEN_THRESHOLD=500
/DEFAULT_SPIN_THRESHOLD=1
⭐ 新特性
- 新增
IntegerIdGenerator
支持生成int
类型ID - 增强
CosIdAccessor
支持生成int
类型ID - 增强
@CosId
to support TargetElementType.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;
}
}
⛏️ 重构
- 重命名
SnowflakeIntervalShardingAlgorithm
为CosIdSnowflakeIntervalShardingAlgorithm
- 移除
DateIntervalShardingAlgorithm
/LocalDateTimeIntervalShardingAlgorithm
/SnowflakeFriendlyIntervalShardingAlgorithm
/StringIntervalShardingAlgorithm
/TimestampIntervalShardingAlgorithm
/TimestampOfSecondIntervalShardingAlgorithm
,使用CosIdIntervalShardingAlgorithm
/CosIdSnowflakeIntervalShardingAlgorithm
代替. - 修改默认值
DEFAULT_BROKEN_THRESHOLD=500
/DEFAULT_SPIN_THRESHOLD=1
v1.8.0
⭐ 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
toIdDefinition
- 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 - 重命名
CosIdDefinition
为IdDefinition
- 移除
@CosId#friendlyId
v1.7.9
⭐ 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 |
---|---|
- 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)。
- 添加 基准测试对比,比较 CosId 与 Leaf 吞吐量 (workflows)。 #22
- 支持自定义配置以启用
ShutdownHook
(PrefetchWorkerExecutorService
)。 #16 @cubita-io - 升级
Guava
依赖版本为30.0-jre
。 #13
⛏️ 重构
- 重构
MAX_PREFETCH_DISTANCE
->100_000_000
。
Previous | Current |
---|---|
- 重构
JMHPlugin
支持自定义JMH参数:-PjmhIncludes
/-PjmhExcludes
/-PjmhThreads
/-PjmhMode
。 IntervalTimeline.sharding
返回一致性的Collection
子类型。 #14- 添加 checkstyle 代码规范。
- 添加 spotbugs 插件以提升代码质量。