├── .github
└── workflows
│ ├── deploy.yml
│ ├── main.yml
│ └── release-news.yml
├── .gitignore
├── .gitmodules
├── .ruby-version
├── Gemfile
├── Gemfile.lock
├── LICENSE
├── README.md
├── _books
└── ion-1-1
│ ├── book.toml
│ ├── src
│ ├── SUMMARY.md
│ ├── binary
│ │ ├── annotations.md
│ │ ├── e_expressions.md
│ │ ├── encoding.md
│ │ ├── nop.md
│ │ ├── opcodes.md
│ │ ├── primitives.md
│ │ ├── primitives
│ │ │ ├── fixed_int.md
│ │ │ ├── fixed_uint.md
│ │ │ ├── flex_int.md
│ │ │ ├── flex_sym.md
│ │ │ └── flex_uint.md
│ │ ├── values.md
│ │ └── values
│ │ │ ├── blob.md
│ │ │ ├── bool.md
│ │ │ ├── clob.md
│ │ │ ├── decimal.md
│ │ │ ├── float.md
│ │ │ ├── int.md
│ │ │ ├── list.md
│ │ │ ├── null.md
│ │ │ ├── sexp.md
│ │ │ ├── string.md
│ │ │ ├── struct.md
│ │ │ ├── symbol.md
│ │ │ └── timestamp.md
│ ├── glossary.md
│ ├── grammar.md
│ ├── introduction.md
│ ├── macros.md
│ ├── macros
│ │ ├── defining_macros.md
│ │ ├── macros_by_example.md
│ │ ├── special_forms.md
│ │ └── system_macros.md
│ ├── modules.md
│ ├── modules
│ │ ├── defining_modules.md
│ │ ├── directives.md
│ │ ├── encoding_modules.md
│ │ ├── local_modules.md
│ │ ├── shared_modules.md
│ │ └── system_module.md
│ ├── security-considerations.md
│ ├── text
│ │ ├── e_expressions.md
│ │ ├── encoding.md
│ │ ├── escape-characters.md
│ │ ├── symbol-tokens.md
│ │ └── values.md
│ ├── todo.md
│ └── whats_new.md
│ └── theme
│ ├── highlight.css
│ └── highlight.js
├── _config.yml
├── _data
├── libraries.json
└── navigation.yml
├── _includes
├── footer.html
├── head.html
├── header.html
└── library_table.md
├── _layouts
├── default.html
└── news_item.html
├── _plugins
└── mdbooks.rb
├── _posts
├── 2016-04-20-amazon-open-sources-ion.md
├── 2016-04-25-ion-java-1_0_0-released.md
├── 2016-06-14-amazon-releases-ion-intellij-plugin.md
├── 2016-06-27-amazon-releases-ion-c.md
├── 2016-07-08-amazon-releases-ion-python.md
├── 2016-09-29-ion-java-1_0_1-released.md
├── 2017-02-07-ion-java-1_0_2-released.md
├── 2017-04-25-amazon-releases-ion-js.md
├── 2017-05-10-ion-python-0_2_0-released.md
├── 2017-07-21-amazon-releases-ion-eclipse-plugin.md
├── 2017-07-30-jackson-adds-ion-support.md
├── 2017-10-12-ion-java-1_0_3-released.md
├── 2018-01-24-ion-java-1_1_0-released.md
├── 2018-03-08-amazon-redshift-spectrum0adds-scalar-ion-support.md
├── 2018-03-23-ion-java-1_1_1-released.md
├── 2018-04-02-ion-java-1_1_2-released.md
├── 2018-04-12-amazon-releases-ion-test-driver.md
├── 2018-04-12-ion-c-1_0_0-released.md
├── 2018-05-15-ion-python-0_3_1-released.md
├── 2018-05-25-ion-c-1_0_1-released.md
├── 2018-06-22-ion-java-1_2_0-released.md
├── 2018-07-19-developer-guide-symbols-documentation-released.md
├── 2018-08-08-amazon-redshift-spectrum-adds-nested-ion-support.md
├── 2018-11-05-ion-schema-spec-released.md
├── 2018-11-12-ion-java-path-extraction-released.md
├── 2019-01-21-ion-hive-serde.md
├── 2019-04-30-ion-java-1_4_0-released.md
├── 2019-05-08-ion-kotlin-builder-1_0_0-released.md
├── 2019-05-23-ion-hash-java-1_0_0-released.md
├── 2019-05-23-ion-hash-released.md
├── 2019-06-26-ion-java-1_5_0-released.md
├── 2019-07-15-ion-schema-kotlin-1_0_0-released.md
├── 2019-07-16-ion-hash-python-1_0_1-released.md
├── 2019-09-05-ion-python-0_4_1-released.md
├── 2019-09-12-ion-js-3_0_0-released.md
├── 2019-10-17-ion-python-0_5_0-released.md
├── 2019-10-29-ion-js-3_1_0-released.md
├── 2019-11-05-ion-hash-js-1_0_2-released.md
├── 2020-01-15-software.amazon.ion-deprecated.md
├── 2020-02-26-ion-java-1_6_0-released.md
├── 2020-03-09-ion-templates-rfc-opened.md
├── 2020-03-30-ion-js-4_0-released.md
├── 2020-03-31-ion-hash-js-2_0_0-released.md
├── 2020-06-03-ion-dotnet-1_0-released.md
├── 2020-06-03-ion-hash-dotnet-1_0_0-released.md
├── 2020-07-14-ion-schema-kotlin-1_1-released.md
├── 2020-09-29-ion-go-1_0-released.md
├── 2020-09-30-ion-hash-go-1_0_0-released.md
├── 2020-11-09-ion-java-1_8_0-released.md
├── 2020-11-23-ion-dotnet-1_1_0-released.md
├── 2020-12-02-ion-js-4_1_0-released.md
├── 2020-12-02-ion-python-0_7_0-released.md
├── 2020-12-03-ion-java-path-extraction-1_3_1-released.md
├── 2020-12-08-ion-go-1_1_0-released.md
├── 2021-02-09-ion-c-1_4_0-released.md
├── 2021-04-07-ion-java-1_8_1-released.md
├── 2021-05-07-ion-js-4_2_1-released.md
├── 2021-07-09-ion-go-1_1_3-released.md
├── 2021-07-13-ion-hash-go-1_1_2-released.md
├── 2021-07-13-ion-intellij-plugin-2_1_28-released.md
├── 2021-09-10-ion-hash-python-1_2_1-released.md
├── 2021-10-13-ion-java-1_9_0-released.md
├── 2021-11-29-ion-schema-kotlin-1_2_1-released.md
├── 2022-02-02-ion-python-0_9_1-released.md
├── 2022-02-04-ion-hive-serde-0_5_0-released.md
├── 2022-02-08-ion-dotnet-1_2_2-released.md
├── 2022-02-15-ion-java-1_9_1-released.md
├── 2022-02-17-ion-hive-serde-0_6_0-released.md
├── 2022-03-01-ion-java-1_9_2-released.md
├── 2022-03-15-ion-c-1_0_5-released.md
├── 2022-03-15-ion-hive-serde-1_0_0-released.md
├── 2022-03-17-ion-js-4_2_2-released.md
├── 2022-03-23-ion-java-1_9_3-released.md
├── 2022-03-28-ion-c-1_0_6-released.md
├── 2022-04-05-ion-java-1_9_4-released.md
├── 2022-05-04-ion-js-4_2_3-released.md
├── 2022-05-06-ion-python-0_9_2-released.md
├── 2022-05-10-ion-js-4_3_0-released.md
├── 2022-05-17-ion-rust-0_10_0-released.md
├── 2022-05-28-ion-schema-rust-0_3_0-released.md
├── 2022-05-31-ion-hash-dotnet-1_1_1-released.md
├── 2022-06-29-ion-element-kotlin-1_0_0-released.md
├── 2022-06-29-ion-schema-kotlin-1_3_0-released.md
├── 2022-07-14-ion-schema-rust-0_4_0-released.md
├── 2022-07-26-rfc-ion-schema-2_0-public-comment.md
├── 2022-08-16-community-supported-php-library-added.md
├── 2022-08-17-ion-java-1_9_5-released.md
├── 2022-08-19-ion-python-0_9_3-released.md
├── 2022-08-24-ion-cli-homebrew.md
├── 2022-08-25-rfc-ion-schema-2_0-approved.md
├── 2022-09-02-ion-rust-0_13_0-released.md
├── 2022-09-12-new-tool-ion-schema-sandbox.md
├── 2022-09-13-ion-schema-rust-0_5_0-released.md
├── 2022-09-14-ion-intellij-plugin-2_1_34-released.md
├── 2022-09-15-ion-hive-serde-1_1_0-released.md
├── 2022-10-04-ion-hive-serde-1_2_0-released.md
├── 2022-11-10-ion-schema-kotlin-1_4_0-released.md
├── 2022-11-16-ion-schema-rust-0_6_0-released.md
├── 2022-12-05-ion-intellij-plugin-2_2_0-released.md
├── 2022-12-06-ion-c-1_1_0-released.md
├── 2022-12-19-ion-dotnet-1_2_3-released.md
├── 2022-12-20-ion-dotnet-1_2_3-released.md
├── 2022-12-27-ion-rust-0_15_0-released.md
├── 2023-02-01-ion-go-1_2_0-released.md
├── 2023-02-14-ion-python-0_10_0-released.md
├── 2023-02-22-ion-c-1_1_1-released.md
├── 2023-03-14-ion-schema-kotlin-1_5_0-released.md
├── 2023-03-17-ion-schema-kotlin-1_5_1-released.md
├── 2023-03-18-ion-rust-0_16_0-released.md
├── 2023-03-28-ion-c-1_1_2-released.md
├── 2023-03-29-ion-go-1_3_0-released.md
├── 2023-04-12-ion-java-1_9_6-released.md
├── 2023-04-19-ion-rust-0_17_0-released.md
├── 2023-04-25-ion-js-5_0_0-released.md
├── 2023-04-26-ion-schema-rust-0_7_0-released.md
├── 2023-05-12-ion-element-kotlin-1_1_0-released.md
├── 2023-06-06-ion-intellij-plugin-2_3_0-released.md
├── 2023-06-06-ion-schema-kotlin-1_6_0-released.md
├── 2023-06-09-ion-rust-0_18_1-released.md
├── 2023-06-15-ion-schema-rust-0_8_0-released.md
├── 2023-06-21-ion-schema-kotlin-1_6_1-released.md
├── 2023-06-28-ion-schema-rust-0_9_0-released.md
├── 2023-06-29-ion-schema-rust-0_9_1-released.md
├── 2023-07-13-ion-intellij-plugin-2_3_1-released.md
├── 2023-07-18-ion-java-1_10_1-released.md
├── 2023-07-19-ion-intellij-plugin-2_3_2-released.md
├── 2023-07-19-ion-rust-1_0_0-rc_1-released.md
├── 2023-07-20-ion-java-1_10_2-released.md
├── 2023-07-24-ion-js-5_1_0-released.md
├── 2023-08-01-ion-intellij-plugin-2_4_0-released.md
├── 2023-08-30-ion-hash-go-1_2_0-released.md
├── 2023-09-07-ion-js-5_2_0-released.md
├── 2023-09-12-ion-java-1_10_3-released.md
├── 2023-09-14-ion-java-1_10_4-released.md
├── 2023-09-19-ion-java-1_10_5-released.md
├── 2023-10-09-ion-python-0_11_0-released.md
├── 2023-10-10-ion-python-0_11_1-released.md
├── 2023-11-02-ion-schema-rust-0_10_0-released.md
├── 2023-11-03-ion-java-1_11_0-released.md
├── 2023-11-13-ion-dotnet-1_3_0-released.md
├── 2023-11-13-ion-schema-kotlin-1_7_0-released.md
├── 2023-11-17-ion-python-0_11_2-released.md
├── 2023-11-30-ion-python-0_11_3-released.md
├── 2023-12-13-ion-element-kotlin-1_2_0-released.md
├── 2023-12-15-ion-schema-kotlin-1_8_0-released.md
├── 2023-12-19-ion-hash-js-2_1_0-released.md
├── 2024-01-02-ion-intellij-plugin-2_5_0-released.md
├── 2024-01-18-ion-java-1_11_1-released.md
├── 2024-02-01-ion-cli-0_5_0-released.md
├── 2024-02-08-ion-cli-0_5_1-released.md
├── 2024-02-08-ion-java-1_11_2-released.md
├── 2024-02-08-ion-rust-1_0_0-rc_2-released.md
├── 2024-02-16-ion-python-0_12_0-released.md
├── 2024-02-21-ion-java-1_11_3-released.md
├── 2024-02-23-ion-rust-1_0_0-rc_3-released.md
├── 2024-03-01-ion-java-1_11_4-released.md
├── 2024-03-11-ion-schema-rust-0_11_0-released.md
├── 2024-04-12-ion-schema-rfc-process-public-comment.md
├── 2024-04-19-ion-intellij-plugin-2_6_0-released.md
├── 2024-04-23-ion-java-1_11_6-released.md
├── 2024-04-24-ion-java-1_11_7-released.md
├── 2024-04-26-ion-go-1_4_0-released.md
├── 2024-04-30-ion-js-5_2_1-released.md
├── 2024-05-09-ion-java-1_11_8-released.md
├── 2024-05-31-ion-rust-1_0_0-rc_4-released.md
├── 2024-06-03-ion-rust-1_0_0-rc_5-released.md
├── 2024-06-06-ion-cli-0_6_0-released.md
├── 2024-06-06-ion-go-1_5_0-released.md
├── 2024-06-06-ion-rust-1_0_0-rc_6-released.md
├── 2024-06-07-ion-cli-0_6_1-released.md
├── 2024-06-11-ion-intellij-plugin-2_6_1-released.md
├── 2024-07-03-ion-java-1_11_9-released.md
├── 2024-07-30-ion-c-1_1_3-released.md
├── 2024-08-23-ion-rust-1_0_0-rc_7-released.md
├── 2024-08-23-ion-schema-rust-0_12_0-released.md
├── 2024-08-26-ion-cli-0_7_0-released.md
├── 2024-09-19-ion-element-kotlin-1_3_0-released.md
├── 2024-09-19-ion-java-path-extraction-1_4_0-released.md
├── 2024-09-23-ion-schema-rust-0_13_0-released.md
├── 2024-10-07-ion-intellij-plugin-2_7_0-released.md
├── 2024-10-14-ion-rust-1_0_0-rc_8-released.md
├── 2024-10-15-ion-schema-rust-0_14_0-released.md
├── 2024-10-21-ion-cli-0_7_1-released.md
├── 2024-10-28-ion-cli-0_8_0-released.md
├── 2024-10-28-ion-schema-rust-0_14_1-released.md
├── 2024-11-05-ion-cli-0_9_0-released.md
├── 2024-11-06-ion-cli-0_9_1-released.md
├── 2024-11-06-ion-rust-1_0_0-rc_9-released.md
├── 2024-11-12-ion-python-0_13_0-released.md
├── 2024-11-14-ion-python-0_13_0-released.md
├── 2024-11-18-ion-python-0_13_0-released.md
├── 2024-12-07-ion-python-0_13_0-released.md
├── 2024-12-13-ion-rust-1_0_0-rc_10-released.md
├── 2024-12-13-ion-schema-rust-0_15_0-released.md
├── 2024-12-14-ion-cli-0_10_0-released.md
├── 2025-01-09-ion-java-path-extraction-_1_5_0-released.md
├── 2025-01-09-ion-rust-1_0_0-rc_11-released.md
├── 2025-01-10-ion-cli-0_11_0-released.md
├── 2025-01-23-ion-java-1_11_10-released.md
├── 2025-02-05-ion-dotnet-1_3_1-released.md
├── 2025-02-26-ion-1_1-final-comment-period.md
└── 2025-03-12-ion-1_1-final-comment-period-closed.md
├── _sass
├── _base.scss
├── _github-highlight.scss
├── _layout.scss
└── ionstyle.scss
├── _scripts
└── generate_release_news.sh
├── assets
├── favicon.ico
├── ion-bundle.min.js
├── ion-widget.js
└── main.scss
├── docs.md
├── docs
├── binary.md
├── catalog.md
├── decimal.md
├── float.md
├── glossary.md
├── spec.md
├── stringclob.md
├── symbols.md
└── text.md
├── grammar
└── IonText.g4.txt
├── guides
├── cookbook.md
├── path-extractor-guide.md
├── symbols-guide.md
└── why.md
├── help.md
├── index.md
├── libs.md
├── news.md
├── pom.xml
└── test
└── IonGrammarTestCase.java
/.github/workflows/deploy.yml:
--------------------------------------------------------------------------------
1 | name: deploy
2 |
3 | permissions:
4 | id-token: write
5 | pages: write
6 |
7 | on:
8 | # Allow manual starting of this workflow, including using `gh workflow run` in the release news workflow
9 | workflow_dispatch:
10 | push:
11 | branches: [ gh-pages ]
12 |
13 | jobs:
14 | # Build job
15 | build:
16 | runs-on: ubuntu-latest
17 | steps:
18 | - name: Checkout
19 | uses: actions/checkout@v4
20 |
21 | - name: Setup Ruby
22 | uses: ruby/setup-ruby@v1
23 |
24 | - name: Rust Toolchain
25 | uses: actions-rs/toolchain@v1
26 | with:
27 | profile: minimal
28 | toolchain: stable
29 | components: rustfmt, clippy
30 | override: true
31 |
32 | - name: Install MdBook
33 | uses: actions-rs/cargo@v1
34 | with:
35 | command: install
36 | # --locked is necessary until https://github.com/mattico/elasticlunr-rs/pull/57
37 | # But it probably doesn't hurt in any case
38 | args: mdbook --no-default-features --features search --vers "^0.4" --locked
39 |
40 | - name: Install MdBook-alerts
41 | uses: actions-rs/cargo@v1
42 | with:
43 | command: install
44 | args: mdbook-alerts --locked
45 |
46 | - name: Build
47 | run: |
48 | bundle install
49 | bundle exec jekyll build
50 |
51 | - name: Upload artifact
52 | uses: actions/upload-pages-artifact@v3
53 |
54 | # Deployment job
55 | deploy:
56 | environment:
57 | name: github-pages
58 | url: ${{steps.deployment.outputs.page_url}}
59 | runs-on: ubuntu-latest
60 | needs: build
61 | steps:
62 | - name: Deploy to GitHub Pages
63 | id: deployment
64 | uses: actions/deploy-pages@v4
65 |
--------------------------------------------------------------------------------
/.github/workflows/main.yml:
--------------------------------------------------------------------------------
1 | name: build
2 |
3 | on:
4 | push:
5 | branches: [ gh-pages ]
6 | pull_request:
7 | branches: [ gh-pages ]
8 |
9 | jobs:
10 | test:
11 | runs-on: ubuntu-latest
12 | strategy:
13 | matrix:
14 | java: [11]
15 | steps:
16 | - uses: actions/checkout@v2
17 | with:
18 | submodules: recursive
19 | - name: Use java ${{ matrix.java }}
20 | uses: actions/setup-java@v2
21 | with:
22 | distribution: 'zulu'
23 | java-version: ${{ matrix.java }}
24 | - run: mvn verify
25 |
--------------------------------------------------------------------------------
/.github/workflows/release-news.yml:
--------------------------------------------------------------------------------
1 | name: Release News Workflow
2 |
3 | on:
4 | # Allow manually starting the workflow incase we need human intervention.
5 | workflow_dispatch:
6 |
7 | # Runs at 08:17 UTC / 00:17 PST / 01:17 PDT
8 | # 17 is an arbitrarily chosen to avoid running the workflow during the peak at the beginning of the hour
9 | schedule:
10 | - cron: '17 8 * * *'
11 |
12 | permissions: write-all
13 |
14 | jobs:
15 | generate_news_items:
16 | # If this is running in a fork, only run if manually dispatched.
17 | if: github.repository == 'amazon-ion/ion-docs' || github.event_name == 'workflow_dispatch'
18 | runs-on: ubuntu-latest
19 | steps:
20 | - uses: actions/checkout@v2
21 | - name: Generate News Posts
22 | id: generate_news
23 | shell: bash
24 | env:
25 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
26 | run: |
27 | ./_scripts/generate_release_news.sh
28 |
29 | - name: Commit and Push Changes
30 | if: ${{ steps.generate_news.outputs.changes > 0 }}
31 | run: |
32 | git config user.name github-actions
33 | git config user.email github-actions@github.com
34 | git commit -m "${{ steps.generate_news.outputs.generated_commit_message }}"
35 | git push
36 |
37 | - name: Deploy Changes
38 | if: ${{ steps.generate_news.outputs.changes > 0 }}
39 | # If you use the GITHUB_TOKEN to push code, it won't trigger any on-push
40 | # workflows, so we manually the workflow here.
41 | # We can't just call the workflow directly because we need the workflow to run
42 | # on the new commit, not the GITHUB_REF for this workflow.
43 | env:
44 | GH_TOKEN: ${{ github.token }}
45 | run: |
46 | gh workflow run .github/workflows/deploy.yml -R "${{ github.repository }}"
47 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Created by https://www.gitignore.io/api/vim,jekyll,visualstudiocode
2 |
3 | ### Jekyll ###
4 | _site/
5 | .sass-cache/
6 | .jekyll-cache/
7 | .jekyll-metadata
8 |
9 | ### Vim ###
10 | # swap
11 | .sw[a-p]
12 | .*.sw[a-p]
13 | # session
14 | Session.vim
15 | # temporary
16 | .netrwhist
17 | *~
18 | # auto-generated tag files
19 | tags
20 |
21 | ### VisualStudioCode ###
22 | .vscode/*
23 | !.vscode/tasks.json
24 | !.vscode/launch.json
25 | !.vscode/extensions.json
26 | .history
27 |
28 | ### Java Builds (to test grammar) copy the grammar to here
29 | grammar/IonText.g4
30 |
31 | ### `mdbook` build target
32 | _books/**/book/
33 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "ion-tests"]
2 | path = ion-tests
3 | url = https://github.com/amazon-ion/ion-tests.git
4 |
--------------------------------------------------------------------------------
/.ruby-version:
--------------------------------------------------------------------------------
1 | 3.2.3
2 |
--------------------------------------------------------------------------------
/Gemfile:
--------------------------------------------------------------------------------
1 | # frozen_string_literal: true
2 |
3 | source "https://rubygems.org"
4 | ruby RUBY_VERSION
5 |
6 | git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
7 |
8 | # Hello! This is where you manage which Jekyll version is used to run.
9 | # When you want to use a different version, change it below, save the
10 | # file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
11 | #
12 | # bundle exec jekyll serve
13 |
14 | gem "jekyll", group: :jekyll_plugins
15 | gem "jekyll-redirect-from"
16 | gem "kramdown-parser-gfm"
17 |
--------------------------------------------------------------------------------
/Gemfile.lock:
--------------------------------------------------------------------------------
1 | GEM
2 | remote: https://rubygems.org/
3 | specs:
4 | addressable (2.8.7)
5 | public_suffix (>= 2.0.2, < 7.0)
6 | colorator (1.1.0)
7 | concurrent-ruby (1.3.4)
8 | csv (3.3.0)
9 | em-websocket (0.5.3)
10 | eventmachine (>= 0.12.9)
11 | http_parser.rb (~> 0)
12 | eventmachine (1.2.7)
13 | ffi (1.17.0-arm64-darwin)
14 | ffi (1.17.0-x86_64-linux-gnu)
15 | forwardable-extended (2.6.0)
16 | http_parser.rb (0.8.0)
17 | i18n (1.14.5)
18 | concurrent-ruby (~> 1.0)
19 | jekyll (3.10.0)
20 | addressable (~> 2.4)
21 | colorator (~> 1.0)
22 | csv (~> 3.0)
23 | em-websocket (~> 0.5)
24 | i18n (>= 0.7, < 2)
25 | jekyll-sass-converter (~> 1.0)
26 | jekyll-watch (~> 2.0)
27 | kramdown (>= 1.17, < 3)
28 | liquid (~> 4.0)
29 | mercenary (~> 0.3.3)
30 | pathutil (~> 0.9)
31 | rouge (>= 1.7, < 4)
32 | safe_yaml (~> 1.0)
33 | webrick (>= 1.0)
34 | jekyll-redirect-from (0.16.0)
35 | jekyll (>= 3.3, < 5.0)
36 | jekyll-sass-converter (1.5.2)
37 | sass (~> 3.4)
38 | jekyll-watch (2.2.1)
39 | listen (~> 3.0)
40 | kramdown (2.4.0)
41 | rexml
42 | kramdown-parser-gfm (1.1.0)
43 | kramdown (~> 2.0)
44 | liquid (4.0.4)
45 | listen (3.9.0)
46 | rb-fsevent (~> 0.10, >= 0.10.3)
47 | rb-inotify (~> 0.9, >= 0.9.10)
48 | mercenary (0.3.6)
49 | pathutil (0.16.2)
50 | forwardable-extended (~> 2.6)
51 | public_suffix (5.1.1)
52 | rb-fsevent (0.11.2)
53 | rb-inotify (0.11.1)
54 | ffi (~> 1.0)
55 | rexml (3.3.9)
56 | rouge (3.30.0)
57 | safe_yaml (1.0.5)
58 | sass (3.7.4)
59 | sass-listen (~> 4.0.0)
60 | sass-listen (4.0.0)
61 | rb-fsevent (~> 0.9, >= 0.9.4)
62 | rb-inotify (~> 0.9, >= 0.9.7)
63 | webrick (1.8.2)
64 |
65 | PLATFORMS
66 | arm64-darwin-22
67 | x86_64-linux
68 |
69 | DEPENDENCIES
70 | jekyll
71 | jekyll-redirect-from
72 | kramdown-parser-gfm
73 |
74 | RUBY VERSION
75 | ruby 3.2.3p157
76 |
77 | BUNDLED WITH
78 | 2.4.19
79 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # ion-docs
2 |
3 | This repository contains the content behind https://amazon-ion.github.io/ion-docs/, including the Ion specification, documentation, and news. Feel free to ask questions and propose clarifications, and we'll do our best to respond in a timely fashion.
4 |
5 | ## Development
6 |
7 | To test locally, you must have [Ruby](https://www.ruby-lang.org/en/documentation/installation/),
8 | [Bundler](https://bundler.io/), [mdbook](https://rust-lang.github.io/mdBook/guide/installation.html),
9 | and [mdbook-alerts](https://crates.io/crates/mdbook-alerts#user-content-usage) installed.
10 |
11 | In the project root directory, run:
12 | ```shell
13 | bundle exec jekyll serve
14 | ```
15 |
16 | You can now view the GitHub pages site in your favorite browser, served from your computer.
17 |
18 | For full information about testing GitHub pages sites locally, see the [official documentation](https://docs.github.com/en/pages/setting-up-a-github-pages-site-with-jekyll/testing-your-github-pages-site-locally-with-jekyll) on GitHub.
19 |
--------------------------------------------------------------------------------
/_books/ion-1-1/book.toml:
--------------------------------------------------------------------------------
1 | [book]
2 | authors = ["The Ion Team"]
3 | language = "en"
4 | multilingual = false
5 | src = "src"
6 | title = "The Ion 1.1 Draft Specification"
7 | default-theme = "light"
8 |
9 | [output.html.fold]
10 | # Makes the sections in navigation pane collapsable.
11 | enable = true
12 | # By default, 1 level of depth below the current viewing level is expanded.
13 | level = 1
14 |
15 | # Enables the `mdbook-alerts` preprocessor, which can be installed with
16 | # cargo install mdbook-alerts
17 | [preprocessor.alerts]
18 |
--------------------------------------------------------------------------------
/_books/ion-1-1/src/SUMMARY.md:
--------------------------------------------------------------------------------
1 | # Ion 1.1
2 |
3 | - [Introduction](./introduction.md)
4 | - [What's new](./whats_new.md)
5 | - [Macros](macros.md)
6 | - [Macros by example](macros/macros_by_example.md)
7 | - [Defining macros](macros/defining_macros.md)
8 | - [Special forms](macros/special_forms.md)
9 | - [System macros](macros/system_macros.md)
10 | - [Modules](modules.md)
11 | - [Defining modules](modules/defining_modules.md)
12 | - [Directives](modules/directives.md)
13 | - [Local modules](modules/local_modules.md)
14 | - [Encoding modules](modules/encoding_modules.md)
15 | - [System module](modules/system_module.md)
16 | - [Shared modules](modules/shared_modules.md)
17 | - [Text encoding](text/encoding.md)
18 | - [Values](text/values.md)
19 | - [E-expressions](text/e_expressions.md)
20 | - [Symbol tokens](text/symbol-tokens.md)
21 | - [Escape characters](text/escape-characters.md)
22 | - [Binary encoding](binary/encoding.md)
23 | - [Encoding primitives](binary/primitives.md)
24 | - [`FlexUInt`](binary/primitives/flex_uint.md)
25 | - [`FlexInt`](binary/primitives/flex_int.md)
26 | - [`FixedUInt`](binary/primitives/fixed_uint.md)
27 | - [`FixedInt`](binary/primitives/fixed_int.md)
28 | - [`FlexSym`](binary/primitives/flex_sym.md)
29 | - [Opcodes](binary/opcodes.md)
30 | - [Values](binary/values.md)
31 | * [null](binary/values/null.md)
32 | * [bool](binary/values/bool.md)
33 | * [int](binary/values/int.md)
34 | * [float](binary/values/float.md)
35 | * [decimal](binary/values/decimal.md)
36 | * [timestamp](binary/values/timestamp.md)
37 | * [string](binary/values/string.md)
38 | * [symbol](binary/values/symbol.md)
39 | * [blob](binary/values/blob.md)
40 | * [clob](binary/values/clob.md)
41 | * [list](binary/values/list.md)
42 | * [sexp](binary/values/sexp.md)
43 | * [struct](binary/values/struct.md)
44 | - [E-expressions](binary/e_expressions.md)
45 | - [Annotations](binary/annotations.md)
46 | - [NOP](binary/nop.md)
47 | - [Security considerations](security-considerations.md)
48 | - [Grammar](grammar.md)
49 | - [Glossary](glossary.md)
50 |
56 | - [TODO](todo.md)
57 |
--------------------------------------------------------------------------------
/_books/ion-1-1/src/binary/encoding.md:
--------------------------------------------------------------------------------
1 | # Ion 1.1 Binary Encoding
2 |
3 | A binary Ion stream consists of an [_Ion version marker_](../glossary.md) followed by a series of
4 | [value literals](values.md) and/or [encoding expressions](e_expressions.md).
5 |
6 | Both value literals and e-expressions begin with an [opcode](opcodes.md) that indicates
7 | what the next expression represents and how the bytes that follow should be interpreted.
--------------------------------------------------------------------------------
/_books/ion-1-1/src/binary/nop.md:
--------------------------------------------------------------------------------
1 | ## `NOP`s
2 |
3 | A `NOP` (short for "no-operation") is the binary equivalent of whitespace. `NOP` bytes have no meaning,
4 | but can be used as padding to achieve a desired alignment.
5 |
6 | An opcode of `0xEC` indicates a single-byte `NOP` pad. An opcode of `0xED` indicates that a
7 | [`FlexUInt`](primitives/flex_uint.md) follows that represents the number of additional bytes to skip.
8 |
9 | It is legal for a `NOP` to appear anywhere that a [value](values.md) can be encoded. It is not legal for a `NOP` to appear in
10 | annotation sequences or struct field names. If a `NOP` appears in place of a struct field _value_, then the associated
11 | field name is ignored; the `NOP` is immediately followed by the next field name, if any.
12 |
13 | ##### Encoding of a 1-byte NOP
14 | ```
15 | ┌──── The opcode `0xEC` represents a 1-byte NOP pad
16 | │
17 | EC
18 | ```
19 |
20 | ##### Encoding of a 3-byte NOP
21 | ```
22 | ┌──── The opcode `0xED` represents a variable-length NOP pad; a FlexUInt length follows
23 | │ ┌──── Length: FlexUInt 2; two more bytes of NOP follow
24 | │ │
25 | ED 05 93 C6
26 | └─┬─┘
27 | NOP bytes, values ignored
28 | ```
29 |
--------------------------------------------------------------------------------
/_books/ion-1-1/src/binary/primitives.md:
--------------------------------------------------------------------------------
1 | # Primitives
2 | This section describes Ion 1.1's binary _encoding primitives_—reusable building blocks
3 | that can be combined to represent more complex constructs.
4 |
5 | | Name | Type | Width |
6 | |-----------------------------------------|----------|---------------------------|
7 | | [`FixedUInt`](primitives/fixed_uint.md) | `int` | Determined by context |
8 | | [`FixedInt`](primitives/fixed_int.md) | `int` | Determined by context |
9 | | [`FlexUInt`](primitives/flex_uint.md) | `int` | Variable, self-delimiting |
10 | | [`FlexInt`](primitives/flex_int.md) | `int` | Variable, self-delimiting |
11 | | [`FlexSym`](primitives/flex_sym.md) | `symbol` | Variable, self-delimiting |
--------------------------------------------------------------------------------
/_books/ion-1-1/src/binary/primitives/fixed_int.md:
--------------------------------------------------------------------------------
1 | ## `FixedInt`
2 |
3 | A fixed-width, little-endian, signed integer whose length is known from the context in which it appears. Its bytes
4 | are interpreted as two's complement.
5 |
6 | #### `FixedInt` encoding of `-3,954,261`
7 | ```
8 |
9 | 1 0 1 0 1 0 1 1 1 0 1 0 1 0 0 1 1 1 0 0 0 0 1 1
10 | └──────┬──────┘ └──────┬──────┘ └──────┬──────┘
11 | lowest 8 bits next 8 bits of highest 8 bits
12 | of the 2's the 2's comp. of the 2's comp.
13 | comp. integer integer integer
14 | ```
15 |
--------------------------------------------------------------------------------
/_books/ion-1-1/src/binary/primitives/fixed_uint.md:
--------------------------------------------------------------------------------
1 | ## `FixedUInt`
2 |
3 | A fixed-width, little-endian, unsigned integer whose length is inferred from the context in which it appears.
4 |
5 | #### `FixedUInt` encoding of `3,954,261`
6 | ```
7 |
8 | 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 0 0 0 1 1 1 1 0 0
9 | └──────┬──────┘ └──────┬──────┘ └──────┬──────┘
10 | lowest 8 bits next 8 bits of highest 8 bits
11 | of the unsigned the unsigned of the unsigned
12 | integer integer integer
13 | ```
--------------------------------------------------------------------------------
/_books/ion-1-1/src/binary/primitives/flex_int.md:
--------------------------------------------------------------------------------
1 | ## `FlexInt`
2 | A variable-length signed integer.
3 |
4 | From an encoding perspective, `FlexInt`s are structurally similar to a [`FlexUInt`](flex_uint.md). Both
5 | encode their bytes using little-endian byte order, and both use the count of least-significant zero bits to indicate
6 | how many bytes were used to encode the integer. They differ in the _interpretation_ of their bits; while a
7 | `FlexUInt`'s bits are unsigned, a `FlexInt`'s bits are encoded using
8 | [two's complement notation](https://en.wikipedia.org/wiki/Two%27s_complement).
9 |
10 | > [!Tip]
11 | > An implementation could choose to read a `FlexInt` by instead reading a `FlexUInt` and then reinterpreting its bits
12 | > as two's complement.
13 |
14 | #### `FlexInt` encoding of `14`
15 | ```
16 | ┌──── Lowest bit is 1 (end), indicating
17 | │ this is the only byte.
18 | 0 0 0 1 1 1 0 1
19 | └─────┬─────┘
20 | 2's comp. 14
21 | ```
22 |
23 | #### `FlexInt` encoding of `-14`
24 | ```
25 | ┌──── Lowest bit is 1 (end), indicating
26 | │ this is the only byte.
27 | 1 1 1 0 0 1 0 1
28 | └─────┬─────┘
29 | 2's comp. -14
30 | ```
31 |
32 | #### `FlexInt` encoding of `729`
33 | ```
34 | ┌──── There's 1 zero in the least significant bits, so this
35 | │ integer is two bytes wide.
36 | ┌┴┐
37 | 0 1 1 0 0 1 1 0 0 0 0 0 1 0 1 1
38 | └────┬────┘ └──────┬──────┘
39 | lowest 6 bits highest 8 bits
40 | of the 2's of the 2's
41 | comp. integer comp. integer
42 | ```
43 |
44 | #### `FlexInt` encoding of `-729`
45 | ```
46 | ┌──── There's 1 zero in the least significant bits, so this
47 | │ integer is two bytes wide.
48 | ┌┴┐
49 | 1 0 0 1 1 1 1 0 1 1 1 1 0 1 0 0
50 | └────┬────┘ └──────┬──────┘
51 | lowest 6 bits highest 8 bits
52 | of the 2's of the 2's
53 | comp. integer comp. integer
54 | ```
--------------------------------------------------------------------------------
/_books/ion-1-1/src/binary/primitives/flex_uint.md:
--------------------------------------------------------------------------------
1 | ## `FlexUInt`
2 |
3 | A variable-length unsigned integer.
4 |
5 | The bytes of a `FlexUInt` are written in
6 | [little-endian byte order](https://en.wikipedia.org/wiki/Endianness). This means that the first bytes will contain
7 | the `FlexUInt`'s least significant bits.
8 |
9 | The least significant bits in the `FlexUInt` indicate the number of bytes that were used to encode the integer.
10 | If a `FlexUInt` is `N` bytes long, its `N-1` least significant bits will be `0`; a terminal `1` bit will be
11 | in the next most significant position.
12 |
13 | All bits that are more significant than the terminal `1` represent the magnitude of the `FlexUInt`.
14 |
15 | #### `FlexUInt` encoding of `14`
16 | ```
17 | ┌──── Lowest bit is 1 (end), indicating
18 | │ this is the only byte.
19 | 0 0 0 1 1 1 0 1
20 | └─────┬─────┘
21 | unsigned int 14
22 | ```
23 |
24 | #### `FlexUInt` encoding of `729`
25 | ```
26 | ┌──── There's 1 zero in the least significant bits, so this
27 | │ integer is two bytes wide.
28 | ┌┴┐
29 | 0 1 1 0 0 1 1 0 0 0 0 0 1 0 1 1
30 | └────┬────┘ └──────┬──────┘
31 | lowest 6 bits highest 8 bits
32 | of the unsigned of the unsigned
33 | integer integer
34 | ```
35 |
36 | #### `FlexUInt` encoding of `21,043`
37 | ```
38 | ┌───── There are 2 zeros in the least significant bits, so this
39 | │ integer is three bytes wide.
40 | ┌─┴─┐
41 | 1 0 0 1 1 1 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0
42 | └───┬───┘ └──────┬──────┘ └──────┬──────┘
43 | lowest 6 bits next 8 bits of highest 8 bits
44 | of the unsigned the unsigned of the unsigned
45 | integer integer integer
46 | ```
47 |
--------------------------------------------------------------------------------
/_books/ion-1-1/src/binary/values.md:
--------------------------------------------------------------------------------
1 | # Values
2 | * [null](values/null.md)
3 | * [bool](values/bool.md)
4 | * [int](values/int.md)
5 | * [float](values/float.md)
6 | * [decimal](values/decimal.md)
7 | * [timestamp](values/timestamp.md)
8 | * [string](values/string.md)
9 | * [symbol](values/symbol.md)
10 | * [blob](values/lob.md#blobs)
11 | * [clob](values/lob.md#clobs)
12 | * [list](values/list.md)
13 | * [sexp](values/sexp.md)
14 | * [struct](values/struct.md)
--------------------------------------------------------------------------------
/_books/ion-1-1/src/binary/values/blob.md:
--------------------------------------------------------------------------------
1 | ## Blobs
2 |
3 | Opcode `FE` indicates a blob of binary data. A `FlexUInt` follows that represents the blob's byte-length.
4 |
5 | `0xEB x07` represents `null.blob`.
6 |
7 | ### Example `blob` encoding
8 | ```
9 | ┌──── Opcode FE indicates a blob, FlexUInt length follows
10 | │ ┌─── Length: FlexUInt 24
11 | │ │
12 | FE 31 49 20 61 70 70 6c 61 75 64 20 79 6f 75 72 20 63 75 72 69 6f 73 69 74 79
13 | └────────────────────────────────┬────────────────────────────────────┘
14 | 24 bytes of binary data
15 | ```
16 |
17 | ### Encoding of `null.blob`
18 | ```
19 | ┌──── Opcode 0xEB indicates a typed null; a byte follows specifying the type
20 | │ ┌─── Null type: blob
21 | │ │
22 | EB 07
23 | ```
24 |
--------------------------------------------------------------------------------
/_books/ion-1-1/src/binary/values/bool.md:
--------------------------------------------------------------------------------
1 | ## Booleans
2 |
3 | `0x6E` represents boolean `true`, while `0x6F` represents boolean `false`.
4 |
5 | `0xEB 0x00` represents `null.bool`.
6 |
7 | ##### Encoding of boolean `true`
8 | ```
9 | 6E
10 | ```
11 |
12 | ##### Encoding of boolean `false`
13 | ```
14 | 6F
15 | ```
16 |
17 | ##### Encoding of `null.bool`
18 | ```
19 | ┌──── Opcode 0xEB indicates a typed null; a byte follows specifying the type
20 | │ ┌─── Null type: boolean
21 | │ │
22 | EB 00
23 | ```
--------------------------------------------------------------------------------
/_books/ion-1-1/src/binary/values/clob.md:
--------------------------------------------------------------------------------
1 | ## Clobs
2 |
3 | Opcode `FF` indicates a clob--binary character data of an unspecified encoding. A `FlexUInt` follows that represents
4 | the clob's byte-length.
5 |
6 | `0xEB x08` represents `null.clob`.
7 |
8 | ### Example `clob` encoding
9 | ```
10 | ┌──── Opcode FF indicates a clob, FlexUInt length follows
11 | │ ┌─── Length: FlexUInt 24
12 | │ │
13 | FF 31 49 20 61 70 70 6c 61 75 64 20 79 6f 75 72 20 63 75 72 69 6f 73 69 74 79
14 | └────────────────────────────────┬────────────────────────────────────┘
15 | 24 bytes of binary data
16 | ```
17 |
18 | ### Encoding of `null.clob`
19 | ```
20 | ┌──── Opcode 0xEB indicates a typed null; a byte follows specifying the type
21 | │ ┌─── Null type: clob
22 | │ │
23 | EB 08
24 | ```
25 |
--------------------------------------------------------------------------------
/_books/ion-1-1/src/binary/values/decimal.md:
--------------------------------------------------------------------------------
1 | ## Decimals
2 |
3 | If an opcode has a high nibble of `0x7_`, it represents a decimal. Low nibble values indicate
4 | the number of trailing bytes used to encode the decimal.
5 |
6 | The body of the decimal is encoded as a [`FlexInt`](../primitives/flex_int.md) representing its exponent, followed by a `FixedInt`
7 | representing its coefficient. The width of the coefficient is the total length of the decimal encoding minus the length
8 | of the exponent. It is possible for the coefficient to have a width of zero, indicating a coefficient of `0`. When
9 | the coefficient is present but has a value of `0`, the coefficient is `-0`.
10 |
11 | Decimal values that require more than 15 bytes can be encoded using the variable-length decimal opcode: `0xF7`.
12 |
13 | `0xEB 0x03` represents `null.decimal`.
14 |
15 | ##### Encoding of decimal `0d0`
16 | ```
17 | ┌──── Opcode in range 70-7F indicates a decimal
18 | │┌─── Low nibble 0 indicates a zero-byte
19 | ││ decimal; 0d0
20 | 70
21 | ```
22 |
23 | ##### Encoding of decimal `7d0`
24 | ```
25 | ┌──── Opcode in range 70-7F indicates a decimal
26 | │┌─── Low nibble 2 indicates a 2-byte decimal
27 | ││
28 | 72 01 07
29 | | └─── Coefficient: 1-byte FixedInt 7
30 | └─── Exponent: FlexInt 0
31 | ```
32 |
33 | ##### Encoding of decimal `1.27`
34 | ```
35 | ┌──── Opcode in range 70-7F indicates a decimal
36 | │┌─── Low nibble 2 indicates a 2-byte decimal
37 | ││
38 | 72 FD 7F
39 | | └─── Coefficient: FixedInt 127
40 | └─── Exponent: 1-byte FlexInt -2
41 | ```
42 |
43 | ##### Variable-length encoding of decimal `1.27`
44 | ```
45 | ┌──── Opcode F7 indicates a variable-length decimal
46 | │
47 | F7 05 FD 7F
48 | | | └─── Coefficient: FixedInt 127
49 | | └───── Exponent: 1-byte FlexInt -2
50 | └─────── Decimal length: FlexUInt 2
51 | ```
52 |
53 | ##### Encoding of `0d3`, which has a coefficient of zero
54 | ```
55 | ┌──── Opcode in range 70-7F indicates a decimal
56 | │┌─── Low nibble 1 indicates a 1-byte decimal
57 | ││
58 | 71 07
59 | └────── Exponent: FlexInt 3; no more bytes follow, so the coefficient is implicitly 0
60 | ```
61 |
62 | ##### Encoding of `-0d3`, which has a coefficient of negative zero
63 | ```
64 | ┌──── Opcode in range 70-7F indicates a decimal
65 | │┌─── Low nibble 2 indicates a 2-byte decimal
66 | ││
67 | 72 07 00
68 | | └─── Coefficient: 1-byte FixedInt 0, indicating a coefficient of -0
69 | └────── Exponent: FlexInt 3
70 | ```
71 |
72 | ##### Encoding of `null.decimal`
73 | ```
74 | ┌──── Opcode 0xEB indicates a typed null; a byte follows specifying the type
75 | │ ┌─── Null type: decimal
76 | │ │
77 | EB 03
78 | ```
--------------------------------------------------------------------------------
/_books/ion-1-1/src/binary/values/float.md:
--------------------------------------------------------------------------------
1 | ## Floats
2 |
3 | Float values are encoded using the IEEE-754 specification in little-endian byte order. Floats can be serialized in
4 | four sizes:
5 |
6 | * 0 bits (0 bytes), representing the value 0e0 and indicated by opcode `0x6A`
7 | * 16 bits (2 bytes in little-endian order, [half-precision](https://en.wikipedia.org/wiki/Half-precision_floating-point_format)),
8 | indicated by opcode `0x6B`
9 | * 32 bits (4 bytes in little-endian order, [single precision](https://en.wikipedia.org/wiki/Single-precision_floating-point_format)),
10 | indicated by opcode `0x6C`
11 | * 64 bits (8 bytes in little-endian order, [double precision](https://en.wikipedia.org/wiki/Double-precision_floating-point_format)),
12 | indicated by opcode `0x6D`
13 |
14 | > [!NOTE]
15 | > In the Ion data model, float values are always 64 bits. However, if a value can be losslessly serialized
16 | > in fewer than 64 bits, Ion implementations may choose to do so.
17 |
18 | `0xEB 0x02` represents `null.float`.
19 |
20 | ##### Encoding of float `0e0`
21 | ```
22 | ┌──── Opcode in range 6A-6D indicates a float
23 | │┌─── Low nibble A indicates
24 | ││ a 0-length float; 0e0
25 | 6A
26 | ```
27 |
28 | ##### Encoding of float `3.14e0`
29 | ```
30 | ┌──── Opcode in range 6A-6D indicates a float
31 | │┌─── Low nibble B indicates a 2-byte float
32 | ││
33 | 6B 47 42
34 | └─┬─┘
35 | half-precision 3.14
36 | ```
37 |
38 | ##### Encoding of float `3.1415927e0`
39 | ```
40 | ┌──── Opcode in range 6A-6D indicates a float
41 | │┌─── Low nibble C indicates a 4-byte,
42 | ││ single-precision value.
43 | 6C DB 0F 49 40
44 | └────┬────┘
45 | single-precision 3.1415927
46 | ```
47 |
48 | ##### Encoding of float `3.141592653589793e0`
49 | ```
50 | ┌──── Opcode in range 6A-6D indicates a float
51 | │┌─── Low nibble D indicates an 8-byte,
52 | ││ double-precision value.
53 | 6D 18 2D 44 54 FB 21 09 40
54 | └──────────┬──────────┘
55 | double-precision 3.141592653589793
56 | ```
57 |
58 | ##### Encoding of `null.float`
59 | ```
60 | ┌──── Opcode 0xEB indicates a typed null; a byte follows specifying the type
61 | │ ┌─── Null type: float
62 | │ │
63 | EB 02
64 | ```
--------------------------------------------------------------------------------
/_books/ion-1-1/src/binary/values/int.md:
--------------------------------------------------------------------------------
1 | ## Integers
2 |
3 | Opcodes in the range `0x60` to `0x68` represent an integer. The opcode is followed by a [`FixedInt`](../primitives/fixed_int.md) that
4 | represents the integer value. The low nibble of the opcode (`0x_0` to `0x_8`) indicates the size of the `FixedInt`.
5 | Opcode `0x60` represents integer `0`; no more bytes follow.
6 |
7 | Integers that require more than 8 bytes are encoded using the variable-length integer opcode `0xF6`,
8 | followed by a [`FlexUInt`](../primitives/flex_uint.md) indicating how many bytes of representation data follow.
9 |
10 | `0xEB 0x01` represents `null.int`.
11 |
12 | ##### Encoding of integer `0`
13 | ```
14 | ┌──── Opcode in 60-68 range indicates integer
15 | │┌─── Low nibble 0 indicates
16 | ││ no more bytes follow.
17 | 60
18 | ```
19 |
20 | ##### Encoding of integer `17`
21 | ```
22 | ┌──── Opcode in 60-68 range indicates integer
23 | │┌─── Low nibble 1 indicates
24 | ││ a single byte follows.
25 | 61 11
26 | └── FixedInt 17
27 | ```
28 |
29 | ##### Encoding of integer `-944`
30 | ```
31 | ┌──── Opcode in 60-68 range indicates integer
32 | │┌─── Low nibble 2 indicates
33 | ││ that two bytes follow.
34 | 62 50 FC
35 | └─┬─┘
36 | FixedInt -944
37 | ```
38 |
39 | ##### Encoding of integer `-944`
40 | ```
41 | ┌──── Opcode F6 indicates a variable-length integer, FlexUInt length follows
42 | │ ┌─── FlexUInt 2; a 2-byte FixedInt follows
43 | │ │
44 | F6 05 50 FC
45 | └─┬─┘
46 | FixedInt -944
47 | ```
48 |
49 | ##### Encoding of `null.int`
50 | ```
51 | ┌──── Opcode 0xEB indicates a typed null; a byte follows specifying the type
52 | │ ┌─── Null type: integer
53 | │ │
54 | EB 01
55 | ```
--------------------------------------------------------------------------------
/_books/ion-1-1/src/binary/values/list.md:
--------------------------------------------------------------------------------
1 | ## Lists
2 |
3 | ##### Length-prefixed encoding
4 |
5 | An opcode with a high nibble of `0xB_` indicates a length-prefixed list. The lower nibble of the
6 | opcode indicates how many bytes were used to encode the child values that the list contains.
7 |
8 | If the list's encoded byte-length is too large to be encoded in a nibble, writers may use the `0xFB` opcode
9 | to write a variable-length list. The `0xFB` opcode is followed by a [`FlexUInt`](../primitives/flex_uint.md)
10 | that indicates the list's byte length.
11 |
12 | `0xEB 0x09` represents `null.list`.
13 |
14 | ##### Length-prefixed encoding of an empty list (`[]`)
15 | ```
16 | ┌──── An Opcode in the range 0xB0-0xBF indicates a list.
17 | │┌─── A low nibble of 0 indicates that the child values of this
18 | ││ list took zero bytes to encode.
19 | B0
20 | ```
21 |
22 | ##### Length-prefixed encoding of `[1, 2, 3]`
23 | ```
24 | ┌──── An Opcode in the range 0xB0-0xBF indicates a list.
25 | │┌─── A low nibble of 6 indicates that the child values of this
26 | ││ list took six bytes to encode.
27 | B6 61 01 61 02 61 03
28 | └─┬─┘ └─┬─┘ └─┬─┘
29 | 1 2 3
30 | ```
31 |
32 | ##### Length-prefixed encoding of `["variable length list"]`
33 | ```
34 | ┌──── Opcode 0xFB indicates a variable-length list. A FlexUInt length follows.
35 | │ ┌───── Length: FlexUInt 22
36 | │ │ ┌────── Opcode 0xF9 indicates a variable-length string. A FlexUInt length follows.
37 | │ │ │ ┌─────── Length: FlexUInt 20
38 | │ │ │ │ v a r i a b l e l e n g t h l i s t
39 | FB 2d F9 29 76 61 72 69 61 62 6c 65 20 6c 65 6e 67 74 68 20 6c 69 73 74
40 | └─────────────────────────────┬─────────────────────────────────┘
41 | Nested string element
42 | ```
43 |
44 | ##### Encoding of `null.list`
45 | ```
46 | ┌──── Opcode 0xEB indicates a typed null; a byte follows specifying the type
47 | │ ┌─── Null type: list
48 | │ │
49 | EB 09
50 | ```
51 |
52 | #### Delimited Encoding
53 |
54 | Opcode `0xF1` begins a delimited list, while opcode `0xF0` closes the most recently opened delimited container
55 | that has not yet been closed.
56 |
57 | ##### Delimited encoding of an empty list (`[]`)
58 | ```
59 | ┌──── Opcode 0xF1 indicates a delimited list
60 | │ ┌─── Opcode 0xF0 indicates the end of the most recently opened container
61 | F1 F0
62 | ```
63 |
64 | ##### Delimited encoding of `[1, 2, 3]`
65 | ```
66 | ┌──── Opcode 0xF1 indicates a delimited list
67 | │ ┌─── Opcode 0xF0 indicates the end of
68 | │ │ the most recently opened container
69 | F1 61 01 61 02 61 03 F0
70 | └─┬─┘ └─┬─┘ └─┬─┘
71 | 1 2 3
72 | ```
73 |
74 | ##### Delimited encoding of `[1, [2], 3]`
75 | ```
76 | ┌──── Opcode 0xF1 indicates a delimited list
77 | │ ┌─── Opcode 0xF1 begins a nested delimited list
78 | │ │ ┌─── Opcode 0xF0 closes the most recently
79 | │ │ │ opened delimited container: the nested list.
80 | │ │ │ ┌─── Opcode 0xF0 closes the most recently opened (and
81 | │ │ │ │ still open) delimited container: the outer list.
82 | │ │ │ │
83 | F1 61 01 F1 61 02 F0 61 03 F0
84 | └─┬─┘ └─┬─┘ └─┬─┘
85 | 1 2 3
86 | ```
87 |
88 |
--------------------------------------------------------------------------------
/_books/ion-1-1/src/binary/values/null.md:
--------------------------------------------------------------------------------
1 | ## Nulls
2 |
3 | The opcode `0xEA` indicates an untyped null (that is: `null`, or its alias `null.null`).
4 |
5 | The opcode `0xEB` indicates a typed null; a byte follows whose value represents an offset into the following table:
6 |
7 |
8 | | Byte | Type |
9 | |--------|------------------|
10 | | `0x00` | `null.bool` |
11 | | `0x01` | `null.int` |
12 | | `0x02` | `null.float` |
13 | | `0x03` | `null.decimal` |
14 | | `0x04` | `null.timestamp` |
15 | | `0x05` | `null.string` |
16 | | `0x06` | `null.symbol` |
17 | | `0x07` | `null.blob` |
18 | | `0x08` | `null.clob` |
19 | | `0x09` | `null.list` |
20 | | `0x0A` | `null.sexp` |
21 | | `0x0B` | `null.struct` |
22 |
23 | All other byte values are reserved for future use.
24 |
25 | #### Encoding of `null`
26 | ```
27 | ┌──── The opcode `0xEA` represents a null (null.null)
28 | EA
29 | ```
30 |
31 | #### Encoding of `null.string`
32 | ```
33 | ┌──── The opcode `0xEB` indicates a typed null; a byte indicating the type follows
34 | │ ┌──── Byte 0x05 indicates the type `string`
35 | EB 05
36 | ```
37 |
--------------------------------------------------------------------------------
/_books/ion-1-1/src/binary/values/sexp.md:
--------------------------------------------------------------------------------
1 | ## S-Expressions
2 |
3 | S-expressions use the same encodings as [lists](list.md), but with different opcodes.
4 |
5 | | Opcode | Encoding |
6 | |---------------|------------------------------------------------------------------------------------------------------|
7 | | `0xC0`-`0xCF` | Length-prefixed S-expression; low nibble of the opcode represents the byte-length. |
8 | | `0xFC` | Variable-length prefixed S-expression; a `FlexUInt` following the opcode represents the byte-length. |
9 | | `0xF2` | Starts a delimited S-expression; `0xF0` closes the most recently opened delimited container. |
10 |
11 | `0xEB 0x0A` represents `null.sexp`.
12 |
13 | ### Length-prefixed encoding
14 |
15 | ##### Length-prefixed encoding of an empty S-expression (`()`)
16 | ```
17 | ┌──── An Opcode in the range 0xC0-0xCF indicates an S-expression.
18 | │┌─── A low nibble of 0 indicates that the child values of this S-expression
19 | ││ took zero bytes to encode.
20 | C0
21 | ```
22 |
23 | ##### Length-prefixed encoding of `(1 2 3)`
24 | ```
25 | ┌──── An Opcode in the range 0xC0-0xCF indicates an S-expression.
26 | │┌─── A low nibble of 6 indicates that the child values of this S-expression
27 | ││ took six bytes to encode.
28 | C6 61 01 61 02 61 03
29 | └─┬─┘ └─┬─┘ └─┬─┘
30 | 1 2 3
31 | ```
32 |
33 | ##### Length-prefixed encoding of `("variable length sexp")`
34 | ```
35 | ┌──── Opcode 0xFC indicates a variable-length sexp. A FlexUInt length follows.
36 | │ ┌───── Length: FlexUInt 22
37 | │ │ ┌────── Opcode 0xF9 indicates a variable-length string. A FlexUInt length follows.
38 | │ │ │ ┌─────── Length: FlexUInt 20
39 | │ │ │ │ v a r i a b l e l e n g t h s e x p
40 | FC 2D F9 29 76 61 72 69 61 62 6C 65 20 6C 65 6E 67 74 68 20 73 65 78 70
41 | └─────────────────────────────┬─────────────────────────────────┘
42 | Nested string element
43 | ```
44 |
45 |
46 | ##### Encoding of `null.sexp`
47 | ```
48 | ┌──── Opcode 0xEB indicates a typed null; a byte follows specifying the type
49 | │ ┌─── Null type: sexp
50 | │ │
51 | EB 0A
52 | ```
53 |
54 | ### Delimited encoding
55 |
56 | ##### Delimited encoding of an empty S-expression (`()`)
57 | ```
58 | ┌──── Opcode 0xF2 indicates a delimited S-expression
59 | │ ┌─── Opcode 0xF0 indicates the end of the most recently opened container
60 | F2 F0
61 | ```
62 |
63 | ##### Delimited encoding of `(1 2 3)`
64 | ```
65 | ┌──── Opcode 0xF2 indicates a delimited S-expression
66 | │ ┌─── Opcode 0xF0 indicates the end of
67 | │ │ the most recently opened container
68 | F2 61 01 61 02 61 03 F0
69 | └─┬─┘ └─┬─┘ └─┬─┘
70 | 1 2 3
71 | ```
72 |
73 | ##### Delimited encoding of `(1 (2) 3)`
74 | ```
75 | ┌──── Opcode 0xF2 indicates a delimited S-expression
76 | │ ┌─── Opcode 0xF2 begins a nested delimited S-expression
77 | │ │ ┌─── Opcode 0xF0 closes the most recently
78 | │ │ │ opened delimited container: the nested S-expression.
79 | │ │ │ ┌─── Opcode 0xF0 closes the most recently opened (and
80 | │ │ │ │ still open)delimited container: the outer S-expression.
81 | │ │ │ │
82 | F2 61 01 F2 61 02 F0 61 03 F0
83 | └─┬─┘ └─┬─┘ └─┬─┘
84 | 1 2 3
85 | ```
86 |
87 |
--------------------------------------------------------------------------------
/_books/ion-1-1/src/binary/values/string.md:
--------------------------------------------------------------------------------
1 | ## Strings
2 |
3 | If the high nibble of the opcode is `0x9_`, it represents a string. The low nibble of the opcode
4 | indicates how many UTF-8 bytes follow. Opcode `0x90` represents a string with empty text (`""`).
5 |
6 | Strings longer than 15 bytes can be encoded with the `F9` opcode, which takes a [`FlexUInt`](../primitives/flex_uint.md)-encoded length
7 | after the opcode.
8 |
9 | `0xEB x05` represents `null.string`.
10 |
11 | #### Encoding of the empty string, `""`
12 | ```
13 | ┌──── Opcode in range 90-9F indicates a string
14 | │┌─── Low nibble 0 indicates that no UTF-8 bytes follow
15 | 90
16 | ```
17 |
18 | #### Encoding of a 14-byte string
19 | ```
20 | ┌──── Opcode in range 90-9F indicates a string
21 | │┌─── Low nibble E indicates that 14 UTF-8 bytes follow
22 | ││ f o u r t e e n b y t e s
23 | 9E 66 6F 75 72 74 65 65 6E 20 62 79 74 65 73
24 | └──────────────────┬────────────────────┘
25 | UTF-8 bytes
26 | ```
27 |
28 | #### Encoding of a 24-byte string
29 | ```
30 | ┌──── Opcode F9 indicates a variable-length string
31 | │ ┌─── Length: FlexUInt 24
32 | │ │ v a r i a b l e l e n g t h e n c o d i n g
33 | F9 31 76 61 72 69 61 62 6C 65 20 6C 65 6E 67 74 68 20 65 6E 63 6f 64 69 6E 67
34 | └────────────────────────────────┬────────────────────────────────────┘
35 | UTF-8 bytes
36 | ```
37 |
38 | #### Encoding of `null.string`
39 | ```
40 | ┌──── Opcode 0xEB indicates a typed null; a byte follows specifying the type
41 | │ ┌─── Null type: string
42 | │ │
43 | EB 05
44 | ```
45 |
--------------------------------------------------------------------------------
/_books/ion-1-1/src/binary/values/symbol.md:
--------------------------------------------------------------------------------
1 | ## Symbols
2 |
3 | ### Symbols With Inline Text
4 |
5 | If the high nibble of the opcode is `0xA_`, it represents a symbol whose text follows the opcode. The low nibble of the
6 | opcode indicates how many UTF-8 bytes follow. Opcode `0xA0` represents a symbol with empty text (`''`).
7 |
8 | `0xEB x06` represents `null.symbol`.
9 |
10 | ##### Encoding of a symbol with empty text (`''`)
11 | ```
12 | ┌──── Opcode in range A0-AF indicates a symbol with inline text
13 | │┌─── Low nibble 0 indicates that no UTF-8 bytes follow
14 | A0
15 | ```
16 |
17 | ##### Encoding of a symbol with 14 bytes of inline text
18 | ```
19 | ┌──── Opcode in range A0-AF indicates a symbol with inline text
20 | │┌─── Low nibble E indicates that 14 UTF-8 bytes follow
21 | ││ f o u r t e e n b y t e s
22 | AE 66 6F 75 72 74 65 65 6E 20 62 79 74 65 73
23 | └──────────────────┬────────────────────┘
24 | UTF-8 bytes
25 | ```
26 |
27 | ##### Encoding of a symbol with 24 bytes of inline text
28 | ```
29 | ┌──── Opcode FA indicates a variable-length symbol with inline text
30 | │ ┌─── Length: FlexUInt 24
31 | │ │ v a r i a b l e l e n g t h e n c o d i n g
32 | FA 31 76 61 72 69 61 62 6C 65 20 6C 65 6E 67 74 68 20 65 6E 63 6f 64 69 6E 67
33 | └────────────────────────────────┬────────────────────────────────────┘
34 | UTF-8 bytes
35 | ```
36 |
37 | ##### Encoding of `null.symbol`
38 | ```
39 | ┌──── Opcode 0xEB indicates a typed null; a byte follows specifying the type
40 | │ ┌─── Null type: symbol
41 | │ │
42 | EB 06
43 | ```
44 |
45 |
46 | ### Symbols With a Symbol Address
47 |
48 | Symbol values whose text can be found in the local symbol table are encoded using opcodes `0xE1` through `0xE3`:
49 |
50 | * `0xE1` represents a symbol whose address in the symbol table (aka its symbol ID) is a 1-byte
51 | [`FixedUInt`](../primitives/fixed_uint.md) that follows the opcode.
52 | * `0xE2` represents a symbol whose address in the symbol table is a 2-byte [`FixedUInt`](../primitives/fixed_uint.md) that follows
53 | the opcode.
54 | * `0xE3` represents a symbol whose address in the symbol table is a [`FlexUInt`](../primitives/flex_uint.md) that follows the opcode.
55 |
56 | Writers MUST encode a symbol address in the smallest number of bytes possible. For each opcode above, the symbol
57 | address that is decoded is biased by the number of addresses that can be encoded in fewer bytes.
58 |
59 | | Opcode | Symbol address range | Bias |
60 | |--------|----------------------|--------|
61 | | `0xE1` | 0 to 255 | 0 |
62 | | `0xE2` | 256 to 65,791 | 256 |
63 | | `0xE3` | 65,792 to infinity | 65,792 |
64 |
65 |
66 | ### System Symbols
67 |
68 | System symbols (that is, symbols defined in the system module) can be encoded using the `0xEE` opcode followed by a 1-byte `FixedUInt` representing an index in the [system symbol table](../../modules/system_module.md#system-symbols).
69 |
70 | Unlike Ion 1.0, symbols are not required to use the lowest available SID for a given text, and system symbols
71 | _MAY_ be encoded using other SIDs.
72 |
73 | ##### Encoding of the system symbol `$ion`
74 | ```plain
75 | ┌──── Opcode 0xEF indicates a system symbol or macro invocation
76 | │ ┌─── FixedUInt 1 indicates system symbol 1
77 | │ │
78 | EE 01
79 | ```
80 |
--------------------------------------------------------------------------------
/_books/ion-1-1/src/grammar.md:
--------------------------------------------------------------------------------
1 | # Grammar
2 |
3 | This chapter presents Ion 1.1's _domain grammar_, by which we mean the grammar of the domain
4 | of values that drive Ion's encoding features.
5 |
6 | We use a BNF-like notation for describing various syntactic parts of a document, including Ion data structures.
7 | In such cases, the BNF should be interpreted loosely to accommodate Ion-isms like commas and unconstrained ordering of struct fields.
8 |
9 | ### Documents
10 | ```bnf
11 | document ::= ivm? segment*
12 |
13 | ivm ::= '$ion_1_0' | '$ion_1_1'
14 |
15 | segment ::= value* directive?
16 |
17 | directive ::= ivm
18 | | encoding-directive
19 | | symtab-directive
20 |
21 | symtab-directive ::= local-symbol-table ; As per the Ion 1.0 specification¹
22 |
23 | encoding-directive ::= '$ion::(encoding ' module-name* ')'
24 | ```
25 |
26 | ¹[Symbols – Local Symbol Tables](https://amazon-ion.github.io/ion-docs/docs/symbols.html#local-symbol-tables).
27 |
28 | ### Modules
29 | ```bnf
30 | module-body ::= import* inner-module* macro-table? symbol-table?
31 |
32 | shared-module ::= '$ion_shared_module::' ivm '::(' catalog-key module-body ')'
33 |
34 | import ::= '(import ' module-name catalog-key ')'
35 |
36 | catalog-key ::= catalog-name catalog-version?
37 |
38 | catalog-name ::= string
39 |
40 | catalog-version ::= unannotated-uint ; must be positive
41 |
42 | inner-module ::= '(module' module-name module-body ')'
43 |
44 | module-name ::= unannotated-identifier-symbol
45 |
46 | symbol-table ::= '(symbols' symbol-table-entry* ')'
47 |
48 | symbol-table-entry ::= module-name | symbol-list
49 |
50 | symbol-list ::= '[' symbol-text* ']'
51 |
52 | symbol-text ::= symbol | string
53 |
54 | macro-table ::= '(macros' macro-table-entry* ')'
55 |
56 | macro-table-entry ::= macro-definition
57 | | macro-export
58 | | module-name
59 |
60 | macro-export ::= '(export' qualified-macro-ref macro-name-declaration? ')'
61 | ```
62 | ### Macro references
63 | ```bnf
64 | qualified-macro-ref ::= module-name '::' macro-ref
65 |
66 | macro-ref ::= macro-name | macro-addr
67 |
68 | qualified-macro-name ::= module-name '::' macro-name
69 |
70 | macro-name ::= unannotated-identifier-symbol
71 |
72 | macro-addr ::= unannotated-uint
73 | ```
74 |
75 | ### Macro definitions
76 | ```bnf
77 | macro-definition ::= '(macro' macro-name-declaration signature tdl-expression ')'
78 |
79 | macro-name-declaration ::= macro-name | 'null'
80 |
81 | signature ::= '(' parameter* ')'
82 |
83 | parameter ::= parameter-encoding? parameter-name parameter-cardinality?
84 |
85 | parameter-encoding ::= (primitive-encoding-type | qualified-primitive-type | macro-name | qualified-macro-name)'::'
86 |
87 | qualified-primitive-type::= '$ion::' primitive-encoding-type
88 |
89 | primitive-encoding-type ::= 'uint8' | 'uint16' | 'uint32' | 'uint64'
90 | | 'int8' | 'int16' | 'int32' | 'int64'
91 | | 'float16' | 'float32' | 'float64'
92 | | 'flex_int' | 'flex_uint'
93 | | 'flex_sym' | 'flex_string'
94 |
95 | parameter-name ::= unannotated-identifier-symbol
96 |
97 | parameter-cardinality ::= '!' | '*' | '?' | '+'
98 |
99 | tdl-expression ::= operation | variable-expansion | ion-scalar | ion-container
100 |
101 | operation ::= macro-invocation | special-form
102 |
103 | variable-expansion ::= '(%' variable-name ')'
104 |
105 | variable-name ::= unannotated-identifier-symbol
106 |
107 | macro-invocation ::= '(.' macro-ref macro-arg* ')'
108 |
109 | special-form ::= '(.' '$ion::'? special-form-name tdl-expression* ')'
110 |
111 | special-form-name ::= 'for' | 'if_none' | 'if_some' | 'if_single' | 'if_multi' | 'literal' | 'parse_ion '
112 |
113 | macro-arg ::= tdl-expression | expression-group
114 |
115 | expression-group ::= '(..' tdl-expression* ')'
116 | ```
117 |
--------------------------------------------------------------------------------
/_books/ion-1-1/src/introduction.md:
--------------------------------------------------------------------------------
1 | This is a draft specification of Ion 1.1, a new minor version of the [Ion serialization format](https://amazon-ion.github.io/ion-docs/).
2 |
3 | ## Status
4 |
5 | This document is a working draft and is subject to change.
6 |
7 | ## Audience
8 | This documents presents the formal specification for the Ion 1.1 data format. This document is not intended to be used as a user guide or as a cook book, but as a reference to the syntax and semantics of the Ion data format and its logical data model.
--------------------------------------------------------------------------------
/_books/ion-1-1/src/macros.md:
--------------------------------------------------------------------------------
1 | ## Macros
2 |
3 | Like other self-describing formats, Ion 1.0 makes it possible to write a stream with truly arbitrary content—no formal schema required.
4 | However, in practice all applications have a _de facto_ schema, with each stream sharing large amounts of predictable structure and recurring values.
5 | This means that Ion readers and writers often spend substantial resources processing undifferentiated data.
6 |
7 | Consider this example excerpt from a webserver's log file:
8 |
9 | ```ion
10 | {
11 | method: GET,
12 | statusCode: 200,
13 | status: "OK",
14 | protocol: https,
15 | clientIp: ip_addr::"192.168.1.100",
16 | resource: "index.html"
17 | }
18 | {
19 | method: GET,
20 | statusCode: 200,
21 | status: "OK",
22 | protocol: https,
23 | clientIp: ip_addr::"192.168.1.100",
24 | resource: "images/funny.jpg"
25 | }
26 | {
27 | method: GET,
28 | statusCode: 200,
29 | status: "OK",
30 | protocol: https,
31 | clientIp: ip_addr::"192.168.1.101",
32 | resource: "index.html"
33 | }
34 | ```
35 |
36 | _Macros_ allow users to define fill-in-the-blank templates for their data. This enables applications to focus on encoding and decoding the parts of the data that are distinctive, eliding the work needed to encode the boilerplate.
37 |
38 | Using this macro definition:
39 | ```ion
40 | (macro getOk (clientIp resource)
41 | {
42 | method: GET,
43 | statusCode: 200,
44 | status: "OK",
45 | protocol: https,
46 | clientIp: (.annotate "ip_addr" (%clientIp)),
47 | resource: (%resource)
48 | })
49 | ```
50 |
51 | The same webserver log file could be written like this:
52 | ```ion
53 | (:getOk "192.168.1.100" "index.html")
54 | (:getOk "192.168.1.100" "images/funny.jpg")
55 | (:getOk "192.168.1.101" "index.html")
56 | ```
57 |
58 | Macros are an encoding-level concern, and their use in the data stream is invisible to consuming applications. For writers, macros are always optional—a writer can always elect to write their data using value literals instead.
59 |
60 | For a guided walkthrough of what macros can do, see [Macros by example](macros/macros_by_example.md).
61 |
--------------------------------------------------------------------------------
/_books/ion-1-1/src/modules/directives.md:
--------------------------------------------------------------------------------
1 | # Directives
2 |
3 | _Directives_ are system values that modify the encoding context.
4 |
5 | Syntactically, a directive is a top-level s-expression annotated with `$ion`.
6 | Its first child value is an operation name.
7 | The operation determines what changes will be made to the encoding context and which clauses may legally follow.
8 |
9 | ```ion
10 | $ion::
11 | (operation_name
12 | (clause_1 /*...*/)
13 | (clause_2 /*...*/)
14 | /*...more clauses...*/
15 | (clause_N /*...*/))
16 | ```
17 |
18 | In Ion 1.1, there are three supported directive operations:
19 | 1. [`module`](#module-directives)
20 | 2. [`import`](#import-directives)
21 | 3. [`encoding`](#encoding-directives)
22 |
23 | ## Top-level bindings
24 |
25 | The `module` and `import` directives each create a stream-level binding to a module definition.
26 | Once created, module bindings at this level endure until the file ends or another Ion version marker is encountered.
27 |
28 | Module bindings at the stream-level can be redefined.
29 |
30 | > [!TIP]
31 | > The [`add_macros`](../macros/system_macros.md#add_macros) and [`add_symbols`](../macros/system_macros.md#add_symbols)
32 | > system macros work by redefining the default module (`_`) in terms of itself.
33 |
34 | This behavior differs from module bindings created inside another module;
35 | [attempting to redefine these will raise an error](defining_modules.md#internal-environment).
36 |
37 | ### `module` directives
38 | The `module` directive binds a name to a [local module](local_modules.md) definition at the top level of the stream.
39 |
40 | ```ion
41 | $ion::
42 | (module foo
43 | /*...imports, if any...*/
44 | /*...submodules, if any...*/
45 | (macros /*...*/)
46 | (symbols /*...*/)
47 | )
48 | ```
49 |
50 | ### `import` directives
51 |
52 | The _import_ directive looks up the module corresponding to the given `(name, version)` pair in the catalog.
53 | Upon success, it creates a new binding to that module at the top level of the stream.
54 |
55 | ```ion
56 | $ion::
57 | (import
58 | bar // Binding
59 | "com.example.bar" // Module name
60 | 2) // Module version
61 | ```
62 | The `version` can be omitted. When it is not specified, it defaults to `1`.
63 |
64 | If the catalog does contain an exact match, this operation raises an error.
65 |
66 | ## `encoding` directives
67 |
68 | An `encoding` directive accepts a sequence of module bindings to use as the following stream segment's
69 | [encoding module sequence](encoding_modules.md).
70 |
71 | ```ion
72 | $ion::
73 | (encoding
74 | mod_a
75 | mod_b
76 | mod_c)
77 | ```
78 |
79 | The new encoding module sequence takes effect immediately after the directive and remains the same until the next `encoding` directive or Ion version marker.
80 |
81 | Note that the [default module](encoding_modules.md#the-default-module) is always implicitly at the head of the encoding module sequence.
--------------------------------------------------------------------------------
/_books/ion-1-1/src/modules/shared_modules.md:
--------------------------------------------------------------------------------
1 | # Shared modules
2 |
3 | Shared modules exist independently of the documents that use them.
4 | They are identified by a _catalog key_ consisting of a string name and an integer version.
5 |
6 | The self-declared catalog-names of shared modules are generally long, since they must be more-or-less globally unique.
7 | When imported by another module, they are given local symbolic names—a _binding_—by import declarations.
8 |
9 | They have a spec version that is explicit via annotation, and a content version derived from the catalog version.
10 | The spec version of a shared module must be declared explicitly using an annotation of the form `$ion_1_N`.
11 | This allows the module to be serialized using any version of Ion, and its meaning will not change.
12 |
13 | ```ion
14 | $ion_shared_module::
15 | $ion_1_1::("com.example.symtab" 3
16 | (macros ...)
17 | (symbols ...) )
18 | ```
19 |
20 | ### Example
21 |
22 | An Ion 1.1 shared module.
23 | ```ion
24 | $ion_shared_module::
25 | $ion_1_1::("org.example.geometry" 2
26 | (macros (macro point2d (x y) { x:(%x), y:(%y) })
27 | (macro polygon (point2d::points+) [(%points)]) )
28 | (symbols ["x", "y", "square", "circle"])
29 | )
30 | ```
31 |
32 | The system module provides a convenient macro ([`use`](../macros/system_macros.md#use)) to append a shared module to the encoding module.
33 | ```ion
34 | $ion_1_1
35 | (:use "org.example.geometry" 2)
36 | (:polygon (:: (1 4) (1 8) (3 6)))
37 | ```
38 |
39 |
40 |
41 | ### Compatibility with Ion 1.0
42 |
43 | Ion 1.0 shared symbol tables are treated as Ion 1.1 shared modules that have an empty macro table.
44 |
45 |
--------------------------------------------------------------------------------
/_books/ion-1-1/src/text/encoding.md:
--------------------------------------------------------------------------------
1 | # Ion 1.1 Text Encoding
2 |
3 | The Ion text encoding is a stream of UTF-8 encoded text.
4 | It is intended to be easy to read and write by humans.
5 |
6 | Whitespace is insignificant and is only required where necessary to separate tokens.
7 | C-style comments (either block or in-line) are treated as whitespace;
8 | they are not part of the data model and implementations are not required to preserve them.
9 |
10 | A text Ion 1.1 stream begins with the Ion 1.1 [version marker](../todo.md) (`$ion_1_1`) followed by a series of
11 | [value literals](values.md) and/or [encoding expressions](e_expressions.md).
12 |
--------------------------------------------------------------------------------
/_books/ion-1-1/src/text/escape-characters.md:
--------------------------------------------------------------------------------
1 | # Escape Characters
2 |
3 | ### Strings and Symbols
4 |
5 | The Ion text format supports unicode escape sequences only within quoted strings and symbols.
6 | Ion supports most of the escape sequences defined by C++, Java, and JSON.
7 |
8 | The following sequences are allowed:
9 |
10 | | Unicode Code Point | Ion Escape | Meaning |
11 | |:-------------------|:---------------------------|:---------------------------------------|
12 | | `U+0000` | `\0` | NUL |
13 | | `U+0007` | `\a` | alert BEL |
14 | | `U+0008` | `\b` | backspace BS |
15 | | `U+0009` | `\t` | horizontal tab HT |
16 | | `U+000A` | `\n` | linefeed LF |
17 | | `U+000B` | `\v` | vertical tab VT |
18 | | `U+000C` | `\f` | form feed FF |
19 | | `U+000D` | `\r` | carriage return CR |
20 | | `U+0022` | `\"` | double quote |
21 | | `U+0027` | `\'` | single quote |
22 | | `U+002F` | `\/` | forward slash |
23 | | `U+003F` | `\?` | question mark |
24 | | `U+005C` | `\\` | backslash |
25 | | nothing | \\NL
| escaped NL expands to nothing |
26 | | `U+00HH` | `\xHH` | 2-digit hexadecimal Unicode code point |
27 | | `U+HHHH` | `\uHHHH` | 4-digit hexadecimal Unicode code point |
28 | | `U+HHHHHHHH` | `\UHHHHHHHH` | 8-digit hexadecimal Unicode code point |
29 |
30 |
31 | Any other sequence following a backslash is an error.
32 |
33 | Note that Ion does not support the following escape sequences:
34 |
35 | * Java's extended Unicode markers, _e.g._, `"\uuuXXXX"`
36 | * General octal escape sequences, `\OOO`
37 |
38 | ### Clobs
39 |
40 | The rules for the quoted strings within a `clob` follow similarly to the `string` type, with the following exceptions.
41 | Unicode newline characters in long strings and all verbatim ASCII characters are interpreted as their ASCII octet values.
42 | Non-printable ASCII and non-ASCII Unicode code points are not allowed un-escaped in the string bodies.
43 | Furthermore, the following table describes the `clob` string escape sequences that have direct octet replacement for both all strings.
44 |
45 | | Octet | Ion Escape | Meaning |
46 | |:--------|:----------------------------|:------------------------------|
47 | | `0x00` | `\0` | NUL |
48 | | `0x07` | `\a` | alert BEL |
49 | | `0x08` | `\b` | backspace BS |
50 | | `0x09` | `\t` | horizontal tab HT |
51 | | `0x0A` | `\n` | linefeed LF |
52 | | `0x0B` | `\v` | vertical tab VT |
53 | | `0x0C` | `\f` | form feed FF |
54 | | `0x0D` | `\r` | carriage return CR |
55 | | `0x22` | `\"` | double quote |
56 | | `0x27` | `\'` | single quote |
57 | | `0x2F` | `\/` | forward slash |
58 | | `0x3F` | `\?` | question mark |
59 | | `0x5C` | `\\` | backslash |
60 | | `0xHH` | \\xHH
| 2-digit hexadecimal octet |
61 | | nothing | \\NL
| escaped NL expands to nothing |
62 |
63 | The `clob` escape `\x` must be followed by two hexadecimal digits.
64 | Note that `clob` does not support the `\u` and `\U` escapes since it represents an octet sequence and **not** a Unicode encoding.
65 |
66 | It is important to note that `clob` is a binary type that is designed for binary values that are either text encoded in a
67 | code page that is ASCII compatible or should be octet editable by a human (escaped string syntax vs. base64 encoded data).
68 | Clearly non-ASCII based encodings will not be very readable (_e.g._ the `clob` for the EBCDIC encoded string
69 | representing "hello" could be denoted as`{% raw %}{{ "\xc7\xc1%%?" }}{% endraw %}`).
--------------------------------------------------------------------------------
/_books/ion-1-1/src/text/symbol-tokens.md:
--------------------------------------------------------------------------------
1 | # Symbol tokens
2 |
3 | In Ion text, symbols are represented in three ways:
4 |
5 | * __Quoted symbol__: a sequence of zero or more characters between
6 | single-quotes, *e.g.*, `'hello'`, `'a symbol'`, `'123'`, `''`.
7 | This representation can denote any symbol text.
8 | * __Identifier__: an unquoted sequence of one or more ASCII letters, digits,
9 | or the characters `$` (dollar sign) or `_` (underscore), not starting with
10 | a digit and not including the keywords `null`, `nan`, `true`, and `false`.
11 | * __Operator__: an unquoted sequence of one or more of the following nineteen
12 | ASCII characters: `` !#%&*+-./;<=>?@^`|~ ``
13 | Operators can only be used as (direct) elements of an S-expression.
14 | In any other context those characters require single-quotes.
15 |
16 | A subset of identifiers have special meaning:
17 |
18 | * __Symbol Identifier__: an identifier that starts with `$` (dollar sign)
19 | followed by one or more digits. These identifiers directly represent the
20 | symbol's integer symbol ID, not the symbol's text.
21 | This form is not typically visible to users, but they should be aware of
22 | the reserved notation so they don't attempt to use it for other purposes.
--------------------------------------------------------------------------------
/_books/ion-1-1/src/todo.md:
--------------------------------------------------------------------------------
1 | # TODO
2 |
3 | This page is a placeholder and will be updated when the target page is available.
4 |
5 | If you believe the target page is available, please [open an issue](https://github.com/amazon-ion/ion-docs/issues).
--------------------------------------------------------------------------------
/_books/ion-1-1/theme/highlight.css:
--------------------------------------------------------------------------------
1 | /*
2 | * An increased contrast highlighting scheme loosely based on the
3 | * "Base16 Atelier Dune Light" theme by Bram de Haan
4 | * (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune)
5 | * Original Base16 color scheme by Chris Kempson
6 | * (https://github.com/chriskempson/base16)
7 | */
8 |
9 | /* Comment */
10 | .hljs-comment,
11 | .hljs-quote {
12 | color: #969696;
13 | }
14 |
15 | /* Red */
16 | .hljs-variable,
17 | .hljs-template-variable,
18 | .hljs-attribute,
19 | .hljs-tag,
20 | .hljs-name,
21 | .hljs-regexp,
22 | .hljs-link,
23 | .hljs-name,
24 | .hljs-selector-id,
25 | .hljs-selector-class {
26 | color: #d70025;
27 | }
28 |
29 | /* Orange */
30 | .hljs-number,
31 | .hljs-meta,
32 | .hljs-built_in,
33 | .hljs-builtin-name,
34 | .hljs-literal,
35 | .hljs-type,
36 | .hljs-params {
37 | color: #b21e00;
38 | }
39 |
40 | /* Green */
41 | .hljs-string,
42 | .hljs-symbol,
43 | .hljs-bullet {
44 | color: #008200;
45 | }
46 |
47 | /* Blue */
48 | .hljs-title,
49 | .hljs-version_marker, /* Ion-specific */
50 | .hljs-system_macro, /* Ion-specific */
51 | .hljs-e_expression_macro_name,
52 | .hljs-section {
53 | color: #0030f2;
54 | }
55 |
56 | .hljs-macro_definition_name {
57 | color: #0030f2;
58 | text-decoration: underline;
59 | }
60 |
61 | .hljs-tdl_macro_invocation_address,
62 | .hljs-tdl_macro_invocation_name {
63 | color: #0030f2;
64 | font-style: oblique 10deg;
65 | }
66 |
67 | /* Purple */
68 | .hljs-keyword,
69 | .hljs-selector-tag {
70 | color: #9d00ec;
71 | }
72 |
73 | .hljs-variable_expansion {
74 | color: DeepPink;
75 |
76 | }
77 |
78 | .hljs {
79 | display: block;
80 | overflow-x: auto;
81 | background: #f6f7f6;
82 | color: #000;
83 | }
84 |
85 | .hljs-emphasis {
86 | font-style: italic;
87 | }
88 |
89 | .hljs-strong {
90 | font-weight: bold;
91 | }
92 |
93 | .hljs-addition {
94 | color: #22863a;
95 | background-color: #f0fff4;
96 | }
97 |
98 | .hljs-deletion {
99 | color: #b31d28;
100 | background-color: #ffeef0;
101 | }
102 |
--------------------------------------------------------------------------------
/_config.yml:
--------------------------------------------------------------------------------
1 | name: Ion Docs
2 | title: Amazon Ion
3 | lang: en
4 | baseurl: /ion-docs
5 | markdown: kramdown
6 | kramdown:
7 | input: GFM
8 | toc_levels: "2,3"
9 | highlighter: rouge
10 | defaults:
11 | -
12 | scope:
13 | path: ""
14 | values:
15 | layout: default
16 | plugins:
17 | - jekyll-redirect-from
18 |
19 | # Don't clobber things built into ./_site/books by our MdBookGenerator plugin
20 | keep_files:
21 | - books
22 |
--------------------------------------------------------------------------------
/_data/libraries.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "name": "ion-c",
4 | "category": "core",
5 | "latest_release_version": "1.1.3",
6 | "latest_release_date": "2024-07-30",
7 | "documentation": "https://amazon-ion.github.io/ion-c/"
8 | },
9 | {
10 | "name": "ion-dotnet",
11 | "category": "core",
12 | "latest_release_version": "1.3.1",
13 | "latest_release_date": "2025-02-05"
14 | },
15 | {
16 | "name": "ion-java",
17 | "category": "core",
18 | "latest_release_version": "1.11.10",
19 | "latest_release_date": "2025-01-23",
20 | "documentation": "https://www.javadoc.io/doc/com.amazon.ion/ion-java/"
21 | },
22 | {
23 | "name": "ion-js",
24 | "category": "core",
25 | "latest_release_version": "5.2.1",
26 | "latest_release_date": "2024-04-30",
27 | "documentation": "https://amazon-ion.github.io/ion-js/api/"
28 | },
29 | {
30 | "name": "ion-rust",
31 | "category": "core",
32 | "latest_release_version": "1.0.0-rc.11",
33 | "latest_release_date": "2025-01-09",
34 | "documentation": "https://docs.rs/ion-rs/latest/ion_rs/"
35 | },
36 | {
37 | "name": "ion-python",
38 | "category": "core",
39 | "latest_release_version": "0.13.0",
40 | "latest_release_date": "2024-12-07",
41 | "documentation": "https://ion-python.readthedocs.io/en/latest/amazon.ion.html"
42 | },
43 | {
44 | "name": "ion-go",
45 | "category": "core",
46 | "latest_release_version": "1.5.0",
47 | "latest_release_date": "2024-06-06",
48 | "documentation": "https://pkg.go.dev/github.com/amazon-ion/ion-go/ion"
49 | },
50 | {
51 | "name": "ion-java-path-extraction",
52 | "category": "extension",
53 | "latest_release_version": ".1.5.0",
54 | "latest_release_date": "2025-01-09"
55 | },
56 | {
57 | "name": "ion-element-kotlin",
58 | "category": "extension",
59 | "latest_release_version": "1.3.0",
60 | "latest_release_date": "2024-09-19"
61 | },
62 | {
63 | "name": "ion-hive-serde",
64 | "category": "extension",
65 | "latest_release_version": "1.2.0",
66 | "latest_release_date": "2022-10-04"
67 | }
68 | ]
69 |
--------------------------------------------------------------------------------
/_data/navigation.yml:
--------------------------------------------------------------------------------
1 | main:
2 | - title: "Home"
3 | url: /
4 | - title: "News"
5 | url: /news.html
6 | - title: "Docs"
7 | url: /docs.html
8 | - title: "Libs"
9 | url: /libs.html
10 | - title: "Help"
11 | url: /help.html
--------------------------------------------------------------------------------
/_includes/footer.html:
--------------------------------------------------------------------------------
1 |
22 |
--------------------------------------------------------------------------------
/_includes/head.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {% assign title = page.title | default: site.title | escape %}
6 | {% assign canonical = page.url | replace:'index.html','' | absolute_url %}
7 | {% assign description = page.description | default: page.excerpt | default: site.description | strip_html | normalize_whitespace | escape %}
8 |
9 | {{ page.title }}
10 |
11 | {% if page.keywords %}
12 | {% if page.keywords.first %}
13 | {% assign keywords = page.keywords | join: ',' %}
14 | {% else %}
15 | {% assign keywords = page.keywords %}
16 | {% endif %}
17 |
18 | {% endif %}
19 |
20 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/_includes/header.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/_includes/library_table.md:
--------------------------------------------------------------------------------
1 | | Name | Latest Version | Repository | Documentation |
2 | |------|----------------|------------|---------------|
3 | {% assign libraries = site.data.libraries | where: "category", library_type | sort: "name" -%}
4 | {%- for row in libraries -%}
5 | {%- assign name = row["name"] -%}
6 | {%- capture release -%}
7 | {%- if row["latest_release_version"] -%}
8 | [{{ row["latest_release_version"] }}](https://github.com/amazon-ion/{{ name }}/releases/latest) ({{ row["latest_release_date"] | date: "%B %d, %Y" }})
9 | {%- else -%}
10 | in development
11 | {%- endif -%}
12 | {%- endcapture -%}
13 | {%- capture documentation -%}
14 | {%- if row["documentation"] -%}
15 | [Link]({{ row["documentation"] }})
16 | {%- else -%}
17 | -
18 | {%- endif -%}
19 | {%- endcapture -%}
20 | {%- capture repository -%}
21 | [Link](https://github.com/amazon-ion/{{ name }})
22 | {%- endcapture -%}
23 | | {{ name }} | {{ release }} | {{ repository }} | {{ documentation }}
24 | {% endfor %}
25 |
--------------------------------------------------------------------------------
/_layouts/default.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {% include head.html %}
5 |
6 |
7 |
8 | {% include header.html %}
9 |
10 |
11 |
12 | {{ content }}
13 |
14 |
15 |
16 | {% include footer.html %}
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/_layouts/news_item.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | {% include head.html %}
5 |
6 |
7 |
8 | {% include header.html %}
9 |
10 |
11 |
12 |
13 |
14 |
{{page.title}}
15 |
{{page.date | date_to_long_string}}
16 |
17 | {{ content }}
18 |
19 |
20 |
21 |
22 | {% include footer.html %}
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/_plugins/mdbooks.rb:
--------------------------------------------------------------------------------
1 | # A simple Jekyll generator plugin that will run mdbook
2 | # See https://jekyllrb.com/docs/plugins/generators/ for info about generators
3 | module IonDocs
4 | class MdBookGenerator < Jekyll::Generator
5 | safe true
6 | def generate(site)
7 | # If we have more books, either loop through them, or add a new line for each
8 | system(
9 | *%w[mdbook build
10 | ./_books/ion-1-1
11 | -d ./../../_site/books/ion-1-1
12 | ]) or fail "mdbook process exited with status $?"
13 | end
14 | end
15 | end
16 |
--------------------------------------------------------------------------------
/_posts/2016-04-20-amazon-open-sources-ion.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Amazon Open Sources Ion"
4 | date: 2016-04-20 16:10:00 -0800
5 | categories: news
6 | ---
7 |
8 | Amazon released the specification for Ion.
9 |
10 | | [Ion Specification](docs/spec.html) |
--------------------------------------------------------------------------------
/_posts/2016-04-25-ion-java-1_0_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java 1.0.0 Released"
4 | date: 2016-04-25 11:55:00 -0800
5 | categories: news
6 | ---
7 | This is the initial open source release of Ion Java.
8 |
9 | | [Release Notes](https://github.com/amazon-ion/ion-java/releases/tag/v1.0.0) | [Maven Central](http://search.maven.org/#artifactdetails%7Csoftware.amazon.ion%7Cion-java%7C1.0.0%7C) | [Javadoc](http://www.javadoc.io/doc/software.amazon.ion/ion-java/1.0.0) |
--------------------------------------------------------------------------------
/_posts/2016-06-14-amazon-releases-ion-intellij-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Amazon Releases ion-intellij-plugin"
4 | date: 2016-06-14 08:45:12 -0800
5 | categories: news
6 | ---
7 | An IntelliJ plugin for working with files using the Amazon Ion data format.
8 |
9 | | [GitHub Repository](https://github.com/amazon-ion/ion-intellij-plugin) | [IntelliJ Plugins](https://plugins.jetbrains.com/plugin/8409-amazon-ion-intellij-idea-plugin) |
--------------------------------------------------------------------------------
/_posts/2016-06-27-amazon-releases-ion-c.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Amazon Releases ion-c"
4 | date: 2016-06-27 15:49:10 -0800
5 | categories: news
6 | ---
7 | Ion-C is a C library for Ion.
8 |
9 | | [GitHub Repository](https://github.com/amazon-ion/ion-c) |
--------------------------------------------------------------------------------
/_posts/2016-07-08-amazon-releases-ion-python.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Amazon Releases ion-python"
4 | date: 2016-07-08 16:12:36 -0800
5 | categories: news
6 | ---
7 | A python implementation of Amazon Ion designed to work with Python 2.6+ and Python 3.3+.
8 |
9 | | [GitHub Repository](https://github.com/amazon-ion/ion-python) |
--------------------------------------------------------------------------------
/_posts/2016-09-29-ion-java-1_0_1-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java 1.0.1 Released"
4 | date: 2016-09-29 11:24:00 -0800
5 | categories: news
6 | ---
7 | Ability to read and write 32-bit floats, and to query integer sizes (short, int, long, etc.) for more efficient materialization (no need to always start with BigInteger).
8 |
9 | | [Release Notes](https://github.com/amazon-ion/ion-java/releases/tag/v1.0.1) |
--------------------------------------------------------------------------------
/_posts/2017-02-07-ion-java-1_0_2-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java 1.0.2 Released"
4 | date: 2017-02-07 16:23:00 -0800
5 | categories: news
6 | ---
7 | Provides OSGi metadata. Fixes a few small bugs.
8 |
9 | | [Release Notes](https://github.com/amazon-ion/ion-java/releases/tag/v1.0.2) |
--------------------------------------------------------------------------------
/_posts/2017-04-25-amazon-releases-ion-js.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Amazon Releases ion-js"
4 | date: 2017-04-25 11:01:22 -0800
5 | categories: news
6 | ---
7 | Ion-JS is a JavaScript library for Ion -- this is currently alpha software and is subject to change. The library allows for reading/writing Ion data from within JavaScript code.
8 |
9 | | [GitHub Repository](https://github.com/amazon-ion/ion-js) | [API Documentation](https://amazon-ion.github.io/ion-js/api/) |
--------------------------------------------------------------------------------
/_posts/2017-05-10-ion-python-0_2_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Python 0.2.0 Released"
4 | date: 2017-05-10 12:40:00 -0800
5 | categories: news ion-python
6 | ---
7 | Adds support for reading text Ion and fixes bug affecting writes of large binary Ion values.
8 |
9 | | [Release Notes](https://github.com/amazon-ion/ion-python/releases/tag/v0.2.0) |
--------------------------------------------------------------------------------
/_posts/2017-07-21-amazon-releases-ion-eclipse-plugin.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Amazon Releases ion-eclipse-plugin"
4 | date: 2017-07-21 14:01:42 -0800
5 | categories: news
6 | ---
7 | An Eclipse plugin for working with files using the Amazon Ion data format.
8 |
9 | | [GitHub Repository](https://github.com/amazon-ion/ion-eclipse-plugin) | [Getting Started](https://github.com/amazon-ion/ion-eclipse-plugin#getting-started) |
--------------------------------------------------------------------------------
/_posts/2017-07-30-jackson-adds-ion-support.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Jackson Adds Ion Support"
4 | date: 2017-07-30 13:00:00 -0800
5 | categories: news
6 | ---
7 | First official version of jackson-dataformat-ion (under jackson-dataformats-binary repo) — used for reading/writing Amazon Ion format documents.
8 |
9 | | [Medium Announcement](https://medium.com/@cowtowncoder/jackson-2-9-features-b2a19029e9ff) | [Release Notes](https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9#new-modules-status-changes) |
--------------------------------------------------------------------------------
/_posts/2017-10-12-ion-java-1_0_3-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java 1.0.3 Released"
4 | date: 2017-10-12 18:28:00 -0800
5 | categories: news
6 | ---
7 | Avoid writing fractional second if not necessary in Timestamp binary encoding.
8 |
9 | | [Release Notes](https://github.com/amazon-ion/ion-java/releases/tag/v1.0.3) |
--------------------------------------------------------------------------------
/_posts/2018-01-24-ion-java-1_1_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java 1.1.0 Released"
4 | date: 2018-01-24 13:03:00 -0800
5 | categories: news
6 | ---
7 | Adds support for empty symbols, local symbol append, SID0, NOP padding, and more improvements.
8 |
9 | | [Release Notes](https://github.com/amazon-ion/ion-java/releases/tag/v1.1.0) |
--------------------------------------------------------------------------------
/_posts/2018-03-08-amazon-redshift-spectrum0adds-scalar-ion-support.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Amazon Redshift Spectrum Adds Scalar Ion Support"
4 | date: 2018-03-08 13:00:00 -0800
5 | categories: news
6 | ---
7 | You can now use Amazon Redshift Spectrum to directly query scalar JSON and Ion data types stored in external tables in Amazon S3 - without loading or transforming the data.
8 |
9 | | [AWS Announcement](https://aws.amazon.com/about-aws/whats-new/2018/03/amazon-redshift-spectrum-now-supports-scalar-json-and-ion-data-types/) |
--------------------------------------------------------------------------------
/_posts/2018-03-23-ion-java-1_1_1-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java 1.1.1 Released"
4 | date: 2018-03-23 12:38:00 -0800
5 | categories: news
6 | ---
7 | Fixes `IonStruct.clone` performance regression introduced in v1.1.0.
8 |
9 | | [Release Notes](https://github.com/amazon-ion/ion-java/releases/tag/v1.1.1) |
--------------------------------------------------------------------------------
/_posts/2018-04-02-ion-java-1_1_2-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java 1.1.2 Released"
4 | date: 2018-04-02 13:44:00 -0800
5 | categories: news
6 | ---
7 | Javadoc changes.
8 |
9 | | [Release Notes](https://github.com/amazon-ion/ion-java/releases/tag/v1.1.2) |
--------------------------------------------------------------------------------
/_posts/2018-04-12-amazon-releases-ion-test-driver.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Amazon Releases ion-test-driver"
4 | date: 2018-04-12 16:31:06 -0800
5 | categories: news
6 | ---
7 | A cross-implementation test driver for Amazon Ion readers and writers.
8 |
9 | | [GitHub Repository](https://github.com/amazon-ion/ion-test-driver) |
--------------------------------------------------------------------------------
/_posts/2018-04-12-ion-c-1_0_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion C 1.0.0 Released"
4 | date: 2018-04-12 17:01:00 -0800
5 | categories: news
6 | ---
7 |
8 | Highlighted features:
9 |
10 | * Streaming readers and writers for both binary and text Ion.
11 | * CLI tool for processing and comparing Ion streams.
12 | * Test suite backed by ion-tests.
13 |
14 | Limitations:
15 |
16 | * No UTF-16 or UTF-32 support.
17 | * Binary Ion streams may not exceed 232 distinct symbols.
18 |
19 | | [Release Notes](https://github.com/amazon-ion/ion-c/releases/tag/v1.0.0) |
--------------------------------------------------------------------------------
/_posts/2018-05-15-ion-python-0_3_1-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Python 0.3.1 Released"
4 | date: 2018-05-15 17:30:00 -0700
5 | categories: news ion-python
6 | ---
7 | Adds support for binary and text in `simpleion.loads()` and `simpleion.dumps()`.
8 |
9 | | [Release Notes](https://github.com/amazon-ion/ion-python/releases/tag/v0.3.1) |
10 |
--------------------------------------------------------------------------------
/_posts/2018-05-25-ion-c-1_0_1-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion C 1.0.1 Released"
4 | date: 2018-05-25 16:56:00 -0800
5 | categories: news
6 | ---
7 | Bug fixes:
8 |
9 | * Fixed an issue that caused release builds to fail during linking.
10 |
11 | | [Release Notes](https://github.com/amazon-ion/ion-c/releases/tag/v1.0.1) |
--------------------------------------------------------------------------------
/_posts/2018-06-22-ion-java-1_2_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java 1.2.0 Released"
4 | date: 2018-06-22 12:10:00 -0800
5 | categories: news
6 | ---
7 | * Decouples IonReader from IonSystem and adds IonReaderBuilder.
8 | * Adds Automatic-Module-Name in manifest so Java9 modular applications can depend on this library.
9 |
10 | | [Release Notes](https://github.com/amazon-ion/ion-java/releases/tag/v1.2.0) |
--------------------------------------------------------------------------------
/_posts/2018-07-19-developer-guide-symbols-documentation-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Developers’ Guide to Ion Symbols Released"
4 | date: 2018-08-06 15:15:00 -0800
5 | categories: news
6 | ---
7 | This document provides developer-focused commentary on the Symbols section of the specification and discusses the implementation of symbol table, symbol token, and catalog APIs.
8 |
9 | | [Symbols Developer Guide](https://amazon-ion.github.io/ion-docs/guides/symbols-guide.html) |
--------------------------------------------------------------------------------
/_posts/2018-08-08-amazon-redshift-spectrum-adds-nested-ion-support.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Amazon Redshift Spectrum Adds Nested Ion Support"
4 | date: 2018-08-08 17:30:00 -0800
5 | categories: news
6 | ---
7 | You can now use Amazon Redshift to directly query nested data in Apache Parquet, Apache ORC, JSON and Amazon Ion file formats stored in external tables in Amazon S3.
8 |
9 | Nested data support with Redshift Spectrum enables you to query complex data types such as struct, array, or map, without having to transform or load your data.
10 |
11 | | [AWS Announcement](https://aws.amazon.com/about-aws/whats-new/2018/08/amazon-redshift-announces-support-for-nested-data-with-redshift-spectrum/) |
--------------------------------------------------------------------------------
/_posts/2018-11-05-ion-schema-spec-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Schema Specification 1.0 Released"
4 | date: 2018-11-05
5 | categories: news
6 | ---
7 | This new specification describes a language and set of constraints used to declaratively constrain Ion values. Types defined by a schema could be used to:
8 | * assert that a value meets specific expectations,
9 | * generate developer-friendly APIs for working with data,
10 | * enable efficient analysis over data that conforms to a type,
11 | * and more!
12 |
13 | A reference implementation of Ion Schema is now available as open source software. It is written in Kotlin, and should be considered alpha software.
14 |
15 | | [Ion Schema Specification](https://amazon-ion.github.io/ion-schema/docs/spec.html) | [Reference Implementation](https://github.com/amazon-ion/ion-schema-kotlin) |
16 |
17 |
--------------------------------------------------------------------------------
/_posts/2018-11-12-ion-java-path-extraction-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java Path Extraction 1.0.0 Released"
4 | date: 2018-11-12
5 | categories: news
6 | ---
7 | Ion Path Extraction API aims to combine the convenience of a DOM API with the speed of a streaming API.
8 |
9 | The user can register search paths and callbacks with the extractor that will read the Ion document in
10 | the most efficient way looking for the registered paths. When it matches a search path it will invoke
11 | the correspondent callback.
12 |
13 | | [GitHub Repository](https://github.com/amazon-ion/ion-java-path-extraction) |
14 |
--------------------------------------------------------------------------------
/_posts/2019-01-21-ion-hive-serde.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Hive SerDe 0.1.0 Released"
4 | date: 2019-01-21
5 | categories: news
6 | ---
7 | Apache Hive SerDe (short for serializer/deserializer) for the Ion file format alpha is released.
8 |
9 | This new **Ser**ializer/**De**serializer for Apache Hive supports the Ion binary and text formats, all of the Ion types, and flattening through [path extraction](https://github.com/amazon-ion/ion-java-path-extraction). This release is an Alpha release and a complete list of features can be found in the GitHub repository.
10 |
11 | | [GitHub Repository](https://github.com/amazon-ion/ion-hive-serde) |
12 |
--------------------------------------------------------------------------------
/_posts/2019-04-30-ion-java-1_4_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java 1.4.0 Released"
4 | date: 2019-04-24 14:30:00 -0800
5 | categories: news
6 | ---
7 |
8 | From version 1.4.0 forward ion-java has moved to a new maven group id and java package name: `com.amazon.ion`. This move was necessary to keep the publishing of Amazon libraries in maven consistent.
9 |
10 | We'll keep supporting `software.amazon.ion` by publishing mirrored releases but users are strongly encouraged to migrate. The migration is trivial, the only differences are the maven group id and Java package names.
11 |
12 | 1.4.0 release notes:
13 |
14 | * First release using `com.amazon.ion` as the java package name and groupId
15 | * Fixed a gzipped related memory leak
16 | * Performance fix for IonValueLite.clearSymbolIdValues()
17 |
18 | | [Release Notes](https://github.com/amazon-ion/ion-java/releases/tag/com_amazon_ion_v1.4.0) |
19 |
--------------------------------------------------------------------------------
/_posts/2019-05-08-ion-kotlin-builder-1_0_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Kotlin Builder 1.0.0 Released"
4 | date: 2019-05-08
5 | categories: news ion-kotlin-builder
6 | ---
7 |
8 | Ion Kotlin Builder 1.0.0 is now available.
9 |
10 | | [Release Notes v1.0.0](https://github.com/amazon-ion/ion-kotlin-builder/releases/tag/v1.0.0) | [Ion Kotlin Builder](https://github.com/amazon-ion/ion-kotlin-builder) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2019-05-23-ion-hash-java-1_0_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Hash Java 1.0.0 Released"
4 | date: 2019-05-23
5 | categories: news ion-hash-java
6 | ---
7 |
8 | Ion Hash Java 1.0.0 is now available.
9 |
10 | | [Release Notes v1.0.0](https://github.com/amazon-ion/ion-hash-java/releases/tag/v1.0.0) | [Ion Hash Java](https://github.com/amazon-ion/ion-hash-java) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2019-05-23-ion-hash-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Hash Specification 1.0 Released"
4 | date: 2019-05-23
5 | categories: news
6 | ---
7 | This new specification defines a hash algorithm for Ion values, independent of whether a value is encoded in text or binary. It is useful when determining whether two Ion values represent the same value, or determining whether an Ion value has changed. For example, a storage system might use Ion hashes to assert the integrity of its data.
8 |
9 | Additionally, a reference implementation of Ion Hash written in Java is available as open source software.
10 |
11 | | [Ion Hash Specification](https://amazon-ion.github.io/ion-hash/docs/spec.html) | [Reference Implementation](https://github.com/amazon-ion/ion-hash-java) |
12 |
13 |
--------------------------------------------------------------------------------
/_posts/2019-06-26-ion-java-1_5_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java 1.5.0 Released"
4 | date: 2019-06-26 14:30:00 -0800
5 | categories: news
6 | ---
7 |
8 | From version 1.4.0 forward ion-java moved to a new maven group id and java package name: `com.amazon.ion`. This move was necessary to keep the publishing of Amazon libraries in maven consistent.
9 |
10 | We'll keep supporting `software.amazon.ion` by publishing mirrored releases but users are strongly encouraged to migrate. The migration is trivial, the only differences are the maven group id and Java package names.
11 |
12 | 1.5.0 release notes:
13 |
14 | * Fixed a bug in IonReader.getTypeAnnotations when used with text data that contains a symbol table.
15 | * Made the messages of certain IllegalStateExceptions more descriptive.
16 | * Added an Equivalence option to specify an epsilon to use when comparing Ion float values.
17 | * Reduced memory allocations and garbage collections required when stepping in and out of containers in the binary writer, resulting in a speedup (5%), heap size reduction (4%), GC count reduction (56%), GC time reduction (13%), and Eden Space churn reduction (71%) when writing a sample of container-heavy test data.
18 | * Reduced memory allocations and garbage collections required when setting struct field names in the binary writer, resulting in a speedup (12.6%), reduction in heap usage (17%), and elimination of garbage collections when writing a sample of field-heavy test data.
19 | * Cached the reference to the current container context in the binary writer to reduce repetitive List lookups, resulting in a speedup (10%) when writing a sample of container-heavy test data.
20 |
21 |
22 | | [Release Notes](https://github.com/amazon-ion/ion-java/releases/tag/com_amazon_ion_v1.5.0) |
23 |
--------------------------------------------------------------------------------
/_posts/2019-07-15-ion-schema-kotlin-1_0_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Schema Kotlin 1.0.0 Released"
4 | date: 2019-07-15
5 | categories: news
6 | ---
7 | This release is a complete implementation of the [Ion Schema Specification](https://amazon-ion.github.io/ion-schema/docs/spec.html).
8 |
9 | | [Release Notes](https://github.com/amazon-ion/ion-schema-kotlin/releases/tag/v1.0.0) |
10 |
11 |
--------------------------------------------------------------------------------
/_posts/2019-07-16-ion-hash-python-1_0_1-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Hash Python 1.0.1 Released"
4 | date: 2019-07-16
5 | categories: news
6 | ---
7 | This release is a complete implementation of the [Ion Hash Specification](https://amazon-ion.github.io/ion-hash/docs/spec.html). In addition to low-level `hash_reader`/`hash_writer` APIs, it adds an `ion_hash()` method to all [ion-python](https://github.com/amazon-ion/ion-python) simpleion objects.
8 |
9 | This package is available at [PyPI](https://pypi.org/project/ionhash/).
10 |
11 | | [Ion Hash Python](https://github.com/amazon-ion/ion-hash-python) |
12 |
13 |
--------------------------------------------------------------------------------
/_posts/2019-09-05-ion-python-0_4_1-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Python 0.4.1 Released"
4 | date: 2019-09-05 17:30:00 -0700
5 | categories: news ion-python
6 | ---
7 | * Remove memoization of events in _IonNature.
8 | * Updates Tox/README Python Versions
9 | * Adds support for tuple in _FROM_TYPES mapping.
10 | * Sets Travis CI dist to Xenial and removes 2.6/2.7
11 |
12 |
13 | | [Release Notes](https://github.com/amazon-ion/ion-python/releases/tag/v0.4.1) |
14 |
--------------------------------------------------------------------------------
/_posts/2019-09-12-ion-js-3_0_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion JS 3.0.0 Released"
4 | date: 2019-09-12 17:30:00 -0700
5 | categories: news ion-js
6 | ---
7 | This release includes many changes to the ion-js API, many of them are not backwards-compatible. See the release notes for more information.
8 |
9 | The following are known limitations:
10 |
11 | * int values are restricted to 32 bits: [-2147483648, 2147483647]
12 | * character escape sequences are not fully supported in strings, symbols, and clobs
13 | * no support for:
14 | * ints denoted in binary
15 | * underscore characters in ints, decimals, or floats
16 | * shared symbol tables
17 | * symboltokens
18 | * SID0 ($0)
19 |
20 | Note: this release targets Node environments only and has not been verified to work in any browsers
21 |
22 | | [Release Notes](https://github.com/amazon-ion/ion-js/releases/tag/v3.0.0) |
23 |
--------------------------------------------------------------------------------
/_posts/2019-10-17-ion-python-0_5_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Python 0.5.0 Released"
4 | date: 2019-10-17 16:30:00 -0400
5 | categories: news ion-python
6 | ---
7 | * Adds option to omit the Ion version marker from text output.
8 | * Adds option to write tuples as Ion s-expressions via simpleion dump/dumps.
9 | * Adds support for timestamps with arbitrary precision.
10 |
11 |
12 | | [Release Notes](https://github.com/amazon-ion/ion-python/releases/tag/v0.5.0) |
13 |
--------------------------------------------------------------------------------
/_posts/2019-10-29-ion-js-3_1_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion JS 3.1.0 Released"
4 | date: 2019-10-29 12:30:00 -0800
5 | categories: news ion-js
6 | ---
7 | In addition to numerous bug fixes, this release adds support for arbitrary precision integers, decimals, and timestamps. It does not include support for:
8 | * ints denoted in binary
9 | * underscore characters in ints, decimals, or floats
10 | * shared symbol tables
11 | * symboltokens
12 | * SID0 ($0)
13 |
14 | Note: this release targets Node environments only and has not been verified to work in any browsers
15 |
16 | | [Release Notes](https://github.com/amazon-ion/ion-js/releases/tag/v3.1.0) |
17 |
--------------------------------------------------------------------------------
/_posts/2019-11-05-ion-hash-js-1_0_2-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Hash JS 1.0.2 Released"
4 | date: 2019-11-05
5 | categories: news
6 | ---
7 | This release is a complete implementation of the [Ion Hash Specification](https://amazon-ion.github.io/ion-hash/docs/spec.html) for JavaScript, and provides hashing decorators of [ion-js](https://github.com/amazon-ion/ion-js)'s Reader and Writer interfaces.
8 |
9 | This package is available via [NPM](https://www.npmjs.com/package/ion-hash-js).
10 |
11 | | [Ion Hash JS](https://github.com/amazon-ion/ion-hash-js) |
12 |
13 |
--------------------------------------------------------------------------------
/_posts/2020-01-15-software.amazon.ion-deprecated.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "software.amazon.ion is Deprecated"
4 | date: 2020-01-15
5 | categories: news
6 | ---
7 | As of today the `software.amazon.ion` group id is deprecated in favor of `com.amazon.ion` and no new software will be released in maven using `software.amazon.ion`.
8 |
9 | Users are encouraged to migrate as soon as possible. The only changes are in the package names so they conform to the corresponding group ids.
10 |
--------------------------------------------------------------------------------
/_posts/2020-02-26-ion-java-1_6_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java 1.6.0 Released"
4 | date: 2020-02-26
5 | categories: news ion-java
6 | ---
7 | This release includes:
8 | * Opt-in support for local symbol table appends, which allow strings to be dynamically added to the symbol table. In many cases, this produces a more compact encoding and requires less in-memory buffering. To take advantage of this, use the [withLocalSymbolTableAppendEnabled()](https://www.javadoc.io/doc/com.amazon.ion/ion-java/latest/com/amazon/ion/system/IonBinaryWriterBuilder.html) method on the IonBinaryWriterBuilder.
9 | * Optimizations for reading and writing binary strings.
10 | * A fix for a bug that could cause an infinite loop when an IonValue was modified while simultaneously being read with a TreeReader.
11 |
12 | | [Release Notes](https://github.com/amazon-ion/ion-java/releases/tag/v1.6.0) | [Ion Java](https://github.com/amazon-ion/ion-java) |
13 |
14 |
--------------------------------------------------------------------------------
/_posts/2020-03-09-ion-templates-rfc-opened.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Draft RFC for Ion Templates"
4 | date: 2020-03-09
5 | categories: news
6 | ---
7 |
8 | An RFC was published to the [Ion specification GitHub repository](https://github.com/amazon-ion/ion-docs) proposing a new feature for an upcoming minor release: templates. Questions, comments, and suggestions are welcome and should be added to the 'Conversation' tab of the pull request.
9 |
10 | | [Ion Templates Draft RFC](https://github.com/amazon-ion/ion-docs/pull/104) |
11 |
--------------------------------------------------------------------------------
/_posts/2020-03-30-ion-js-4_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion JS 4.0 Released"
4 | date: 2020-03-30
5 | categories: news ion-js
6 | ---
7 | In addition to various bug fixes and improvements, this release:
8 | * introduces a new DOM-style API which allows you to work with Ion values as JavaScript objects
9 | * supports down-converting Ion to JSON via the native `JSON.stringify()` function
10 |
11 | | [Release Notes](https://github.com/amazon-ion/ion-js/releases/tag/v4.0.0) | [Ion JS](https://github.com/amazon-ion/ion-js) |
12 |
13 |
--------------------------------------------------------------------------------
/_posts/2020-03-31-ion-hash-js-2_0_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Hash JS 2.0 Released"
4 | date: 2020-03-31
5 | categories: news ion-hash-js
6 | ---
7 | This release introduces a simple API for calculating an Ion hash of any value, including native JavaScript types as well as instances of ion-js 4.0's `dom.Value` class.
8 |
9 | | [Release Notes](https://github.com/amazon-ion/ion-hash-js/releases/tag/v2.0.0) | [Ion Hash JS](https://github.com/amazon-ion/ion-hash-js) |
10 |
11 |
--------------------------------------------------------------------------------
/_posts/2020-06-03-ion-dotnet-1_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion .NET 1.0 Released"
4 | date: 2020-06-03
5 | categories: news ion-dotnet
6 | ---
7 | This first release for the .NET platform provides full support for the Ion type system and includes both reader/writer and DOM APIs.
8 |
9 | The Amazon.IonDotnet package is available via [NuGet](https://www.nuget.org/packages/Amazon.IonDotnet).
10 |
11 | | [Release Notes](https://github.com/amazon-ion/ion-dotnet/releases/tag/v1.0.0) | [Ion .NET](https://github.com/amazon-ion/ion-dotnet) |
12 |
13 |
--------------------------------------------------------------------------------
/_posts/2020-06-03-ion-hash-dotnet-1_0_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Hash .NET 1.0 Released"
4 | date: 2020-06-04
5 | categories: news ion-hash-dotnet
6 | ---
7 | This release provides full support for hashing all Ion values.
8 |
9 | The Amazon.IonHashDotnet package is available via [NuGet](https://www.nuget.org/packages/Amazon.IonHashDotnet).
10 |
11 | | [Release Notes](https://github.com/amazon-ion/ion-hash-dotnet/releases/tag/v1.0.0) | [Ion Hash .NET](https://github.com/amazon-ion/ion-hash-dotnet) |
12 |
13 |
--------------------------------------------------------------------------------
/_posts/2020-07-14-ion-schema-kotlin-1_1-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Schema Kotlin 1.1 Released"
4 | date: 2020-07-14
5 | categories: news schema ion-schema-kotlin
6 | ---
7 | This release provides access to the ISL underlying Schema and Type objects, enables custom schema caching logic, provides graceful handling of redundant imports, and more.
8 |
9 | | [Release Notes](https://github.com/amazon-ion/ion-schema-kotlin/releases/tag/v1.1.0) | [Ion Schema Kotlin](https://github.com/amazon-ion/ion-schema-kotlin) |
10 |
11 |
--------------------------------------------------------------------------------
/_posts/2020-09-29-ion-go-1_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Go 1.0 Released"
4 | date: 2020-09-29
5 | categories: news ion-go
6 | ---
7 | This first release for Go provides full support for the Ion type system and includes reader and writer APIs.
8 |
9 | The package is available via [GitHub](https://github.com/amazon-ion/ion-go).
10 |
11 | | [Release Notes](https://github.com/amazon-ion/ion-go/releases/tag/v1.0.0) | [Ion Go](https://github.com/amazon-ion/ion-go) |
12 |
13 |
--------------------------------------------------------------------------------
/_posts/2020-09-30-ion-hash-go-1_0_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Hash Go 1.0 Released"
4 | date: 2020-09-30
5 | categories: news ion-hash-go
6 | ---
7 | This release provides full support for hashing all Ion values.
8 |
9 | The package is available via [GitHub](https://github.com/amazon-ion/ion-hash-go).
10 |
11 | | [Release Notes](https://github.com/amazon-ion/ion-hash-go/releases/tag/v1.0.0) | [Ion Go](https://github.com/amazon-ion/ion-hash-go) |
--------------------------------------------------------------------------------
/_posts/2020-11-09-ion-java-1_8_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java 1.8.0 Released"
4 | date: 2020-11-09
5 | categories: news ion-java
6 | ---
7 | This release includes:
8 | * A bug fix in IonReaderBinaryRawX.readBytes ([#318](https://github.com/amazon-ion/ion-java/issues/318)).
9 | * Avoiding repetitive reallocation of PooledBlockAllocatorProvider in _PrivateIon_HashTrampoline.
10 |
11 |
12 | | [Release Notes](https://github.com/amazon-ion/ion-java/releases/tag/v1.8.0) | [Ion Java](https://github.com/amazon-ion/ion-java) |
13 |
14 |
--------------------------------------------------------------------------------
/_posts/2020-11-23-ion-dotnet-1_1_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion .NET 1.1.0 Released"
4 | date: 2020-11-23
5 | categories: news ion-dotnet
6 | ---
7 | This release includes:
8 |
9 | * Replacing the usage of decimal#TryParse(String, Decimal) with decimal#TryParse(String, NumberStyles, IFormatProvider, Decimal), allowing us to use InvariantCulture instead of the current thread's configured culture. ([#129](https://github.com/amazon-ion/ion-dotnet/pull/129))
10 | * Adding a JSON text writer. ([#130](https://github.com/amazon-ion/ion-dotnet/pull/130))
11 | * Moving to GitHub Actions for CI build. ([#124](https://github.com/amazon-ion/ion-dotnet/pull/124))
12 |
13 | The Amazon.IonDotnet package is available via [NuGet](https://www.nuget.org/packages/Amazon.IonDotnet).
14 |
15 | | [Release Notes](https://github.com/amazon-ion/ion-dotnet/releases/tag/v1.1.0) | [Ion .NET](https://github.com/amazon-ion/ion-dotnet) |
16 |
17 |
--------------------------------------------------------------------------------
/_posts/2020-12-02-ion-js-4_1_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion JS 4.1.0 Released"
4 | date: 2020-12-02
5 | categories: news ion-js
6 | ---
7 |
8 | API Changes:
9 | * Added deleteField method for deleting Struct fields.
10 |
11 | Bug Fixes:
12 | * Shared symbol tables no longer treat Object properties as symbols.
13 | * Local symbol tables no longer use Objects with default properties to index symbols.
14 | * Local symbol tables no longer discard duplicate symbols during initialization.
15 |
16 | Tweaks:
17 | * Improved performance when reading binary UInt subfields.
18 |
19 | Testing improvements:
20 | * Migrated from Travis CI to Github Actions.
21 | * Integrated with ion-test-driver.
22 |
23 | | [Release Notes](https://github.com/amazon-ion/ion-js/releases/tag/v4.1.0) | [Ion JS](https://github.com/amazon-ion/ion-js) |
24 |
--------------------------------------------------------------------------------
/_posts/2020-12-02-ion-python-0_7_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Python 0.7.0 Released"
4 | date: 2020-12-02
5 | categories: news ion-python
6 | ---
7 | Bug fix:
8 | * Uses localcontext support decimals of any precision.
9 |
10 | New API:
11 | * Adds IonToJSONEncoder to allow Ion data to be down-converted to JSON.
12 |
13 | | [Release Notes](https://github.com/amazon-ion/ion-python/releases/tag/v0.7.0) |
14 |
--------------------------------------------------------------------------------
/_posts/2020-12-03-ion-java-path-extraction-1_3_1-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java Path Extraction 1.3.1 Released"
4 | date: 2020-12-03
5 | categories: news ion-java-path-extraction
6 | ---
7 |
8 | Ion Java Path Extraction 1.3.1 is now available.
9 |
10 | | [Release Notes v1.3.1](https://github.com/amazon-ion/ion-java-path-extraction/releases/tag/v1.3.1) | [Ion Java Path Extraction](https://github.com/amazon-ion/ion-java-path-extraction) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2020-12-08-ion-go-1_1_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Go 1.1.0 Released"
4 | date: 2020-12-08
5 | categories: news ion-go
6 | ---
7 | New features:
8 |
9 | * #165: Adds support for writing `SymbolToken`s
10 | * #171: Adds support for marshalling `Time` values without first creating an intermediate
11 | `ion.Timestamp`
12 |
13 | | [Release Notes v1.1.0](https://github.com/amazon-ion/ion-go/releases/tag/v1.1.0) | [Ion Go](https://github.com/amazon-ion/ion-go) |
14 |
15 |
--------------------------------------------------------------------------------
/_posts/2021-02-09-ion-c-1_4_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion C 1.4.0 Released"
4 | date: 2021-02-09
5 | categories: news ion-c
6 | ---
7 | New features:
8 |
9 | * Added support for writing 32-bit floats via existing APIs.
10 |
11 | Bug fixes:
12 |
13 | * Fixed long strings concatenation failures when components were separated by comments.
14 | * Correctly interpret newline characters within text clob literals.
15 | * Allowed text writer to write timestamps with high-precision fractional seconds.
16 | * Fixed ion_timestamp_to_time_t on Windows.
17 | * Changed globals to use thread-local storage (TLS).
18 | * Fixed an issue causing lobs to skip some bytes when doing partial reads of ion-text.
19 | * Fail early when a numeric value is terminated by an invalid character.
20 | * Made ion_reader_get_type behavior consistent between text and binary writers.
21 | * Fixed an infinite loop that occurred when writing to a fixed-size buffer with insufficient space.
22 | * Fixed integer overflow bugs in `ion_int_from_long` and `ion_int_to_int64`.
23 |
24 | Tweaks:
25 |
26 | * Removed the CLI's dependency on docopt in favor of argtable3.
27 | * Added a space after a field name's colon when pretty-printing.
28 | * Added static build targets.
29 | * Removed `googletest` from all target.
30 | * Various CLI fixes and improvements.
31 | * Integrated [ion-test-driver](https://github.com/amazon-ion/ion-test-driver) support into GitHub Actions.
32 |
33 | | [Release Notes v1.4.0](https://github.com/amazon-ion/ion-c/releases/tag/v1.4.0) | [Ion C](https://github.com/amazon-ion/ion-c) |
34 |
--------------------------------------------------------------------------------
/_posts/2021-04-07-ion-java-1_8_1-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java 1.8.1 Released"
4 | date: 2021-04-07
5 | categories: news ion-java
6 | ---
7 | New features:
8 |
9 | * Added an option to configure whether top level values should be delimited by newlines.
10 | * Added an option to configure what line separator (eg. LF, CR+LF, etc) should be used.
11 |
12 | Bug fixes:
13 |
14 | * Unknown SIDs larger than INT_MAX now throw an IonException instead of a NumberFormatException.
15 |
16 | | [Release Notes v1.8.1](https://github.com/amazon-ion/ion-java/releases/tag/v1.8.1) | [Ion Java](https://github.com/amazon-ion/ion-java) |
17 |
--------------------------------------------------------------------------------
/_posts/2021-05-07-ion-js-4_2_1-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion JS 4.2.0 and 4.2.1 Released"
4 | date: 2021-05-06
5 | categories: news ion-js
6 | ---
7 |
8 | API Changes:
9 |
10 | * Added position() API to Reader.
11 | * Added an equals() API for the DOM.
12 | * Timestamp’s constructor can now accept a Date instead of requiring individual time unit fields.
13 | * Reader.byteValue is now deprecated in favor of the new alias: Reader.uInt8ArrayValue, which is more descriptive.
14 | * Added support for duplicate fields in Struct for the DOM.
15 |
16 | Bug Fixes:
17 |
18 | * Fix length calculation for annotated containers.
19 | * Change how container type information is stored on the stepIn stack.
20 | * Fixed bug in the text parser that allowed unclosed structs at the end of a stream.
21 | * Fixes the elements() method for Struct to preserve 4.1.0 behavior. (Fixed with v4.2.1)
22 |
23 | Tweaks:
24 |
25 | * Generate the ES6 module correctly.
26 | * Performance improvements in unicode decoding.
27 | * Use number instead of BigInt for smaller values. (Performance optimization)
28 |
29 |
30 | | [Release Notes v4.2.0](https://github.com/amazon-ion/ion-js/releases/tag/v4.2.0) | [Release Notes v4.2.1](https://github.com/amazon-ion/ion-js/releases/tag/v4.2.1) | [Ion JS](https://github.com/amazon-ion/ion-js) |
--------------------------------------------------------------------------------
/_posts/2021-07-09-ion-go-1_1_3-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Go 1.1.3 Released"
4 | date: 2021-07-09
5 | categories: news ion-go
6 | ---
7 |
8 | Ion Go 1.1.3 is now available.
9 |
10 | | [Release Notes v1.1.3](https://github.com/amazon-ion/ion-go/releases/tag/v1.1.3) | [Ion Go](https://github.com/amazon-ion/ion-go) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2021-07-13-ion-hash-go-1_1_2-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Hash Go 1.1.2 Released"
4 | date: 2021-07-13
5 | categories: news ion-hash-go
6 | ---
7 |
8 | Ion Hash Go 1.1.2 is now available.
9 |
10 | | [Release Notes v1.1.2](https://github.com/amazon-ion/ion-hash-go/releases/tag/v1.1.2) | [Ion Hash Go](https://github.com/amazon-ion/ion-hash-go) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2021-07-13-ion-intellij-plugin-2_1_28-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Intellij Plugin 2.1.28 Released"
4 | date: 2021-07-13
5 | categories: news ion-intellij-plugin
6 | ---
7 |
8 | Ion Intellij Plugin 2.1.28 is now available.
9 |
10 | | [Release Notes 2.1.28](https://github.com/amazon-ion/ion-intellij-plugin/releases/tag/2.1.28) | [Ion Intellij Plugin](https://github.com/amazon-ion/ion-intellij-plugin) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2021-09-10-ion-hash-python-1_2_1-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Hash Python 1.2.1 Released"
4 | date: 2021-09-10
5 | categories: news ion-hash-python
6 | ---
7 |
8 | Ion Hash Python 1.2.1 is now available.
9 |
10 | | [Release Notes v1.2.1](https://github.com/amazon-ion/ion-hash-python/releases/tag/v1.2.1) | [Ion Hash Python](https://github.com/amazon-ion/ion-hash-python) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2021-10-13-ion-java-1_9_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java 1.9.0 Released"
4 | date: 2021-10-13
5 | categories: news ion-java
6 | ---
7 |
8 | Ion Java 1.9.0 is now available.
9 |
10 | | [Release Notes v1.9.0](https://github.com/amazon-ion/ion-java/releases/tag/v1.9.0) | [Ion Java](https://github.com/amazon-ion/ion-java) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2021-11-29-ion-schema-kotlin-1_2_1-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Schema Kotlin 1.2.1 Released"
4 | date: 2021-11-29
5 | categories: news ion-schema-kotlin
6 | ---
7 |
8 | Ion Schema Kotlin 1.2.1 is now available.
9 |
10 | | [Release Notes v1.2.1](https://github.com/amazon-ion/ion-schema-kotlin/releases/tag/v1.2.1) | [Ion Schema Kotlin](https://github.com/amazon-ion/ion-schema-kotlin) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2022-02-02-ion-python-0_9_1-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Python 0.9.1 Released"
4 | date: 2022-02-02
5 | categories: news ion-python
6 | ---
7 |
8 | Ion Python 0.9.1 is now available.
9 |
10 | | [Release Notes v0.9.1](https://github.com/amazon-ion/ion-python/releases/tag/v0.9.1) | [Ion Python](https://github.com/amazon-ion/ion-python) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2022-02-04-ion-hive-serde-0_5_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Hive Serde 0.5.0 Released"
4 | date: 2022-02-04
5 | categories: news ion-hive-serde
6 | ---
7 |
8 | Ion Hive Serde 0.5.0 is now available.
9 |
10 | | [Release Notes v0.5.0](https://github.com/amazon-ion/ion-hive-serde/releases/tag/v0.5.0) | [Ion Hive Serde](https://github.com/amazon-ion/ion-hive-serde) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2022-02-08-ion-dotnet-1_2_2-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Dotnet 1.2.2 Released"
4 | date: 2022-02-08
5 | categories: news ion-dotnet
6 | ---
7 |
8 | Ion Dotnet 1.2.2 is now available.
9 |
10 | | [Release Notes v1.2.2](https://github.com/amazon-ion/ion-dotnet/releases/tag/v1.2.2) | [Ion Dotnet](https://github.com/amazon-ion/ion-dotnet) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2022-02-15-ion-java-1_9_1-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java 1.9.1 Released"
4 | date: 2022-02-15
5 | categories: news ion-java
6 | ---
7 |
8 | Ion Java 1.9.1 is now available.
9 |
10 | | [Release Notes v1.9.1](https://github.com/amazon-ion/ion-java/releases/tag/v1.9.1) | [Ion Java](https://github.com/amazon-ion/ion-java) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2022-02-17-ion-hive-serde-0_6_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Hive Serde 0.6.0 Released"
4 | date: 2022-02-17
5 | categories: news ion-hive-serde
6 | ---
7 |
8 | Ion Hive Serde 0.6.0 is now available.
9 |
10 | | [Release Notes v0.6.0](https://github.com/amazon-ion/ion-hive-serde/releases/tag/v0.6.0) | [Ion Hive Serde](https://github.com/amazon-ion/ion-hive-serde) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2022-03-01-ion-java-1_9_2-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java 1.9.2 Released"
4 | date: 2022-03-01
5 | categories: news ion-java
6 | ---
7 |
8 | Ion Java 1.9.2 is now available.
9 |
10 | | [Release Notes v1.9.2](https://github.com/amazon-ion/ion-java/releases/tag/v1.9.2) | [Ion Java](https://github.com/amazon-ion/ion-java) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2022-03-15-ion-c-1_0_5-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion C 1.0.5 Released"
4 | date: 2022-03-15
5 | categories: news ion-c
6 | ---
7 |
8 | Ion C 1.0.5 is now available.
9 |
10 | | [Release Notes v1.0.5](https://github.com/amazon-ion/ion-c/releases/tag/v1.0.5) | [Ion C](https://github.com/amazon-ion/ion-c) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2022-03-15-ion-hive-serde-1_0_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Hive Serde 1.0.0 Released"
4 | date: 2022-03-15
5 | categories: news ion-hive-serde
6 | ---
7 |
8 | Ion Hive Serde 1.0.0 is now available.
9 |
10 | | [Release Notes v1.0.0](https://github.com/amazon-ion/ion-hive-serde/releases/tag/v1.0.0) | [Ion Hive Serde](https://github.com/amazon-ion/ion-hive-serde) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2022-03-17-ion-js-4_2_2-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Js 4.2.2 Released"
4 | date: 2022-03-17
5 | categories: news ion-js
6 | ---
7 |
8 | Ion Js 4.2.2 is now available.
9 |
10 | | [Release Notes v4.2.2](https://github.com/amazon-ion/ion-js/releases/tag/v4.2.2) | [Ion Js](https://github.com/amazon-ion/ion-js) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2022-03-23-ion-java-1_9_3-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java 1.9.3 Released"
4 | date: 2022-03-23
5 | categories: news ion-java
6 | ---
7 |
8 | Ion Java 1.9.3 is now available.
9 |
10 | | [Release Notes v1.9.3](https://github.com/amazon-ion/ion-java/releases/tag/v1.9.3) | [Ion Java](https://github.com/amazon-ion/ion-java) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2022-03-28-ion-c-1_0_6-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion C 1.0.6 Released"
4 | date: 2022-03-28
5 | categories: news ion-c
6 | ---
7 |
8 | Ion C 1.0.6 is now available.
9 |
10 | | [Release Notes v1.0.6](https://github.com/amazon-ion/ion-c/releases/tag/v1.0.6) | [Ion C](https://github.com/amazon-ion/ion-c) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2022-04-05-ion-java-1_9_4-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java 1.9.4 Released"
4 | date: 2022-04-05
5 | categories: news ion-java
6 | ---
7 |
8 | Ion Java 1.9.4 is now available.
9 |
10 | | [Release Notes v1.9.4](https://github.com/amazon-ion/ion-java/releases/tag/v1.9.4) | [Ion Java](https://github.com/amazon-ion/ion-java) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2022-05-04-ion-js-4_2_3-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Js 4.2.3 Released"
4 | date: 2022-05-04
5 | categories: news ion-js
6 | ---
7 |
8 | Ion Js 4.2.3 is now available.
9 |
10 | | [Release Notes v4.2.3](https://github.com/amazon-ion/ion-js/releases/tag/v4.2.3) | [Ion Js](https://github.com/amazon-ion/ion-js) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2022-05-06-ion-python-0_9_2-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Python 0.9.2 Released"
4 | date: 2022-05-06
5 | categories: news ion-python
6 | ---
7 |
8 | Ion Python 0.9.2 is now available.
9 |
10 | | [Release Notes v0.9.2](https://github.com/amazon-ion/ion-python/releases/tag/v0.9.2) | [Ion Python](https://github.com/amazon-ion/ion-python) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2022-05-10-ion-js-4_3_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Js 4.3.0 Released"
4 | date: 2022-05-10
5 | categories: news ion-js
6 | ---
7 |
8 | Ion Js 4.3.0 is now available.
9 |
10 | | [Release Notes v4.3.0](https://github.com/amazon-ion/ion-js/releases/tag/v4.3.0) | [Ion Js](https://github.com/amazon-ion/ion-js) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2022-05-17-ion-rust-0_10_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Rust 0.10.0 Released"
4 | date: 2022-05-17
5 | categories: news ion-rust
6 | ---
7 |
8 | Ion Rust 0.10.0 is now available.
9 |
10 | | [Release Notes v0.10.0](https://github.com/amazon-ion/ion-rust/releases/tag/v0.10.0) | [Ion Rust](https://github.com/amazon-ion/ion-rust) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2022-05-28-ion-schema-rust-0_3_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Schema Rust 0.3.0 Released"
4 | date: 2022-05-28
5 | categories: news ion-schema-rust
6 | ---
7 |
8 | Ion Schema Rust 0.3.0 is now available.
9 |
10 | | [Release Notes v0.3.0](https://github.com/amazon-ion/ion-schema-rust/releases/tag/v0.3.0) | [Ion Schema Rust](https://github.com/amazon-ion/ion-schema-rust) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2022-05-31-ion-hash-dotnet-1_1_1-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Hash Dotnet 1.1.1 Released"
4 | date: 2022-05-31
5 | categories: news ion-hash-dotnet
6 | ---
7 |
8 | Ion Hash Dotnet 1.1.1 is now available.
9 |
10 | | [Release Notes v1.1.1](https://github.com/amazon-ion/ion-hash-dotnet/releases/tag/v1.1.1) | [Ion Hash Dotnet](https://github.com/amazon-ion/ion-hash-dotnet) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2022-06-29-ion-element-kotlin-1_0_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Element Kotlin 1.0.0 Released"
4 | date: 2022-06-29
5 | categories: news ion-element-kotlin
6 | ---
7 |
8 | Ion Element Kotlin 1.0.0 is now available.
9 |
10 | | [Release Notes v1.0.0](https://github.com/amazon-ion/ion-element-kotlin/releases/tag/v1.0.0) | [Ion Element Kotlin](https://github.com/amazon-ion/ion-element-kotlin) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2022-06-29-ion-schema-kotlin-1_3_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Schema Kotlin 1.3.0 Released"
4 | date: 2022-06-29
5 | categories: news ion-schema-kotlin
6 | ---
7 |
8 | Ion Schema Kotlin 1.3.0 is now available.
9 |
10 | | [Release Notes v1.3.0](https://github.com/amazon-ion/ion-schema-kotlin/releases/tag/v1.3.0) | [Ion Schema Kotlin](https://github.com/amazon-ion/ion-schema-kotlin) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2022-07-14-ion-schema-rust-0_4_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Schema Rust 0.4.0 Released"
4 | date: 2022-07-14
5 | categories: news ion-schema-rust
6 | ---
7 |
8 | Ion Schema Rust 0.4.0 is now available.
9 |
10 | | [Release Notes v0.4.0](https://github.com/amazon-ion/ion-schema-rust/releases/tag/v0.4.0) | [Ion Schema Rust](https://github.com/amazon-ion/ion-schema-rust) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2022-07-26-rfc-ion-schema-2_0-public-comment.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "RFC: Ion Schema 2.0 - Open for Comment"
4 | date: 2022-07-26
5 | categories: news ion-schema
6 | ---
7 |
8 | An RFC was published to the [Ion Schema](https://github.com/amazon-ion/ion-schema) GitHub repository proposing a new major version of Ion Schema. Questions, comments, and suggestions are welcome and can be added to the ‘Conversation’ tab of the pull request or linked issues.
9 |
10 | The public comment period for this RFC is open until 21 August 2022.
11 |
12 | | [Ion Schema 2.0 RFC](https://github.com/amazon-ion/ion-schema/pull/69) |
13 |
--------------------------------------------------------------------------------
/_posts/2022-08-16-community-supported-php-library-added.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ext Ion, A Community Supported PHP Library"
4 | date: 2022-08-16
5 | categories: news ion-php
6 | ---
7 |
8 | Ext Ion, [link](https://github.com/awesomized/ext-ion), is a PHP library for Ion from Awesomized, the developers behind SmugMug. The library wraps ion-c and is available for installation on PECL with `pecl install ion`.
9 |
10 | The library is listed on the [libraries page](https://amazon-ion.github.io/ion-docs/libs.html) under Community Supported Libraries.
11 |
12 | | [Ext Ion](https://github.com/awesomized/ext-ion) | [Community Supported Libraries](https://amazon-ion.github.io/ion-docs/libs.html#community-supported-libraries) |
13 |
--------------------------------------------------------------------------------
/_posts/2022-08-17-ion-java-1_9_5-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java 1.9.5 Released"
4 | date: 2022-08-17
5 | categories: news ion-java
6 | ---
7 |
8 | Ion Java 1.9.5 is now available.
9 |
10 | | [Release Notes v1.9.5](https://github.com/amazon-ion/ion-java/releases/tag/v1.9.5) | [Ion Java](https://github.com/amazon-ion/ion-java) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2022-08-19-ion-python-0_9_3-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Python 0.9.3 Released"
4 | date: 2022-08-19
5 | categories: news ion-python
6 | ---
7 |
8 | Ion Python 0.9.3 is now available.
9 |
10 | | [Release Notes v0.9.3](https://github.com/amazon-ion/ion-python/releases/tag/v0.9.3) | [Ion Python](https://github.com/amazon-ion/ion-python) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2022-08-24-ion-cli-homebrew.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion CLI now available through Homebrew"
4 | date: 2022-08-24
5 | categories: news ion-cli
6 | ---
7 |
8 | The [Ion CLI](https://github.com/amazon-ion/ion-cli) is now available to install using Homebrew, a free and open-source software package management system for macOS and Linux.
9 |
10 | To install the latest version of Ion CLI (currently [v0.4.1](https://github.com/amazon-ion/ion-cli/releases/tag/v0.4.1)), run:
11 | ```shell
12 | brew tap amazon-ion/ion-cli
13 | brew install ion-cli
14 | ```
15 |
16 | If you have any suggestions or encounter any problems using the Ion CLI, [create an issue in `ion-cli`](https://github.com/amazon-ion/ion-cli/issues/new).
17 | For issues specifically related to installing via Homebrew, [create an issue in `homebrew-ion-cli`](https://github.com/amazon-ion/homebrew-ion-cli/issues/new/choose).
18 |
19 | To learn more about using Homebrew in general, visit [brew.sh](https://brew.sh/).
20 |
--------------------------------------------------------------------------------
/_posts/2022-08-25-rfc-ion-schema-2_0-approved.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "RFC: Ion Schema 2.0 - Approved"
4 | date: 2022-08-25
5 | categories: news ion-schema
6 | ---
7 |
8 | [RFC: Ion Schema 2.0](https://amazon-ion.github.io/ion-schema/rfcs/ion_schema_2_0/ion_schema_2_0) as been approved.
9 | A new version of the Ion Schema Specification that incorporates these changes will be published in the coming weeks.
10 |
--------------------------------------------------------------------------------
/_posts/2022-09-02-ion-rust-0_13_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Rust 0.13.0 Released"
4 | date: 2022-09-02
5 | categories: news ion-rust
6 | ---
7 |
8 | Ion Rust 0.13.0 is now available.
9 |
10 | | [Release Notes v0.13.0](https://github.com/amazon-ion/ion-rust/releases/tag/v0.13.0) | [Ion Rust](https://github.com/amazon-ion/ion-rust) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2022-09-12-new-tool-ion-schema-sandbox.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "New Tool: Ion Schema Sandbox"
4 | date: 2022-09-12
5 | categories: news ion-schema
6 | ---
7 |
8 | A browser-based sandbox environment for Ion Schema has been added to the Ion Schema website.
9 |
10 | This sandbox can be used to validate Ion values for a particular type defined in Ion Schema.
11 | The sandbox is created using `ion-schema-rust` latest pre-release version.
12 |
13 | | [Ion Schema Sandbox](https://amazon-ion.github.io/ion-schema/sandbox) |
14 |
--------------------------------------------------------------------------------
/_posts/2022-09-13-ion-schema-rust-0_5_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Schema Rust 0.5.0 Released"
4 | date: 2022-09-13
5 | categories: news ion-schema-rust
6 | ---
7 |
8 | Ion Schema Rust 0.5.0 is now available.
9 |
10 | | [Release Notes v0.5.0](https://github.com/amazon-ion/ion-schema-rust/releases/tag/v0.5.0) | [Ion Schema Rust](https://github.com/amazon-ion/ion-schema-rust) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2022-09-14-ion-intellij-plugin-2_1_34-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Intellij Plugin 2.1.34 Released"
4 | date: 2022-09-14
5 | categories: news ion-intellij-plugin
6 | ---
7 |
8 | Ion Intellij Plugin 2.1.34 is now available.
9 |
10 | | [Release Notes 2.1.34](https://github.com/amazon-ion/ion-intellij-plugin/releases/tag/2.1.34) | [Ion Intellij Plugin](https://github.com/amazon-ion/ion-intellij-plugin) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2022-09-15-ion-hive-serde-1_1_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Hive Serde 1.1.0 Released"
4 | date: 2022-09-15
5 | categories: news ion-hive-serde
6 | ---
7 |
8 | Ion Hive Serde 1.1.0 is now available.
9 |
10 | | [Release Notes v1.1.0](https://github.com/amazon-ion/ion-hive-serde/releases/tag/v1.1.0) | [Ion Hive Serde](https://github.com/amazon-ion/ion-hive-serde) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2022-10-04-ion-hive-serde-1_2_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Hive Serde 1.2.0 Released"
4 | date: 2022-10-04
5 | categories: news ion-hive-serde
6 | ---
7 |
8 | Ion Hive Serde 1.2.0 is now available.
9 |
10 | | [Release Notes v1.2.0](https://github.com/amazon-ion/ion-hive-serde/releases/tag/v1.2.0) | [Ion Hive Serde](https://github.com/amazon-ion/ion-hive-serde) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2022-11-10-ion-schema-kotlin-1_4_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Schema Kotlin 1.4.0 Released"
4 | date: 2022-11-10
5 | categories: news ion-schema-kotlin
6 | ---
7 |
8 | Ion Schema Kotlin 1.4.0 is now available.
9 |
10 | | [Release Notes v1.4.0](https://github.com/amazon-ion/ion-schema-kotlin/releases/tag/v1.4.0) | [Ion Schema Kotlin](https://github.com/amazon-ion/ion-schema-kotlin) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2022-11-16-ion-schema-rust-0_6_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Schema Rust 0.6.0 Released"
4 | date: 2022-11-16
5 | categories: news ion-schema-rust
6 | ---
7 |
8 | Ion Schema Rust 0.6.0 is now available.
9 |
10 | | [Release Notes v0.6.0](https://github.com/amazon-ion/ion-schema-rust/releases/tag/v0.6.0) | [Ion Schema Rust](https://github.com/amazon-ion/ion-schema-rust) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2022-12-05-ion-intellij-plugin-2_2_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Intellij Plugin 2.2.0 Released"
4 | date: 2022-12-05
5 | categories: news ion-intellij-plugin
6 | ---
7 |
8 | Ion Intellij Plugin 2.2.0 is now available.
9 |
10 | | [Release Notes 2.2.0](https://github.com/amazon-ion/ion-intellij-plugin/releases/tag/2.2.0) | [Ion Intellij Plugin](https://github.com/amazon-ion/ion-intellij-plugin) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2022-12-06-ion-c-1_1_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion C 1.1.0 Released"
4 | date: 2022-12-06
5 | categories: news ion-c
6 | ---
7 |
8 | Ion C 1.1.0 is now available.
9 |
10 | | [Release Notes v1.1.0](https://github.com/amazon-ion/ion-c/releases/tag/v1.1.0) | [Ion C](https://github.com/amazon-ion/ion-c) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2022-12-19-ion-dotnet-1_2_3-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Dotnet 1.2.3 Released"
4 | date: 2022-12-19
5 | categories: news ion-dotnet
6 | ---
7 |
8 | Ion Dotnet 1.2.3 is now available.
9 |
10 | | [Release Notes v1.2.3](https://github.com/amazon-ion/ion-dotnet/releases/tag/v1.2.3) | [Ion Dotnet](https://github.com/amazon-ion/ion-dotnet) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2022-12-20-ion-dotnet-1_2_3-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Dotnet 1.2.3 Released"
4 | date: 2022-12-20
5 | categories: news ion-dotnet
6 | ---
7 |
8 | Ion Dotnet 1.2.3 is now available.
9 |
10 | | [Release Notes v1.2.3](https://github.com/amazon-ion/ion-dotnet/releases/tag/v1.2.3) | [Ion Dotnet](https://github.com/amazon-ion/ion-dotnet) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2022-12-27-ion-rust-0_15_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Rust 0.15.0 Released"
4 | date: 2022-12-27
5 | categories: news ion-rust
6 | ---
7 |
8 | Ion Rust 0.15.0 is now available.
9 |
10 | | [Release Notes v0.15.0](https://github.com/amazon-ion/ion-rust/releases/tag/v0.15.0) | [Ion Rust](https://github.com/amazon-ion/ion-rust) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-02-01-ion-go-1_2_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Go 1.2.0 Released"
4 | date: 2023-02-01
5 | categories: news ion-go
6 | ---
7 |
8 | Ion Go 1.2.0 is now available.
9 |
10 | | [Release Notes v1.2.0](https://github.com/amazon-ion/ion-go/releases/tag/v1.2.0) | [Ion Go](https://github.com/amazon-ion/ion-go) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-02-14-ion-python-0_10_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Python 0.10.0 Released"
4 | date: 2023-02-14
5 | categories: news ion-python
6 | ---
7 |
8 | Ion Python 0.10.0 is now available.
9 |
10 | | [Release Notes v0.10.0](https://github.com/amazon-ion/ion-python/releases/tag/v0.10.0) | [Ion Python](https://github.com/amazon-ion/ion-python) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-02-22-ion-c-1_1_1-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion C 1.1.1 Released"
4 | date: 2023-02-22
5 | categories: news ion-c
6 | ---
7 |
8 | Ion C 1.1.1 is now available.
9 |
10 | | [Release Notes v1.1.1](https://github.com/amazon-ion/ion-c/releases/tag/v1.1.1) | [Ion C](https://github.com/amazon-ion/ion-c) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-03-14-ion-schema-kotlin-1_5_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Schema Kotlin 1.5.0 Released"
4 | date: 2023-03-14
5 | categories: news ion-schema-kotlin
6 | ---
7 |
8 | Ion Schema Kotlin 1.5.0 is now available.
9 |
10 | | [Release Notes v1.5.0](https://github.com/amazon-ion/ion-schema-kotlin/releases/tag/v1.5.0) | [Ion Schema Kotlin](https://github.com/amazon-ion/ion-schema-kotlin) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-03-17-ion-schema-kotlin-1_5_1-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Schema Kotlin 1.5.1 Released"
4 | date: 2023-03-17
5 | categories: news ion-schema-kotlin
6 | ---
7 |
8 | Ion Schema Kotlin 1.5.1 is now available.
9 |
10 | | [Release Notes v1.5.1](https://github.com/amazon-ion/ion-schema-kotlin/releases/tag/v1.5.1) | [Ion Schema Kotlin](https://github.com/amazon-ion/ion-schema-kotlin) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-03-18-ion-rust-0_16_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Rust 0.16.0 Released"
4 | date: 2023-03-18
5 | categories: news ion-rust
6 | ---
7 |
8 | Ion Rust 0.16.0 is now available.
9 |
10 | | [Release Notes v0.16.0](https://github.com/amazon-ion/ion-rust/releases/tag/v0.16.0) | [Ion Rust](https://github.com/amazon-ion/ion-rust) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-03-28-ion-c-1_1_2-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion C 1.1.2 Released"
4 | date: 2023-03-28
5 | categories: news ion-c
6 | ---
7 |
8 | Ion C 1.1.2 is now available.
9 |
10 | | [Release Notes v1.1.2](https://github.com/amazon-ion/ion-c/releases/tag/v1.1.2) | [Ion C](https://github.com/amazon-ion/ion-c) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-03-29-ion-go-1_3_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Go 1.3.0 Released"
4 | date: 2023-03-29
5 | categories: news ion-go
6 | ---
7 |
8 | Ion Go 1.3.0 is now available.
9 |
10 | | [Release Notes v1.3.0](https://github.com/amazon-ion/ion-go/releases/tag/v1.3.0) | [Ion Go](https://github.com/amazon-ion/ion-go) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-04-12-ion-java-1_9_6-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java 1.9.6 Released"
4 | date: 2023-04-12
5 | categories: news ion-java
6 | ---
7 |
8 | Ion Java 1.9.6 is now available.
9 |
10 | | [Release Notes v1.9.6](https://github.com/amazon-ion/ion-java/releases/tag/v1.9.6) | [Ion Java](https://github.com/amazon-ion/ion-java) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-04-19-ion-rust-0_17_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Rust 0.17.0 Released"
4 | date: 2023-04-19
5 | categories: news ion-rust
6 | ---
7 |
8 | Ion Rust 0.17.0 is now available.
9 |
10 | | [Release Notes v0.17.0](https://github.com/amazon-ion/ion-rust/releases/tag/v0.17.0) | [Ion Rust](https://github.com/amazon-ion/ion-rust) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-04-25-ion-js-5_0_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Js 5.0.0 Released"
4 | date: 2023-04-25
5 | categories: news ion-js
6 | ---
7 |
8 | Ion Js 5.0.0 is now available.
9 |
10 | | [Release Notes v5.0.0](https://github.com/amazon-ion/ion-js/releases/tag/v5.0.0) | [Ion Js](https://github.com/amazon-ion/ion-js) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-04-26-ion-schema-rust-0_7_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Schema Rust 0.7.0 Released"
4 | date: 2023-04-26
5 | categories: news ion-schema-rust
6 | ---
7 |
8 | Ion Schema Rust 0.7.0 is now available.
9 |
10 | | [Release Notes v0.7.0](https://github.com/amazon-ion/ion-schema-rust/releases/tag/v0.7.0) | [Ion Schema Rust](https://github.com/amazon-ion/ion-schema-rust) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-05-12-ion-element-kotlin-1_1_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Element Kotlin 1.1.0 Released"
4 | date: 2023-05-12
5 | categories: news ion-element-kotlin
6 | ---
7 |
8 | Ion Element Kotlin 1.1.0 is now available.
9 |
10 | | [Release Notes v1.1.0](https://github.com/amazon-ion/ion-element-kotlin/releases/tag/v1.1.0) | [Ion Element Kotlin](https://github.com/amazon-ion/ion-element-kotlin) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-06-06-ion-intellij-plugin-2_3_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Intellij Plugin 2.3.0 Released"
4 | date: 2023-06-06
5 | categories: news ion-intellij-plugin
6 | ---
7 |
8 | Ion Intellij Plugin 2.3.0 is now available.
9 |
10 | | [Release Notes v2.3.0](https://github.com/amazon-ion/ion-intellij-plugin/releases/tag/v2.3.0) | [Ion Intellij Plugin](https://github.com/amazon-ion/ion-intellij-plugin) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-06-06-ion-schema-kotlin-1_6_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Schema Kotlin 1.6.0 Released"
4 | date: 2023-06-06
5 | categories: news ion-schema-kotlin
6 | ---
7 |
8 | Ion Schema Kotlin 1.6.0 is now available.
9 |
10 | | [Release Notes v1.6.0](https://github.com/amazon-ion/ion-schema-kotlin/releases/tag/v1.6.0) | [Ion Schema Kotlin](https://github.com/amazon-ion/ion-schema-kotlin) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-06-09-ion-rust-0_18_1-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Rust 0.18.1 Released"
4 | date: 2023-06-09
5 | categories: news ion-rust
6 | ---
7 |
8 | Ion Rust 0.18.1 is now available.
9 |
10 | | [Release Notes v0.18.1](https://github.com/amazon-ion/ion-rust/releases/tag/v0.18.1) | [Ion Rust](https://github.com/amazon-ion/ion-rust) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-06-15-ion-schema-rust-0_8_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Schema Rust 0.8.0 Released"
4 | date: 2023-06-15
5 | categories: news ion-schema-rust
6 | ---
7 |
8 | Ion Schema Rust 0.8.0 is now available.
9 |
10 | | [Release Notes v0.8.0](https://github.com/amazon-ion/ion-schema-rust/releases/tag/v0.8.0) | [Ion Schema Rust](https://github.com/amazon-ion/ion-schema-rust) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-06-21-ion-schema-kotlin-1_6_1-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Schema Kotlin 1.6.1 Released"
4 | date: 2023-06-21
5 | categories: news ion-schema-kotlin
6 | ---
7 |
8 | Ion Schema Kotlin 1.6.1 is now available.
9 |
10 | | [Release Notes v1.6.1](https://github.com/amazon-ion/ion-schema-kotlin/releases/tag/v1.6.1) | [Ion Schema Kotlin](https://github.com/amazon-ion/ion-schema-kotlin) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-06-28-ion-schema-rust-0_9_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Schema Rust 0.9.0 Released"
4 | date: 2023-06-28
5 | categories: news ion-schema-rust
6 | ---
7 |
8 | Ion Schema Rust 0.9.0 is now available.
9 |
10 | | [Release Notes v0.9.0](https://github.com/amazon-ion/ion-schema-rust/releases/tag/v0.9.0) | [Ion Schema Rust](https://github.com/amazon-ion/ion-schema-rust) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-06-29-ion-schema-rust-0_9_1-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Schema Rust 0.9.1 Released"
4 | date: 2023-06-29
5 | categories: news ion-schema-rust
6 | ---
7 |
8 | Ion Schema Rust 0.9.1 is now available.
9 |
10 | | [Release Notes v0.9.1](https://github.com/amazon-ion/ion-schema-rust/releases/tag/v0.9.1) | [Ion Schema Rust](https://github.com/amazon-ion/ion-schema-rust) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-07-13-ion-intellij-plugin-2_3_1-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Intellij Plugin 2.3.1 Released"
4 | date: 2023-07-13
5 | categories: news ion-intellij-plugin
6 | ---
7 |
8 | Ion Intellij Plugin 2.3.1 is now available.
9 |
10 | | [Release Notes v2.3.1](https://github.com/amazon-ion/ion-intellij-plugin/releases/tag/v2.3.1) | [Ion Intellij Plugin](https://github.com/amazon-ion/ion-intellij-plugin) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-07-18-ion-java-1_10_1-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java 1.10.1 Released"
4 | date: 2023-07-18
5 | categories: news ion-java
6 | ---
7 |
8 | Ion Java 1.10.1 is now available.
9 |
10 | | [Release Notes v1.10.1](https://github.com/amazon-ion/ion-java/releases/tag/v1.10.1) | [Ion Java](https://github.com/amazon-ion/ion-java) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-07-19-ion-intellij-plugin-2_3_2-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Intellij Plugin 2.3.2 Released"
4 | date: 2023-07-19
5 | categories: news ion-intellij-plugin
6 | ---
7 |
8 | Ion Intellij Plugin 2.3.2 is now available.
9 |
10 | | [Release Notes v2.3.2](https://github.com/amazon-ion/ion-intellij-plugin/releases/tag/v2.3.2) | [Ion Intellij Plugin](https://github.com/amazon-ion/ion-intellij-plugin) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-07-19-ion-rust-1_0_0-rc_1-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Rust 1.0.0-rc.1 Released"
4 | date: 2023-07-19
5 | categories: news ion-rust
6 | ---
7 |
8 | Ion Rust 1.0.0-rc.1 is now available.
9 |
10 | | [Release Notes v1.0.0-rc.1](https://github.com/amazon-ion/ion-rust/releases/tag/v1.0.0-rc.1) | [Ion Rust](https://github.com/amazon-ion/ion-rust) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-07-20-ion-java-1_10_2-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java 1.10.2 Released"
4 | date: 2023-07-20
5 | categories: news ion-java
6 | ---
7 |
8 | Ion Java 1.10.2 is now available.
9 |
10 | | [Release Notes v1.10.2](https://github.com/amazon-ion/ion-java/releases/tag/v1.10.2) | [Ion Java](https://github.com/amazon-ion/ion-java) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-07-24-ion-js-5_1_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Js 5.1.0 Released"
4 | date: 2023-07-24
5 | categories: news ion-js
6 | ---
7 |
8 | Ion Js 5.1.0 is now available.
9 |
10 | | [Release Notes v5.1.0](https://github.com/amazon-ion/ion-js/releases/tag/v5.1.0) | [Ion Js](https://github.com/amazon-ion/ion-js) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-08-01-ion-intellij-plugin-2_4_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Intellij Plugin 2.4.0 Released"
4 | date: 2023-08-01
5 | categories: news ion-intellij-plugin
6 | ---
7 |
8 | Ion Intellij Plugin 2.4.0 is now available.
9 |
10 | | [Release Notes v2.4.0](https://github.com/amazon-ion/ion-intellij-plugin/releases/tag/v2.4.0) | [Ion Intellij Plugin](https://github.com/amazon-ion/ion-intellij-plugin) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-08-30-ion-hash-go-1_2_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Hash Go 1.2.0 Released"
4 | date: 2023-08-30
5 | categories: news ion-hash-go
6 | ---
7 |
8 | Ion Hash Go 1.2.0 is now available.
9 |
10 | | [Release Notes v1.2.0](https://github.com/amazon-ion/ion-hash-go/releases/tag/v1.2.0) | [Ion Hash Go](https://github.com/amazon-ion/ion-hash-go) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-09-07-ion-js-5_2_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Js 5.2.0 Released"
4 | date: 2023-09-07
5 | categories: news ion-js
6 | ---
7 |
8 | Ion Js 5.2.0 is now available.
9 |
10 | | [Release Notes v5.2.0](https://github.com/amazon-ion/ion-js/releases/tag/v5.2.0) | [Ion Js](https://github.com/amazon-ion/ion-js) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-09-12-ion-java-1_10_3-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java 1.10.3 Released"
4 | date: 2023-09-12
5 | categories: news ion-java
6 | ---
7 |
8 | Ion Java 1.10.3 is now available.
9 |
10 | | [Release Notes v1.10.3](https://github.com/amazon-ion/ion-java/releases/tag/v1.10.3) | [Ion Java](https://github.com/amazon-ion/ion-java) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-09-14-ion-java-1_10_4-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java 1.10.4 Released"
4 | date: 2023-09-14
5 | categories: news ion-java
6 | ---
7 |
8 | Ion Java 1.10.4 is now available.
9 |
10 | | [Release Notes v1.10.4](https://github.com/amazon-ion/ion-java/releases/tag/v1.10.4) | [Ion Java](https://github.com/amazon-ion/ion-java) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-09-19-ion-java-1_10_5-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java 1.10.5 Released"
4 | date: 2023-09-19
5 | categories: news ion-java
6 | ---
7 |
8 | Ion Java 1.10.5 is now available.
9 |
10 | | [Release Notes v1.10.5](https://github.com/amazon-ion/ion-java/releases/tag/v1.10.5) | [Ion Java](https://github.com/amazon-ion/ion-java) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-10-09-ion-python-0_11_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Python 0.11.0 Released"
4 | date: 2023-10-09
5 | categories: news ion-python
6 | ---
7 |
8 | Ion Python 0.11.0 is now available.
9 |
10 | | [Release Notes v0.11.0](https://github.com/amazon-ion/ion-python/releases/tag/v0.11.0) | [Ion Python](https://github.com/amazon-ion/ion-python) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-10-10-ion-python-0_11_1-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Python 0.11.1 Released"
4 | date: 2023-10-10
5 | categories: news ion-python
6 | ---
7 |
8 | Ion Python 0.11.1 is now available.
9 |
10 | | [Release Notes v0.11.1](https://github.com/amazon-ion/ion-python/releases/tag/v0.11.1) | [Ion Python](https://github.com/amazon-ion/ion-python) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-11-02-ion-schema-rust-0_10_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Schema Rust 0.10.0 Released"
4 | date: 2023-11-02
5 | categories: news ion-schema-rust
6 | ---
7 |
8 | Ion Schema Rust 0.10.0 is now available.
9 |
10 | | [Release Notes v0.10.0](https://github.com/amazon-ion/ion-schema-rust/releases/tag/v0.10.0) | [Ion Schema Rust](https://github.com/amazon-ion/ion-schema-rust) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-11-03-ion-java-1_11_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java 1.11.0 Released"
4 | date: 2023-11-03
5 | categories: news ion-java
6 | ---
7 |
8 | Ion Java 1.11.0 is now available.
9 |
10 | | [Release Notes v1.11.0](https://github.com/amazon-ion/ion-java/releases/tag/v1.11.0) | [Ion Java](https://github.com/amazon-ion/ion-java) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-11-13-ion-dotnet-1_3_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Dotnet 1.3.0 Released"
4 | date: 2023-11-13
5 | categories: news ion-dotnet
6 | ---
7 |
8 | Ion Dotnet 1.3.0 is now available.
9 |
10 | | [Release Notes v1.3.0](https://github.com/amazon-ion/ion-dotnet/releases/tag/v1.3.0) | [Ion Dotnet](https://github.com/amazon-ion/ion-dotnet) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-11-13-ion-schema-kotlin-1_7_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Schema Kotlin 1.7.0 Released"
4 | date: 2023-11-13
5 | categories: news ion-schema-kotlin
6 | ---
7 |
8 | Ion Schema Kotlin 1.7.0 is now available.
9 |
10 | | [Release Notes v1.7.0](https://github.com/amazon-ion/ion-schema-kotlin/releases/tag/v1.7.0) | [Ion Schema Kotlin](https://github.com/amazon-ion/ion-schema-kotlin) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-11-17-ion-python-0_11_2-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Python 0.11.2 Released"
4 | date: 2023-11-17
5 | categories: news ion-python
6 | ---
7 |
8 | Ion Python 0.11.2 is now available.
9 |
10 | | [Release Notes v0.11.2](https://github.com/amazon-ion/ion-python/releases/tag/v0.11.2) | [Ion Python](https://github.com/amazon-ion/ion-python) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-11-30-ion-python-0_11_3-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Python 0.11.3 Released"
4 | date: 2023-11-30
5 | categories: news ion-python
6 | ---
7 |
8 | Ion Python 0.11.3 is now available.
9 |
10 | | [Release Notes v0.11.3](https://github.com/amazon-ion/ion-python/releases/tag/v0.11.3) | [Ion Python](https://github.com/amazon-ion/ion-python) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-12-13-ion-element-kotlin-1_2_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Element Kotlin 1.2.0 Released"
4 | date: 2023-12-13
5 | categories: news ion-element-kotlin
6 | ---
7 |
8 | Ion Element Kotlin 1.2.0 is now available.
9 |
10 | | [Release Notes v1.2.0](https://github.com/amazon-ion/ion-element-kotlin/releases/tag/v1.2.0) | [Ion Element Kotlin](https://github.com/amazon-ion/ion-element-kotlin) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-12-15-ion-schema-kotlin-1_8_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Schema Kotlin 1.8.0 Released"
4 | date: 2023-12-15
5 | categories: news ion-schema-kotlin
6 | ---
7 |
8 | Ion Schema Kotlin 1.8.0 is now available.
9 |
10 | | [Release Notes v1.8.0](https://github.com/amazon-ion/ion-schema-kotlin/releases/tag/v1.8.0) | [Ion Schema Kotlin](https://github.com/amazon-ion/ion-schema-kotlin) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2023-12-19-ion-hash-js-2_1_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Hash Js 2.1.0 Released"
4 | date: 2023-12-19
5 | categories: news ion-hash-js
6 | ---
7 |
8 | Ion Hash Js 2.1.0 is now available.
9 |
10 | | [Release Notes v2.1.0](https://github.com/amazon-ion/ion-hash-js/releases/tag/v2.1.0) | [Ion Hash Js](https://github.com/amazon-ion/ion-hash-js) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-01-02-ion-intellij-plugin-2_5_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Intellij Plugin 2.5.0 Released"
4 | date: 2024-01-02
5 | categories: news ion-intellij-plugin
6 | ---
7 |
8 | Ion Intellij Plugin 2.5.0 is now available.
9 |
10 | | [Release Notes v2.5.0](https://github.com/amazon-ion/ion-intellij-plugin/releases/tag/v2.5.0) | [Ion Intellij Plugin](https://github.com/amazon-ion/ion-intellij-plugin) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-01-18-ion-java-1_11_1-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java 1.11.1 Released"
4 | date: 2024-01-18
5 | categories: news ion-java
6 | ---
7 |
8 | Ion Java 1.11.1 is now available.
9 |
10 | | [Release Notes v1.11.1](https://github.com/amazon-ion/ion-java/releases/tag/v1.11.1) | [Ion Java](https://github.com/amazon-ion/ion-java) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-02-01-ion-cli-0_5_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Cli 0.5.0 Released"
4 | date: 2024-02-01
5 | categories: news ion-cli
6 | ---
7 |
8 | Ion Cli 0.5.0 is now available.
9 |
10 | | [Release Notes v0.5.0](https://github.com/amazon-ion/ion-cli/releases/tag/v0.5.0) | [Ion Cli](https://github.com/amazon-ion/ion-cli) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-02-08-ion-cli-0_5_1-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Cli 0.5.1 Released"
4 | date: 2024-02-08
5 | categories: news ion-cli
6 | ---
7 |
8 | Ion Cli 0.5.1 is now available.
9 |
10 | | [Release Notes v0.5.1](https://github.com/amazon-ion/ion-cli/releases/tag/v0.5.1) | [Ion Cli](https://github.com/amazon-ion/ion-cli) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-02-08-ion-java-1_11_2-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java 1.11.2 Released"
4 | date: 2024-02-08
5 | categories: news ion-java
6 | ---
7 |
8 | Ion Java 1.11.2 is now available.
9 |
10 | | [Release Notes v1.11.2](https://github.com/amazon-ion/ion-java/releases/tag/v1.11.2) | [Ion Java](https://github.com/amazon-ion/ion-java) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-02-08-ion-rust-1_0_0-rc_2-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Rust 1.0.0-rc.2 Released"
4 | date: 2024-02-08
5 | categories: news ion-rust
6 | ---
7 |
8 | Ion Rust 1.0.0-rc.2 is now available.
9 |
10 | | [Release Notes v1.0.0-rc.2](https://github.com/amazon-ion/ion-rust/releases/tag/v1.0.0-rc.2) | [Ion Rust](https://github.com/amazon-ion/ion-rust) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-02-16-ion-python-0_12_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Python 0.12.0 Released"
4 | date: 2024-02-16
5 | categories: news ion-python
6 | ---
7 |
8 | Ion Python 0.12.0 is now available.
9 |
10 | | [Release Notes v0.12.0](https://github.com/amazon-ion/ion-python/releases/tag/v0.12.0) | [Ion Python](https://github.com/amazon-ion/ion-python) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-02-21-ion-java-1_11_3-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java 1.11.3 Released"
4 | date: 2024-02-21
5 | categories: news ion-java
6 | ---
7 |
8 | Ion Java 1.11.3 is now available.
9 |
10 | | [Release Notes v1.11.3](https://github.com/amazon-ion/ion-java/releases/tag/v1.11.3) | [Ion Java](https://github.com/amazon-ion/ion-java) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-02-23-ion-rust-1_0_0-rc_3-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Rust 1.0.0-rc.3 Released"
4 | date: 2024-02-23
5 | categories: news ion-rust
6 | ---
7 |
8 | Ion Rust 1.0.0-rc.3 is now available.
9 |
10 | | [Release Notes v1.0.0-rc.3](https://github.com/amazon-ion/ion-rust/releases/tag/v1.0.0-rc.3) | [Ion Rust](https://github.com/amazon-ion/ion-rust) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-03-01-ion-java-1_11_4-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java 1.11.4 Released"
4 | date: 2024-03-01
5 | categories: news ion-java
6 | ---
7 |
8 | Ion Java 1.11.4 is now available.
9 |
10 | | [Release Notes v1.11.4](https://github.com/amazon-ion/ion-java/releases/tag/v1.11.4) | [Ion Java](https://github.com/amazon-ion/ion-java) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-03-11-ion-schema-rust-0_11_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Schema Rust 0.11.0 Released"
4 | date: 2024-03-11
5 | categories: news ion-schema-rust
6 | ---
7 |
8 | Ion Schema Rust 0.11.0 is now available.
9 |
10 | | [Release Notes v0.11.0](https://github.com/amazon-ion/ion-schema-rust/releases/tag/v0.11.0) | [Ion Schema Rust](https://github.com/amazon-ion/ion-schema-rust) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-04-12-ion-schema-rfc-process-public-comment.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "RFC: Ion Schema RFC Process - Open for Comment"
4 | date: 2024-04-12
5 | categories: news ion-schema
6 | ---
7 |
8 | An RFC was published to the [Ion Schema](https://github.com/amazon-ion/ion-schema) GitHub repository proposing a process for RFCs that modify the Ion Schema Language.
9 | Questions, comments, and suggestions are welcome and can be added to the ‘Conversation’ tab of the pull request.
10 |
11 | The public comment period for this RFC is open until 10 May 2024.
12 |
13 | | [Ion Schema RFC Process](https://github.com/amazon-ion/ion-schema/pull/133) |
14 |
--------------------------------------------------------------------------------
/_posts/2024-04-19-ion-intellij-plugin-2_6_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Intellij Plugin 2.6.0 Released"
4 | date: 2024-04-19
5 | categories: news ion-intellij-plugin
6 | ---
7 |
8 | Ion Intellij Plugin 2.6.0 is now available.
9 |
10 | | [Release Notes v2.6.0](https://github.com/amazon-ion/ion-intellij-plugin/releases/tag/v2.6.0) | [Ion Intellij Plugin](https://github.com/amazon-ion/ion-intellij-plugin) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-04-23-ion-java-1_11_6-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java 1.11.6 Released"
4 | date: 2024-04-23
5 | categories: news ion-java
6 | ---
7 |
8 | Ion Java 1.11.6 is now available.
9 |
10 | | [Release Notes v1.11.6](https://github.com/amazon-ion/ion-java/releases/tag/v1.11.6) | [Ion Java](https://github.com/amazon-ion/ion-java) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-04-24-ion-java-1_11_7-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java 1.11.7 Released"
4 | date: 2024-04-24
5 | categories: news ion-java
6 | ---
7 |
8 | Ion Java 1.11.7 is now available.
9 |
10 | | [Release Notes v1.11.7](https://github.com/amazon-ion/ion-java/releases/tag/v1.11.7) | [Ion Java](https://github.com/amazon-ion/ion-java) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-04-26-ion-go-1_4_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Go 1.4.0 Released"
4 | date: 2024-04-26
5 | categories: news ion-go
6 | ---
7 |
8 | Ion Go 1.4.0 is now available.
9 |
10 | | [Release Notes v1.4.0](https://github.com/amazon-ion/ion-go/releases/tag/v1.4.0) | [Ion Go](https://github.com/amazon-ion/ion-go) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-04-30-ion-js-5_2_1-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Js 5.2.1 Released"
4 | date: 2024-04-30
5 | categories: news ion-js
6 | ---
7 |
8 | Ion Js 5.2.1 is now available.
9 |
10 | | [Release Notes v5.2.1](https://github.com/amazon-ion/ion-js/releases/tag/v5.2.1) | [Ion Js](https://github.com/amazon-ion/ion-js) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-05-09-ion-java-1_11_8-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java 1.11.8 Released"
4 | date: 2024-05-09
5 | categories: news ion-java
6 | ---
7 |
8 | Ion Java 1.11.8 is now available.
9 |
10 | | [Release Notes v1.11.8](https://github.com/amazon-ion/ion-java/releases/tag/v1.11.8) | [Ion Java](https://github.com/amazon-ion/ion-java) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-05-31-ion-rust-1_0_0-rc_4-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Rust 1.0.0-rc.4 Released"
4 | date: 2024-05-31
5 | categories: news ion-rust
6 | ---
7 |
8 | Ion Rust 1.0.0-rc.4 is now available.
9 |
10 | | [Release Notes v1.0.0-rc.4](https://github.com/amazon-ion/ion-rust/releases/tag/v1.0.0-rc.4) | [Ion Rust](https://github.com/amazon-ion/ion-rust) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-06-03-ion-rust-1_0_0-rc_5-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Rust 1.0.0-rc.5 Released"
4 | date: 2024-06-03
5 | categories: news ion-rust
6 | ---
7 |
8 | Ion Rust 1.0.0-rc.5 is now available.
9 |
10 | | [Release Notes v1.0.0-rc.5](https://github.com/amazon-ion/ion-rust/releases/tag/v1.0.0-rc.5) | [Ion Rust](https://github.com/amazon-ion/ion-rust) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-06-06-ion-cli-0_6_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Cli 0.6.0 Released"
4 | date: 2024-06-06
5 | categories: news ion-cli
6 | ---
7 |
8 | Ion Cli 0.6.0 is now available.
9 |
10 | | [Release Notes v0.6.0](https://github.com/amazon-ion/ion-cli/releases/tag/v0.6.0) | [Ion Cli](https://github.com/amazon-ion/ion-cli) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-06-06-ion-go-1_5_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Go 1.5.0 Released"
4 | date: 2024-06-06
5 | categories: news ion-go
6 | ---
7 |
8 | Ion Go 1.5.0 is now available.
9 |
10 | | [Release Notes v1.5.0](https://github.com/amazon-ion/ion-go/releases/tag/v1.5.0) | [Ion Go](https://github.com/amazon-ion/ion-go) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-06-06-ion-rust-1_0_0-rc_6-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Rust 1.0.0-rc.6 Released"
4 | date: 2024-06-06
5 | categories: news ion-rust
6 | ---
7 |
8 | Ion Rust 1.0.0-rc.6 is now available.
9 |
10 | | [Release Notes v1.0.0-rc.6](https://github.com/amazon-ion/ion-rust/releases/tag/v1.0.0-rc.6) | [Ion Rust](https://github.com/amazon-ion/ion-rust) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-06-07-ion-cli-0_6_1-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Cli 0.6.1 Released"
4 | date: 2024-06-07
5 | categories: news ion-cli
6 | ---
7 |
8 | Ion Cli 0.6.1 is now available.
9 |
10 | | [Release Notes v0.6.1](https://github.com/amazon-ion/ion-cli/releases/tag/v0.6.1) | [Ion Cli](https://github.com/amazon-ion/ion-cli) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-06-11-ion-intellij-plugin-2_6_1-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Intellij Plugin 2.6.1 Released"
4 | date: 2024-06-11
5 | categories: news ion-intellij-plugin
6 | ---
7 |
8 | Ion Intellij Plugin 2.6.1 is now available.
9 |
10 | | [Release Notes v2.6.1](https://github.com/amazon-ion/ion-intellij-plugin/releases/tag/v2.6.1) | [Ion Intellij Plugin](https://github.com/amazon-ion/ion-intellij-plugin) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-07-03-ion-java-1_11_9-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java 1.11.9 Released"
4 | date: 2024-07-03
5 | categories: news ion-java
6 | ---
7 |
8 | Ion Java 1.11.9 is now available.
9 |
10 | | [Release Notes v1.11.9](https://github.com/amazon-ion/ion-java/releases/tag/v1.11.9) | [Ion Java](https://github.com/amazon-ion/ion-java) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-07-30-ion-c-1_1_3-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion C 1.1.3 Released"
4 | date: 2024-07-30
5 | categories: news ion-c
6 | ---
7 |
8 | Ion C 1.1.3 is now available.
9 |
10 | | [Release Notes v1.1.3](https://github.com/amazon-ion/ion-c/releases/tag/v1.1.3) | [Ion C](https://github.com/amazon-ion/ion-c) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-08-23-ion-rust-1_0_0-rc_7-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Rust 1.0.0-rc.7 Released"
4 | date: 2024-08-23
5 | categories: news ion-rust
6 | ---
7 |
8 | Ion Rust 1.0.0-rc.7 is now available.
9 |
10 | | [Release Notes v1.0.0-rc.7](https://github.com/amazon-ion/ion-rust/releases/tag/v1.0.0-rc.7) | [Ion Rust](https://github.com/amazon-ion/ion-rust) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-08-23-ion-schema-rust-0_12_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Schema Rust 0.12.0 Released"
4 | date: 2024-08-23
5 | categories: news ion-schema-rust
6 | ---
7 |
8 | Ion Schema Rust 0.12.0 is now available.
9 |
10 | | [Release Notes v0.12.0](https://github.com/amazon-ion/ion-schema-rust/releases/tag/v0.12.0) | [Ion Schema Rust](https://github.com/amazon-ion/ion-schema-rust) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-08-26-ion-cli-0_7_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Cli 0.7.0 Released"
4 | date: 2024-08-26
5 | categories: news ion-cli
6 | ---
7 |
8 | Ion Cli 0.7.0 is now available.
9 |
10 | | [Release Notes v0.7.0](https://github.com/amazon-ion/ion-cli/releases/tag/v0.7.0) | [Ion Cli](https://github.com/amazon-ion/ion-cli) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-09-19-ion-element-kotlin-1_3_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Element Kotlin 1.3.0 Released"
4 | date: 2024-09-19
5 | categories: news ion-element-kotlin
6 | ---
7 |
8 | Ion Element Kotlin 1.3.0 is now available.
9 |
10 | | [Release Notes v1.3.0](https://github.com/amazon-ion/ion-element-kotlin/releases/tag/v1.3.0) | [Ion Element Kotlin](https://github.com/amazon-ion/ion-element-kotlin) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-09-19-ion-java-path-extraction-1_4_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java Path Extraction 1.4.0 Released"
4 | date: 2024-09-19
5 | categories: news ion-java-path-extraction
6 | ---
7 |
8 | Ion Java Path Extraction 1.4.0 is now available.
9 |
10 | | [Release Notes v1.4.0](https://github.com/amazon-ion/ion-java-path-extraction/releases/tag/v1.4.0) | [Ion Java Path Extraction](https://github.com/amazon-ion/ion-java-path-extraction) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-09-23-ion-schema-rust-0_13_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Schema Rust 0.13.0 Released"
4 | date: 2024-09-23
5 | categories: news ion-schema-rust
6 | ---
7 |
8 | Ion Schema Rust 0.13.0 is now available.
9 |
10 | | [Release Notes v0.13.0](https://github.com/amazon-ion/ion-schema-rust/releases/tag/v0.13.0) | [Ion Schema Rust](https://github.com/amazon-ion/ion-schema-rust) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-10-07-ion-intellij-plugin-2_7_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Intellij Plugin 2.7.0 Released"
4 | date: 2024-10-07
5 | categories: news ion-intellij-plugin
6 | ---
7 |
8 | Ion Intellij Plugin 2.7.0 is now available.
9 |
10 | | [Release Notes v2.7.0](https://github.com/amazon-ion/ion-intellij-plugin/releases/tag/v2.7.0) | [Ion Intellij Plugin](https://github.com/amazon-ion/ion-intellij-plugin) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-10-14-ion-rust-1_0_0-rc_8-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Rust 1.0.0-rc.8 Released"
4 | date: 2024-10-14
5 | categories: news ion-rust
6 | ---
7 |
8 | Ion Rust 1.0.0-rc.8 is now available.
9 |
10 | | [Release Notes v1.0.0-rc.8](https://github.com/amazon-ion/ion-rust/releases/tag/v1.0.0-rc.8) | [Ion Rust](https://github.com/amazon-ion/ion-rust) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-10-15-ion-schema-rust-0_14_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Schema Rust 0.14.0 Released"
4 | date: 2024-10-15
5 | categories: news ion-schema-rust
6 | ---
7 |
8 | Ion Schema Rust 0.14.0 is now available.
9 |
10 | | [Release Notes v0.14.0](https://github.com/amazon-ion/ion-schema-rust/releases/tag/v0.14.0) | [Ion Schema Rust](https://github.com/amazon-ion/ion-schema-rust) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-10-21-ion-cli-0_7_1-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Cli 0.7.1 Released"
4 | date: 2024-10-21
5 | categories: news ion-cli
6 | ---
7 |
8 | Ion Cli 0.7.1 is now available.
9 |
10 | | [Release Notes v0.7.1](https://github.com/amazon-ion/ion-cli/releases/tag/v0.7.1) | [Ion Cli](https://github.com/amazon-ion/ion-cli) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-10-28-ion-cli-0_8_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Cli 0.8.0 Released"
4 | date: 2024-10-28
5 | categories: news ion-cli
6 | ---
7 |
8 | Ion Cli 0.8.0 is now available.
9 |
10 | | [Release Notes v0.8.0](https://github.com/amazon-ion/ion-cli/releases/tag/v0.8.0) | [Ion Cli](https://github.com/amazon-ion/ion-cli) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-10-28-ion-schema-rust-0_14_1-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Schema Rust 0.14.1 Released"
4 | date: 2024-10-28
5 | categories: news ion-schema-rust
6 | ---
7 |
8 | Ion Schema Rust 0.14.1 is now available.
9 |
10 | | [Release Notes v0.14.1](https://github.com/amazon-ion/ion-schema-rust/releases/tag/v0.14.1) | [Ion Schema Rust](https://github.com/amazon-ion/ion-schema-rust) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-11-05-ion-cli-0_9_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Cli 0.9.0 Released"
4 | date: 2024-11-05
5 | categories: news ion-cli
6 | ---
7 |
8 | Ion Cli 0.9.0 is now available.
9 |
10 | | [Release Notes v0.9.0](https://github.com/amazon-ion/ion-cli/releases/tag/v0.9.0) | [Ion Cli](https://github.com/amazon-ion/ion-cli) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-11-06-ion-cli-0_9_1-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Cli 0.9.1 Released"
4 | date: 2024-11-06
5 | categories: news ion-cli
6 | ---
7 |
8 | Ion Cli 0.9.1 is now available.
9 |
10 | | [Release Notes v0.9.1](https://github.com/amazon-ion/ion-cli/releases/tag/v0.9.1) | [Ion Cli](https://github.com/amazon-ion/ion-cli) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-11-06-ion-rust-1_0_0-rc_9-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Rust 1.0.0-rc.9 Released"
4 | date: 2024-11-06
5 | categories: news ion-rust
6 | ---
7 |
8 | Ion Rust 1.0.0-rc.9 is now available.
9 |
10 | | [Release Notes v1.0.0-rc.9](https://github.com/amazon-ion/ion-rust/releases/tag/v1.0.0-rc.9) | [Ion Rust](https://github.com/amazon-ion/ion-rust) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-11-12-ion-python-0_13_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Python 0.13.0 Released"
4 | date: 2024-11-12
5 | categories: news ion-python
6 | ---
7 |
8 | Ion Python 0.13.0 is now available.
9 |
10 | | [Release Notes v0.13.0](https://github.com/amazon-ion/ion-python/releases/tag/v0.13.0) | [Ion Python](https://github.com/amazon-ion/ion-python) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-11-14-ion-python-0_13_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Python 0.13.0 Released"
4 | date: 2024-11-14
5 | categories: news ion-python
6 | ---
7 |
8 | Ion Python 0.13.0 is now available.
9 |
10 | | [Release Notes v0.13.0](https://github.com/amazon-ion/ion-python/releases/tag/v0.13.0) | [Ion Python](https://github.com/amazon-ion/ion-python) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-11-18-ion-python-0_13_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Python 0.13.0 Released"
4 | date: 2024-11-18
5 | categories: news ion-python
6 | ---
7 |
8 | Ion Python 0.13.0 is now available.
9 |
10 | | [Release Notes v0.13.0](https://github.com/amazon-ion/ion-python/releases/tag/v0.13.0) | [Ion Python](https://github.com/amazon-ion/ion-python) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-12-07-ion-python-0_13_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Python 0.13.0 Released"
4 | date: 2024-12-07
5 | categories: news ion-python
6 | ---
7 |
8 | Ion Python 0.13.0 is now available.
9 |
10 | | [Release Notes v0.13.0](https://github.com/amazon-ion/ion-python/releases/tag/v0.13.0) | [Ion Python](https://github.com/amazon-ion/ion-python) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-12-13-ion-rust-1_0_0-rc_10-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Rust 1.0.0-rc.10 Released"
4 | date: 2024-12-13
5 | categories: news ion-rust
6 | ---
7 |
8 | Ion Rust 1.0.0-rc.10 is now available.
9 |
10 | | [Release Notes v1.0.0-rc.10](https://github.com/amazon-ion/ion-rust/releases/tag/v1.0.0-rc.10) | [Ion Rust](https://github.com/amazon-ion/ion-rust) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-12-13-ion-schema-rust-0_15_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Schema Rust 0.15.0 Released"
4 | date: 2024-12-13
5 | categories: news ion-schema-rust
6 | ---
7 |
8 | Ion Schema Rust 0.15.0 is now available.
9 |
10 | | [Release Notes v0.15.0](https://github.com/amazon-ion/ion-schema-rust/releases/tag/v0.15.0) | [Ion Schema Rust](https://github.com/amazon-ion/ion-schema-rust) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2024-12-14-ion-cli-0_10_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Cli 0.10.0 Released"
4 | date: 2024-12-14
5 | categories: news ion-cli
6 | ---
7 |
8 | Ion Cli 0.10.0 is now available.
9 |
10 | | [Release Notes v0.10.0](https://github.com/amazon-ion/ion-cli/releases/tag/v0.10.0) | [Ion Cli](https://github.com/amazon-ion/ion-cli) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2025-01-09-ion-java-path-extraction-_1_5_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java Path Extraction .1.5.0 Released"
4 | date: 2025-01-09
5 | categories: news ion-java-path-extraction
6 | ---
7 |
8 | Ion Java Path Extraction .1.5.0 is now available.
9 |
10 | | [Release Notes v.1.5.0](https://github.com/amazon-ion/ion-java-path-extraction/releases/tag/v.1.5.0) | [Ion Java Path Extraction](https://github.com/amazon-ion/ion-java-path-extraction) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2025-01-09-ion-rust-1_0_0-rc_11-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Rust 1.0.0-rc.11 Released"
4 | date: 2025-01-09
5 | categories: news ion-rust
6 | ---
7 |
8 | Ion Rust 1.0.0-rc.11 is now available.
9 |
10 | | [Release Notes v1.0.0-rc.11](https://github.com/amazon-ion/ion-rust/releases/tag/v1.0.0-rc.11) | [Ion Rust](https://github.com/amazon-ion/ion-rust) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2025-01-10-ion-cli-0_11_0-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Cli 0.11.0 Released"
4 | date: 2025-01-10
5 | categories: news ion-cli
6 | ---
7 |
8 | Ion Cli 0.11.0 is now available.
9 |
10 | | [Release Notes v0.11.0](https://github.com/amazon-ion/ion-cli/releases/tag/v0.11.0) | [Ion Cli](https://github.com/amazon-ion/ion-cli) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2025-01-23-ion-java-1_11_10-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Java 1.11.10 Released"
4 | date: 2025-01-23
5 | categories: news ion-java
6 | ---
7 |
8 | Ion Java 1.11.10 is now available.
9 |
10 | | [Release Notes v1.11.10](https://github.com/amazon-ion/ion-java/releases/tag/v1.11.10) | [Ion Java](https://github.com/amazon-ion/ion-java) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2025-02-05-ion-dotnet-1_3_1-released.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion Dotnet 1.3.1 Released"
4 | date: 2025-02-05
5 | categories: news ion-dotnet
6 | ---
7 |
8 | Ion Dotnet 1.3.1 is now available.
9 |
10 | | [Release Notes v1.3.1](https://github.com/amazon-ion/ion-dotnet/releases/tag/v1.3.1) | [Ion Dotnet](https://github.com/amazon-ion/ion-dotnet) |
11 |
12 |
--------------------------------------------------------------------------------
/_posts/2025-02-26-ion-1_1-final-comment-period.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion 1.1 Final Comment Period"
4 | date: 2025-02-26
5 | categories: news specification
6 | ---
7 |
8 | ### Ion 1.1 Final Comment Period
9 |
10 | We are pleased to announce that [the Ion 1.1 draft specification](https://amazon-ion.github.io/ion-docs/books/ion-1-1/whats_new.html) is now entering its final public comment period, which runs from today, February 26th, **until Wednesday, March 12th**.
11 |
12 | #### What's new
13 |
14 | Ion 1.1 brings significant changes to the binary encoding, including:
15 | * **Delimited containers.** Ion 1.0 required all containers to be length-prefixed, which forced the writer to buffer their serialized contents. In Ion 1.1, writers can choose to serialize child values or fields incrementally, optimizing write performance at the expense of slower skip-scanning on the read side.
16 | * **Symbol tokens with inline text.** In binary Ion 1.0, it is not possible to write a symbol, annotation, or struct field name if it has not previously been added to the symbol table. This constraint that does not exist in text Ion 1.0, in which a writer can simply write the text at the usage site. Ion 1.1 adds a binary encoding for symbol tokens with inline text, allowing the writer to choose whether and when symbol token text should be interned.
17 | * **Optimized encoding primitives.** Ion 1.1 switches to [Little-Endian](https://en.wikipedia.org/wiki/Endianness) encoding primitives and a more efficient representation for variable-width integers. Benchmarks found these to be 1.5-3x faster to read and write on both `x86_64` and `aarch64` systems.
18 | * **Optimized timestamp encodings.** Timestamps no longer encode their sub-field components as octet-aligned fields. Instead, Ion 1.1 timestamps have a packed bit encoding which makes common timestamp precisions easily fit in a 64-bit word.
19 |
20 | Ion 1.1 also introduces [_macros_](https://amazon-ion.github.io/ion-docs/books/ion-1-1/macros.html), which allow users to define fill-in-the-blank templates for their data. These templates can capture not only the structure/shape of one or more values, they can capture entire values as well. This feature enables applications to focus on encoding and decoding the parts of the data that are distinctive, skipping the work that would normally be needed to encode the boilerplate.
21 |
22 | #### Submitting Feedback
23 |
24 | Feedback may be submitted by:
25 | * [Opening an issue](https://github.com/amazon-ion/ion-docs/issues/new) on the `ion-docs` GitHub repository
26 | * Emailing ion-team@amazon.com
27 |
28 | Please note that Ion 1.1 is a minor version bump, and as such cannot change the Ion data model. In particular, it cannot add or remove data types or otherwise make it impossible to represent legal Ion 1.0 data in Ion 1.1.
29 |
30 | All comments will be reviewed and addressed before the specification is finalized.
31 |
32 | Thank you for your continued interest in Ion's development!
33 |
34 | Best,
35 |
36 | The Ion Team
37 |
38 |
39 |
--------------------------------------------------------------------------------
/_posts/2025-03-12-ion-1_1-final-comment-period-closed.md:
--------------------------------------------------------------------------------
1 | ---
2 | layout: news_item
3 | title: "Ion 1.1 Final Comment Period Complete"
4 | date: 2025-03-12
5 | categories: news specification
6 | ---
7 |
8 | ### Ion 1.1 Final Comment Period Complete
9 |
10 | The final public comment period for the Ion 1.1 specification is now closed.
11 |
12 | We’d like to thank everyone who took the time to submit their feedback; we received some very helpful input. We’ll be working to incorporate these suggestions and improvements in the coming weeks and will post another notice when they have been added to the published specification.
13 |
14 | Best,
15 |
16 | The Ion Team
17 |
--------------------------------------------------------------------------------
/_sass/_base.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * Reset some basic elements
3 | */
4 | body, h1, h2, h3, h4, h5, h6,
5 | p, blockquote, pre, hr,
6 | dl, dd, ol, ul, figure {
7 | margin: 0;
8 | padding: 0;
9 | }
10 |
11 |
12 |
13 | /**
14 | * Basic styling
15 | */
16 | body {
17 | font: $base-font-weight #{$base-font-size}/#{$base-line-height} $base-font-family;
18 | color: $text-color;
19 | background-color: $background-color;
20 | -webkit-text-size-adjust: 100%;
21 | -webkit-font-feature-settings: "kern" 1;
22 | -moz-font-feature-settings: "kern" 1;
23 | -o-font-feature-settings: "kern" 1;
24 | font-feature-settings: "kern" 1;
25 | font-kerning: normal;
26 | }
27 |
28 | table {
29 | margin: 0 0 20px 0;
30 | text-align: left;
31 | }
32 |
33 | /**
34 | * Set `margin-bottom` to maintain vertical rhythm
35 | */
36 | h1, h2, h3, h4, h5, h6,
37 | p, blockquote, pre,
38 | ul, ol, dl, figure,
39 | %vertical-rhythm {
40 | margin-bottom: $spacing-unit / 2;
41 | }
42 |
43 |
44 |
45 | /**
46 | * Images
47 | */
48 | img {
49 | max-width: 100%;
50 | vertical-align: middle;
51 | }
52 |
53 |
54 |
55 | /**
56 | * Figures
57 | */
58 | figure > img {
59 | display: block;
60 | }
61 |
62 | figcaption {
63 | font-size: $small-font-size;
64 | }
65 |
66 |
67 |
68 | /**
69 | * Lists
70 | */
71 | ul, ol {
72 | margin-left: $spacing-unit;
73 | }
74 |
75 | li {
76 | > ul,
77 | > ol {
78 | margin-bottom: 0;
79 | }
80 | }
81 |
82 |
83 |
84 | /**
85 | * Headings
86 | */
87 | h1, h2, h3, h4, h5, h6 {
88 | font-weight: $base-font-weight+200;
89 |
90 | code {
91 | font-size: inherit;
92 | }
93 | }
94 |
95 |
96 |
97 | /**
98 | * Links
99 | */
100 | a {
101 | color: $brand-color;
102 | text-decoration: none;
103 |
104 | &:visited {
105 | color: darken($brand-color, 10%);
106 | }
107 |
108 | &:hover {
109 | color: $text-color;
110 | text-decoration: underline;
111 | }
112 | }
113 |
114 |
115 |
116 | /**
117 | * Blockquotes
118 | */
119 | blockquote {
120 | color: $grey-color;
121 | border-left: 4px solid $grey-color-light;
122 | padding: $spacing-unit / 2;
123 | font-size: 18px;
124 |
125 | > :last-child {
126 | margin-bottom: 0;
127 | }
128 | }
129 |
130 |
131 |
132 | /**
133 | * Rules
134 | */
135 | hr {
136 | height: 4px;
137 | margin: $spacing-unit / 2 0;
138 | border: 0;
139 | background-color: $grey-color-light;
140 | }
141 |
142 |
143 |
144 | /**
145 | * Code formatting
146 | */
147 | pre,
148 | code {
149 | font-family: $monospace-font-family;
150 | font-size: 13px;
151 | }
152 |
153 | code {
154 | padding: 1px 5px;
155 | }
156 |
157 | pre {
158 | padding: 8px 12px;
159 | overflow-x: auto;
160 |
161 | > code {
162 | border: 0;
163 | padding-right: 0;
164 | padding-left: 0;
165 | }
166 | }
167 |
168 | @media print {
169 | pre, code {
170 | white-space: pre-wrap;
171 | }
172 | }
173 |
174 |
175 | /**
176 | * Wrapper
177 | */
178 | .wrapper {
179 | max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit} * 2));
180 | max-width: calc(#{$content-width} - (#{$spacing-unit} * 2));
181 | margin-right: auto;
182 | margin-left: auto;
183 | padding-right: $spacing-unit;
184 | padding-left: $spacing-unit;
185 | @extend %clearfix;
186 |
187 | @include media-query($on-laptop) {
188 | max-width: -webkit-calc(#{$content-width} - (#{$spacing-unit}));
189 | max-width: calc(#{$content-width} - (#{$spacing-unit}));
190 | padding-right: $spacing-unit / 2;
191 | padding-left: $spacing-unit / 2;
192 | }
193 | }
194 |
195 |
196 |
197 | /**
198 | * Clearfix
199 | */
200 | %clearfix:after {
201 | content: "";
202 | display: table;
203 | clear: both;
204 | }
205 |
--------------------------------------------------------------------------------
/_sass/_github-highlight.scss:
--------------------------------------------------------------------------------
1 | /***
2 | * Generated: rougify style github
3 | */
4 | .highlight table td { padding: 5px; }
5 | .highlight table pre { margin: 0; }
6 | .highlight .cm {
7 | color: #999988;
8 | font-style: italic;
9 | }
10 | .highlight .cp {
11 | color: #999999;
12 | font-weight: bold;
13 | }
14 | .highlight .c1 {
15 | color: #999988;
16 | font-style: italic;
17 | }
18 | .highlight .cs {
19 | color: #999999;
20 | font-weight: bold;
21 | font-style: italic;
22 | }
23 | .highlight .c, .highlight .cd {
24 | color: #999988;
25 | font-style: italic;
26 | }
27 | .highlight .err {
28 | color: #a61717;
29 | background-color: #e3d2d2;
30 | }
31 | .highlight .gd {
32 | color: #000000;
33 | background-color: #ffdddd;
34 | }
35 | .highlight .ge {
36 | color: #000000;
37 | font-style: italic;
38 | }
39 | .highlight .gr {
40 | color: #aa0000;
41 | }
42 | .highlight .gh {
43 | color: #999999;
44 | }
45 | .highlight .gi {
46 | color: #000000;
47 | background-color: #ddffdd;
48 | }
49 | .highlight .go {
50 | color: #888888;
51 | }
52 | .highlight .gp {
53 | color: #555555;
54 | }
55 | .highlight .gs {
56 | font-weight: bold;
57 | }
58 | .highlight .gu {
59 | color: #aaaaaa;
60 | }
61 | .highlight .gt {
62 | color: #aa0000;
63 | }
64 | .highlight .kc {
65 | color: #000000;
66 | font-weight: bold;
67 | }
68 | .highlight .kd {
69 | color: #000000;
70 | font-weight: bold;
71 | }
72 | .highlight .kn {
73 | color: #000000;
74 | font-weight: bold;
75 | }
76 | .highlight .kp {
77 | color: #000000;
78 | font-weight: bold;
79 | }
80 | .highlight .kr {
81 | color: #000000;
82 | font-weight: bold;
83 | }
84 | .highlight .kt {
85 | color: #445588;
86 | font-weight: bold;
87 | }
88 | .highlight .k, .highlight .kv {
89 | color: #000000;
90 | font-weight: bold;
91 | }
92 | .highlight .mf {
93 | color: #009999;
94 | }
95 | .highlight .mh {
96 | color: #009999;
97 | }
98 | .highlight .il {
99 | color: #009999;
100 | }
101 | .highlight .mi {
102 | color: #009999;
103 | }
104 | .highlight .mo {
105 | color: #009999;
106 | }
107 | .highlight .m, .highlight .mb, .highlight .mx {
108 | color: #009999;
109 | }
110 | .highlight .sb {
111 | color: #d14;
112 | }
113 | .highlight .sc {
114 | color: #d14;
115 | }
116 | .highlight .sd {
117 | color: #d14;
118 | }
119 | .highlight .s2 {
120 | color: #d14;
121 | }
122 | .highlight .se {
123 | color: #d14;
124 | }
125 | .highlight .sh {
126 | color: #d14;
127 | }
128 | .highlight .si {
129 | color: #d14;
130 | }
131 | .highlight .sx {
132 | color: #d14;
133 | }
134 | .highlight .sr {
135 | color: #009926;
136 | }
137 | .highlight .s1 {
138 | color: #d14;
139 | }
140 | .highlight .ss {
141 | color: #990073;
142 | }
143 | .highlight .s {
144 | color: #d14;
145 | }
146 | .highlight .na {
147 | color: #008080;
148 | }
149 | .highlight .bp {
150 | color: #999999;
151 | }
152 | .highlight .nb {
153 | color: #0086B3;
154 | }
155 | .highlight .nc {
156 | color: #445588;
157 | font-weight: bold;
158 | }
159 | .highlight .no {
160 | color: #008080;
161 | }
162 | .highlight .nd {
163 | color: #3c5d5d;
164 | font-weight: bold;
165 | }
166 | .highlight .ni {
167 | color: #800080;
168 | }
169 | .highlight .ne {
170 | color: #990000;
171 | font-weight: bold;
172 | }
173 | .highlight .nf {
174 | color: #990000;
175 | font-weight: bold;
176 | }
177 | .highlight .nl {
178 | color: #990000;
179 | font-weight: bold;
180 | }
181 | .highlight .nn {
182 | color: #555555;
183 | }
184 | .highlight .nt {
185 | color: #000080;
186 | }
187 | .highlight .vc {
188 | color: #008080;
189 | }
190 | .highlight .vg {
191 | color: #008080;
192 | }
193 | .highlight .vi {
194 | color: #008080;
195 | }
196 | .highlight .nv {
197 | color: #008080;
198 | }
199 | .highlight .ow {
200 | color: #000000;
201 | font-weight: bold;
202 | }
203 | .highlight .o {
204 | color: #000000;
205 | font-weight: bold;
206 | }
207 | .highlight .w {
208 | color: #bbbbbb;
209 | }
210 | .highlight {
211 | background-color: #f8f8f8;
212 | }
213 |
--------------------------------------------------------------------------------
/_sass/_layout.scss:
--------------------------------------------------------------------------------
1 | /**
2 | * Site header
3 | */
4 | .site-header {
5 | min-height: 56px;
6 |
7 | // Positioning context for the mobile navigation icon
8 | position: relative;
9 | }
10 |
11 | .site-title {
12 | font-size: 26px;
13 | font-weight: 300;
14 | line-height: 56px;
15 | letter-spacing: -1px;
16 | margin-bottom: 0;
17 | float: left;
18 |
19 | &,
20 | &:visited {
21 | color: $grey-color-dark;
22 | }
23 | }
24 |
25 | .site-nav {
26 | float: right;
27 | line-height: 56px;
28 |
29 | .page-link {
30 | color: $text-color;
31 | line-height: $base-line-height;
32 |
33 | // Gaps between nav items, but not on the last one
34 | &:not(:last-child) {
35 | margin-right: 20px;
36 | }
37 | }
38 |
39 | @include media-query($on-palm) {
40 | .page-link {
41 | padding: 20px 0;
42 |
43 | &:not(:last-child) {
44 | margin-right: 0;
45 | }
46 | margin-left: 20px;
47 | }
48 | }
49 | }
50 |
51 |
52 | /**
53 | * Site footer
54 | */
55 | .site-footer {
56 | padding: $spacing-unit 0;
57 | font-size: 15px;
58 | color: $grey-color;
59 | text-align: center;
60 | }
61 |
62 |
63 | /**
64 | * Page content
65 | */
66 | .page-content {
67 | padding: $spacing-unit 0;
68 |
69 | table {
70 | border-collapse: collapse;
71 | border: 1px solid rgb(234, 234, 234);
72 | }
73 |
74 | th {
75 | -webkit-background-clip: border-box;
76 | -webkit-background-origin: padding-box;
77 | -webkit-background-size: auto;
78 | -webkit-border-horizontal-spacing: 0px;
79 | -webkit-border-vertical-spacing: 0px;
80 | -webkit-box-shadow: rgba(255, 255, 255, 0.498039) 0 1px 0 0 inset;
81 | background-attachment: scroll;
82 | background-clip: border-box;
83 | background-color: rgba(0, 0, 0, 0);
84 | background-image: linear-gradient(rgb(248, 248, 248), rgb(238, 238, 238));
85 | background-origin: padding-box;
86 | background-size: auto;
87 | box-shadow: rgba(255, 255, 255, 0.498039) 0 1px 0 0 inset;
88 | border: 1px solid rgb(238, 238, 238);
89 | box-sizing: border-box;
90 | color: rgb(17, 17, 17);
91 | font-weight: bold;
92 | font-size: 90%;
93 | height: 33px;
94 | line-height: 19px;
95 | padding: .5em 1em;
96 | text-align: left;
97 | vertical-align: top;
98 | }
99 |
100 | td {
101 | -webkit-border-horizontal-spacing: 0px;
102 | -webkit-border-vertical-spacing: 0px;
103 | border-color: rgb(234, 234, 234);
104 | border-style: solid;
105 | border-width: 1px;
106 | border-collapse: collapse;
107 | box-sizing: border-box;
108 | color: rgb(17, 17, 17);
109 | height: 33px;
110 | line-height: 1.3em;
111 | padding: .5em 1em;
112 | vertical-align: top;
113 | }
114 |
115 | tr:nth-child(even) {
116 | background: rgb(234, 234, 234);
117 | }
118 |
119 | tr:nth-child(odd) {
120 | background: white;
121 | }
122 |
123 | pre {
124 | border-radius: .25em;
125 | position: relative;
126 | padding: 0 .5em 0 .5em;
127 | border-left: 0.4em #ddd solid;
128 | }
129 |
130 | blockquote {
131 | border-radius: .25em;
132 | border-left: 0.4em rgb(245, 215, 142) solid;
133 | background-color: rgb(249, 243, 229);
134 | line-height: 1.4em;
135 | font-size: 90%;
136 | }
137 | }
138 |
139 | .page-heading {
140 | font-size: 20px;
141 | }
142 |
--------------------------------------------------------------------------------
/_sass/ionstyle.scss:
--------------------------------------------------------------------------------
1 | // Import partials.
2 | // Based off of 'whiteglass' theme, but modified substantially.
3 | // https://github.com/yous/whiteglass/
4 | @import
5 | "base",
6 | "layout",
7 | "github-highlight"
8 | ;
9 |
--------------------------------------------------------------------------------
/_scripts/generate_release_news.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | # Loops through a whitespace delimited list of Ion repositories, and generates
4 | # a news item for the latest release of each repository if a news item doesn't
5 | # already exist for that release.
6 | #
7 | # Any news items that are generated will automatically be staged for commit.
8 | # The user or workflow that is running the script is responsible for committing
9 | # and pushing any changes.
10 | #
11 | # When running locally, if any news items are generated, an auto-generated
12 | # commit message will be echoed to stdout. When running in GitHub Actions, the
13 | # number of changes and the generated commit message will be exported as outputs
14 | # of the workflow step--'changes' and 'generated_commit_message' respectively.
15 | #
16 | # This script does not generate news items for releases marked as a pre-release
17 | # version.
18 |
19 | readonly REPO_NAMES="$(gh repo list amazon-ion --json name --visibility=Public --limit 100 -q '.[].name')"
20 |
21 | commit_msg_body=""
22 |
23 | for repo_name in $REPO_NAMES; do
24 | # Groups the logs in GitHub Actions to make them nicer to read.
25 | [[ $GITHUB_ACTIONS ]] && echo "::group::$repo_name"
26 |
27 | echo "Checking for releases in $repo_name"
28 | release="$(gh release view -R "amazon-ion/$repo_name" --json body,createdAt,tagName)"
29 | if [[ -z "$release" ]]; then
30 | [[ $GITHUB_ACTIONS ]] && echo "::endgroup::"
31 | continue
32 | fi
33 |
34 | release_date="$(jq -r '.createdAt' <<< "$release" | cut -d'T' -f1)"
35 | tag="$(jq -r '.tagName' <<< "$release")"
36 | version="$(cut -d'v' -f2 <<< "$tag")"
37 | news_item_file_path="_posts/$release_date-$repo_name-$(sed 's/\./_/g' <<< "$version")-released.md"
38 |
39 | # NOTE: If we decide that we want to include the release notes in the news item, we need to remove
40 | # the '\r' characters from the release body. i.e.:
41 | # release_notes = $(jq -r '.body' <<< "$release" | sed -e 's/\r//g')
42 |
43 | echo "Found release $tag"
44 |
45 | # If file already exists, then we already have a new item for this release.
46 | if [[ -f $news_item_file_path ]]; then
47 | echo 'News already exists for this release.'
48 | else
49 | title_case_repo_name="$(sed -e "s/\-/ /g" <<< "$repo_name" | awk '{for (i=1;i <= NF;i++) {sub(".",substr(toupper($i),1,1),$i)} print}')"
50 |
51 | # Collapses any repeated newlines down to a single newline
52 | sed -e '/./b' -e :n -e 'N;s/\n$//;tn' <<< "\
53 | ---
54 | layout: news_item
55 | title: \"$title_case_repo_name $version Released\"
56 | date: $release_date
57 | categories: news $repo_name
58 | ---
59 |
60 | $title_case_repo_name $version is now available.
61 |
62 | | [Release Notes $tag](https://github.com/amazon-ion/$repo_name/releases/tag/$tag) | [$title_case_repo_name](https://github.com/amazon-ion/$repo_name) |
63 | " >> "$news_item_file_path"
64 |
65 | git add "$news_item_file_path"
66 | echo "Generated '$news_item_file_path'"
67 | commit_msg_body=$(printf '%s\n%s' "$commit_msg_body" "* $repo_name $tag")
68 |
69 | # Update the data for the table on the libraries page
70 | libraries=$(< _data/libraries.json)
71 | jq "map(select(.name == \"$repo_name\") += \
72 | { latest_release_version: \"$version\", latest_release_date: \"$release_date\"} )" \
73 | <<< $libraries > _data/libraries.json
74 | fi
75 |
76 | [[ $GITHUB_ACTIONS ]] && echo "::endgroup::"
77 | done
78 |
79 | readonly NUM_NEW_POSTS=$(git status -s -uno | grep -c _posts/)
80 | echo "Generated $NUM_NEW_POSTS news items."
81 | if [[ $NUM_NEW_POSTS -ne 0 ]]; then
82 | git add _data/libraries.json
83 | readonly GENERATED_NEWS_COMMIT_MESSAGE="$(printf 'Adds news posts for %s releases\n%s\n' "$NUM_NEW_POSTS" "$commit_msg_body")"
84 | if [[ $GITHUB_ACTIONS ]]; then
85 | echo "::set-output name=changes::$NUM_NEW_POSTS"
86 | # Need to escape newlines to prevent output from being truncated
87 | echo "::set-output name=generated_commit_message::${GENERATED_NEWS_COMMIT_MESSAGE//$'\n'/'%0A'}"
88 | else
89 | echo "$GENERATED_NEWS_COMMIT_MESSAGE"
90 | fi
91 | fi
92 |
--------------------------------------------------------------------------------
/assets/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/amazon-ion/ion-docs/d847f935a2830bbe783c88baed3b3235816c96ac/assets/favicon.ico
--------------------------------------------------------------------------------
/assets/ion-widget.js:
--------------------------------------------------------------------------------
1 | // usage:
2 | //
3 | //
4 | // // ion text goes here...
5 | // { a: 1, b: 2, c: 3 }
6 | //
7 | //
8 | //
9 | (function () {
10 | var script = document.createElement("script");
11 | script.src = "assets/ion-bundle.min.js";
12 | document.head.appendChild(script);
13 |
14 | var ionSource = document.currentScript.previousSibling.previousSibling;
15 | var id = Math.floor(Math.random() * 1000);
16 | var widget = document.createElement("div");
17 | widget.innerHTML
18 | = ''
19 | + ''
20 | + ''
21 | + ' '
22 | + '
'
23 | + ' '
24 | + 'parse made with ion-js '
25 | + '
';
26 | ionSource.parentNode.replaceChild(widget, ionSource);
27 |
28 | document.querySelector("#btn-ion-parse-" + id).addEventListener("click", function () {
29 | var source = document.getElementById("ion-source-" + id).value;
30 | var out = document.getElementById("ion-text-" + id);
31 | while (out.firstChild) {
32 | out.removeChild(out.firstChild);
33 | }
34 | parse(source, out);
35 | });
36 |
37 | const utf8Decoder = new TextDecoder("utf-8");
38 |
39 | var parse = function (source, out) {
40 | try {
41 | var reader = ion.makeReader(source);
42 | var writer = ion.makePrettyWriter();
43 | writer.writeValues(reader);
44 | out.append(utf8Decoder.decode(writer.getBytes()));
45 | writer.close();
46 | } catch (e) {
47 | var errorSpan = document.createElement("span");
48 | errorSpan.innerHTML = 'Error: ' + e.message + ' ';
49 | out.append(errorSpan);
50 | }
51 | };
52 | })()
53 |
54 |
--------------------------------------------------------------------------------
/assets/main.scss:
--------------------------------------------------------------------------------
1 | ---
2 | # Only the main Sass file needs front matter (the dashes are enough)
3 | ---
4 | @charset "utf-8";
5 |
6 | // Our variables
7 | $base-font-family: "Apple SD Gothic Neo", AppleGothic, NanumBarunGothic, "Malgun Gothic", Dotum, sans-serif;
8 | $monospace-font-family: Monaco, Menlo, Consolas, "Courier New", DotumChe, monospace;
9 | $base-font-size: 16px;
10 | $base-font-weight: 400;
11 | $small-font-size: $base-font-size * 0.875;
12 | $base-line-height: 1.5;
13 |
14 | $spacing-unit: 30px;
15 |
16 | $text-color: #111;
17 | $background-color: #fdfdfd;
18 | $brand-color: #2568ba;
19 |
20 | $grey-color: #828282;
21 | $grey-color-light: lighten($grey-color, 40%);
22 | $grey-color-dark: darken($grey-color, 25%);
23 |
24 | // Width of the content area
25 | $content-width: 800px;
26 |
27 | $on-palm: 600px;
28 | $on-laptop: 800px;
29 |
30 |
31 |
32 | // whiteglass also includes a mixin for defining media queries.
33 | // Use media queries like this:
34 | // @include media-query($on-palm) {
35 | // .wrapper {
36 | // padding-right: $spacing-unit / 2;
37 | // padding-left: $spacing-unit / 2;
38 | // }
39 | // }
40 | @mixin media-query($device) {
41 | @media screen and (max-width: $device) {
42 | @content;
43 | }
44 | }
45 |
46 |
47 |
48 | // Import partials from the `ionstyle` theme.
49 | @import "ionstyle";
50 |
--------------------------------------------------------------------------------
/docs.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Docs
3 | description: "A collection of guides and reference materials for Amazon Ion."
4 | ---
5 |
6 | # {{ page.title }}
7 |
8 | ## User Guides
9 |
10 |
11 |
12 | [Cookbook][9]
13 |
14 | The cookbook contains samples for some simple Amazon Ion use cases with examples in Java. The samples include reading and writing Ion data, formatting Ion text, performing sparse reads, and converting non-hierarchical data to Ion.
15 |
16 | ---
17 |
18 | [Why Ion][10]
19 |
20 | Why Ion discusses features that differentiate Amazon Ion from other formats. Some of those features are Ion’s dual-format interoperability, rich type system, self-describing format, read-optimized binary format.
21 |
22 |
23 |
24 | ## Developer Guides
25 |
26 |
27 |
28 | [Symbols][11]
29 |
30 | The Developers' Guide to Ion Symbols provides developer-focused commentary on the [Symbols][8] section of the [specification][1] and discusses the implementation of symbol table, symbol token, and catalog APIs.
31 |
32 |
33 |
34 | [Path Extraction][12]
35 |
36 | The Developers' Guide to Path Extraction APIs discusses how to implement an API which aims to combine the convenience of a DOM API with the speed of a streaming API.
37 |
38 |
39 |
40 | ## References
41 |
42 |
43 |
44 | [Specification][1]
45 |
46 | This document covers the Amazon Ion data model and the Ion text format.
47 |
48 | ---
49 |
50 | [ANTLR grammar][3]
51 |
52 | This grammar formally covers the text Ion format. It is intended to aid in understanding and provide a machine readable description that is mostly complete and correct. It is not considered authoritative, though that is a goal. Known gaps and ambiguities are documented as comments.
53 |
54 | ---
55 |
56 | [Binary format][2]
57 |
58 | This document covers the binary Ion format.
59 |
60 | ---
61 |
62 | [Symbols][8]
63 |
64 | This document defines the various concepts and data structures related to symbol management. Amazon Ion symbols are critical to the binary format performance and space-efficiency.
65 |
66 | ---
67 |
68 | [Decimal support][4]
69 |
70 | Amazon Ion supports a decimal numeric type to allow accurate representation of base-10 floating point values such as currency amounts. This representation preserves significant trailing zeros when converting between text and binary forms.
71 |
72 | ---
73 |
74 | [Float support][5]
75 |
76 | Amazon Ion supports IEEE-754 binary floating point values using the IEEE-754 32-bit (binary32) and 64-bit (binary64) encodings. In the data model, all floating point values are treated as though they are binary64 (all binary32 encoded values can be represented exactly in binary64).
77 |
78 | ---
79 |
80 | [Strings and Clobs][7]
81 |
82 | This document clarifies the semantics of the Amazon Ion string and clob data types with respect to escapes and the Unicode standard.
83 |
84 | ---
85 |
86 | [Glossary][6]
87 |
88 | These terms have particular definitions as it relates to their usage within the Amazon Ion Specification documents.
89 |
90 | ---
91 |
92 | [Ion 1.1 Draft Specification][13]
93 |
94 | This document describes a new minor version of the Ion data format.
95 |
96 |
97 | [1]: docs/spec.html
98 | [2]: docs/binary.html
99 | [3]: docs/text.html
100 | [4]: docs/decimal.html
101 | [5]: docs/float.html
102 | [6]: docs/glossary.html
103 | [7]: docs/stringclob.html
104 | [8]: docs/symbols.html
105 | [9]: guides/cookbook.html
106 | [10]: guides/why.html
107 | [11]: guides/symbols-guide.html
108 | [12]: guides/path-extractor-guide.html
109 | [13]: books/ion-1-1
110 |
--------------------------------------------------------------------------------
/docs/catalog.md:
--------------------------------------------------------------------------------
1 | ---
2 | redirect_from: "/catalog.html"
3 | title: Catalog Best Practices
4 | description: "The Catalog is user-implemented abstraction that allows Ion readers and writers to resolve shared symbol table imports. This page discusses best practices for Catalog implementers."
5 | ---
6 |
7 | # [Docs][docs]/ {{ page.title }}
8 |
9 | The Catalog is an abstraction, briefly described in the [specification][symbols], that allows Ion readers and writers to resolve shared symbol table imports. This page discusses best practices for Catalog implementers, and assumes that best practices for shared [symbol table versioning][versioning] are followed. In particular:
10 |
11 | > A shared symbol table with version greater than one should usually be a strict extension of the immediately preceding version.
12 |
13 | The first step to deciding what kind of Catalog implementation is right for a particular application is to understand that **shared symbol table usage is a contract between the application that produces Ion data and the application(s) that consume that data**. This contract is external to both the Ion specification and to the libraries that implement it. Producing data using shared symbol tables that are not part of the contract, or consuming data without being able to resolve all shared symbol tables included in the contract, may lead to errors in the consuming application.
14 |
15 | The simplest way for data producers to ensure their consumers comply with the intended shared symbol table contract is to provide those consumers with a Catalog implementation that complies with that contract. Some example contracts are listed below, alongside a high-level description of the kind of Catalog needed to comply with that contract.
16 |
17 | | Contract | Catalog|
18 | |----------|--------|
19 | | Data will only ever be encoded with shared symbol table "foo", version 1.| Returns a static view of "foo", version 1 when requested; raises an error if any other table or version is requested.|
20 | | Data will only ever be encoded with shared symbol table "foo", but the version may change over time.| Contains logic to dynamically resolve different versions of "foo"; returns the version requested or any greater version. Raises an error if any other table is requested.
21 | | Data may be encoded with any version of any shared symbol table.| Contains logic to dynamically resolve any shared symbol table; returns the version requested or any greater version. Raises an error if the requested table cannot be resolved.
22 |
23 |
24 |
25 | [docs]: {{ site.baseurl }}/docs.html
26 | [symbols]: symbols.html
27 | [versioning]: symbols.html#versioning
28 |
--------------------------------------------------------------------------------
/docs/glossary.md:
--------------------------------------------------------------------------------
1 | ---
2 | redirect_from: "/glossary.html"
3 | title: Glossary
4 | description: "The following terms have particular definitions as it relates to their usage within the Amazon Ion Specification documents."
5 | ---
6 |
7 | # [Docs][docs]/ {{ page.title }}
8 |
9 | The following terms have particular definitions as it relates to their usage
10 | within the [Amazon Ion Specification][spec] documents.
11 |
12 | ## Symbol Token
13 | > A symbol token is a piece of text mapped to a integer symbol ID by a symbol table. In the binary format a symbol token is always encoded using the integer, not the text.
14 | >
15 | > Such tokens occur in three distinct contexts within the data model: symbol values, annotations, and field names.
16 |
17 | ## Symbol Value
18 | > A symbol value is a scalar value (like an integer or string) that is encoded as a symbol token.
19 |
20 | ## Value Stream {#value_stream}
21 | > A (potentially unbounded) sequence of Ion values in either text or binary.
22 |
23 |
24 | [docs]: {{ site.baseurl }}/docs.html
25 | [spec]: spec.html
--------------------------------------------------------------------------------
/docs/text.md:
--------------------------------------------------------------------------------
1 | ---
2 | redirect_from: "/text.html"
3 | title: Ion Text Encoding
4 | description: "An explanation of the Amazon Ion text encoding."
5 | ---
6 |
7 | # [Docs][docs]/ {{ page.title }}
8 |
9 | A [value stream][glossary-value-stream] in the text encoding must be a
10 | valid sequence of UTF-8 code points.
11 |
12 | ## ANTLR Grammar {#grammar}
13 |
14 | View the [Ion Text ANTLR v4 Grammar][ion-text-grammar].
15 |
16 |
17 | [docs]: {{ site.baseurl }}/docs.html
18 | [glossary-value-stream]: glossary.html#value_stream
19 | [ion-text-grammar]: {{ site.baseurl }}/grammar/IonText.g4.txt
20 |
--------------------------------------------------------------------------------
/libs.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Libraries
3 | description: "The latest news about Amazon Ion and the Amazon Ion community."
4 | ---
5 |
6 | # {{ page.title }}
7 |
8 | ## Ion Team Supported Libraries
9 |
10 |
11 | ### Core Parsers
12 |
13 | {% assign library_type = "core" %}
14 | {% include library_table.md %}
15 |
16 | ### Extensions
17 |
18 | {% assign library_type = "extension" %}
19 | {% include library_table.md %}
20 |
21 | ### Developer Tools
22 |
23 | | Name | Repository | Release |
24 | |------|------|---------|
25 | | ion-eclipse-plugin | [Link](https://github.com/amazon-ion/ion-eclipse-plugin) | - |
26 | | ion-intellij-plugin | [Link](https://github.com/amazon-ion/ion-intellij-plugin) | [Link](https://plugins.jetbrains.com/plugin/8409-amazon-ion-intellij-idea-plugin) |
27 | | ion-test-driver | [Link](https://github.com/amazon-ion/ion-test-driver) | - |
28 | | ion-tests | [Link](https://github.com/amazon-ion/ion-tests) | - |
29 |
30 | ## Community Supported Libraries
31 |
32 | | Name | Repository | Documentation |
33 | |------|------------|---------------|
34 | | Ion support in Jackson | [Link](https://github.com/FasterXML/jackson-dataformats-binary/tree/master/ion) | [Link](http://fasterxml.github.io/jackson-dataformats-binary/javadoc/ion/2.12/) |
35 | | Mir Ion (D language) | [Link](https://github.com/libmir/mir-ion) | [Link](http://mir-ion.libmir.org/) |
36 | | Ext Ion (PHP language) | [Link](https://github.com/awesomized/ext-ion) | - |
37 |
38 |
--------------------------------------------------------------------------------
/news.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: News
3 | description: "The latest news about Amazon Ion and the Amazon Ion community."
4 | ---
5 |
6 | # {{ page.title }}
7 |
8 | {% for post in site.posts %}
9 |
10 | **{{ post.title }} **
11 | _{{post.date | date_to_long_string}}_
12 | {{post.content}}
13 | {% endfor %}
14 |
15 |
--------------------------------------------------------------------------------
/pom.xml:
--------------------------------------------------------------------------------
1 |
2 | 4.0.0
3 | software.amazon.ion
4 | ion-docs
5 | 1.0-SNAPSHOT
6 |
7 | ${project.groupId}:${project.artifactId}
8 | Documentation for Amazon Ion
9 | https://github.com/amazon-ion/ion-docs
10 |
11 |
12 | 1.8
13 | 1.8
14 |
15 |
16 |
17 |
18 |
19 | org.antlr
20 | antlr4-maven-plugin
21 | 4.3
22 | maven-plugin
23 |
24 |
25 | junit
26 | junit
27 | 4.13.1
28 |
29 |
30 |
31 |
32 | test
33 |
34 |
35 |
36 | maven-antrun-plugin
37 | 1.8
38 |
39 |
40 | copy-resources
41 | initialize
42 |
43 |
44 |
45 |
46 |
47 |
48 | run
49 |
50 |
51 |
52 |
53 |
54 |
55 | org.antlr
56 | antlr4-maven-plugin
57 | 4.3
58 |
59 | grammar
60 |
61 |
62 |
63 | antlr
64 |
65 | antlr4
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 | org.apache.maven.plugins
74 | maven-surefire-plugin
75 | 2.19.1
76 |
77 |
78 |
79 |
80 |
81 |
--------------------------------------------------------------------------------